Sadržaj:
- Pribor
- Korak 1: Prototipiranje
- Korak 2: Priprema Raspberry Pi
- Korak 3: Baza podataka
- Korak 4: Pozadina
- Korak 5: Frontend
- Korak 6: Prikaz nadzorne ploče na zaslonu
- Korak 7: Lemljenje elektronike
- Korak 8: Napajanje
- Korak 9: Stanovanje
Video: Nadzorna ploča za motocikle Raspberry Pi: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Kao student Multimedijske i komunikacijske tehnologije u Howest Kortrijku morao sam napraviti vlastiti IoT projekt. Time bi se svi moduli slijeđeni u prvoj godini kombinirali u jedan veliki projekt. Budući da u slobodno vrijeme često vozim svoj motocikl, odlučio sam upotrijebiti stečene vještine u MCT -u da napravim nešto za svoj motocikl: Pametnu nadzornu ploču.
MotoDash je nadzorna ploča s pogonom na Raspberry Pi dizajnirana za fanatične motocikliste koja vozaču daje mogućnost praćenja njihovih performansi.
Koje su značajke ove nadzorne ploče?
- Pregled trenutnog kuta nagiba
- Pregled trenutnog ubrzanja
- Sposobnost praćenja temperature ulja
- Automatski prebaci na tamnu temu tijekom vožnje po mraku
- Zabilježite podatke o svojim vožnjama i pregledajte vlastitu statistiku
Pribor
Glavna računalna jedinica:
Raspberry Pi Ovo je glavni kontroler sustava
Elektronika:
- USB punjač za motocikl 12V-5VGlavno napajanje za RPi
- 4 pin osigurač relej 12VPrekidač za uključivanje/isključivanje strujnog kruga RPi
- Oglasna ploča s kratkospojnim žicama (izborno) Za testiranje i izradu prototipa
-
Breakout Pi plusOvo je ploča za izradu prototipa na kojoj možete lemiti sve svoje komponente. Napravljen je tako da stane izravno na Raspberry Pi, tako da dimenzije projekta ostaju na minimumu.
Skup otpornika
Različite boje žice od 0,2 mm
Senzori i moduli:
- Vodootporni 1-žični temperaturni osjetnik DS18B20Senzor temperature ulja
- Žirosmjerni akcelerometar s 3 osi MPU6050 Senzor nagiba/ubrzanja
- Otpornik ovisan o svjetlu (LDR)
MCP3008-8-kanalni 10-bitni ADC sa SPI sučeljem
TFT SPI zaslon (ili bilo koji drugi LCD zaslon koji odgovara vašim potrebama)
RGB LED
Kućište:
- Plastična kutija
- Slučaj od maline pi
Alati:
- Lemilica i lemljenje
- 2,5 mm vijci i odstojnici
- Vodootporni kabelski priključci
- Super ljepilo
- …
Korak 1: Prototipiranje
Prije nego što sve učinimo trajnim, sastavit ćemo projekt na ploči. Ovaj korak možete preskočiti ako ste potpuno sigurni da nećete pogriješiti. Shema električne/matične ploče može se pronaći u PDF -u ispod. Spojite krug točno kako je opisano. Pazite da koristite samo pin 3.3V, a ne pin 5V na RPi. Također prije nego što uključite malinu Pi, provjerite svoj krug. Pazite da nema kratkih hlača!
Korak 2: Priprema Raspberry Pi
Prije svega, postavit ćemo Raspberry Pi. Raspberry Pi je mini računalo sposobno za pokretanje vlastitog operacijskog sustava. Za ovaj projekt odgovoran je za obradu podataka senzora, hosting web stranice, pokretanje pozadine i baze podataka,…
1. Instalirajte prilagođenu Raspbian sliku
Priložena slika već sadrži programske pakete potrebne za početak projekta:
- Apache za sučelje web stranice
- MariaDB za bazu podataka
- PhpMyAdmin za manipulaciju bazom podataka
- Prilagođena dopuštenja kako bi se izbjegli problemi
Prilagođena slika može se preuzeti odavde.
Vodič za instaliranje slika možete pronaći ovdje:
Nakon što je slika instalirana, povežite Raspberry Pi s računalom pomoću Ethernet kabela. Sada se možete koristiti SSH klijentom za povezivanje s njim na IP adresi 169.254.10.1
Dobra je praksa da odmah postavite novu lozinku pomoću naredbe passwd
2. Konfiguriranje bežične pristupne točke
Kad projekt završi, želimo se moći povezati s RPi putem WiFi -ja, pa ga pretvorimo u bežični AP. Vodič za to možete pronaći ovdje.
Ovaj vodič trebate slijediti samo do koraka 7. Korak 8 nije potreban jer ne moramo premostiti internetsku vezu, već stvoriti samostalnu mrežu.
3. Omogućavanje sučelja
Idite u raspi-config
sudo raspi-config
Idite na opcije sučelja i omogućite 1-žice, SPI i I2C i ponovno pokrenite Pi
3. Postavljanje upravljačkih programa za zaslon
Inicijalizacija prikaza
Uredite datoteku /etc /modules
sudo nano /etc /moduli
Dodajte sljedeća 2 retka
spi-bcm2835fbtft_device
Sada uredite /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Dodajte sljedeći redak
opcije fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotacija = 90 brzina = 80000000 fps = 60
Ponovo pokrenite Pi. Ako vidite pozadinsko osvjetljenje zaslona, sve je prošlo dobro. Ovo će pokrenuti zaslon svaki put kad se Pi podigne, no sada će prikazati samo crni zaslon. Da bismo prikazali sadržaj Pi na zaslonu, moramo kopirati sadržaj glavnog zaslona na mali LCD. Za to ćemo koristiti uslugu pod nazivom 'fbcp'.
Instaliranje fbcp usluge
sudo apt-get install cmake
git clone
cd rpi-fbcp
mkdir graditi
cd build/
cmake..
napraviti
sudo instalirajte fbcp/usr/local/bin/fbcp
Sada smo instalirali uslugu. Međutim, budući da koristimo Pi bez glave, nema dostupnog zaslona za kopiranje sadržaja. Da biste prisilili Pi da emitira sadržaj zaslona, uredite /boot/config.txt
sudo nano /boot/config.txt
Pronađite i uklonite komentar ili dodajte sljedeće retke u ovu datoteku:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
display_rotate = 0
hdmi_group = 2
hdmi_mode = 87
Ponovo pokrenite RPi i isprobajte uslugu fbcp upisivanjem fbcp u konzolu. Sad biste trebali vidjeti sadržaj zaslona na LCD -u.
Pokretanje fbcp pri pokretanju
Uredite /etc/rc.local i dodajte sljedeći redak između IP adrese i izlazne linije
fbcp &
Zaslon bi se trebao uključiti svaki put kad se RPi podigne
Korak 3: Baza podataka
Za bilježenje i pohranu podataka senzora osmislio sam vlastitu bazu podataka koja sadrži 4 tablice. EER dijagram prikazan je na gornjoj slici.
1. Uređaji
Ova tablica sadrži svaki senzor. Opisuje naziv senzora, opis i mjernu jedinicu. Ova tablica ima odnos jedan-prema-više s radnjama tablice, jer u mom slučaju senzor ubrzanja može obavljati različite zadatke.
2. Radnje
Ova tablica pohranjuje radnje za različite senzore. Jedna radnja uvijek je povezana s određenim senzorom. Na primjer: radnja 'TEMP' povezana je s uređajem koji mjeri temperaturu. Ovo bi bio 1-žični senzor temperature.
3. Povijest
Ova tablica sadrži sve zapise senzora. Svaki zapisnik ima ID radnje, vrijednost, vremensku oznaku i vožnju
4. Vozi
Ovaj stol sprema različite vožnje. Svaki put kada korisnik započne novu vožnju, u ovu tablicu se unosi novi unos
Da biste dobili ovu bazu podataka na vašem Raspberry Pi, prijeđite na moj GitHub i klonirajte/preuzmite spremište. Pod bazom podataka pronaći ćete 2.sql datoteke. Pokrenite ih u radnom stolu PhpMyAdmin ili MySQL. Sada bi baza podataka trebala biti na vašem RPi -u.
Korak 4: Pozadina
Ako već niste, prijeđite na moj GitHub i klonirajte/preuzmite spremište. Ispod mape Pozadina pronaći ćete punu pozadinu projekta.
Mapa sadrži klase za čitanje senzora pod /helpers, datoteke za komunikaciju s bazom podataka pod /repozitoriji, a glavna aplikacija nalazi se u korijenu pod imenom app.py.
Instaliranje Python paketa
Prije nego što pokušamo bilo što pokrenuti, prvo moramo instalirati neke pakete za python. Uđite u terminal vašeg RPi i upišite sljedeće naredbe:
pip3 instalirajte mysql-konektor-python
pip3 instalirajte flask-socketio
pip3 instalirajte flask-cors
pip3 instalirajte gevent
pip3 instalirajte gevent-websocket
VAŽNA NAPOMENA: ako ste promijenili lozinku za Mariadb/Mysql, promijenite je u config.py!
Testirajte pozadinu
Pokrenite app.py pomoću tumača python3 (/usr/bin/python3). Uvjerite se da nema grešaka.
Pokretanje pozadine pri pokretanju
Uredite motoDash_backend.service i promijenite YOURFILEPATH na stazu na kojoj je spremište spremljeno.
Sada kopirajte ovu datoteku u/etc/systemd/system/
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Sada će se pozadina automatski pokrenuti svaki put kad se RPi podigne.
Korak 5: Frontend
Krenite u GitHub Repo. Kopirajte sadržaj direktorija Frontend u/var/www/html.
Ovo je sve što trebate učiniti kako bi prednji dio radio. Ova mapa sadrži sve web stranice, styling i skripte za web sučelje. Također komunicira s pozadinom. Da biste provjerili radi li sve kako bi trebalo, provjerite jeste li povezani sa svojim RPi -jem i upišite IP adresu RPi -a u preglednik. Trebali biste vidjeti početnu stranicu web sučelja.
Napomena: Web stranica je responzivna, pa je možete koristiti i na mobilnim uređajima i na stolnim računalima
Korak 6: Prikaz nadzorne ploče na zaslonu
Frontend ima vlastitu skrivenu web stranicu koja se koristi samo za mali zaslon. Napravit ćemo automatsko pokretanje Pi na ovoj web stranici u cijelom zaslonu.
Provjerite je li RPi postavljen na automatsko prijavljivanje na radnu površinu u raspi-config pod opcijama pokretanja
sudo raspi-config
Sada idite u skrivenu konfiguracijsku mapu i tamo stvorite novu datoteku
cd.config
sudo mkdir -p lxsession/LXDE -pi
sudo nano lxsession/LXDE-pi/autostart
Dodajte sljedeće retke u ovu datoteku i spremite
@xscreensaver -nema prskanja
@xset je isključen
@xset -dpms
@xset s je prazno
@chromium-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognito
Sada bi se Pi trebao pokretati s ove web stranice svaki put
Korak 7: Lemljenje elektronike
Uzmite ploču za razbijanje i na nju strukturirano rasporedite svoje komponente. Neću raspravljati o rasporedu lemljenja komponenti na njemu, jer sam na njemu napravio prilično loš posao. Koristio sam zasebna zaglavlja pinova na ploči tako da sam samo trebao spojiti senzore i module na desni pin. Pobrinite se da znate koji pin služi za što!
Neki savjeti pri lemljenju:
- Prilikom prelaska većih udaljenosti koristite izolirane žice. Zadnje što želite su kratke hlače u vašem krugu
- Nakon lemljenja komponente ili žice, provjerite njezin kontinuitet multimetrom. Također redovito provjeravajte ima li kratkih spojeva.
- Nemojte koristiti previše ili premalo lemljenja!
- Ako ne znate lemiti, isprobajte to prvo na drugoj ploči za izradu prototipa. Vodič o lemljenju možete pronaći ovdje.
Sada lemite žice dovoljno dugo na senzore, a oko njih stavite skupljajući omotač kako biste bili sigurni da sve nije kratko i čisto.
Kad završite, dvaput provjerite ima li kratkih spojeva ili loših spojeva te provjerite svaku vezu s električnom shemom je li to ispravna veza. Kad budete sigurni da je sve učinjeno ispravno, samo naprijed stavite ploču za razbijanje na RPi, na kraju je dobro pričvrstite s nekim vijcima od 2,5 mm i odvojcima. Priključite senzore na desne igle i sve ih testirajte pomoću web stranice.
Korak 8: Napajanje
Za napajanje Raspberry Pi koristit ćemo 12V-5V USB adapter. Ovaj adapter bit će spojen na bateriju motocikla. Kako bismo bili sigurni da se RPi uključuje kada je prekidač za paljenje uključen, koristit ćemo relej. Relej će zatvoriti krug napajanja RPi kada otkrije napon stražnjeg svjetla (stražnje svjetlo uvijek se uključuje pri uključivanju kontakta).
Za detaljniji vodič o ovome pogledajte ovu stranicu: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -kontroleri.16921/
Korak 9: Stanovanje
Kućište za prikaz
Za zaslon uzmite tvrdu plastičnu kutiju otprilike veličine zaslona. Izrežite u njemu kvadratnu rupu veliku poput zaslona i odgovarajuće rupe za uvrtanje zaslona. S prednje strane morate izbušiti još 2 rupe za RGB LED i LDR.
Ovu sam kutiju montirao na držač pametnog telefona pomoću vijka.
Senzor temperature
Za smještaj senzora temperature 3D sam ispisao mjerač ulja koji odgovara mom motociklu.
Malina Pi
Montirajte sam malinu Pi na sigurno mjesto unutar motocikla, stavio sam je ispod jednog od blatobrana koristeći neke čičak trake. I zaštitili ga od elemenata pomoću kućišta i nešto plastike.
Brzinomjer
Akcelerometar postavite na sigurno mjesto, najbolje na sam okvir motocikla.
Bilješka:
Ne morate imati potpuno isti stan kao ja, slobodni ste ga dovršiti kako god želite. Samo provjerite jesu li elektroničke komponente zaštićene od kiše i prašine.
Preporučeni:
Tasmota Admin - IIoT nadzorna ploča: 6 koraka
Tasmota Admin - IIoT nadzorna ploča: TasmoAdmin je administrativna web stranica za uređaje s Tasmotom. Možete ga pronaći ovdje: TasmoAdmin GitHub. Podržava pokretanje na Windows, Linux i Docker spremnicima. ZnačajkeLogin protectedMulti Update ProcessOdaberite uređaje za ažuriranje Autom
Nadzorna ploča WHO-a WHO-19: 8 koraka (sa slikama)
Nadzorna ploča WHO-a za COVID-19: Ove upute pokazuju kako koristiti ESP8266/ESP32 i LCD za izgradnju situacije u vezi s COVID-19 Nadzorna ploča WHO-a
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio): 6 koraka (sa slikama)
LTE Arduino GPS Tracker + IoT nadzorna ploča (1. dio): UvodŠto ima ljudi! Ovaj Instructable nastavak je moga prvog Instructable-a o korištenju Botletics LTE/NB-IoT štita za Arduino, pa ako već niste, pročitajte ga kako biste dobili dobar pregled o tome kako koristiti štit i o čemu se radi
LTE Arduino GPS Tracker + IoT nadzorna ploča (2. dio): 6 koraka (sa slikama)
LTE Arduino GPS Tracker + IoT nadzorna ploča (2. dio): Intro & Prvi dio RecapYup, vrijeme je za još jedan Instructable na SIM7000 GPS tracker s Arduinom i LTE -om! Ako već niste, pročitajte vodič za početak rada za Botletics SIM7000 CAT-M/NB-IoT štit, a zatim pročitajte na Pa
Guino: Nadzorna ploča za vaš Arduino: 4 koraka (sa slikama)
Guino: Nadzorna ploča za vaš Arduino: Ovaj projekt dio je eksperimenata izvedenih tijekom izvođenja umjetnika u rezidenciji u Instructables. Ostale projekte možete vidjeti ovdje. Otklanjanje pogrešaka i vizualizacija podataka u stvarnom vremenu na Arduino ploči može biti težak zadatak. Obično ste zaglavljeni sa