Satura rādītājs:
- Piegādes
- 1. solis: prototipēšana
- 2. darbība: Raspberry Pi sagatavošana
- 3. darbība. Datu bāze
- 4. darbība: aizmugure
- 5. darbība: priekšpuse
- 6. darbība: informācijas paneļa parādīšana displejā
- 7. solis: elektronikas lodēšana
- 8. solis: barošanas avots
- 9. solis: mājoklis
Video: Raspberry Pi motociklu informācijas panelis: 9 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Kā studentei Multivides un komunikācijas tehnoloģija Howest Kortrijk, man bija jāizveido savs IoT projekts. Tas apvienotu visus moduļus, kas sekoja pirmajā gadā, vienā lielā projektā. Tā kā es brīvajā laikā daudz braucu ar motociklu, es nolēmu izmantot savas iegūtās prasmes MCT, lai izveidotu kaut ko savam motociklam: gudrs informācijas panelis.
MotoDash ir Raspberry Pi darbināms informācijas panelis, kas paredzēts fanātiskiem motociklistiem, kas dod braucējam iespēju izsekot viņu sniegumam.
Kādas ir šī informācijas paneļa iezīmes?
- Pašreizējā slīpuma leņķa apskate
- Pašreizējā paātrinājuma skatīšana
- Spēja kontrolēt eļļas temperatūru
- Braucot tumsā, automātiski pārslēdzieties uz tumšo motīvu
- Reģistrējiet savu braucienu datus un skatiet savu statistiku
Piegādes
Galvenā skaitļošanas vienība:
Raspberry Pi Šis ir sistēmas galvenais kontrolieris
Elektronika:
- USB lādētājs motociklam 12V-5V Galvenais barošanas avots RPi
- 4 kontaktu kausētais relejs 12VSlēdzis, lai ieslēgtu/izslēgtu RPi barošanas ķēdi
- Maizes dēlis ar džemperu vadiem (pēc izvēles) Testēšanai un prototipu veidošanai
-
Breakout Pi plus Šī ir prototipēšanas plāksne, kurā varat lodēt visas sastāvdaļas. Tas ir izgatavots tā, lai tas ietilptu tieši virs Raspberry Pi, tāpēc projekta izmēri ir minimāli.
Rezistoru komplekts
Dažādas 0,2 mm stieples krāsas
Sensori un moduļi:
- Ūdensnecaurlaidīgs DS18B20 1 vadu temperatūras sensors Eļļas temperatūras sensors
- 3 asu žiroskopa akselerometrs MPU6050Tilt/accel sensors
- No gaismas atkarīgs rezistors (LDR)
MCP3008-8 kanālu 10 bitu ADC ar SPI saskarni
TFT SPI displejs (vai jebkurš cits jūsu vajadzībām atbilstošs LCD displejs)
RGB gaismas diode
Korpuss:
- Plastmasas kaste
- Raspberry pi Case
Rīki:
- Lodāmurs un lodēt
- 2,5 mm skrūves un starplikas
- Ūdensnecaurlaidīgi kabeļu savienotāji
- Superlīme
- …
1. solis: prototipēšana
Pirms mēs visu padarām pastāvīgu, mēs saliksim projektu uz maizes dēļa. Šo soli var izlaist, ja esat pilnīgi pārliecināts, ka nepieļausit kļūdas. Elektriskās/maizes dēļa shēmu var atrast zemāk esošajā PDF failā. Salieciet ķēdi tieši tā, kā aprakstīts. Pārliecinieties, ka RPi izmantojat tikai 3.3V tapu, nevis 5V tapu. Arī pirms aveņu Pi ieslēgšanas vēlreiz pārbaudiet ķēdi. Pārliecinieties, ka nav šortu!
2. darbība: Raspberry Pi sagatavošana
Pirmkārt, mēs izveidosim Raspberry Pi. Raspberry Pi ir mini dators, kas spēj darbināt savu operētājsistēmu. Šim projektam tā ir atbildīga par sensordatu apstrādi, vietnes mitināšanu, aizmugures un datu bāzes darbību …
1. Instalējiet pielāgotu Raspbian attēlu
Piedāvātajā attēlā jau ir iekļautas programmatūras pakotnes, kas nepieciešamas, lai sāktu šo projektu:
- Apache vietnes priekšgalā
- MariaDB datu bāzei
- PhpMyAdmin, lai manipulētu ar datu bāzi
- Pielāgotas atļaujas, lai izvairītos no problēmām
Pielāgoto attēlu var lejupielādēt šeit.
Pamācību attēlu instalēšanai var atrast šeit:
Kad attēls ir instalēts, pievienojiet Raspberry Pi datoram, izmantojot Ethernet kabeli. Tagad varat izmantot SSH klientu, lai izveidotu savienojumu ar to IP adresē 169.254.10.1
Laba prakse ir nekavējoties iestatīt jaunu paroli, izmantojot komandu passwd
2. Bezvadu AP konfigurēšana
Kad projekts ir pabeigts, mēs vēlamies izveidot savienojumu ar RPi, izmantojot Wi -Fi, tāpēc ļaujiet to pārvērst par bezvadu piekļuves punktu. Pamācību par to var atrast šeit.
Jums tikai jāievēro šī apmācība līdz 7. darbībai. 8. darbība nav obligāta, jo mums nav nepieciešams savienot interneta savienojumu, bet gan izveidot atsevišķu tīklu.
3. Iespējojot saskarnes
Dodieties uz raspi-config
sudo raspi-config
Dodieties uz saskarnes opcijām un iespējojiet 1 vadu, SPI un I2C un pārstartējiet Pi
3. Displeja draiveru iestatīšana
Displeja inicializēšana
Rediģējiet failu /etc /modules
sudo nano /etc /modules
Pievienojiet šādas 2 rindas
spi-bcm2835fbtft_device
Tagad rediģējiet /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Pievienojiet šādu rindu
opcijas fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 pagriezt = 90 ātrums = 80000000 kadri sekundē = 60
Pārstartējiet Pi. Ja redzat, ka iedegas displeja fona apgaismojums, viss ir kārtībā. Tas inicializēs displeju katru reizi, kad Pi sāk darboties, tomēr tagad tas parādīs tikai melnu ekrānu. Lai parādītu Pi saturu displejā, mums ir jāpārkopē galvenā ekrāna saturs uz mazā LCD. Šim nolūkam mēs izmantosim pakalpojumu “fbcp”.
Fbcp pakalpojuma instalēšana
sudo apt-get install cmake
git klons
cd rpi-fbcp
mkdir uzbūve
cd būve/
cmake..
veidot
sudo instalēt fbcp/usr/local/bin/fbcp
Tagad mēs esam instalējuši pakalpojumu. Tomēr, tā kā mēs izmantojam Pi bez galvas, nav pieejams ekrāns, no kura kopēt saturu. Lai piespiestu Pi izvadīt ekrāna saturu, rediģējiet /boot/config.txt
sudo nano /boot/config.txt
Atrodiet un noņemiet komentārus vai pievienojiet šim failam šādas rindiņas:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
display_rotate = 0
hdmi_group = 2
hdmi_mode = 87
Pārstartējiet RPi un pārbaudiet pakalpojumu fbcp, konsolē ierakstot fbcp. Tagad LCD ekrānā vajadzētu redzēt ekrāna saturu.
Fbcp palaišana startēšanas laikā
Rediģējiet /etc/rc.local un pievienojiet šādu rindu starp ip adresi un izejas rindu
fbcp &
Tagad displejam vajadzētu ieslēgties katru reizi, kad RPi sāk darboties
3. darbība. Datu bāze
Lai reģistrētu un saglabātu sensordata, esmu izveidojis savu datu bāzi, kurā ir 4 tabulas. EER diagramma ir parādīta attēlā iepriekš.
1. Ierīces
Šajā tabulā ir visi sensori. Tas apraksta sensora nosaukumu, aprakstu un mērvienību. Šai tabulai ir viens pret daudziem sakari ar tabulas darbībām, jo manā gadījumā paātrinājuma sensors var veikt dažādus uzdevumus.
2. Darbības
Šajā tabulā ir saglabātas dažādu sensoru darbības. Viena darbība vienmēr ir saistīta ar noteiktu sensoru. Piemēram: darbība “TEMP” ir saistīta ar ierīci, kas mēra temperatūru. Tas būtu 1 vadu temperatūras sensors.
3. Vēsture
Šajā tabulā ir visi sensoru žurnāli. Katram žurnālam ir darbības ID, vērtība, laika zīmogs un rideid
4. Braucieni
Šajā tabulā tiek glabāti dažādi braucieni. Katru reizi, kad lietotājs sāk jaunu braucienu, šajā tabulā tiek veikts jauns ieraksts
Lai iegūtu šo datu bāzi savā Raspberry Pi, dodieties uz manu GitHub un klonējiet/lejupielādējiet krātuvi. Zem datu bāzes atradīsit 2.sql failus. Palaidiet tos PhpMyAdmin vai MySQL darbgaldā. Tagad datu bāzei jābūt jūsu RPi.
4. darbība: aizmugure
Ja vēl neesat to izdarījis, dodieties uz manu GitHub un klonējiet/lejupielādējiet krātuvi. Zem mapes Backend jūs atradīsit pilnu projekta aizmuguri.
Mapē ir klases sensoru lasīšanai zem /palīgiem, faili saziņai ar datu bāzi zem /repozitoriji, un galvenā lietojumprogramma atrodas saknē ar nosaukumu app.py.
Python pakotņu instalēšana
Pirms mēs mēģinām kaut ko palaist, mums vispirms jāinstalē dažas pakotnes python. Dodieties uz RPi termināli un ierakstiet šādas komandas:
pip3 instalējiet mysql-connector-python
pip3 instalējiet kolbu-ligzdu
pip3 instalēt kolbas
pip3 instalācijas ģenerators
pip3 instalēt gevent-websocket
SVARĪGA PIEZĪME: ja esat mainījis savu Mariadb/Mysql paroli, nomainiet paroli vietnē config.py!
Pārbaudiet aizmuguri
Palaidiet app.py, izmantojot python3 tulku (/usr/bin/python3). Pārliecinieties, vai nav kļūdu.
Funkcijas palaišana sāknēšanas laikā
Rediģējiet motoDash_backend.service un nomainiet YOURFILEPATH uz ceļu, kurā tiek glabāta repozitorija.
Tagad kopējiet šo failu uz/etc/systemd/system/
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Tagad aizmugure automātiski sāks darboties katru reizi, kad tiek palaists RPi.
5. darbība: priekšpuse
Dodieties uz GitHub Repo. Kopējiet Frontend direktorija saturu mapē/var/www/html.
Tas ir viss, kas jums jādara, lai priekšējā daļa darbotos. Šajā mapē ir visas tīmekļa saskarnes tīmekļa lapas, stils un skripti. Tas arī sazinās ar aizmuguri. Lai pārbaudītu, vai viss darbojas tā, kā vajadzētu, pārliecinieties, vai esat izveidojis savienojumu ar savu RPi, un pārlūkprogrammā ierakstiet RPi IP adresi. Jums vajadzētu redzēt tīmekļa saskarnes sākumlapu.
Piezīme: vietne ir atsaucīga, tāpēc varat to izmantot gan mobilajās ierīcēs, gan galddatoros
6. darbība: informācijas paneļa parādīšana displejā
Priekšpusei ir sava slēptā tīmekļa lapa, ko izmanto tikai nelielam displejam. Mēs automātiski veiksim Pi sāknēšanu šajā vietnē pilnekrāna režīmā.
Pārliecinieties, vai sāknēšanas opcijās RPi ir iestatīts uz darbvirsmas autologinu raspi-config
sudo raspi-config
Tagad dodieties uz slēpto konfigurācijas mapi un izveidojiet tur jaunu failu
cd.config
sudo mkdir -p lxsession/LXDE -pi
sudo nano lxsession/LXDE-pi/automātiskā palaišana
Šajā failā pievienojiet šādas rindiņas un saglabājiet
@xscreensaver -no -splash
@xset s izslēgts
@xset -dpms
@xset s tukšs
@chromium-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk-Incognito
Tagad Pi vajadzētu ielādēt šajā tīmekļa vietnē katru reizi
7. solis: elektronikas lodēšana
Paņemiet sadalīšanas dēli un strukturēti izklājiet uz tā sastāvdaļas. Es neapspriedīšu izkārtojumu, kā es pielodēju komponentus, jo es to paveicu diezgan slikti. Uz tāfeles es izmantoju atsevišķas tapu galvenes, tāpēc man vajadzēja tikai savienot sensorus un moduļus ar labo tapu. Pārliecinieties, ka zināt, kura tapa ir domāta!
Daži padomi lodēšanas laikā:
- Šķērsojot lielākus attālumus, izmantojiet izolētus vadus. Pēdējā lieta, ko vēlaties, ir šorti jūsu ķēdē
- Pēc detaļas vai stieples lodēšanas pārbaudiet tā nepārtrauktību ar multimetru. Tāpat regulāri pārbaudiet, vai nav īssavienojumu.
- Nelietojiet pārāk daudz vai pārāk maz lodēšanas!
- Ja jūs nezināt, kā lodēt, vispirms praktizējiet to citā prototipēšanas plāksnē. Lodēšanas apmācību var atrast šeit.
Tagad pielodējiet vadus pietiekami ilgi sensoros un ielieciet ap tiem sarūkošu apvalku, lai pārliecinātos, ka viss nav īss un tīrs.
Kad esat pabeidzis, vēlreiz pārbaudiet, vai nav īssavienojumu vai sliktu savienojumu, un pārbaudiet katru savienojumu ar elektrisko shēmu, vai tas ir pareizais savienojums. Kad esat pārliecināts, ka viss ir izdarīts pareizi, dodieties uz priekšu un novietojiet sadalīšanas paneli uz RPi, galu galā pieskrūvējiet to ar dažām 2,5 mm skrūvēm un atdalījumiem. Piestipriniet sensorus pareizajās tapās un pārbaudiet tos visus, izmantojot vietni.
8. solis: barošanas avots
Lai barotu Raspberry Pi, mēs izmantosim 12V-5V USB adapteri. Šis adapteris tiks pievienots motocikla akumulatoram. Lai pārliecinātos, ka RPi ieslēdzas, kad ir ieslēgts aizdedzes slēdzis, mēs izmantosim releju. Relejs aizver RPi barošanas ķēdi, kad tas konstatē spriegumu no aizmugurējās gaismas (aizmugurējais lukturis vienmēr ieslēdzas, ieslēdzot aizdedzi).
Lai iegūtu detalizētāku apmācību par to, skatiet šo lapu: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -kontrolleri.16921/
9. solis: mājoklis
Displeja korpuss
Lai iegūtu displeju, paņemiet sev cietas plastmasas kastīti aptuveni no displeja izmēra. Izgrieziet kvadrātveida caurumu, kas ir tikpat liels kā displejs, un atbilstošus caurumus, lai ieskrūvētu displeju. Priekšpusē jums jāizurbj vēl 2 caurumi RGB gaismas diodei un LDR.
Es uzstādīju šo kasti virs viedtālruņa turētāja, izmantojot skrūvi.
Temperatūras sensors
Temperatūras sensora korpusam es 3D izdrukāju eļļas mērītāju, kas piemērots manam motociklam.
Raspberry Pi
Uzstādiet pašu aveņu Pi drošā vietā motocikla iekšpusē, es to ievietoju zem viena spārna, izmantojot dažas velcro siksnas. Un aizsargāja to no elementiem, izmantojot korpusu un nedaudz plastmasas.
Akselerometrs
Akselerometru uzstādiet drošā vietā, vēlams uz paša motocikla rāmja.
Piezīme:
Jums nav jābūt tieši tādam pašam mājoklim kā man, jūs varat brīvi pabeigt to, kā vēlaties. Vienkārši pārliecinieties, ka elektroniskie komponenti ir pasargāti no lietus un putekļiem.
Ieteicams:
COVID-19 PVO informācijas panelis: 8 soļi (ar attēliem)
COVID-19 PVO informācijas panelis: šīs instrukcijas parāda, kā izmantot ESP8266/ESP32 un LCD, lai izveidotu COVID-19 situāciju PVO informācijas panelis
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa): 6 soļi (ar attēliem)
LTE Arduino GPS izsekotājs + IoT informācijas panelis (1. daļa): Ievads Kas notiek puiši! Šis pamācība ir turpinājums manam pirmajam norādījumam par Botletics LTE/NB-IoT vairoga izmantošanu Arduino, tāpēc, ja vēl neesat to izdarījis, lūdzu, izlasiet to, lai iegūtu labu pārskatu par vairoga lietošanu un to, kas tas viss
LTE Arduino GPS izsekotājs + IoT informācijas panelis (2. daļa): 6 soļi (ar attēliem)
LTE Arduino GPS izsekotājs + IoT informācijas panelis (2. daļa): Ievads & Jā, ir pienācis laiks vēl vienam norādījumam SIM7000 GPS izsekotājā ar Arduino un LTE! Ja vēl neesat to izdarījis, lūdzu, iepazīstieties ar Botletics SIM7000 CAT-M/NB-IoT vairoga darba sākšanas pamācību, pēc tam izlasiet rakstu Pa
Guino: informācijas panelis jūsu Arduino: 4 soļi (ar attēliem)
Guino: informācijas panelis jūsu Arduino: Šis projekts ir daļa no eksperimentiem, kas veikti, veicot mākslinieku, kas dzīvo Instructables. Pārējos projektus varat apskatīt šeit. Var būt sarežģīts uzdevums atkļūdot un vizualizēt datus reāllaikā Arduino panelī. Jūs parasti esat iestrēdzis s
Elektriskā velosipēda (EBike) informācijas panelis un akumulatora monitors: 12 soļi (ar attēliem)
Elektriskā velosipēda (EBike) informācijas panelis un akumulatora monitors: Šis projekts ir Arduino ķēde, kas uzrauga akumulatora spriegumu un strāvu ar ACS 712 moduli. Mērījumi tiek paziņoti, izmantojot Bluetooth, izmantojot moduli HC-05, uz Android ierīci. Būtībā jūs atkārtoti izveidojat negatīvo saikni starp y