INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53
As student Multimedia & Communication technology in Howest Kortrijk, moes ek my eie IoT -projek maak. Dit sou al die modules wat in die eerste jaar gevolg is, in een groot projek kombineer. Omdat ek in my vrye tyd baie op my motorfiets ry, het ek besluit om my vaardighede by MCT te gebruik om iets vir my motorfiets te bou: 'n slim paneelbord.
MotoDash is 'n Raspberry Pi -aangedrewe dashboard wat ontwerp is vir fanatiese motorfietsryers wat die ruiter die vermoë gee om hul prestasie te volg.
Wat is die kenmerke van hierdie paneelbord?
- Kyk na die huidige kantelhoek
- Bekyk huidige versnelling
- Vermoë om olietemperatuur te monitor
- Skakel outomaties oor na 'n donker tema as u in die donker ry
- Teken data van u ritte aan en bekyk u eie statistieke
Voorrade
Hoofrekenaars:
Framboos Pi Dit is die hoofbeheerder van die stelsel
Elektronika:
- USB-laaier vir motorfiets 12V-5V Hoofvoeding vir die RPi
- 4 Pin Fused Relay 12V Skakel om die kragstroom van die RPi aan/uit te skakel
- Broodbord met springdrade (opsioneel) Vir toetsing en prototipering
-
Breakout Pi plus Dit is 'n prototipe -bord waar u al u komponente kan soldeer. Dit is gemaak om direk bo -op die Raspberry Pi te pas, sodat die afmetings van die projek tot 'n minimum beperk word.
'N Stel weerstande
Verskillende kleure van 0,2 mm draad
Sensors en modules:
- Waterdigte DS18B20 1-draads temperatuursensor Olietemperatuursensor
- 3 -assige gyro -versnellingsmeter MPU6050 Kantel-/versnellingsensor
- Ligafhanklike weerstand (LDR)
MCP3008-8-kanaals 10-bis ADC met SPI-koppelvlak
TFT SPI -skerm (of enige ander LCD -skerm wat by u behoeftes pas)
RGB LED
Omhulsel:
- Plastiek boks
- Framboos pi -houer
Gereedskap:
- Soldeerbout en soldeer
- 2.5 mm skroewe en afstandhouers
- Waterdigte kabelverbindings
- Wondergom
- …
Stap 1: Prototipering
Voordat ons alles permanent maak, sal ons die projek op 'n broodbord saamstel. Hierdie stap kan oorgeslaan word as u absoluut seker is dat u nie foute sal maak nie. Die elektriese/broodbordskema kan in die onderstaande PDF gevind word. Plaas die kring presies soos beskryf. Maak seker dat u slegs die 3.3V -pen gebruik en nie die 5V -pen op die RPi nie. Kontroleer ook u stroombaan voordat u die framboos Pi aanskakel. Maak seker dat daar geen kortbroek is nie!
Stap 2: Berei die Raspberry Pi voor
Eerstens gaan ons die Raspberry Pi opstel. Die Raspberry Pi is 'n mini -rekenaar wat sy eie bedryfstelsel kan bestuur. Vir hierdie projek is dit verantwoordelik vir die verwerking van sensordata, die hosting van die webwerf, die bestuur van die backend en databasis, …
1. Installeer persoonlike Raspbian Image
Die prentjie bevat reeds die sagtewarepakkette wat nodig is om hierdie projek te begin:
- Apache vir die voorkant van die webwerf
- MariaDB vir die databasis
- PhpMyAdmin om die databasis te manipuleer
- Pasgemaakte toestemmings om probleme te vermy
Die pasgemaakte beeld kan hier afgelaai word.
'N Opleiding vir die installering van beelde kan hier gevind word:
Sodra die prent geïnstalleer is, koppel die Raspberry Pi met 'n ethernetkabel aan u rekenaar. U kan nou 'n SSH -kliënt gebruik om dit aan te sluit via die IP -adres 169.254.10.1
Dit is goeie praktyk om onmiddellik 'n nuwe wagwoord in te stel met die opdrag passwd
2. Konfigureer draadlose AP
As die projek klaar is, wil ons via WiFi aan die RPi kan koppel, sodat ons dit in 'n draadlose AP kan verander. 'N Tutoriaal hiervoor kan hier gevind word.
U hoef hierdie tutoriaal net tot stap 7. te volg. Stap 8 is nie nodig nie, aangesien ons nie 'n internetverbinding hoef te oorbrug nie, maar 'n selfstandige netwerk hoef te bou.
3. Maak koppelvlakke moontlik
Gaan na raspi-config
sudo raspi-config
Gaan na koppelvlakopsies en aktiveer 1-draad, SPI en I2C en herlaai die Pi
3. Stel bestuurders vir die skerm op
Initialiseer die vertoning
Wysig die lêer /etc /modules
sudo nano /etc /modules
Voeg die volgende 2 reëls by
spi-bcm2835fbtft_device
Wysig nou /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Voeg die volgende reël by
opsies fbtft_device naam = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotate = 90 speed = 80000000 fps = 60
Herlaai die Pi. As u die agtergrond van die skerm sien brand, het dit goed gegaan. Dit sal die skerm inisieer elke keer as die Pi opstart, maar dit sal nou slegs 'n swart skerm vertoon. Om die inhoud van die Pi op die skerm te kry, moet ons die inhoud van die hoofskerm na die klein LCD kopieer. Ons sal hiervoor 'n diens genaamd 'fbcp' gebruik.
Installeer fbcp -diens
sudo apt-get installeer cmake
git-kloon
cd rpi-fbcp
mkdir bou
CD bou/
maak..
maak
sudo installeer fbcp/usr/local/bin/fbcp
Nou het ons die diens geïnstalleer. Aangesien ons egter die Pi sonder kop gebruik, is daar geen skerm beskikbaar om die inhoud van te kopieer nie. Wysig /boot/config.txt om die Pi te dwing om skerminhoud uit te voer
sudo nano /boot/config.txt
Soek en maak 'n opmerking of voeg die volgende reëls by hierdie lêer:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
display_rotate = 0
hdmi_group = 2
hdmi_modus = 87
Herlaai die RPi en toets die fbcp -diens deur fbcp in die konsole te tik. Nou moet u die inhoud van die skerm op die LCD sien.
Begin fbcp tydens die aanvang
Wysig /etc/rc.local en voeg die volgende reël by tussen die ip -adres en die uitgangslyn
fbcp &
Nou moet die skerm aangeskakel word elke keer as die RPi opstart
Stap 3: Databasis
Om sensordata aan te meld en op te slaan, het ek my eie databasis ontwerp wat 4 tabelle bevat. Die EER -diagram word in die prent hierbo getoon.
1. Toestelle
Hierdie tabel bevat elke sensor. Dit beskryf die sensornaam, beskrywing en meeteenheid. Hierdie tabel het 'n een-tot-baie-verhouding met die tafelaksies, soos in my geval kan die accelerosensor verskillende take verrig.
2. Aksies
Hierdie tabel stoor aksies vir verskillende sensors. Een aksie is altyd gekoppel aan 'n spesifieke sensor. Byvoorbeeld: die aksie 'TEMP' is gekoppel aan die toestel wat temperatuur meet. Dit sou die 1-draads temperatuursensor wees.
3. Geskiedenis
Hierdie tabel bevat alle sensorlogboeke. Elke log het 'n aksie -ID, 'n waarde, 'n tydstempel en 'n rideid
4. Ritte
Hierdie tafel stoor verskillende ritte. Elke keer as die gebruiker 'n nuwe rit begin, word 'n nuwe inskrywing in hierdie tabel gemaak
Om hierdie databasis op u Raspberry Pi te kry, gaan na my GitHub en kloon/laai die bewaarplek af. Onder die databasis vind u 2.sql lêers. Begin hierdie in PhpMyAdmin of MySQL werkbank. Nou moet die databasis op u RPi wees.
Stap 4: Backend
As u dit nog nie gedoen het nie, gaan dan na my GitHub en kloon/laai die bewaarplek af. Onder die gids Backend vind u die volledige backend vir die projek.
Die gids bevat klasse vir leessensors onder /helpers, lêers om met die databasis onder /bewaarplekke te kommunikeer, en die hooftoepassing is in die wortel onder die naam app.py.
Die installering van Python -pakkette
Voordat ons probeer om iets uit te voer, moet ons eers 'n paar pakkette vir python installeer. Gaan na die terminale van u RPi en tik die volgende opdragte:
pip3 installeer mysql-connector-python
pip3 installeer flask-socketio
pip3 installeer fles-kors
pip3 installeer gevent
pip3 installeer gevent-websocket
BELANGRIKE OPMERKING: as u u Mariadb/Mysql -wagwoord verander het, verander die wagwoord in config.py!
Toets die backend
Begin app.py met behulp van die python3 -tolk (/usr/bin/python3). Maak seker dat daar geen foute is nie.
Begin die agterkant op die laaibak
Wysig motoDash_backend.service en verander YOURFILEPATH na die pad waar die bewaarplek gestoor word.
Kopieer nou hierdie lêer na/etc/systemd/system/
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Die back -end begin outomaties elke keer as die RPi opstart.
Stap 5: Voorkant
Gaan na die GitHub Repo. Kopieer die inhoud van die Frontend -gids na/var/www/html.
Dit is al wat u moet doen om die frontend te laat werk. Hierdie gids bevat alle webblaaie, styl en skrifte vir die webkoppelvlak. Dit kommunikeer ook met die agterkant. Om te toets of alles werk soos dit moet, maak seker dat u aan u RPi gekoppel is en tik die IP -adres van die RPi in 'n blaaier. U behoort die tuisblad van die webkoppelvlak te sien.
Let wel: die webwerf reageer reageerbaar, sodat u dit op mobiele toestelle sowel as op die tafelblad kan gebruik
Stap 6: Vertoon die paneelbord op die skerm
Die voorkant het sy eie verborge webblad wat slegs vir die klein skerm gebruik word. Ons sal die Pi outomaties na hierdie webwerf in volle skermmodus opstart.
Maak seker dat die RPi ingestel is op outomatiese inskrywing op die lessenaar in raspi-config onder opstartopsies
sudo raspi-config
Gaan nou na die verborge config -lêergids en skep 'n nuwe lêer daarin
cd.config
sudo mkdir -p lxsession/LXDE -pi
sudo nano lxsession/LXDE-pi/autostart
Voeg die volgende reëls in hierdie lêer by en stoor
@xscreensaver -geen -spat
@xset is af
@xset -dpms
@xset s noblank
@chroom-blaaier-foute-disable-session-crash-bubble-disable-infobars-kiosk-incognito
Nou moet die Pi elke keer na hierdie webblad begin
Stap 7: Soldeer die elektronika
Neem die uitbreekbord en lê u komponente op 'n gestruktureerde manier daarop. Ek sal nie die uitleg bespreek van hoe ek die komponente daarop gesoldeer het nie, aangesien ek dit redelik swak gedoen het. Ek het afsonderlike penkoppe op die bord gebruik, sodat ek slegs die sensors en modules aan die regte pen moes koppel. Maak seker dat u weet watter speld dit is!
'N Paar wenke tydens soldeer:
- Gebruik geïsoleerde drade wanneer u groter afstande oorsteek. Die laaste ding wat u wil hê, is 'n kortbroek in u kring
- Nadat u 'n komponent of draad gesoldeer het, moet u die kontinuïteit daarvan met 'n multimeter kontroleer. Kyk ook gereeld na kortsluitings.
- Moenie te veel of te min soldeer gebruik nie!
- As u nie weet hoe om te soldeer nie, oefen dit eers op 'n ander prototipe bord. 'N Opleiding oor soldeer kan hier gevind word.
Nou soldeer die drade lank genoeg by die sensors en sit 'n krimpende omhulsel om hulle om seker te maak dat alles nie kort en skoon is nie.
As u klaar is, moet u kyk of daar kortbroek of slegte verbindings is, en kyk of elke verbinding met die elektriese skema die regte verbinding is. Sodra u seker is dat alles reg gedoen is, plaas die breekbord op die RPi, skroef dit vas met 'n paar 2,5 mm skroewe en afstande. Koppel die sensors aan die regte penne en toets dit almal met behulp van die webwerf.
Stap 8: Kragtoevoer
Om die Raspberry Pi aan te dryf, gaan ons 'n 12V-5V usb-adapter gebruik. Hierdie adapter sal aan die motorfiets se battery gekoppel word. Om seker te maak dat die RPi aanskakel as die aansitskakelaar aangeskakel word, gaan ons 'n relais gebruik. Die relais sluit die RPi -stroombaan wanneer dit 'n spanning van die agterlig opspoor (agterlig skakel altyd aan wanneer die ontsteking aangeskakel word).
Vir 'n meer gedetailleerde handleiding hieroor, kyk na hierdie bladsy: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -beheerders.16921/
Stap 9: Behuising
Vertoon behuising
Gryp vir u 'n harde plastiekboks van ongeveer die grootte van die skerm. Sny 'n vierkantige gat daarin, so groot soos die skerm, en bypassende gate om die skerm in te skroef. Aan die voorkant moet u nog twee gate boor vir die RGB LED en die LDR.
Ek het hierdie boks bo -op 'n slimfoonhouer gemonteer met 'n bout.
Temperatuur sensor
Om die temperatuursensor te huisves, het ek 'n olie -meter wat by my motorfiets pas, 3D gedruk.
Framboos Pi
Monteer die framboos Pi self op 'n veilige plek in die motorfiets, ek plaas dit onder een van die fenders met 'n paar klittenbandbande. En beskerm dit teen die elemente met 'n behuising en 'n bietjie plastiek.
Versnellingsmeter
Monteer die versnellingsmeter op 'n veilige plek, verkieslik op die motorfietsraam self.
Let wel:
U hoef nie presies dieselfde behuising as ek te hê nie; u kan dit voltooi soos u wil. Maak net seker dat die elektroniese komponente teen reën en stof beskerm word.
Aanbeveel:
Herwinde motorfiets uit botteldop: 9 stappe (met foto's)
Herwinde motorfiets uit botteldop: v Wat moet u tuis doen? Hier is 'n paar eenvoudige maniere om renmotors tuis te maak. Ek sal u stap vir stap lei om basiese tot gevorderde renmotors te maak. U kan dit doen en probeer. of u kan dit as 'n geskenk verpak om u kinders of u vriende te gee. Ek hoop
MAAK U EIE GPS -GEBASEERDE DIGITALE DASHBOARD VIR EBIKE OF ELEKTRIESE MOTORFIETS: 13 stappe
MAAK U EIE GPS -GEBASEERDE DIGITALE DASHBOARD VIR EBIKE OF ELEKTRIESE MOTORFIETS: HI ALTYD Hierdie keer het ek 'n nuwe instruksie opgedoen met sowel selfstandige skerm as logger met arduino mega 2560 en Nextion Lcd -skerm. in sdcard en natuurlik projekteer
DIY Givi V56 Topbox Light Kit met motorfiets met geïntegreerde seine: 4 stappe (met foto's)
DIY Givi V56 Topbox -ligstel vir motorfietse met geïntegreerde seine: As motorfietsryer is ek al te goed vertroud daarmee om behandel te word asof ek onsigbaar is op die pad. Een ding wat ek altyd by my fietse voeg, is 'n boks met 'n geïntegreerde lig. Ek het onlangs opgegradeer na 'n nuwe fiets en die Givi V56 Monokey gekoop
Begin motorfiets met NFC -handinplanting: 3 stappe
Begin motorfiets met NFC -handinplanting: waarom het ek selfs 'n NFC -chip -inplanting in my hand? Ek werk as IT -ondersteuning vir 'n luukse hotel, en daar is baie deure wat ek elke dag met 'n kaart moet oopmaak. Daarom het ek besluit om 'n 125khz RFID -chip in my hand te sit. Ongelukkig is my keuse
Kamera -houer vir 'n motorfiets (agterste pen): 11 stappe (met foto's)
Kamera -houer vir 'n motorfiets (agterste pen): ek soek al 'n geruime tyd na die net vir 'n kamera -houer vir my sportfiets. Alles wat ek vind, is te duur, lomp of te moeilik om te installeer/verwyder. Sommige is al drie! Op 'n dag het ek 'n openbaring gehad en ek het hierdie besluit gekry