Sadržaj:
- Supplies
- 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 ekranu
- 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 izmjena: 2024-01-30 08:05
Kao student Multimedijske i komunikacijske tehnologije u Howest Kortrijku morao sam napraviti vlastiti IoT projekt. Ovo bi kombiniralo sve module koji su uslijedili u prvoj godini u jedan veliki projekat. Budući da u slobodno vrijeme često vozim svoj motocikl, odlučio sam iskoristiti stečene vještine u MCT -u da napravim nešto za svoj motocikl: Pametnu nadzornu ploču.
MotoDash je nadzorna ploča s napajanjem Raspberry Pi dizajnirana za fanatične motocikliste koja vozaču daje mogućnost praćenja njihovih performansi.
Koje su karakteristike ove nadzorne ploče?
- Pregled trenutnog ugla nagiba
- Pregled trenutnog ubrzanja
- Mogućnost praćenja temperature ulja
- Automatski prebaci na tamnu temu dok se vozite po mraku
- Zapisujte podatke o svojim vožnjama i pregledajte vlastite statistike
Supplies
Glavna računarska jedinica:
Raspberry Pi Ovo je glavni kontroler sistema
Elektronika:
- USB punjač za motocikl 12V-5VGlavno napajanje za RPi
- Relej sa osiguračem od 4 pina 12VPrekidač za uključivanje/isključivanje strujnog kruga RPi
- Oglasna ploča sa kratkospojnim žicama (opcionalno) 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 direktno 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 senzor temperature 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 ekran (ili bilo koji drugi LCD ekran 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 konektori za kablove
- Super ljepilo
- …
Korak 1: Prototipiranje
Prije nego što sve učinimo trajnim, sastavit ćemo projekt na ploči. Ovaj korak se može preskočiti ako ste potpuno sigurni da nećete pogriješiti. Shema električnih instalacija/matičnih ploča može se pronaći u PDF -u ispod. Spojite krug tačno onako kako je opisano. Pazite da koristite samo pin 3.3V, a ne pin 5V na RPi. Takođe, prije nego što uključite maline Pi, provjerite strujno kolo. Uvjerite se da nema kratkih hlača!
Korak 2: Priprema Raspberry Pi
Prije svega, postavit ćemo Raspberry Pi. Raspberry Pi je mini računar koji može pokrenuti vlastiti operativni sistem. Za ovaj projekt, on je odgovoran za obradu podataka senzora, hosting web stranice, pokretanje pozadine i baze podataka,…
1. Instalirajte prilagođenu Raspbian sliku
Priložena slika već sadrži softverske 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 za izbjegavanje problema
Prilagođena slika može se preuzeti odavde.
Vodič za instaliranje slika možete pronaći ovdje:
Kada se slika instalira, povežite Raspberry Pi sa računarom pomoću Ethernet kabla. Sada možete koristiti SSH klijent 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 tačke
Kad projekt bude završen, želimo se moći povezati s RPi putem WiFi -ja, pa ga pretvorimo u bežični pristupni točak. Vodič za ovo 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 interfejsa
Idite u raspi-config
sudo raspi-config
Idite na opcije povezivanja i omogućite 1-žične, SPI i I2C i ponovo pokrenite Pi
3. Postavljanje upravljačkih programa za ekran
Inicijalizacija prikaza
Uredite datoteku /etc /modules
sudo nano /etc /modules
Dodajte sljedeća 2 retka
spi-bcm2835fbtft_device
Sada uredite /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Dodajte sledeći red
opcije fbtft_device ime = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotiranje = 90 brzina = 80000000 fps = 60
Ponovo pokrenite Pi. Ako vidite da pozadinsko osvetljenje ekrana svetli, sve je prošlo dobro. Ovo će pokrenuti ekran svaki put kada se Pi pokrene, međutim sada će prikazivati samo crni ekran. Da bismo prikazali sadržaj Pi na ekranu, moramo kopirati sadržaj glavnog ekrana na mali LCD. Za to ćemo koristiti uslugu pod nazivom 'fbcp'.
Instaliranje fbcp servisa
sudo apt-get install cmake
git clone
cd rpi-fbcp
mkdir build
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 ekrana za kopiranje sadržaja. Da biste prisilili Pi da emitira sadržaj ekrana, 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 fbcp uslugu upisivanjem fbcp u konzolu. Sad biste trebali vidjeti sadržaj ekrana na LCD -u.
Pokretanje fbcp pri pokretanju
Uredite /etc/rc.local i dodajte sljedeću liniju između IP adrese i izlazne linije
fbcp &
Sada bi se zaslon trebao uključivati svaki put kada se RPi pokrene
Korak 3: Baza podataka
Za evidentiranje i pohranu podataka senzora dizajnirao sam vlastitu bazu podataka koja sadrži 4 tablice. EER dijagram je prikazan 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 izvesti različite zadatke.
2. Radnje
Ova tablica pohranjuje radnje za različite senzore. Jedna radnja je uvijek 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. Istorija
Ova tablica sadrži sve zapise senzora. Svaki dnevnik ima ID radnje, vrijednost, vremensku oznaku i vožnju
4. Vožnja
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, idite na moj GitHub i klonirajte/preuzmite spremište. Pod bazom podataka pronaći ćete 2.sql datoteke. Pokrenite ih u PhpMyAdmin ili MySQL radnom stolu. 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. U fascikli Backend pronaći ćete punu pozadinu projekta.
Mapa sadrži klase za čitanje senzora pod /helpers, datoteke za komunikaciju s bazom podataka pod /repositories, a glavna aplikacija se nalazi u korijenu pod imenom app.py.
Instaliranje Python paketa
Prije nego pokušamo bilo što pokrenuti, moramo prvo instalirati neke pakete za python. Uđite u terminal vašeg RPi -a i upišite sljedeće naredbe:
pip3 instalirajte mysql-connector-python
pip3 instalirajte flask-socketio
pip3 instalirajte flask-cors
pip3 install gevent
pip3 instalirajte gevent-websocket
VAŽNA NAPOMENA: ako ste promijenili svoju Mariadb/Mysql lozinku, 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 pokretati svaki put kada se RPi pokrene.
Korak 5: Frontend
Uđite u GitHub Repo. Kopirajte sadržaj direktorija Frontend u/var/www/html.
Ovo je sve što trebate učiniti da bi interfejs funkcionirao. Ova mapa sadrži sve web stranice, stilove i skripte za web sučelje. Takođe komunicira sa pozadinom. Da biste provjerili radi li sve kako treba, 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 ekranu
Frontend ima vlastitu skrivenu web stranicu koja se koristi samo za male ekrane. Pi će se automatski pokrenuti s ove web stranice u načinu prikaza na cijelom ekranu.
Uverite se da je RPi podešen 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 redove u ovu datoteku i spremite
@xscreensaver -no -splash
@xset je isključen
@xset -dpms
@xset s noblank
@chromium-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognito
Sada bi se Pi trebao pokretati svaki put na ovoj web stranici
Korak 7: Lemljenje elektronike
Uzmite ploču za razbijanje i rasporedite svoje komponente na nju na strukturiran način. 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. Uverite se da znate koji pin je za šta!
Nekoliko savjeta pri lemljenju:
- Prilikom prelaska većih udaljenosti koristite izolirane žice. Zadnja stvar koju želite su kratke hlače u vašem krugu
- Nakon lemljenja komponente ili žice, provjerite njihov kontinuitet multimetrom. Redovno provjeravajte i da li ima 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 i oko njih stavite skupljajući omotač kako biste bili sigurni da sve nije kratko i čisto.
Kada završite, dvaput provjerite ima li kratkih spojeva ili loših veza, te provjerite svaku vezu s električnom shemom je li to prava veza. Kad budete sigurni da je sve učinjeno kako treba, nastavite i stavite ploču za razbijanje na RPi, na kraju je pričvrstite s vijcima od 2,5 mm i rastavima. Priključite senzore na desne pinove i testirajte ih sve pomoću web stranice.
Korak 8: Napajanje
Za napajanje Raspberry Pi koristit ćemo 12V-5V usb adapter. Ovaj adapter će biti 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 se uvijek 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
Display Housing
Za ekran uzmite tvrdu plastičnu kutiju otprilike veličine ekrana. Izrežite u njemu kvadratnu rupu veliku poput ekrana i odgovarajuće rupe za uvrtanje ekrana. S prednje strane morate izbušiti još 2 rupe za RGB LED i LDR.
Ovu kutiju sam montirao na držač pametnog telefona pomoću vijka.
Senzor temperature
Za smještaj senzora temperature, 3D sam odštampao mjerač ulja koji odgovara mom motociklu.
Raspberry Pi
Montirajte 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.
Akcelerometar
Akcelerometar postavite na sigurno mjesto, najbolje na sam okvir motocikla.
Bilješka:
Ne morate imati potpuno isto stanovanje kao ja, slobodni ste da ga dovršite kako želite. Samo pazite da elektroničke komponente budu zaštićene od kiše i prašine.
Preporučuje se:
Tasmota Admin - IIoT nadzorna ploča: 6 koraka
Tasmota Admin - IIoT nadzorna ploča: TasmoAdmin je administrativna web stranica za uređaje sa Tasmotom. Možete ga pronaći ovdje: TasmoAdmin GitHub. Podržava pokretanje na Windows, Linux i Docker kontejnerima. OsobineLogin protectedMulti Update ProcessOdaberite uređaje za ažuriranje Autom
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio): 6 koraka (sa slikama)
LTE Arduino GPS Tracker + IoT Dashboard (1. dio): UvodŠta ima ljudi! Ovaj Instructable nastavak je mog prvog Instructable-a o korištenju Botletics LTE/NB-IoT štita za Arduino, pa ako već niste, pročitajte ga da biste dobili dobar pregled o tome kako koristiti štit i šta je sve to
LTE Arduino GPS praćenje + IoT nadzorna ploča (2. dio): 6 koraka (sa slikama)
LTE Arduino GPS praćenje + IoT nadzorna ploča (2. dio): Uvod & 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 je dio eksperimenata izvedenih tokom izvođenja umjetnika u rezidenciji u Instructables. Ostale projekte možete pogledati ovdje. Otklanjanje grešaka i vizualizacija podataka u stvarnom vremenu na Arduino ploči može biti težak zadatak. Obično ste zaglavljeni sa
Brojčanik za motocikle na solarni pogon: 5 koraka (sa slikama)
Sat za biranje motocikla na solarni pogon: Tahokotač mi je ostao od starog motocikla, kada sam zamijenio mehanički brojač okretaja elektroničkom pločom (to je drugi projekt!) I nisam ga htio baciti. Ove stvari su dizajnirane za pozadinsko osvjetljenje kada su svjetla za bicikl isključena