Kazalo:

Armaturna plošča za motorna kolesa Raspberry Pi: 9 korakov (s slikami)
Armaturna plošča za motorna kolesa Raspberry Pi: 9 korakov (s slikami)

Video: Armaturna plošča za motorna kolesa Raspberry Pi: 9 korakov (s slikami)

Video: Armaturna plošča za motorna kolesa Raspberry Pi: 9 korakov (s slikami)
Video: Высокая плотность 2022 2024, November
Anonim
Armaturna plošča za motorna kolesa Raspberry Pi
Armaturna plošča za motorna kolesa Raspberry Pi

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
  • Komplet uporov

    Različne barve žice 0,2 mm

  • 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.

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

Izdelava prototipov
Izdelava prototipov
Izdelava prototipov
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

Priprava Raspberry Pi
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

Baza podatkov
Baza 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

Frontend
Frontend
Frontend
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

Prikaz armaturne plošče na zaslonu
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 --incognito

Zdaj se mora Pi vsakič zagnati na to spletno stran

7. korak: Spajkanje elektronike

Spajkanje elektronike
Spajkanje elektronike
Spajkanje elektronike
Spajkanje elektronike
Spajkanje elektronike
Spajkanje elektronike
Spajkanje elektronike
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

Nastanitev
Nastanitev
Nastanitev
Nastanitev
Nastanitev
Nastanitev

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: