Kazalo:
- Zaloge
- 1. korak: izdelava prototipov
- 2. korak: Priprava Raspberry Pi
- 3. korak: zbirka podatkov
- 4. korak: Backend
- 5. korak: Frontend
- 6. korak: Prikaz armaturne plošče na zaslonu
- 7. korak: Spajkanje elektronike
- 8. korak: Napajanje
- 9. korak: Stanovanje
Video: Armaturna plošča za motorna kolesa Raspberry Pi: 9 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Kot študentka multimedijske in komunikacijske tehnologije v Howest Kortrijku sem morala narediti svoj projekt IoT. To bi združilo vse module, ki so jim sledili v prvem letu, v en velik projekt. Ker se v prostem času veliko vozim z motorjem, sem se odločil, da svoje pridobljene sposobnosti na MCT -ju uporabim za izdelavo svojega motornega kolesa: Pametno armaturno ploščo.
MotoDash je armaturna plošča s pogonom na Raspberry Pi, namenjena navdušenim motoristom, ki vozniku omogoča spremljanje njihovih zmogljivosti.
Kakšne so značilnosti te nadzorne plošče?
- Ogled trenutnega kota nagiba
- Ogled trenutnega pospeška
- Sposobnost spremljanja temperature olja
- Samodejno preklopi na temno temo med vožnjo v temi
- Zabeležite podatke o svojih vožnjah in si oglejte lastne statistike
Zaloge
Glavna računalniška enota:
Raspberry Pi To je glavni krmilnik sistema
Elektronika:
- USB polnilnik za motorno kolo 12V-5V Glavno napajanje za RPi
- 4 -polni varovalni rele 12V Preklopite za vklop/izklop napajalnega tokokroga RPi
- Ogledna plošča z mostičnimi žicami (neobvezno) Za testiranje in izdelavo prototipov
-
Breakout Pi plusTo je prototipna plošča, na kateri lahko spajkate vse svoje komponente. Narejen je tako, da se prilega neposredno na Raspberry Pi, zato so dimenzije projekta minimalne.
Komplet uporov
Različne barve žice 0,2 mm
Senzorji in moduli:
- Vodoodporen 1-žični temperaturni senzor DS18B20 Senzor temperature olja
- 3 -osni žiroskopski merilnik pospeška MPU6050 Senzor nagiba/pospeška
- Svetlobno odvisen upor (LDR)
MCP3008-8-kanalni 10-bitni ADC z vmesnikom SPI
Zaslon TFT SPI (ali kateri koli drug LCD zaslon, ki ustreza vašim potrebam)
RGB LED
Ohišje:
- Plastična škatla
- Primer maline pi
Orodja:
- Spajkalnik in spajkanje
- 2,5 mm vijaki in distančniki
- Vodotesni kabelski priključki
- Super lepilo
- …
1. korak: izdelava prototipov
Preden naredimo vse za stalno, bomo projekt sestavili na mizo. Ta korak lahko preskočite, če ste popolnoma prepričani, da ne boste naredili napak. Shemo elektrike/plošče najdete v spodnjem PDF -ju. Tokokrog sestavite tako, kot je opisano. Prepričajte se, da uporabljate samo pin 3.3V in ne 5V pin na RPi. Preden vklopite malinovo pi, dvakrat preverite svoje vezje. Prepričajte se, da ni kratkih hlač!
2. korak: Priprava Raspberry Pi
Najprej bomo postavili Raspberry Pi. Raspberry Pi je mini računalnik, ki lahko poganja lasten operacijski sistem. Za ta projekt je odgovoren za obdelavo podatkov senzorjev, gostovanje spletnega mesta, izvajanje zaledja in baze podatkov,…
1. Namestite sliko Raspbian po meri
Priložena slika že vsebuje programske pakete, potrebne za hiter začetek tega projekta:
- Apache za vmesnik spletnega mesta
- MariaDB za bazo podatkov
- PhpMyAdmin za upravljanje baze podatkov
- Dovoljenja po meri, da se izognete težavam
Sliko po meri lahko prenesete od tukaj.
Vadnico za namestitev slik najdete tukaj:
Ko je slika nameščena, povežite Raspberry Pi z računalnikom z ethernetnim kablom. Zdaj se lahko z odjemalcem SSH povežete z njim na naslovu IP 169.254.10.1
Dobra praksa je, da takoj nastavite novo geslo z ukazom passwd
2. Konfiguriranje brezžične dostopne točke
Ko je projekt končan, se želimo povezati z RPi prek wifi, zato ga spremenimo v brezžično dostopno točko. Vadnico za to najdete tukaj.
To vadnico morate upoštevati le do 7. koraka. Korak 8 ni potreben, saj nam ni treba premostiti internetne povezave, ampak ustvariti samostojno omrežje.
3. Omogočanje vmesnikov
Pojdite v raspi-config
sudo raspi-config
Pojdite na možnosti vmesnika in omogočite 1-žično, SPI in I2C ter znova zaženite Pi
3. Nastavitev gonilnikov za zaslon
Začetek prikaza
Uredite datoteko /etc /modules
sudo nano /etc /moduli
Dodajte naslednji 2 vrstici
spi-bcm2835fbtft_device
Zdaj uredite /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Dodajte naslednjo vrstico
možnosti fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotacija = 90 hitrost = 80000000 fps = 60
Znova zaženite Pi. Če vidite, da osvetli osvetlitev zaslona, je bilo vse v redu. To bo inicializiralo zaslon vsakič, ko se Pi zažene, vendar bo zdaj prikazal samo črni zaslon. Za prikaz vsebine Pi na zaslonu moramo kopirati vsebino glavnega zaslona na majhen LCD. Za to bomo uporabili storitev, imenovano 'fbcp'.
Namestitev storitve fbcp
sudo apt-get install cmake
git clone
cd rpi-fbcp
mkdir build
cd build/
cmake..
narediti
sudo namestite fbcp/usr/local/bin/fbcp
Zdaj smo namestili storitev. Ker pa uporabljamo Pi brez glave, ni na voljo zaslona za kopiranje vsebine. Če želite Pi prisiliti, da prikaže vsebino zaslona, uredite /boot/config.txt
sudo nano /boot/config.txt
V tej datoteki poiščite in razkomentirajte ali dodajte naslednje vrstice:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
display_rotate = 0
hdmi_group = 2
hdmi_mode = 87
Znova zaženite RPi in preizkusite storitev fbcp tako, da v konzolo vnesete fbcp. Zdaj bi morali na LCD -ju videti vsebino zaslona.
Zagon fbcp ob zagonu
Uredite /etc/rc.local in dodajte naslednjo vrstico med naslovom ip in izhodno vrstico
fbcp &
Zdaj se mora zaslon vklopiti vsakič, ko se RPi zažene
3. korak: zbirka podatkov
Za beleženje in shranjevanje podatkov o senzorjih sem oblikoval svojo bazo podatkov, ki vsebuje 4 tabele. Diagram EER je prikazan na zgornji sliki.
1. Naprave
Ta tabela vsebuje vse senzorje. Opisuje ime senzorja, opis in merilno enoto. Ta tabela je v razmerju ena proti več z dejanji tabele, saj lahko v mojem primeru senzor pospeška opravlja različne naloge.
2. Dejanja
Ta tabela shranjuje dejanja za različne senzorje. Eno dejanje je vedno povezano z določenim senzorjem. Na primer: dejanje "TEMP" je povezano z napravo, ki meri temperaturo. To bi bil 1-žični temperaturni senzor.
3. Zgodovina
Ta tabela vsebuje vse dnevnike senzorjev. Vsak dnevnik ima ID dejanja, vrednost, časovni žig in vožnjo
4. Vožnje
Na tej mizi so shranjene različne vožnje. Vsakič, ko uporabnik začne novo vožnjo, se v tabelo vnese nov vnos
Če želite dobiti to zbirko podatkov na vašem Raspberry Pi, pojdite na moj GitHub in klonirajte/prenesite skladišče. Pod bazo podatkov boste našli 2 datoteki.sql. Zaženite jih v delovni mizi PhpMyAdmin ali MySQL. Zdaj bi morala biti zbirka podatkov na vašem RPi.
4. korak: Backend
Če še niste, pojdite na moj GitHub in klonirajte/prenesite skladišče. Pod mapo Backend boste našli celotno ozadje projekta.
Mapa vsebuje razrede za branje senzorjev pod /helpers, datoteke za komunikacijo z bazo podatkov v /repositories, glavna aplikacija pa se nahaja v korenu pod imenom app.py.
Namestitev paketov Python
Preden poskusimo karkoli zagnati, moramo najprej namestiti nekaj paketov za python. Pojdite v terminal vašega RPi in vnesite naslednje ukaze:
pip3 namestite mysql-connector-python
pip3 namestite flask-socketio
pip3 namestite flask-cors
pip3 namestite gevent
pip3 namestite gevent-websocket
POMEMBNO OPOMBA: če ste spremenili geslo za Mariadb/Mysql, ga spremenite v config.py!
Preizkusite zaledje
Zaženite app.py s tolmačem python3 (/usr/bin/python3). Prepričajte se, da ni napak.
Zagon backenda ob zagonu
Uredite motoDash_backend.service in spremenite YOURFILEPATH na pot, kamor je shranjeno skladišče.
Zdaj kopirajte to datoteko v/etc/systemd/system/
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Zdaj se bo zaledje samodejno zagnalo vsakič, ko se RPi zažene.
5. korak: Frontend
Pojdite v GitHub Repo. Kopirajte vsebino imenika Frontend v/var/www/html.
To je vse, kar morate storiti, da bo sprednja stran delovala. Ta mapa vsebuje vse spletne strani, styling in skripte za spletni vmesnik. Prav tako komunicira z zaledjem. Če želite preveriti, ali vse deluje tako, kot bi moralo, se prepričajte, da ste povezani z RPi -jem, in v brskalnik vnesite naslov IP RPi. Videti bi morali domačo stran spletnega vmesnika.
Opomba: Spletno mesto je odzivno, zato ga lahko uporabljate tudi v mobilnih napravah in v namiznih računalnikih
6. korak: Prikaz armaturne plošče na zaslonu
Frontend ima svojo skrito spletno stran, ki se uporablja samo za majhne zaslone. Pi se bo samodejno zagnal na to spletno mesto v celozaslonskem načinu.
Prepričajte se, da je RPi nastavljen na namizno samodejno prijavo v raspi-config pod zagonskimi možnostmi
sudo raspi-config
Zdaj pojdite v skrito mapo z nastavitvami in tam ustvarite novo datoteko
cd.config
sudo mkdir -p lxsession/LXDE -pi
sudo nano lxsession/LXDE-pi/samodejni zagon
V to datoteko dodajte naslednje vrstice in shranite
@xscreensaver -no -splash
@xset je izklopljen
@xset -dpms
@xset je prazno
@chromium-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognitoZdaj se mora Pi vsakič zagnati na to spletno stran
7. korak: Spajkanje elektronike
Vzemite prelomno ploščo in nanjo strukturirano položite svoje komponente. Ne bom razpravljal o postavitvi, kako sem na njem spajkal komponente, saj sem pri tem opravil precej slabo delo. Na plošči sem uporabil ločene glave zatičev, tako da sem moral le senzorje in module povezati z desnim zatičem. Prepričajte se, kateri pin je za kaj!
Nekaj nasvetov med spajkanjem:
- Pri prečkanju večjih razdalj uporabite izolirane žice. Zadnja stvar, ki jo želite, so kratke hlače v vašem vezju
- Po spajkanju sestavnega dela ali žice preverite njegovo neprekinjenost z multimetrom. Redno preverjajte tudi kratki stik.
- Ne uporabljajte preveč ali premalo spajkanja!
- Če ne veste, kako spajkati, jo najprej vadite na drugi plošči za izdelavo prototipov. Vadnico o spajkanju najdete tukaj.
Zdaj spajkajte žice dovolj dolgo na senzorje in okoli njih položite nekaj krčenja, da se prepričate, da ni kratkih in čistih.
Ko končate, dvakrat preverite, ali so kratke stike ali slabe povezave, in preverite vsako povezavo z električno shemo, če je prava. Ko ste prepričani, da je vse narejeno pravilno, nadaljujte in postavite odklopno ploščo na RPi, na koncu jo privijte z nekaj 2,5 -milimetrskimi vijaki in odmiki. Senzorje priključite na desne zatiče in jih preizkusite na spletnem mestu.
8. korak: Napajanje
Za napajanje Raspberry Pi bomo uporabili 12V-5V USB adapter. Ta adapter bo priključen na baterijo motornega kolesa. Za zagotovitev, da se RPi vklopi, ko je stikalo za vžig vklopljeno, bomo uporabili rele. Rele bo zaprl napajalni tokokrog RPi, ko zazna napetost zadnje luči (zadnja luč se vedno vklopi pri vklopu kontakta).
Za podrobnejši vodič o tem si oglejte to stran: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -kontrolerji.16921/
9. korak: Stanovanje
Ohišje zaslona
Za zaslon vzemite trdo plastično škatlo približno velikosti zaslona. V njem izrežite kvadratno luknjo, veliko kot zaslon, in ustrezne luknje, da privijete zaslon. Spredaj morate izvrtati še 2 luknji za LED RGB in LDR.
To škatlo sem z vijakom namestil na nosilec pametnega telefona.
Temperaturni senzor
Za namestitev temperaturnega senzorja sem 3D natisnil merilnik olja, ki ustreza mojemu motornemu kolesu.
Malina Pi
Malino Pi namestite na varno mesto znotraj motornega kolesa, pod nekaj blatnikov sem jo postavil pod enega od blatnikov. In ga zaščitili pred elementi z ohišjem in nekaj plastike.
Merilnik pospeška
Merilnik pospeška namestite na varno mesto, po možnosti na sam okvir motornega kolesa.
Opomba:
Ni vam treba imeti popolnoma enakega stanovanja kot jaz, lahko ga dokončate, kakor želite. Prepričajte se le, da so elektronske komponente zaščitene pred dežjem in prahom.
Priporočena:
Motorna igračka za mačke: 6 korakov
Motorna igračka za mačke: Ali se vaša mačka rada igra z vrvicami? a ste leni, da bi se igrali z njim?, prihaja rešitev - DIY motorizirana igračka za mačke. Za izdelavo te igrače vam ni treba imeti izkušenj z elektroniko. Je tudi prijazen začetnikom
Kako spremeniti standardna vroča kolesa v vroča kolesa R/C: D: 6 korakov (s slikami)
Kako spremeniti standardna vroča kolesa v vroča kolesa R/C: D: Od malega obožujem avtomobile Hot Wheels. To mi je dalo navdih za oblikovanje fantazijskih vozil. Tokrat so prehiteli sebe s Star War Hot Wheels, C-3PO. Vendar pa želim več kot le potiskanje ali potovanje po progi, sem se odločil: "L
Motorna kamera Dolly: 5 korakov (s slikami)
Motorna kamera CAMERA Dolly: Ta projekt se je začel kot ročno premikana lutka za fotoaparate, vendar se je razvila v motorno vozičko
Armaturna plošča električnega kolesa (EBike) in monitor baterije: 12 korakov (s slikami)
Armaturna plošča in monitor za električna kolesa (EBike): Ta projekt je vezje Arduino, ki spremlja napetost in tok akumulatorja z modulom ACS 712. Meritve se prek Bluetooth prek modula HC-05 sporočijo napravi Android. V bistvu ponovno povežete negativno povezavo med y
Motorna centrifuga: 7 korakov
Motor Spinner: To stvar sem prvič naredil, ko sem se norčeval z motorji, pritrdil baterijo in pustil, da se izprazni, ni zdržala predolgo, ker baterija ne bi ostala prižgana. Potem sem naredil spinner z baterijo, pritrjeno nanjo , dobro je delovalo, vendar je bilo