Tartalomjegyzék:

Raspberry Pi motorkerékpár műszerfal: 9 lépés (képekkel)
Raspberry Pi motorkerékpár műszerfal: 9 lépés (képekkel)

Videó: Raspberry Pi motorkerékpár műszerfal: 9 lépés (képekkel)

Videó: Raspberry Pi motorkerékpár műszerfal: 9 lépés (képekkel)
Videó: High Density 2022 2024, November
Anonim
Raspberry Pi motorkerékpár műszerfal
Raspberry Pi motorkerékpár műszerfal

Multimédia és kommunikációs technológia hallgatójaként a Howest Kortrijkban saját IoT -projektet kellett készítenem. Ez az első évben követett összes modult egyetlen nagy projektbe egyesítené. Mivel szabadidőmben sokat járok motorkerékpárommal, úgy döntöttem, hogy az MCT -n szerzett ismereteimet felhasználva építek valamit a motorkerékpáromhoz: egy intelligens műszerfalat.

A MotoDash egy Raspberry Pi hajtású műszerfal, amelyet fanatikus motorosok számára terveztek, és amely lehetővé teszi a versenyző számára, hogy nyomon kövesse teljesítményét.

Milyen jellemzői vannak ennek a műszerfalnak?

  • Az aktuális dőlésszög megtekintése
  • Az aktuális gyorsulás megtekintése
  • Képesség az olaj hőmérsékletének ellenőrzésére
  • Automatikusan sötét témára váltás, amikor sötétben lovagol
  • Naplózza a túrák adatait, és tekintse meg saját statisztikáit

Kellékek

Fő számítási egység:

Raspberry Pi Ez a rendszer fő vezérlője

Elektronika:

  • USB töltő motorkerékpárhoz 12V-5V
  • 4 tűs olvadt relé 12V Kapcsolja be vagy ki az RPi áramkörét
  • Kenyeretábla áthidaló vezetékekkel (opcionális) Teszteléshez és prototípus -készítéshez
  • Ellenállások halmaza

    0,2 mm -es huzal különböző színei

  • Breakout Pi plus Ez egy prototípus -tábla, ahol az összes összetevőt forraszthatja. Úgy készült, hogy közvetlenül a Raspberry Pi tetejére illeszkedjen, így a projekt mérete minimális marad.

Érzékelők és modulok:

  • Vízálló DS18B20 1 vezetékes hőmérséklet-érzékelőOlajhőmérséklet-érzékelő
  • 3 tengelyes giroszkóp gyorsulásmérő MPU6050Tilt/accel érzékelő
  • Fényfüggő ellenállás (LDR)
  • MCP3008-8 csatornás 10 bites ADC SPI interfésszel

    TFT SPI kijelző (vagy bármilyen más LCD kijelző, amely megfelel az Ön igényeinek)

    RGB LED

Ház:

  • Műanyag doboz
  • Málna pi tok

Eszközök:

  • Forrasztópáka és forrasztópáka
  • 2,5 mm -es csavarok és távtartók
  • Vízálló kábelcsatlakozók
  • Pillanatragasztó

1. lépés: Prototípuskészítés

Prototípuskészítés
Prototípuskészítés
Prototípuskészítés
Prototípuskészítés

Mielőtt mindent véglegessé tennénk, összeállítjuk a projektet egy kenyérpadon. Ez a lépés kihagyható, ha teljesen biztos abban, hogy nem fog hibázni. Az elektromos/kenyértábla séma az alábbi PDF -ben található. Állítsa össze az áramkört pontosan a leírtak szerint. Ügyeljen arra, hogy az RPi -n csak a 3,3 V -os tüskét használja, és ne az 5 V -os csapot. A málna Pi bekapcsolása előtt ellenőrizze az áramkört. Ügyeljen arra, hogy ne legyen rövidnadrág!

2. lépés: A Raspberry Pi előkészítése

A Raspberry Pi előkészítése
A Raspberry Pi előkészítése

Először is fel kell állítanunk a Raspberry Pi -t. A Raspberry Pi egy mini számítógép, amely képes saját operációs rendszerének futtatására. Ebben a projektben felelős a szenzordatok feldolgozásáért, a webhely tárolásáért, a háttér és az adatbázis futtatásáért,…

1. Telepítsen egyedi Raspbian Image -t

A mellékelt kép már tartalmazza a projekt elindításához szükséges szoftvercsomagokat:

  • Apache a webhely kezelőfelületéhez
  • MariaDB az adatbázishoz
  • PhpMyAdmin az adatbázis kezeléséhez
  • Egyedi jogosultságok a problémák elkerülése érdekében

Az egyedi kép innen tölthető le.

A képek telepítésének bemutatója itt található:

A kép telepítése után csatlakoztassa a Raspberry Pi -t a számítógéphez egy Ethernet -kábellel. Most már használhat egy SSH ügyfelet a 169.254.10.1 IP -címen való csatlakozáshoz

Jó gyakorlat az új jelszó azonnali beállítása a passwd paranccsal

2. A vezeték nélküli AP beállítása

Amikor a projekt befejeződött, szeretnénk csatlakozni az RPi -hez wifi -n keresztül, így tegyük azt vezeték nélküli AP -vé. Ennek oktatóanyaga itt található.

Ezt az oktatóanyagot csak a 7. lépésig kell követnie. A 8. lépés nem kötelező, mivel nem internetkapcsolatot kell áthidalnunk, hanem önálló hálózatot kell létrehoznunk.

3. Az interfészek engedélyezése

Irány a raspi-config

sudo raspi-config

Lépjen az interfész opciókra, és engedélyezze az 1-vezetékes, SPI és I2C-t, és indítsa újra a Pi-t

3. Illesztőprogramok beállítása a kijelzőhöz

A kijelző inicializálása

Szerkessze az /etc /modules fájlt

sudo nano /etc /modules

Adja hozzá a következő 2 sort

spi-bcm2835fbtft_device

Most szerkessze az /etc/modprobe.d/fbtft.conf fájlt

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

Adja hozzá a következő sort

opciók fbtft_eszköz neve = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 forgatás = 90 sebesség = 80000000 kép / mp = 60

Indítsa újra a Pi -t. Ha látja, hogy a kijelző háttérvilágítása világít, minden rendben ment. Ez inicializálja a kijelzőt minden alkalommal, amikor a Pi elindul, de most csak fekete képernyőt jelenít meg. Ahhoz, hogy a Pi tartalma megjelenjen a kijelzőn, át kell másolnunk a főképernyő tartalmát a kis LCD -re. Ehhez az "fbcp" nevű szolgáltatást fogjuk használni.

Fbcp szolgáltatás telepítése

sudo apt-get install cmake

git klón

cd rpi-fbcp

mkdir build

cd build/

cmake..

készíteni

sudo install fbcp/usr/local/bin/fbcp

Most telepítettük a szolgáltatást. Mivel azonban a Pi -t fej nélkül használjuk, nincs képernyő, amelyről tartalmat másolhatnánk. Ahhoz, hogy a Pi kényszerítse a képernyő tartalmának kiadását, szerkessze a /boot/config.txt fájlt

sudo nano /boot/config.txt

Keresse meg a megjegyzéseket, vagy vegye fel a következő sorokat ehhez a fájlhoz:

hdmi_force_hotplug = 1

hdmi_cvt = 640 480 60 0 0 0 0

display_rotate = 0

hdmi_csoport = 2

hdmi_mode = 87

Indítsa újra az RPi -t, és próbálja ki az fbcp szolgáltatást, ha beírja a konzolba az fbcp parancsot. Most látnia kell a képernyő tartalmát az LCD -n.

Fbcp futtatása indításkor

Szerkessze az /etc/rc.local fájlt, és adja hozzá a következő sort az ip -cím és a kilépési sor közé

fbcp &

Most a kijelzőnek minden alkalommal be kell kapcsolnia, amikor az RPi elindul

3. lépés: Adatbázis

Adatbázis
Adatbázis

A sensordata naplózásához és tárolásához saját adatbázist készítettem, amely 4 táblázatot tartalmaz. Az EER diagram a fenti képen látható.

1. Eszközök

Ez a táblázat minden érzékelőt tartalmaz. Leírja az érzékelő nevét, leírását és a mértékegységet. Ennek a táblázatnak egy a sokhoz van kapcsolata a tábla műveleteivel, mivel az én esetemben a gyorsító érzékelő különböző feladatokat tud végrehajtani.

2. Cselekvések

Ez a táblázat a különböző érzékelők műveleteit tárolja. Egy művelet mindig egy adott érzékelőhöz kapcsolódik. Például: a „TEMP” művelet a hőmérsékletet mérő eszközhöz kapcsolódik. Ez lenne az 1 vezetékes hőmérséklet-érzékelő.

3. Történelem

Ez a táblázat tartalmazza az összes érzékelőnaplót. Minden naplónak van egy műveletezonosítója, értéke, időbélyege és egy rideid

4. Túrák

Ez a táblázat különböző túrákat tárol. Minden alkalommal, amikor a felhasználó új menetet kezd, új bejegyzés kerül ebbe a táblázatba

Ha meg szeretné szerezni ezt az adatbázist a Raspberry Pi -n, menjen a GitHub -ra, és klónozza/töltse le a lerakatot. Az adatbázis alatt 2.sql fájl található. Futtassa ezeket a PhpMyAdmin vagy a MySQL munkaasztalon. Most az adatbázisnak az RPi -n kell lennie.

4. lépés: Háttér

Ha még nem tette meg, menjen át a GitHub -ra, és klónozza/töltse le a lerakatot. A Backend mappa alatt megtalálja a projekt teljes háttérprogramját.

A mappa osztályokat tartalmaz az érzékelők olvasásához a /helpers alatt, a /repositories alatti adatbázisokkal való kommunikációhoz szükséges fájlokat, a fő alkalmazás pedig a gyökérben található app.py néven.

Python csomagok telepítése

Mielőtt bármit futtatni próbálnánk, először telepítenünk kell néhány csomagot a python számára. Menjen be az RPi termináljába, és írja be a következő parancsokat:

pip3 telepítse a mysql-connector-python programot

pip3 telepítse a flask-socketio-t

pip3 telepítse a lombikhüvelyeket

pip3 install gevent

pip3 telepítse a gevent-websocket-et

FONTOS MEGJEGYZÉS: ha megváltoztatta a Mariadb/Mysql jelszavát, módosítsa a jelszót a config.py fájlban!

Teszteld a háttérképet

Futtassa az app.py -t a python3 tolmács segítségével (/usr/bin/python3). Győződjön meg arról, hogy nincs hiba.

A háttérrendszer futtatása rendszerindításkor

Szerkessze a motoDash_backend.service szolgáltatást, és módosítsa a YOURFILEPATH -t arra az elérési útra, amelyre a tároló mentésre kerül.

Most másolja ezt a fájlt az/etc/systemd/system/mappába

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

Most a háttér automatikusan elindul minden alkalommal, amikor az RPi elindul.

5. lépés: Kezelőfelület

Kezelőfelület
Kezelőfelület
Kezelőfelület
Kezelőfelület

Irány a GitHub Repo. Másolja a Frontend könyvtár tartalmát a/var/www/html fájlba.

Mindössze annyit kell tennie, hogy a frontend működjön. Ez a mappa tartalmazza a webes felület összes weboldalát, stílusát és szkriptjét. Kommunikál a háttérrel is. Annak ellenőrzéséhez, hogy minden megfelelően működik -e, győződjön meg arról, hogy csatlakozik az RPi -hez, és írja be az RPi IP -címét a böngészőbe. Látnia kell a webes felület kezdőlapját.

Megjegyzés: A webhely reszponzív, így használhatja mobilon és asztali számítógépen is

6. lépés: A műszerfal megjelenítése a kijelzőn

A műszerfal megjelenítése a kijelzőn
A műszerfal megjelenítése a kijelzőn

A kezelőfelületnek saját rejtett weboldala van, amelyet csak a kis kijelzőhöz használnak. Teljes képernyős módban automatikusan elindítjuk a Pi -t ezen a webhelyen.

Győződjön meg arról, hogy az RPi az asztali autologinra van állítva a raspi-config rendszerindítási beállítások alatt

sudo raspi-config

Most lépjen be a rejtett konfigurációs mappába, és hozzon létre egy új fájlt

cd.config

sudo mkdir -p lxsession/LXDE -pi

sudo nano lxsession/LXDE-pi/autostart

Adja hozzá a következő sorokat ehhez a fájlhoz, és mentse

@xscreensaver -no -splash

@xset kikapcsolva

@xset -dpms

@xset s üres

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

Most a Pi -nek minden alkalommal indítania kell ezt a weboldalt

7. lépés: Az elektronika forrasztása

Az elektronika forrasztása
Az elektronika forrasztása
Az elektronika forrasztása
Az elektronika forrasztása
Az elektronika forrasztása
Az elektronika forrasztása
Az elektronika forrasztása
Az elektronika forrasztása

Fogja meg a kitörő táblát, és helyezze rá strukturált módon az alkatrészeket. Nem fogom tárgyalni az elrendezést, hogyan forrasztottam rá az alkatrészeket, mivel elég rossz munkát végeztem rajta. Külön táblás fejléceket használtam a táblán, így csak az érzékelőket és a modulokat kellett csatlakoztatnom a megfelelő csaphoz. Győződjön meg arról, hogy melyik csap mire való!

Néhány tipp a forrasztás során:

  • Használjon szigetelt vezetékeket, ha nagyobb távolságokat keresztez. Az utolsó dolog, amit szeretne, rövidzár az áramkörében
  • Egy alkatrész vagy vezeték forrasztása után ellenőrizze annak folytonosságát multiméterrel. Rendszeresen ellenőrizze a rövidzárlatokat is.
  • Ne használjon túl sok vagy túl kevés forrasztót!
  • Ha nem tudja, hogyan kell forrasztani, először gyakorolja egy másik prototípus -táblán. A forrasztás bemutatója itt található.

Most forrasztja a vezetékeket elég hosszúra az érzékelőkhöz, és tegyen köré zsugorodó fóliát, hogy megbizonyosodjon arról, hogy nincs minden rövidre zárva és tiszta.

Ha végzett, ellenőrizze újra, nincs -e rövidzárlat vagy rossz csatlakozás, és ellenőrizze, hogy minden csatlakozás az elektromos rendszerrel megfelelő -e. Miután meggyőződött arról, hogy minden rendben van, menjen előre, és tegye a törőlapot az RPi -re, majd csavarja le szorosan néhány 2,5 mm -es csavarral és rögzítőelemekkel. Csatlakoztassa az érzékelőket a megfelelő csapokhoz, és tesztelje őket a webhely használatával.

8. lépés: Tápegység

A Raspberry Pi áramellátásához 12V-5V usb adaptert fogunk használni. Ez az adapter a motorkerékpár akkumulátorához lesz csatlakoztatva. Annak érdekében, hogy az RPi bekapcsoljon a gyújtáskapcsoló bekapcsolásakor, relét fogunk használni. A relé bezárja az RPi főáramkört, amikor feszültséget észlel a hátsó lámpából (a hátsó lámpa mindig bekapcsol, amikor bekapcsolja a gyújtást).

Részletesebb oktatóanyagért tekintse meg ezt az oldalt: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -vezérlők.16921/

9. lépés: Ház

Ház
Ház
Ház
Ház
Ház
Ház

Kijelzőház

A kijelzőhöz vegyen magának egy kemény műanyag dobozt a kijelző méretéből. Vágjon bele egy négyzet alakú lyukat, amely akkora, mint a kijelző, és illeszkedő lyukakat a kijelző becsavarásához. Elöl további 2 lyukat kell fúrnia az RGB LED és az LDR számára.

Ezt a dobozt egy csavar segítségével egy okostelefon -tartó tetejére szereltem fel.

Hőmérséklet szenzor

A hőmérséklet -érzékelő házához 3D -ben kinyomtattam a motoromhoz illő olajmérőt.

Raspberry Pi

Szerelje fel magát a málna Pi -t egy biztonságos helyre a motorkerékpár belsejében, én néhány tépőzáras pánt segítségével az egyik sárvédő alá helyeztem. És ház és némi műanyag segítségével megvédte az elemektől.

Gyorsulásmérő

Szerelje fel a gyorsulásmérőt egy biztonságos helyre, lehetőleg magára a motorkerékpár keretére.

Jegyzet:

Nem kell pontosan ugyanaz a ház, mint nekem, szabadon befejezheti, ahogy akarja. Csak győződjön meg arról, hogy az elektronikus alkatrészek védettek az esőtől és a portól.

Ajánlott: