Isi kandungan:
- Bekalan
- Langkah 1: Prototaip
- Langkah 2: Menyiapkan Raspberry Pi
- Langkah 3: Pangkalan Data
- Langkah 4: Backend
- Langkah 5: Frontend
- Langkah 6: Memaparkan Papan Pemuka pada Paparan
- Langkah 7: Memateri Elektronik
- Langkah 8: Bekalan Kuasa
- Langkah 9: Perumahan
Video: Papan Pemuka Motosikal Raspberry Pi: 9 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
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
-
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.
Satu set perintang
Warna dawai 0.2mm berbeza
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
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
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
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
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
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
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 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:
Papan Pemuka COVID-19 WHO: 8 Langkah (dengan Gambar)
COVID-19 WHO Dashboard: Instruksional ini menunjukkan cara menggunakan ESP8266 / ESP32 dan LCD untuk membina papan pemuka WHO situasi COVID-19
Bina Papan Pemuka Cuaca Menggunakan Dark Sky API: 5 Langkah (dengan Gambar)
Bangun Papan Pemuka Cuaca Menggunakan Dark Sky API: Dark Sky mengkhususkan diri dalam ramalan cuaca dan visualisasi. Aspek Dark Sky yang paling keren adalah API cuaca mereka yang dapat kita gunakan untuk mengambil data cuaca dari hampir mana saja di dunia. Bukan hanya cuaca hujan atau cerah tetapi temperatu
Guino: Papan Pemuka untuk Arduino Anda: 4 Langkah (dengan Gambar)
Guino: Dashboard for Your Arduino: Projek ini adalah sebahagian daripada eksperimen yang dilakukan semasa melakukan seniman di kediaman di Instructables. Anda boleh melihat projek lain di sini. Menjadi tugas yang sukar untuk melakukan debug dan memvisualisasikan masa nyata data di papan Arduino. Anda biasanya terjebak dengan s
Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri: 12 Langkah (dengan Gambar)
Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri: Projek ini adalah litar Arduino yang memantau voltan dan arus bateri dengan modul ACS 712. Pengukuran disampaikan melalui Bluetooth dengan modul HC-05 ke peranti Android. Pada dasarnya anda menjalin hubungan negatif antara y
Lihat Papan Pemuka Emoncms & ESP8266 + Arduino #IoT: 7 Langkah (dengan Gambar)
Lihat Dashboard Emoncms & ESP8266 + Arduino #IoT: Sudah lama saya menguji platform Emoncms dan dalam kesempatan ini saya akan menunjukkan kepada anda hasil akhir dan kualiti papan pemuka dan / atau visualisasi. Saya telah mengambil beberapa tutorial yang akan berfungsi sebagai langkah pertengahan. Kami akan memvisualisasikan