Isi kandungan:

Papan Pemuka Motosikal Raspberry Pi: 9 Langkah (dengan Gambar)
Papan Pemuka Motosikal Raspberry Pi: 9 Langkah (dengan Gambar)

Video: Papan Pemuka Motosikal Raspberry Pi: 9 Langkah (dengan Gambar)

Video: Papan Pemuka Motosikal Raspberry Pi: 9 Langkah (dengan Gambar)
Video: Hati2 bossku jika hendak cuci mobil. Pastikan pilih cuci steam yg model H agar lebih safety ๐Ÿ™๐Ÿ‘ 2024, November
Anonim
Papan Pemuka Motosikal Raspberry Pi
Papan Pemuka Motosikal Raspberry Pi

Sebagai pelajar teknologi Multimedia & Komunikasi di Howest Kortrijk, saya terpaksa membuat projek IoT saya sendiri. Ini akan menggabungkan semua modul yang diikuti pada tahun pertama menjadi satu projek besar. Oleh kerana saya banyak menunggang motosikal pada masa lapang, saya memutuskan untuk menggunakan kemahiran yang saya perolehi di MCT sehingga membina sesuatu untuk motosikal saya: Papan pemuka pintar.

MotoDash adalah papan pemuka bertenaga Raspberry Pi yang direka untuk penunggang motosikal fanatik yang memberi penunggang kemampuan untuk mengesan prestasi mereka.

Apakah ciri-ciri papan pemuka ini?

  • Melihat sudut kecondongan semasa
  • Melihat pecutan semasa
  • Keupayaan untuk memantau suhu minyak
  • Beralih ke tema gelap secara automatik ketika menunggang dalam gelap
  • Log data perjalanan anda, dan lihat statistik anda sendiri

Bekalan

Unit pengkomputeran utama:

Raspberry Pi Ini adalah pengawal utama sistem

Elektronik:

  • Pengecas USB untuk motosikal 12V-5V Kuasa utama untuk RPi
  • 4 Pin Fused Relay 12VSukar untuk menghidupkan / mematikan litar kuasa RPi
  • Papan roti dengan wayar pelompat (pilihan) Untuk ujian dan prototaip
  • Satu set perintang

    Warna dawai 0.2mm berbeza

  • Breakout Pi plusIni adalah papan prototaip di mana anda boleh menyolder semua komponen anda. Ia dibuat agar sesuai langsung di atas Raspberry Pi, sehingga dimensi projek tetap minimum.

Sensor dan modul:

  • Sensor suhu 1-Wire DS18B20 kalis air Sensor suhu minyak
  • Sensor kecondongan / accel 3 Axes Gyro Accelerometer MPU6050
  • Perintang bergantung cahaya (LDR)
  • MCP3008 - ADC 10-Bit 8-saluran dengan Antara Muka SPI

    Paparan TFT SPI (atau paparan lcd lain yang sesuai dengan keperluan anda)

    LED RGB

Sarung:

  • Kotak plastik
  • Kes Raspberry pi

Alat:

  • Pateri dan pateri
  • Skru dan spacer 2.5mm
  • Penyambung kabel kalis air
  • Superglue
  • โ€ฆ

Langkah 1: Prototaip

Prototaip
Prototaip
Prototaip
Prototaip

Sebelum kita menjadikan semuanya kekal, kita akan menyusun projek di papan roti. Langkah ini boleh dilangkau jika anda benar-benar yakin bahawa anda tidak akan melakukan kesalahan. Skim elektrik / papan roti boleh didapati dalam PDF di bawah. Pasang litar bersama sama seperti yang dijelaskan. Pastikan hanya menggunakan pin 3.3V dan bukan pin 5V pada RPi. Juga sebelum anda menghidupkan raspberry Pi, periksa semula rangkaian anda. Pastikan tidak ada seluar pendek!

Langkah 2: Menyiapkan Raspberry Pi

Menyiapkan Raspberry Pi
Menyiapkan Raspberry Pi

Pertama sekali, kami akan menyediakan Raspberry Pi. Raspberry Pi adalah komputer mini yang mampu menjalankan sistem operasinya sendiri. Untuk projek ini, ia bertanggungjawab untuk memproses sensordata, menghosting laman web, menjalankan backend dan pangkalan data,โ€ฆ

1. Pasang Gambar Raspbian tersuai

Gambar yang disediakan sudah mengandungi pakej perisian yang diperlukan untuk memulakan projek ini:

  • Apache untuk bahagian depan laman web
  • MariaDB untuk pangkalan data
  • PhpMyAdmin untuk memanipulasi pangkalan data
  • Kebenaran khas untuk mengelakkan masalah

Gambar tersuai boleh dimuat turun dari sini.

Tutorial memasang gambar boleh didapati di sini:

Setelah gambar dipasang, sambungkan Raspberry Pi ke komputer anda dengan kabel ethernet. Sekarang anda boleh menggunakan klien SSH untuk menyambung ke alamat IP 169.254.10.1

Merupakan amalan yang baik untuk segera menetapkan kata laluan baru menggunakan perintah passwd

2. Mengkonfigurasi AP tanpa wayar

Apabila projek selesai, kami ingin dapat menyambung ke RPi melalui wifi, jadi mari kita ubah menjadi AP tanpa wayar. Tutorial untuk ini boleh didapati di sini.

Anda hanya perlu mengikuti tutorial ini hingga langkah 7. Langkah 8 tidak diperlukan kerana kami tidak perlu merapatkan sambungan internet, tetapi membuat rangkaian yang berdiri sendiri.

3. Mengaktifkan antara muka

Pergi ke raspi-config

sudo raspi-config

Pergi ke pilihan antara muka dan aktifkan 1-wayar, SPI dan I2C dan reboot Pi

3. Menyiapkan pemacu untuk paparan

Memulakan paparan

Edit fail / etc / modul

sudo nano / etc / modul

Tambahkan 2 baris berikut

spi-bcm2835fbtft_device

Sekarang edit /etc/modprobe.d/fbtft.conf

sudo nano /etc/modprobe.d/fbtft.conf

Tambahkan baris berikut

pilihan fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotate = 90 speed = 80000000 fps = 60

Reboot Pi. Sekiranya anda melihat lampu latar paparan, semua akan berjalan lancar. Ini akan menginisialisasi paparan setiap kali Pi melakukan boot, namun ia hanya akan memaparkan skrin hitam sekarang. Untuk mendapatkan isi Pi di paparan, kita perlu menyalin kandungan layar utama ke LCD kecil. Kami akan menggunakan perkhidmatan yang dipanggil 'fbcp' untuk ini.

Memasang perkhidmatan fbcp

sudo apt-get install cmake

klon git

cd rpi-fbcp

mkdir membina

cd membina /

cmake..

membuat

sudo pasang fbcp / usr / local / bin / fbcp

Sekarang kami telah memasang perkhidmatan tersebut. Namun, kerana kami menggunakan Pi tanpa kepala, tidak ada layar yang tersedia untuk menyalin kandungan dari. Untuk memaksa Pi mengeluarkan kandungan skrin, edit /boot/config.txt

sudo nano /boot/config.txt

Cari dan tanggalkan atau tambahkan baris berikut ke fail ini:

hdmi_force_hotplug = 1

hdmi_cvt = 640 480 60 0 0 0 0

display_rotate = 0

hdmi_group = 2

hdmi_mode = 87

Nyalakan semula RPi, dan uji perkhidmatan fbcp dengan menaip fbcp di konsol. Sekarang anda harus melihat kandungan skrin pada LCD.

Menjalankan fbcp pada permulaan

Edit /etc/rc.local dan tambahkan baris berikut antara alamat ip dan garis keluar

fbcp &

Sekarang paparan harus dihidupkan setiap kali RPi menaik

Langkah 3: Pangkalan Data

Pangkalan data
Pangkalan data

Untuk log dan menyimpan sensordata, saya telah merancang pangkalan data saya sendiri yang mengandungi 4 jadual. Gambar rajah EER ditunjukkan dalam gambar di atas.

1. Peranti

Jadual ini mengandungi setiap sensor. Ia menerangkan nama sensor, keterangan dan unit pengukuran. Jadual ini mempunyai hubungan satu-dengan-banyak dengan tindakan meja, kerana dalam kes saya, sensor accelero dapat melakukan tugas yang berbeza.

2. Tindakan

Jadual ini menyimpan tindakan untuk sensor yang berbeza. Satu tindakan selalu dikaitkan dengan sensor tertentu. Contohnya: tindakan 'TEMP' dihubungkan dengan peranti yang mengukur suhu. Ini akan menjadi sensor suhu 1-wayar.

3. Sejarah

Jadual ini mengandungi semua log sensor. Setiap log mempunyai id tindakan, nilai, cap waktu dan tunggangan

4. Menunggang

Jadual ini menyimpan perjalanan yang berbeza. Setiap kali pengguna memulakan perjalanan baru, entri baru dalam jadual ini dibuat

Untuk mendapatkan pangkalan data ini di Raspberry Pi anda, pergi ke GitHub saya dan klon / muat turun repositori. Di bawah pangkalan data anda akan menemui 2 fail.sql. Jalankan ini di meja kerja PhpMyAdmin atau MySQL. Sekarang pangkalan data harus ada di RPi anda.

Langkah 4: Backend

Sekiranya anda belum melakukannya, pergi ke GitHub saya dan klon / muat turun repositori. Di bawah folder Backend anda akan menemui backend penuh untuk projek tersebut.

Folder ini mengandungi kelas untuk membaca sensor di bawah / pembantu, fail untuk berkomunikasi dengan pangkalan data di bawah / repositori, dan aplikasi utama terletak di root dengan nama app.py.

Memasang pakej Python

Sebelum kita cuba menjalankan apa-apa, kita perlu memasang beberapa pakej untuk python terlebih dahulu. Pergi ke terminal RPi anda dan ketik arahan berikut:

pip3 pasang mysql-connector-python

pip3 memasang flask-socketio

pip3 memasang termos-cors

pip3 pasang gevent

pip3 memasang gevent-websocket

CATATAN PENTING: jika anda telah menukar kata laluan Mariadb / Mysql anda, ubah kata laluan dalam config.py!

Uji latar belakang

Jalankan app.py menggunakan jurubahasa python3 (/ usr / bin / python3). Pastikan tidak ada kesilapan.

Menjalankan backend semasa boot

Edit motoDash_backend.service dan ubah YOURFILEPATH ke jalan di mana repositori disimpan.

Sekarang salin fail ini ke / etc / systemd / system /

sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.

Kini backend akan dimulakan secara automatik setiap kali RPi melakukan boot.

Langkah 5: Frontend

Bahagian depan
Bahagian depan
Bahagian depan
Bahagian depan

Pergi ke Repo GitHub. Salin kandungan direktori Frontend ke / var / www / html.

Ini semua yang harus anda lakukan untuk menjadikan frontend berfungsi. Folder ini mengandungi semua halaman web, gaya dan skrip untuk antara muka web. Ia juga berkomunikasi dengan backend. Untuk menguji apakah semuanya berfungsi sebagaimana mestinya, pastikan anda tersambung ke RPi anda, dan taipkan alamat IP RPi dalam penyemak imbas. Anda mesti melihat halaman utama antara muka web.

Catatan: Laman web responsif, jadi anda boleh menggunakannya di telefon bimbit juga di desktop

Langkah 6: Memaparkan Papan Pemuka pada Paparan

Memaparkan Papan Pemuka pada Paparan
Memaparkan Papan Pemuka pada Paparan

Bahagian depan mempunyai laman web tersembunyi sendiri yang hanya digunakan untuk paparan kecil. Kami akan membuat booting Pi secara automatik ke laman web ini dalam mod skrin penuh.

Pastikan RPi ditetapkan ke autologin desktop dalam raspi-config di bawah pilihan but

sudo raspi-config

Sekarang masuk ke folder konfigurasi tersembunyi dan buat fail baru di sana

cd.config

sudo mkdir -p lxsession / LXDE-pi

sudo nano lxsession / LXDE-pi / autostart

Tambahkan baris berikut dalam fail ini dan simpan

@xscreensaver -no-splash

@xset s dimatikan

@xset -dpms

@xset s noblank

@ chromium-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognito

Sekarang Pi harus boot ke laman web ini setiap masa

Langkah 7: Memateri Elektronik

Memateri Elektronik
Memateri Elektronik
Memateri Elektronik
Memateri Elektronik
Memateri Elektronik
Memateri Elektronik
Memateri Elektronik
Memateri Elektronik

Ambil papan pemecah dan letakkan komponen anda di atasnya secara tersusun. Saya tidak akan membincangkan susun atur bagaimana saya menyolder komponen di atasnya, kerana saya melakukan pekerjaan yang agak buruk di atasnya. Saya menggunakan header pin yang terpisah di papan sehingga saya hanya perlu menyambungkan sensor dan modul ke pin yang betul. Pastikan anda tahu pin mana untuk apa!

Beberapa petua semasa menyolder:

  • Gunakan wayar bertebat ketika melintasi jarak yang lebih jauh. Perkara terakhir yang anda mahukan ialah seluar pendek di litar anda
  • Setelah menyolder komponen atau wayar, periksa kesinambungannya dengan multimeter. Periksa juga litar pintas secara berkala.
  • Jangan gunakan solder terlalu banyak atau terlalu sedikit!
  • Sekiranya anda tidak tahu bagaimana menyolder, praktikkan terlebih dahulu di papan prototaip lain. Tutorial pematerian boleh didapati di sini.

Sekarang kabel solder panjang diperlukan untuk sensor, dan letakkan beberapa bungkus yang menyusut di sekelilingnya untuk memastikan semuanya tidak terpendek dan bersih.

Apabila anda selesai, periksa semula seluar pendek atau sambungan yang tidak baik, dan periksa setiap sambungan dengan skema elektrik jika ia adalah sambungan yang betul. Setelah anda yakin semuanya dilakukan dengan betul, teruskan dan pasangkan papan pemecah pada RPi, putar dengan rapat dengan beberapa skru 2.5mm dan penyekat. Sambungkan sensor ke pin kanan dan uji semuanya menggunakan laman web.

Langkah 8: Bekalan Kuasa

Untuk menghidupkan Raspberry Pi, kita akan menggunakan penyesuai usb 12V-5V. Penyesuai ini akan disambungkan ke bateri motosikal. Untuk memastikan RPi menyala semasa suis pencucuhan dihidupkan, kita akan menggunakan geganti. Relay akan menutup litar kuasa RPi apabila mengesan voltan dari lampu belakang (lampu belakang sentiasa menyala ketika menghidupkan pencucuhan).

Untuk tutorial yang lebih terperinci mengenai ini, lihat halaman ini: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -kontrol.16921 /

Langkah 9: Perumahan

Perumahan
Perumahan
Perumahan
Perumahan
Perumahan
Perumahan

Perumahan Paparan

Untuk paparan, ambil kotak plastik keras dari ukuran paparan. Potong lubang persegi di dalamnya sebesar paparan, dan pasangkan lubang untuk memasang skrin. Di bahagian depan anda perlu menggerudi 2 lubang lagi untuk LED RGB dan LDR.

Saya memasang kotak ini di atas pemegang telefon pintar menggunakan selak.

Pengesan suhu

Untuk menempatkan sensor suhu, saya 3D Mencetak tolok minyak yang sesuai dengan motosikal saya.

Pai raspberi

Pasang raspberry Pi itu sendiri di tempat yang selamat di dalam motosikal, saya meletakkannya di bawah salah satu fender menggunakan beberapa tali velcro. Dan melindunginya dari elemen menggunakan perumahan dan beberapa plastik.

Pecut

Pasang pecutan di tempat yang selamat, lebih baik pada bingkai motosikal itu sendiri.

Catatan:

Anda tidak perlu mempunyai perumahan yang sama seperti saya, anda bebas menyelesaikannya sesuka hati. Pastikan komponen elektronik dilindungi dari hujan dan habuk.

Disyorkan: