Innehållsförteckning:
- Tillbehör
- Steg 1: Prototypning
- Steg 2: Förbereda Raspberry Pi
- Steg 3: Databas
- Steg 4: Backend
- Steg 5: Frontend
- Steg 6: Visa instrumentpanelen på skärmen
- Steg 7: Lödning av elektroniken
- Steg 8: Strömförsörjning
- Steg 9: Bostäder
Video: Raspberry Pi Motorcykel Dashboard: 9 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Som student Multimedia & Communication -teknik i Howest Kortrijk var jag tvungen att göra mitt eget IoT -projekt. Detta skulle kombinera alla moduler som följdes under det första året till ett stort projekt. Eftersom jag cyklar mycket på min motorcykel på fritiden bestämde jag mig för att använda mina förvärvade färdigheter på MCT tu för att bygga något för min motorcykel: En smart instrumentbräda.
MotoDash är en Raspberry Pi -driven instrumentpanel designad för fanatiska motorcyklister som ger föraren möjlighet att spåra deras prestanda.
Vilka funktioner har denna instrumentpanel?
- Se nuvarande lutningsvinkel
- Ser nuvarande acceleration
- Möjlighet att övervaka oljetemperaturen
- Växla automatiskt till mörkt tema när du rider i mörkret
- Logga in dina resor och se din egen statistik
Tillbehör
Huvudberäkningsenhet:
Raspberry Pi Detta är systemets huvudkontroller
Elektronik:
- USB-laddare för motorcykel 12V-5V Huvudströmförsörjning för RPi
- 4 -polig säkringsrelä 12V Växla för att slå på/stänga av strömkretsen för RPi
- Brödbräda med bygelkablar (tillval) För testning och prototyper
-
Breakout Pi plusThis är ett prototypkort där du kan lödda alla dina komponenter. Den är gjord för att passa direkt ovanpå Raspberry Pi, så projektets dimensioner förblir till ett minimum.
En uppsättning motstånd
Olika färger på 0,2 mm tråd
Sensorer och moduler:
- Vattentät DS18B20 1-trådig temperaturgivare Oljetemperaturgivare
- 3 axlar gyroaccelerometer MPU6050Tilt/accel sensor
- Ljusberoende motstånd (LDR)
MCP3008-8-kanals 10-bitars ADC med SPI-gränssnitt
TFT SPI -skärm (eller någon annan LCD -skärm som passar dina behov)
RGB LED
Hölje:
- Plastlåda
- Hallon pi -fodral
Verktyg:
- Lödkolv och löd
- 2,5 mm skruvar och distanser
- Vattentäta kabelanslutningar
- Superlim
- …
Steg 1: Prototypning
Innan vi gör allt permanent kommer vi att sätta ihop projektet på en brödbräda. Detta steg kan hoppas över om du är helt säker på att du inte kommer att göra misstag. El-/brödbräda -schemat finns i PDF -filen nedan. Sätt ihop kretsen exakt enligt beskrivningen. Se till att bara använda 3.3V -stiftet och inte 5V -stiftet på RPi. Innan du startar hallon Pi dubbelkolla även din krets. Se till att det inte finns några shorts!
Steg 2: Förbereda Raspberry Pi
Först och främst ska vi konfigurera Raspberry Pi. Raspberry Pi är en minidator som kan köra sitt eget operativsystem. För detta projekt är det ansvarigt för behandling av sensordata, värd för webbplatsen, körning av backend och databas, …
1. Installera anpassad Raspbian -bild
Bilden innehåller redan de programvarupaket som behövs för att starta projektet:
- Apache för webbplatsens frontend
- MariaDB för databasen
- PhpMyAdmin för att manipulera databasen
- Anpassade behörigheter för att undvika problem
Den anpassade bilden kan laddas ner härifrån.
En handledning för att installera bilder hittar du här:
När bilden är installerad ansluter du Raspberry Pi till din dator med en Ethernet -kabel. Nu kan du använda en SSH -klient för att ansluta till den på IP -adressen 169.254.10.1
Det är bra att omedelbart ställa in ett nytt lösenord med kommandot passwd
2. Konfigurera trådlöst AP
När projektet är klart vill vi kunna ansluta till RPi via wifi, så låt oss göra det till ett trådlöst AP. En handledning för detta hittar du här.
Du behöver bara följa denna handledning fram till steg 7. Steg 8 krävs inte eftersom vi inte behöver överbrygga en internetanslutning, utan skapa ett fristående nätverk.
3. Aktivera gränssnitt
Gå in på raspi-config
sudo raspi-config
Gå till gränssnittsalternativ och aktivera 1-tråds, SPI och I2C och starta om Pi
3. Konfigurera drivrutiner för displayen
Initierar displayen
Redigera filen /etc /modules
sudo nano /etc /modules
Lägg till följande 2 rader
spi-bcm2835fbtft_device
Redigera nu /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Lägg till följande rad
alternativ fbtft_enhet namn = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotera = 90 hastighet = 80000000 fps = 60
Starta om Pi. Om du ser att bakgrundsbelysningen på displayen tänds har allt gått bra. Detta kommer att initiera skärmen varje gång Pi startar, men den kommer bara att visa en svart skärm nu. För att få innehållet i Pi på displayen måste vi kopiera innehållet på huvudskärmen till den lilla LCD -skärmen. Vi kommer att använda en tjänst som heter 'fbcp' för detta.
Installera fbcp -tjänst
sudo apt-get install cmake
git-klon
cd rpi-fbcp
mkdir build
cd -byggnad/
cmake..
göra
sudo installera fbcp/usr/local/bin/fbcp
Nu har vi installerat tjänsten. Men eftersom vi använder Pi -huvudet, finns det ingen skärm att kopiera innehåll från. För att tvinga Pi att mata ut skärminnehåll, redigera /boot/config.txt
sudo nano /boot/config.txt
Hitta och avmarkera eller lägg till följande rader i den här filen:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
display_rotate = 0
hdmi_group = 2
hdmi_mode = 87
Starta om RPi och testa fbcp -tjänsten genom att skriva fbcp i konsolen. Nu ska du se innehållet på skärmen på LCD -skärmen.
Kör fbcp vid start
Redigera /etc/rc.local och lägg till följande rad mellan ip -adressen och utgångsraden
fbcp &
Nu ska skärmen slås på varje gång RPi startar
Steg 3: Databas
För att logga och lagra sensordata har jag utformat en egen databas som innehåller 4 tabeller. EER -diagrammet visas i bilden ovan.
1. Enheter
Denna tabell innehåller varje sensor. Det beskriver sensorns namn, beskrivning och mätenhet. Denna tabell har ett en-till-många-förhållande till tabellåtgärderna, som i mitt fall kan accelerosensorn utföra olika uppgifter.
2. Åtgärder
Denna tabell lagrar åtgärder för olika sensorer. En åtgärd är alltid kopplad till en viss sensor. Till exempel: åtgärden "TEMP" är kopplad till enheten som mäter temperaturen. Detta skulle vara en-tråds temperaturgivare.
3. Historia
Denna tabell innehåller alla sensorloggar. Varje logg har ett åtgärds -id, ett värde, en tidsstämpel och ett rideid
4. Rider
Detta bord lagrar olika åkattraktioner. Varje gång användaren startar en ny tur görs en ny post i denna tabell
För att få denna databas på din Raspberry Pi, gå över till min GitHub och klona/ladda ner förvaret. Under databasen hittar du 2.sql -filer. Kör dessa i PhpMyAdmin eller MySQL arbetsbänk. Nu bör databasen finnas på din RPi.
Steg 4: Backend
Om du inte redan har gjort det, gå till min GitHub och klona/ladda ner förvaret. Under mappen Backend hittar du hela backend för projektet.
Mappen innehåller klasser för läsning av sensorer under /hjälpare, filer för att kommunicera med databasen under /lagringsplatser och huvudprogrammet finns i roten under namnet app.py.
Installera Python -paket
Innan vi försöker köra något måste vi installera några paket för python först. Gå in i terminalen på din RPi och skriv följande kommandon:
pip3 installera mysql-connector-python
pip3 installera flask-socketio
pip3 installera kolvkors
pip3 installera gevent
pip3 installera gevent-websocket
VIKTIGT OBS! Om du har ändrat ditt Mariadb/Mysql -lösenord, ändra lösenordet i config.py!
Testa backend
Kör app.py med python3 -tolkaren (/usr/bin/python3). Se till att det inte finns några fel.
Kör backend på boot
Redigera motoDash_backend.service och ändra YOURFILEPATH till sökvägen där förvaret sparas.
Kopiera nu den här filen till/etc/systemd/system/
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Nu startar backend automatiskt varje gång RPi startar.
Steg 5: Frontend
Gå in i GitHub Repo. Kopiera innehållet i Frontend -katalogen till/var/www/html.
Detta är allt du bör göra för att få frontend att fungera. Denna mapp innehåller alla webbsidor, styling och skript för webbgränssnittet. Det kommunicerar också med backend. För att testa om allt fungerar som det ska, se till att du är ansluten till din RPi och skriver IP -adressen för RPi i en webbläsare. Du bör se hemsidan för webbgränssnittet.
Obs: Webbplatsen är responsiv, så du kan använda den på mobilen såväl som på skrivbordet
Steg 6: Visa instrumentpanelen på skärmen
Frontänden har en egen dold webbsida som endast används för den lilla skärmen. Vi gör att Pi startar automatiskt till den här webbplatsen i helskärmsläge.
Se till att RPi är inställt på autologin på skrivbordet i raspi-config under startalternativ
sudo raspi-config
Gå nu in i den dolda konfigurationsmappen och skapa en ny fil där
cd.config
sudo mkdir -p lxsession/LXDE -pi
sudo nano lxsession/LXDE-pi/autostart
Lägg till följande rader i den här filen och spara
@xscreensaver -no -splash
@xset är avstängd
@xset -dpms
@xset s noblank
@chromium-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognitoNu ska Pi starta till den här webbsidan varje gång
Steg 7: Lödning av elektroniken
Ta breakout -brädan och lägg ut dina komponenter på den på ett strukturerat sätt. Jag kommer inte att diskutera layouten för hur jag lödde komponenterna på det, eftersom jag gjorde ett ganska dåligt jobb med det. Jag använde separata stifthuvuden på kortet så att jag bara behövde ansluta sensorerna och modulerna till höger stift. Se till att du vet vilken nål som är till för vad!
Några tips vid lödning:
- Använd isolerade ledningar när du korsar större avstånd. Det sista du vill ha är shorts i din krets
- Efter att ha lödt en komponent eller tråd, kontrollera dess kontinuitet med en multimeter. Kontrollera också regelbundet efter kortslutning.
- Använd inte för mycket eller för lite löd!
- Om du inte vet hur du ska löda, öva det först på en annan prototypplatta. En handledning om lödning hittar du här.
Nu är lödtrådarna långa nog till sensorerna och lägg några krympande linda runt dem för att se till att allt inte är kortslutet och rent.
När du är klar, kontrollera om det finns korta eller dåliga anslutningar och kontrollera varje anslutning med det elektriska systemet om det är rätt anslutning. När du är säker på att allt är gjort korrekt, fortsätt och lägg utbrottskortet på RPi, slut skruva fast det med några 2,5 mm skruvar och avstånd. Haka på sensorerna till de rätta stiften och testa dem alla med hjälp av webbplatsen.
Steg 8: Strömförsörjning
För att driva Raspberry Pi kommer vi att använda en 12V-5V usb-adapter. Denna adapter kommer att anslutas till motorcykelbatteriet. För att säkerställa att RPi startar när tändningslåset slås på kommer vi att använda ett relä. Reläet stänger RPi -strömkretsen när den detekterar en spänning från bakljuset (bakljuset tänds alltid när tändningen slås på).
För en mer detaljerad handledning om detta, kolla in den här sidan: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -controllers.16921/
Steg 9: Bostäder
Displayhus
För skärmen, ta dig en hård plastlåda från ungefär storleken på skärmen. Skär ett fyrkantigt hål i den lika stort som displayen och matchande hål att skruva fast displayen i. Framsidan måste du borra ytterligare 2 hål för RGB -LED och LDR.
Jag monterade den här lådan ovanpå en smartphonehållare med en bult.
Temperatursensor
För att inhysa temperatursensorn, 3D -skrivit jag ut en oljemätare som passar min motorcykel.
Raspberry Pi
Montera själva hallon Pi på en säker plats inuti motorcykeln, jag placerade den under en av skärmarna med några kardborreband. Och skyddade den från elementen med hjälp av ett hölje och lite plast.
Accelerometer
Montera accelerometern på en säker plats, helst på själva motorcykelramen.
Notera:
Du behöver inte ha exakt samma bostad som jag, du är fri att avsluta det som du vill. Se bara till att de elektroniska komponenterna är skyddade från regn och damm.
Rekommenderad:
Återvunnen motorcykel från flasklock: 9 steg (med bilder)
Återvunnen motorcykel från flasklock: v Vad ska jag göra hemma? Här är några enkla sätt att göra racerbilar hemma. Jag guidar dig steg för steg för att göra grundläggande till avancerade racerbilar. Du kan göra och prova det. eller så kan du packa den som en present för att ge dina barn eller dina vänner. Jag hoppas
GÖR DIN EGEN GPS -BASERADE DIGITAL DASHBOARD FÖR EBIKE ELLER ELEKTRISK MOTORCYKEL: 13 steg
GÖR DIN EGEN GPS -BASERAD DIGITAL DASHBOARD FÖR EBIKE ELLER ELEKTRISK MOTORCYKEL: HI ALLTID denna gång kom jag på en ny instruerbar med både fristående display och logger med arduino mega 2560 och Nextion Lcd -display Och för spårning kan du också logga NMEA -meningarna för Gps på sdcard och naturligtvis projekt
Lägg till ljudeffekter till din elektriska motorcykel: 5 steg (med bilder)
Lägg till ljudeffekter till din elmotorcykel: Lägg till vilket ljud du vill till din elmotorcykel med några bärbara högtalare och en MP3 -spelare
Kamerafäste för en motorcykel (bakre pinne): 11 steg (med bilder)
Kamerafäste för en motorcykel (bakre pinne): Jag har skurat nätet efter ett kamerafäste för min sportcykel ett bra tag nu. Allt jag hittar är antingen för dyrt, klumpigt eller för svårt att installera/avinstallera. Vissa är alla tre! En dag fick jag en uppenbarelse och kom med denna önskan
Mobiltelefonlarm för en motorcykel, bil eller vad du vill: 7 steg (med bilder)
Mobiltelefonlarm för en motorcykel, bil eller vad du vill: Jag har tröttnat på vanliga larm som ger mycket ljud, och ingen märker mer av dem. Jag visste inte om någon hade trasslat med min cykel eftersom jag var för långt borta för att höra larmet. Så jag bestämde mig för att göra detta larm med en gammal mobil