Satura rādītājs:

Raspberry Pi motociklu informācijas panelis: 9 soļi (ar attēliem)
Raspberry Pi motociklu informācijas panelis: 9 soļi (ar attēliem)

Video: Raspberry Pi motociklu informācijas panelis: 9 soļi (ar attēliem)

Video: Raspberry Pi motociklu informācijas panelis: 9 soļi (ar attēliem)
Video: Scooter Pi’s 2024, Novembris
Anonim
Raspberry Pi motociklu informācijas panelis
Raspberry Pi motociklu informācijas panelis

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
  • Rezistoru komplekts

    Dažādas 0,2 mm stieples krāsas

  • 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.

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

Prototipēšana
Prototipēšana
Prototipēšana
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

Raspberry Pi sagatavošana
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

Datu bāze
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

Frontend
Frontend
Frontend
Frontend

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ā

Informācijas paneļa parādīšana displejā
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

Elektronikas lodēšana
Elektronikas lodēšana
Elektronikas lodēšana
Elektronikas lodēšana
Elektronikas lodēšana
Elektronikas lodēšana
Elektronikas lodēšana
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

Mājokļi
Mājokļi
Mājokļi
Mājokļi
Mājokļi
Mājokļi

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: