Daftar Isi:

Dashboard Sepeda Motor Raspberry Pi: 9 Langkah (dengan Gambar)
Dashboard Sepeda Motor Raspberry Pi: 9 Langkah (dengan Gambar)

Video: Dashboard Sepeda Motor Raspberry Pi: 9 Langkah (dengan Gambar)

Video: Dashboard Sepeda Motor Raspberry Pi: 9 Langkah (dengan Gambar)
Video: MALING MOTOR TERTANGKAP CCTV 2024, Juli
Anonim
Dasbor Sepeda Motor Raspberry Pi
Dasbor Sepeda Motor Raspberry Pi

Sebagai mahasiswa teknologi Multimedia & Komunikasi di Howest Kortrijk, saya harus membuat proyek IoT saya sendiri. Ini akan menggabungkan semua modul yang diikuti pada tahun pertama menjadi satu proyek besar. Karena saya sering mengendarai sepeda motor di waktu luang, saya memutuskan untuk menggunakan keterampilan yang saya peroleh di MCT untuk membuat sesuatu untuk sepeda motor saya: Dasbor yang cerdas.

MotoDash adalah dasbor bertenaga Raspberry Pi yang dirancang untuk pengendara sepeda motor fanatik yang memberi pengendara kemampuan untuk melacak kinerja mereka.

Apa saja fitur dasbor ini?

  • Melihat sudut kemiringan saat ini
  • Melihat akselerasi saat ini
  • Kemampuan untuk memantau suhu minyak
  • Beralih ke tema gelap secara otomatis saat berkendara dalam kegelapan
  • Catat data perjalanan Anda, dan lihat statistik Anda sendiri

Perlengkapan

Unit komputasi utama:

Raspberry Pi Ini adalah pengontrol utama sistem

Elektronik:

  • Pengisi daya USB untuk sepeda motor 12V-5VMcatu daya utama untuk RPi
  • 4 Pin Fused Relay 12VSwitch untuk menghidupkan/mematikan rangkaian daya RPi
  • Papan tempat memotong roti dengan kabel jumper (opsional) Untuk pengujian dan pembuatan prototipe
  • Satu set resistor

    Warna yang berbeda dari kawat 0.2mm

  • Breakout Pi plusIni adalah papan prototipe tempat Anda dapat menyolder semua komponen Anda. Itu dibuat agar pas langsung di atas Raspberry Pi, sehingga dimensi proyek tetap minimum.

Sensor dan modul:

  • Tahan air DS18B20 1-Wire Sensor suhu Sensor suhu oli
  • 3 Sumbu Gyro Accelerometer MPU6050Sensor kemiringan/percepatan
  • Resistor tergantung cahaya (LDR)
  • MCP3008 - ADC 10-Bit 8-channel dengan Antarmuka SPI

    Layar TFT SPI (atau layar lcd lainnya yang sesuai dengan kebutuhan Anda)

    LED RGB

Selubung:

  • Kotak plastik
  • Casing raspberry pi

Peralatan:

  • Besi solder dan solder
  • Sekrup dan spacer 2.5mm
  • Konektor kabel tahan air
  • Lem super

Langkah 1: Pembuatan prototipe

Pembuatan prototipe
Pembuatan prototipe
Pembuatan prototipe
Pembuatan prototipe

Sebelum kami membuat semuanya permanen, kami akan menyusun proyek di papan tempat memotong roti. Langkah ini dapat dilewati jika Anda benar-benar yakin tidak akan melakukan kesalahan. Skema listrik/papan tempat memotong roti dapat ditemukan dalam PDF di bawah ini. Letakkan sirkuit bersama-sama persis seperti yang dijelaskan. Pastikan hanya menggunakan pin 3.3V dan bukan pin 5V pada RPi. Juga sebelum Anda menyalakan raspberry Pi periksa kembali sirkuit Anda. Pastikan tidak ada celana pendek!

Langkah 2: Mempersiapkan Pi Raspberry

Mempersiapkan Pi Raspberry
Mempersiapkan Pi Raspberry

Pertama-tama, kita akan mengatur Raspberry Pi. Raspberry Pi adalah komputer mini yang mampu menjalankan sistem operasinya sendiri. Untuk proyek ini, bertanggung jawab untuk memproses data sensor, menghosting situs web, menjalankan backend dan database, …

1. Instal Gambar Raspbian khusus

Gambar yang disediakan sudah berisi paket perangkat lunak yang diperlukan untuk memulai proyek ini:

  • Apache untuk antarmuka situs web
  • MariaDB untuk database
  • PhpMyAdmin untuk memanipulasi database
  • Izin khusus untuk menghindari masalah

Gambar kustom dapat diunduh dari sini.

Tutorial untuk menginstal gambar dapat ditemukan di sini:

Setelah gambar terinstal, hubungkan Raspberry Pi ke pc Anda dengan kabel ethernet. Sekarang Anda dapat menggunakan klien SSH untuk menghubungkannya pada alamat IP 169.254.10.1

Ini adalah praktik yang baik untuk segera menetapkan kata sandi baru menggunakan perintah passwd

2. Mengonfigurasi AP nirkabel

Ketika proyek selesai, kami ingin dapat terhubung ke RPi melalui wifi, jadi mari kita ubah menjadi AP nirkabel. Tutorial untuk ini dapat ditemukan di sini.

Anda hanya perlu mengikuti tutorial ini sampai langkah 7. Langkah 8 tidak diperlukan karena kita tidak perlu menjembatani koneksi internet, tetapi membuat jaringan mandiri.

3. Mengaktifkan antarmuka

Masuk ke raspi-config

sudo raspi-config

Buka opsi antarmuka dan aktifkan 1-kawat, SPI dan I2C dan reboot Pi

3. Menyiapkan driver untuk tampilan

Menginisialisasi tampilan

Edit file /etc/modules

sudo nano /etc/modules

Tambahkan 2 baris berikut

spi-bcm2835fbtft_device

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

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

Tambahkan baris berikut

opsi fbtft_nama perangkat=tm022hdh26 gpios=reset:25, dc:24, led:18 putar=90 kecepatan=80000000 fps=60

Nyalakan ulang Pi. Jika Anda melihat lampu latar layar menyala, semuanya berjalan dengan baik. Ini akan menginisialisasi tampilan setiap kali Pi boot, namun sekarang hanya akan menampilkan layar hitam. Untuk mendapatkan isi Pi di layar, kita perlu menyalin isi layar utama ke LCD kecil. Kami akan menggunakan layanan yang disebut 'fbcp' untuk ini.

Menginstal layanan fbcp

sudo apt-get install cmake

git clone

cd rpi-fbcp

membangun mkdir

pembuatan cd/

buatlah..

membuat

sudo install fbcp /usr/local/bin/fbcp

Sekarang kami telah menginstal layanan. Namun, karena kami menggunakan Pi tanpa kepala, tidak ada layar yang tersedia untuk menyalin konten. Untuk memaksa Pi mengeluarkan konten layar, edit /boot/config.txt

sudo nano /boot/config.txt

Temukan dan batalkan komentar atau tambahkan baris berikut ke file ini:

HDMI_force_hotplug=1

hdmi_cvt=640 480 60 0 0 0 0

tampilan_putar=0

hdmi_group=2

HDMI_mode=87

Reboot RPi, dan uji layanan fbcp dengan mengetikkan fbcp di konsol. Sekarang Anda akan melihat isi layar pada LCD.

Menjalankan fbcp saat startup

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

fbcp&

Sekarang tampilan akan menyala setiap kali RPi boot

Langkah 3: Basis Data

Basis Data
Basis Data

Untuk mencatat dan menyimpan sensordata saya telah merancang database saya sendiri yang berisi 4 tabel. Diagram EER ditunjukkan pada gambar di atas.

1. Perangkat

Tabel ini berisi setiap sensor. Ini menjelaskan nama sensor, deskripsi dan unit pengukuran. Tabel ini memiliki hubungan satu-ke-banyak dengan tindakan tabel, seperti dalam kasus saya, sensor accelero dapat melakukan tugas yang berbeda.

2. Tindakan

Tabel ini menyimpan tindakan untuk sensor yang berbeda. Satu tindakan selalu terkait dengan sensor tertentu. Misalnya: tindakan 'TEMP' terhubung ke perangkat yang mengukur suhu. Ini akan menjadi sensor suhu 1-kawat.

3. Sejarah

Tabel ini berisi semua log sensor. Setiap log memiliki id tindakan, nilai, cap waktu, dan rideid

4. Wahana

Meja ini menyimpan berbagai wahana. Setiap kali pengguna memulai perjalanan baru, entri baru di tabel ini dibuat

Untuk mendapatkan database ini di Raspberry Pi Anda, buka GitHub saya dan klon/unduh repositori. Di bawah database Anda akan menemukan 2 file.sql. Jalankan ini di meja kerja PhpMyAdmin atau MySQL. Sekarang database harus ada di RPi Anda.

Langkah 4: Backend

Jika Anda belum melakukannya, buka GitHub saya dan klon/unduh repositori. Di bawah folder Backend Anda akan menemukan backend lengkap untuk proyek tersebut.

Folder tersebut berisi kelas untuk membaca sensor di bawah /helpers, file untuk berkomunikasi dengan database di bawah /repositori, dan aplikasi utama terletak di root dengan nama app.py.

Menginstal paket Python

Sebelum kita mencoba menjalankan sesuatu, kita perlu menginstal beberapa paket untuk python terlebih dahulu. Masuk ke terminal RPi Anda dan ketik perintah berikut:

pip3 instal mysql-connector-python

pip3 menginstal flask-socketio

pip3 menginstal flask-cors

pip3 menginstal gevent

pip3 instal gevent-websocket

CATATAN PENTING: jika Anda telah mengubah kata sandi Mariadb/Mysql Anda, ubah kata sandi di config.py!

Uji backendnya

Jalankan app.py menggunakan interpreter python3 (/usr/bin/python3). Pastikan tidak ada kesalahan.

Menjalankan backend saat boot

Edit motoDash_backend.service dan ubah YOURFILEPATH ke jalur penyimpanan repositori.

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

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

Sekarang backend akan mulai secara otomatis setiap kali RPi melakukan booting.

Langkah 5: Tampilan depan

Paling depan
Paling depan
Paling depan
Paling depan

Buka Repo GitHub. Salin konten direktori Frontend ke /var/www/html.

Ini semua yang harus Anda lakukan untuk membuat frontend berfungsi. Folder ini berisi semua halaman web, gaya, dan skrip untuk antarmuka web. Itu juga berkomunikasi dengan backend. Untuk menguji apakah semuanya berfungsi sebagaimana mestinya, pastikan Anda terhubung ke RPi Anda, dan ketik alamat IP RPi di browser. Anda akan melihat beranda antarmuka web.

Catatan: Situs web responsif, sehingga Anda dapat menggunakannya di seluler maupun di desktop

Langkah 6: Menampilkan Dasbor di Layar

Menampilkan Dasbor di Layar
Menampilkan Dasbor di Layar

Frontend memiliki halaman web tersembunyi sendiri yang hanya digunakan untuk tampilan kecil. Kami akan membuat Pi boot secara otomatis ke situs web ini dalam mode layar penuh.

Pastikan RPi diatur ke autologin desktop di raspi-config di bawah opsi boot

sudo raspi-config

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

cd.config

sudo mkdir -p lxsession/LXDE-pi

sudo nano lxsession/LXDE-pi/autostart

Tambahkan baris berikut dalam file ini dan simpan

@xscreensaver -tidak ada percikan

@xset mati

@xset -dpms

@xset s noblank

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

Sekarang Pi harus boot ke halaman web ini setiap saat

Langkah 7: Menyolder Elektronik

Menyolder Elektronik
Menyolder Elektronik
Menyolder Elektronik
Menyolder Elektronik
Menyolder Elektronik
Menyolder Elektronik
Menyolder Elektronik
Menyolder Elektronik

Ambil papan breakout dan letakkan komponen Anda di atasnya dengan cara yang terstruktur. Saya tidak akan membahas tata letak bagaimana saya menyolder komponen di atasnya, karena saya melakukan pekerjaan yang sangat buruk di atasnya. Saya menggunakan pin header terpisah di papan sehingga saya hanya perlu menghubungkan sensor dan modul ke pin kanan. Pastikan Anda tahu pin mana untuk apa!

Beberapa tips saat menyolder:

  • Gunakan kabel berinsulasi saat melintasi jarak yang lebih jauh. Hal terakhir yang Anda inginkan adalah celana pendek di sirkuit Anda
  • Setelah menyolder komponen atau kawat, periksa kontinuitasnya dengan multimeter. Juga periksa secara teratur untuk korsleting.
  • Jangan menggunakan terlalu banyak atau terlalu sedikit solder!
  • Jika Anda tidak tahu cara menyolder, praktikkan terlebih dahulu di papan prototipe lain. Tutorial tentang solder dapat ditemukan di sini.

Sekarang solder kabel cukup panjang ke sensor, dan letakkan beberapa bungkus menyusut di sekelilingnya untuk memastikan semuanya tidak korsleting dan bersih.

Setelah selesai, periksa kembali apakah ada hubungan pendek atau sambungan yang buruk, dan periksa setiap sambungan dengan skema listrik apakah sambungannya benar. Setelah Anda yakin semuanya dilakukan dengan benar, lanjutkan dan letakkan papan breakout pada RPi, tutup rapat dengan beberapa sekrup 2.5mm dan standoffs. Kaitkan sensor ke pin yang tepat dan uji semuanya menggunakan situs web.

Langkah 8: Catu Daya

Untuk menyalakan Raspberry Pi kita akan menggunakan adaptor usb 12V-5V. Adaptor ini akan dihubungkan ke aki sepeda motor. Untuk memastikan RPi menyala saat kunci kontak dihidupkan, kita akan menggunakan relai. Relay akan menutup rangkaian daya RPi ketika mendeteksi adanya tegangan dari lampu belakang (lampu belakang selalu menyala saat menyalakan kunci kontak).

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

Langkah 9: Perumahan

Perumahan
Perumahan
Perumahan
Perumahan
Perumahan
Perumahan

Tampilan Perumahan

Untuk tampilan, ambil sendiri kotak plastik keras dari sekitar ukuran layar. Potong lubang persegi di dalamnya sebesar layar, dan lubang yang cocok untuk memasang layar. Di bagian depan Anda perlu mengebor 2 lubang lagi untuk LED RGB dan LDR.

Saya memasang kotak ini di atas dudukan smartphone menggunakan baut.

Sensor temperatur

Untuk memasang sensor suhu, saya mencetak 3D pengukur oli yang sesuai dengan sepeda motor saya.

Raspberry Pi

Pasang raspberry Pi itu sendiri di tempat yang aman di dalam sepeda motor, saya meletakkannya di bawah salah satu spatbor menggunakan beberapa tali velcro. Dan melindunginya dari elemen menggunakan perumahan dan beberapa plastik.

Akselerometer

Pasang akselerometer di tempat yang aman, sebaiknya di rangka sepeda motor itu sendiri.

Catatan:

Anda tidak perlu memiliki rumah yang sama persis seperti yang saya lakukan, Anda bebas menyelesaikannya sesuka Anda. Pastikan saja komponen elektronik terlindung dari hujan dan debu.

Direkomendasikan: