Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Prototyping
- Trinn 2: Forberedelse av Raspberry Pi
- Trinn 3: Database
- Trinn 4: Backend
- Trinn 5: Frontend
- Trinn 6: Visning av instrumentbordet på skjermen
- Trinn 7: Lodding av elektronikken
- Trinn 8: Strømforsyning
- Trinn 9: Boliger
Video: Raspberry Pi motorsykkel dashbord: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Som student Multimedia & Communication technology i Howest Kortrijk, måtte jeg lage mitt eget IoT -prosjekt. Dette ville kombinere alle modulene som ble fulgt i det første året til et stort prosjekt. Fordi jeg sykler mye på motorsykkelen min på fritiden, bestemte jeg meg for å bruke de oppnådde ferdighetene mine på MCT tu til å bygge noe for motorsykkelen min: Et smart dashbord.
MotoDash er et Raspberry Pi -drevet dashbord designet for fanatiske motorsyklister som gir rytteren muligheten til å spore ytelsen.
Hva er funksjonene i dette dashbordet?
- Ser nåværende tiltvinkel
- Ser nåværende akselerasjon
- Evne til å overvåke oljetemperaturen
- Bytt automatisk til mørkt tema når du sykler i mørket
- Logg data for turene dine, og se din egen statistikk
Rekvisita
Hovedberegningsenhet:
Raspberry Pi Dette er hovedkontrolleren til systemet
Elektronikk:
- USB-lader for motorsykkel 12V-5V Hovedstrømforsyning for RPi
- 4 -pins sikringsrelé 12V Bryter for å slå på/av strømkretsen til RPi
- Brødbrett med jumperwires (valgfritt) For testing og prototyping
-
Breakout Pi plusThis er et prototypebrett hvor du kan lodde alle komponentene dine. Den er laget for å passe direkte på toppen av Raspberry Pi, slik at dimensjonene til prosjektet holder seg til et minimum.
Et sett med motstander
Ulike farger på 0,2 mm wire
Sensorer og moduler:
- Vanntett DS18B20 1-tråds temperatursensor Oljetemperaturføler
- 3 akser gyro akselerometer MPU6050 Vipp/aksel sensor
- Lysavhengig motstand (LDR)
MCP3008-8-kanals 10-biters ADC med SPI-grensesnitt
TFT SPI -skjerm (eller annen LCD -skjerm som passer dine behov)
RGB LED
Hylster:
- Plastboks
- Bringebær pi -etui
Verktøy:
- Loddejern og loddetinn
- 2,5 mm skruer og avstandsstykker
- Vanntette kabelkontakter
- Superlim
- …
Trinn 1: Prototyping
Før vi gjør alt permanent, skal vi sette sammen prosjektet på et brødbrett. Dette trinnet kan hoppes over hvis du er helt sikker på at du ikke vil gjøre feil. Det elektriske/brødbrettopplegget finner du i PDF -filen nedenfor. Sett kretsen sammen nøyaktig som beskrevet. Sørg for å bare bruke 3.3V -pinnen og ikke 5V -pinnen på RPi. Sjekk også kretsen din før du slår på bringebær Pi. Pass på at det ikke er shorts!
Trinn 2: Forberedelse av Raspberry Pi
Først og fremst skal vi sette opp Raspberry Pi. Raspberry Pi er en minidatamaskin som kan kjøre sitt eget operativsystem. For dette prosjektet er det ansvarlig for behandling av sensordata, hosting av nettstedet, drift av backend og database, …
1. Installer tilpasset Raspbian -bilde
Bildet som følger med inneholder allerede programvarepakkene som trengs for å sette i gang dette prosjektet:
- Apache for nettstedets frontend
- MariaDB for databasen
- PhpMyAdmin for å manipulere databasen
- Tilpassede tillatelser for å unngå problemer
Det tilpassede bildet kan lastes ned herfra.
En opplæring for installering av bilder finner du her:
Når bildet er installert, kobler du Raspberry Pi til datamaskinen med en ethernet -kabel. Nå kan du bruke en SSH -klient til å koble til den på IP -adressen 169.254.10.1
Det er god praksis å sette et nytt passord umiddelbart med kommandoen passwd
2. Konfigurere trådløs AP
Når prosjektet er ferdig, ønsker vi å kunne koble til RPi via wifi, så la oss gjøre det til et trådløst AP. En opplæring for dette finner du her.
Du trenger bare å følge denne opplæringen frem til trinn 7. Trinn 8 er ikke nødvendig, da vi ikke trenger å koble en internettforbindelse, men opprette et frittstående nettverk.
3. Aktivering av grensesnitt
Gå til raspi-config
sudo raspi-config
Gå til grensesnittalternativer og aktiver 1-wire, SPI og I2C og start Pi på nytt
3. Sette opp drivere for skjermen
Initialiserer visningen
Rediger filen /etc /modules
sudo nano /etc /modules
Legg til følgende 2 linjer
spi-bcm2835fbtft_device
Rediger nå /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Legg til følgende linje
alternativer fbtft_enhetsnavn = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 roter = 90 hastighet = 80000000 fps = 60
Start Pi på nytt. Hvis du ser at bakgrunnsbelysningen på displayet lyser, har alt gått bra. Dette vil initialisere skjermen hver gang Pi starter opp, men den vil bare vise en svart skjerm nå. For å få innholdet i Pi på skjermen, må vi kopiere innholdet på hovedskjermen til den lille LCD -skjermen. Vi vil bruke en tjeneste kalt 'fbcp' for dette.
Installerer fbcp -tjenesten
sudo apt-get install cmake
git-klon
cd rpi-fbcp
mkdir build
cd bygge/
cmake..
gjøre
sudo installer fbcp/usr/local/bin/fbcp
Nå har vi installert tjenesten. Siden vi bruker Pi hodeløs, er det imidlertid ingen skjerm tilgjengelig for å kopiere innhold fra. For å tvinge Pi til å vise skjerminnhold, rediger /boot/config.txt
sudo nano /boot/config.txt
Finn og fjern kommentaren eller legg til følgende linjer i denne filen:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
display_rotate = 0
hdmi_group = 2
hdmi_mode = 87
Start RPi på nytt, og test ut fbcp -tjenesten ved å skrive fbcp i konsollen. Nå bør du se innholdet på skjermen på LCD -skjermen.
Kjører fbcp ved oppstart
Rediger /etc/rc.local og legg til følgende linje mellom ip -adressen og utgangslinjen
fbcp &
Nå skal displayet slås på hver gang RPi starter opp
Trinn 3: Database
For å logge og lagre sensordata har jeg designet min egen database som inneholder 4 tabeller. EER -diagrammet er vist på bildet ovenfor.
1. Enheter
Denne tabellen inneholder hver sensor. Den beskriver sensorens navn, beskrivelse og måleenhet. Denne tabellen har et en-til-mange-forhold til bordhandlingene, som i mitt tilfelle kan akselerosensoren utføre forskjellige oppgaver.
2. Handlinger
Denne tabellen lagrer handlinger for forskjellige sensorer. En handling er alltid knyttet til en bestemt sensor. For eksempel: handlingen 'TEMP' er knyttet til enheten som måler temperatur. Dette vil være 1-leders temperatursensor.
3. Historie
Denne tabellen inneholder alle sensorlogger. Hver logg har en handlings -ID, en verdi, et tidsstempel og et rideid
4. Ritt
Dette bordet lagrer forskjellige turer. Hver gang brukeren starter en ny tur, gjøres en ny oppføring i denne tabellen
For å få denne databasen på Raspberry Pi, gå over til min GitHub og klon/last ned depotet. Under databasen finner du 2.sql -filer. Kjør disse i PhpMyAdmin eller MySQL arbeidsbenk. Nå skal databasen være på RPi -en din.
Trinn 4: Backend
Hvis du ikke allerede har gjort det, kan du gå til GitHub og klone/laste ned depotet. Under mappen Backend finner du hele backend for prosjektet.
Mappen inneholder klasser for lesesensorer under /hjelpere, filer for å kommunisere med databasen under /repositories, og hovedprogrammet ligger i roten under navnet app.py.
Installere Python -pakker
Før vi prøver å kjøre noe, må vi først installere noen pakker for python. Gå inn på terminalen til RPi og skriv inn følgende kommandoer:
pip3 installer mysql-connector-python
pip3 installere flask-socketio
pip3 installere kolbe-kors
pip3 installer gevent
pip3 installer gevent-websocket
VIKTIG MERK: Hvis du har endret Mariadb/Mysql -passordet ditt, må du endre passordet i config.py!
Test backend
Kjør app.py ved hjelp av python3 -tolken (/usr/bin/python3). Sørg for at det ikke er noen feil.
Kjører backend på støvel
Rediger motoDash_backend.service og endre YOURFILEPATH til banen der depotet er lagret.
Kopier nå denne filen til/etc/systemd/system/
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Nå starter backend automatisk hver gang RPi starter.
Trinn 5: Frontend
Gå inn i GitHub Repo. Kopier innholdet i Frontend -katalogen til/var/www/html.
Dette er alt du bør gjøre for å få frontend til å fungere. Denne mappen inneholder alle nettsider, styling og skript for webgrensesnittet. Det kommuniserer også med backend. For å teste om alt fungerer som det skal, må du kontrollere at du er koblet til RPi -en og skrive inn IP -adressen til RPi -en i en nettleser. Du bør se hjemmesiden til webgrensesnittet.
Merk: Nettstedet er responsivt, så du kan bruke det på mobil, så vel som på skrivebordet
Trinn 6: Visning av instrumentbordet på skjermen
Frontenden har sin egen skjulte webside som bare brukes til den lille skjermen. Vi får Pi til å starte opp automatisk til dette nettstedet i fullskjermsmodus.
Sørg for at RPi er satt til autologin på skrivebordet i raspi-config under oppstartsalternativer
sudo raspi-config
Gå nå inn i den skjulte konfigurasjonsmappen og lag en ny fil der
cd.konfig
sudo mkdir -p lxsession/LXDE -pi
sudo nano lxsession/LXDE-pi/autostart
Legg til følgende linjer i denne filen og lagre
@xscreensaver -no -splash
@xset er av
@xset -dpms
@xset s noblank
@chrom-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognito
Nå bør Pi starte opp til denne nettsiden hver gang
Trinn 7: Lodding av elektronikken
Ta breakoutbrettet og legg komponentene på det på en strukturert måte. Jeg vil ikke diskutere oppsettet for hvordan jeg loddet komponentene på det, da jeg gjorde en ganske dårlig jobb med det. Jeg brukte separate pinnehoder på brettet, slik at jeg bare trengte å koble sensorene og modulene til den riktige pinnen. Sørg for at du vet hvilken pin som er til hva!
Noen tips under lodding:
- Bruk isolerte ledninger når du krysser større avstander. Det siste du vil ha er shorts i kretsen din
- Etter lodding av en komponent eller tråd, må du kontrollere dens kontinuitet med et multimeter. Sjekk også jevnlig for kortslutning.
- Ikke bruk for mye eller for lite loddetinn!
- Hvis du ikke vet hvordan du skal lodde, øv deg først på et annet prototypebrett. En opplæring om lodding finner du her.
Nå er loddetrådene lange nok til sensorene, og legg litt krympende omslag rundt dem for å sikre at alt ikke er kortsluttet og rent.
Når du er ferdig, må du dobbeltsjekke om det er shorts eller dårlige tilkoblinger, og kontrollere hver tilkobling med det elektriske opplegget om det er riktig tilkobling. Når du er sikker på at alt er gjort riktig, fortsett og legg breakoutbordet på RPi, avslutt skru det godt med noen 2,5 mm skruer og standoff. Koble sensorene til de riktige pinnene og test dem alle ved hjelp av nettstedet.
Trinn 8: Strømforsyning
For å drive Raspberry Pi skal vi bruke en 12V-5V usb-adapter. Denne adapteren kobles til motorsykkelbatteriet. For å sikre at RPi slår seg på når tenningsbryteren er slått på, skal vi bruke et relé. Reléet vil lukke RPi -strømkretsen når den oppdager en spenning fra baklyset (baklyset slås alltid på når tenningen slås på).
For en mer detaljert opplæring om dette, sjekk ut denne siden: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -kontrollere.16921/
Trinn 9: Boliger
Displayhus
For displayet, ta deg en hard plastboks fra størrelsen på skjermen. Skjær et firkantet hull i det så stort som displayet, og matchende hull for å skru skjermen i. Foran må du bore ytterligere 2 hull for RGB LED og LDR.
Jeg monterte denne boksen på toppen av en smarttelefonholder med en bolt.
Temperatur sensor
For å holde temperatursensoren, har jeg 3D -skrevet ut en oljemåler som passer motorsykkelen min.
Bringebær Pi
Monter selve bringebær Pi på et sikkert sted inne i motorsykkelen, jeg plasserte den under en av skjermene ved hjelp av noen borrelåsbånd. Og beskyttet den mot elementene ved hjelp av et hus og litt plast.
Akselerometer
Monter akselerometeret på et sikkert sted, helst på selve motorsykkelrammen.
Merk:
Du trenger ikke å ha nøyaktig samme bolig som meg, du står fritt til å fullføre det slik du vil. Bare sørg for at de elektroniske komponentene er beskyttet mot regn og støv.
Anbefalt:
Resirkulert motorsykkel fra flaskehett: 9 trinn (med bilder)
Resirkulert motorsykkel fra flaskehetten: v Hva skal jeg gjøre hjemme? Her er noen enkle måter å lage racerbiler hjemme. Jeg vil guide deg trinn for trinn for å lage grunnleggende til avanserte racerbiler. Du kan gjøre og prøve det. eller du kan pakke den som en gave for å gi barna eller vennene dine. Jeg håper
DIY Givi V56 Motorsykkel Topbox Light Kit med integrerte signaler: 4 trinn (med bilder)
DIY Givi V56 Motorsykkel Topbox Light Kit med integrerte signaler: Som motorsykkelrytter er jeg altfor kjent med å bli behandlet som om jeg er usynlig på veien. En ting jeg alltid legger til på syklene mine er en toppboks som vanligvis har et integrert lys. Jeg har nylig oppgradert til en ny sykkel og kjøpte Givi V56 Monokey
Legg til lydeffekter på din elektriske motorsykkel: 5 trinn (med bilder)
Legg til lydeffekter på din elektriske motorsykkel: Legg til hvilken som helst lyd du vil ha på din elektriske motorsykkel med noen bærbare høyttalere og en MP3 -spiller
Kamerafeste for en motorsykkel (bakpinne): 11 trinn (med bilder)
Kamerafeste for en motorsykkel (bakpinne): Jeg har søkt på nettet etter et kamerafeste til sportsykkelen min en god stund nå. Alt jeg finner er enten for dyrt, klumpete eller for vanskelig å installere/avinstallere. Noen er alle tre! En dag hadde jeg en åpenbaring og kom med dette desi
Se dashbord Emoncms & ESP8266 + Arduino #IoT: 7 trinn (med bilder)
Se dashbord Emoncms & ESP8266 + Arduino #IoT: I lang tid har jeg testet Emoncms -plattformen, og i denne muligheten vil jeg vise deg sluttresultatet og kvaliteten på dashbordene og / eller visualiseringene. Jeg har tatt noen veiledninger som vil tjene som mellomtrinn. Vi vil visualisere en