Turinys:
- Prekės
- 1 žingsnis: prototipų kūrimas
- 2 žingsnis: Raspberry Pi paruošimas
- 3 žingsnis: duomenų bazė
- 4 žingsnis: „Backend“
- 5 veiksmas: „Frontend“
- 6 veiksmas: prietaisų skydelio rodymas ekrane
- 7 žingsnis: Elektronikos litavimas
- 8 žingsnis: maitinimo šaltinis
- 9 žingsnis: būstas
Video: „Raspberry Pi“motociklų prietaisų skydelis: 9 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Kaip „Howest Kortrijk“daugialypės terpės ir komunikacijos technologijų studentas, turėjau sukurti savo daiktų interneto projektą. Tai sujungtų visus modulius, kurie buvo naudojami pirmaisiais metais, į vieną didelį projektą. Kadangi laisvalaikiu daug važinėju motociklu, nusprendžiau panaudoti įgytus MCT įgūdžius ir sukurti kažką savo motociklui: išmanųjį prietaisų skydelį.
„MotoDash“yra „Raspberry Pi“varomas prietaisų skydelis, skirtas fanatiškiems motociklininkams, suteikiantis vairuotojui galimybę sekti jų pasirodymus.
Kokios yra šios prietaisų skydelio savybės?
- Dabartinio pasvirimo kampo peržiūra
- Peržiūrėti dabartinį pagreitį
- Galimybė stebėti alyvos temperatūrą
- Važiuojant tamsoje automatiškai perjunkite į tamsią temą
- Prisijunkite prie savo kelionių duomenų ir peržiūrėkite savo statistiką
Prekės
Pagrindinis skaičiavimo įrenginys:
Raspberry Pi Tai pagrindinis sistemos valdiklis
Elektronika:
- USB įkroviklis motociklui 12V-5V Pagrindinis maitinimo šaltinis RPi
- 4 kontaktų lydytoji relė 12V Perjunkite, kad įjungtumėte/išjungtumėte RPi maitinimo grandinę
- Duonos lenta su jungiamaisiais laidais (neprivaloma) Testavimui ir prototipų kūrimui
-
„Breakout Pi plus“Tai prototipų plokštė, kurioje galite lituoti visus savo komponentus. Jis pagamintas taip, kad tilptų tiesiai ant Raspberry Pi, todėl projekto matmenys yra minimalūs.
Rezistorių rinkinys
Skirtingos 0,2 mm vielos spalvos
Jutikliai ir moduliai:
- Neperšlampamas DS18B20 1 laidų temperatūros jutiklisAlyvos temperatūros jutiklis
- 3 ašių giroskopinis pagreičio matuoklis MPU6050Tilt/accel sensor
- Nuo šviesos priklausomas rezistorius (LDR)
MCP3008-8 kanalų 10 bitų ADC su SPI sąsaja
TFT SPI ekranas (arba bet kuris kitas jūsų poreikius atitinkantis LCD ekranas)
RGB šviesos diodas
Korpusas:
- Plastikinė dėžė
- Aviečių pi dėklas
Įrankiai:
- Lituoklis ir lituoklis
- 2,5 mm varžtai ir tarpinės
- Vandeniui atsparios kabelių jungtys
- Super klijai
- …
1 žingsnis: prototipų kūrimas
Prieš viską paversdami nuolatiniais, mes surenkame projektą ant duonos lentos. Šį žingsnį galima praleisti, jei esate visiškai tikri, kad nepadarysite klaidų. Elektros/duonos lentos schemą rasite žemiau esančiame PDF. Sudėkite grandinę tiksliai taip, kaip aprašyta. Įsitikinkite, kad RPi naudojate tik 3.3V, o ne 5V kaištį. Taip pat prieš įjungdami „Raspberry Pi“dar kartą patikrinkite savo grandinę. Įsitikinkite, kad nėra šortų!
2 žingsnis: Raspberry Pi paruošimas
Visų pirma, mes nustatysime „Raspberry Pi“. „Raspberry Pi“yra mini kompiuteris, galintis paleisti savo operacinę sistemą. Šiam projektui ji yra atsakinga už sensordatų apdorojimą, svetainės prieglobą, užpakalinės programos ir duomenų bazės valdymą …
1. Įdiekite pasirinktinį „Raspbian“vaizdą
Pateiktame paveikslėlyje jau yra programinės įrangos paketų, reikalingų šiam projektui pradėti:
- „Apache“svetainės priekinei daliai
- „MariaDB“duomenų bazei
- PhpMyAdmin manipuliuoti duomenų baze
- Individualūs leidimai, kad būtų išvengta problemų
Tinkintą vaizdą galima atsisiųsti iš čia.
Vaizdų diegimo pamoką rasite čia:
Įdiegę vaizdą, eterneto kabeliu prijunkite „Raspberry Pi“prie kompiuterio. Dabar galite prisijungti prie SSH kliento IP adresu 169.254.10.1
Gera praktika yra nedelsiant nustatyti naują slaptažodį naudojant komandą passwd
2. Belaidžio AP konfigūravimas
Kai projektas bus baigtas, norime, kad galėtume prisijungti prie RPi per „Wi -Fi“, todėl galime paversti jį belaidžiu AP. Pamoką apie tai galite rasti čia.
Jums tereikia sekti šią pamoką iki 7 veiksmo. 8 veiksmas nėra būtinas, nes mums nereikia prisijungti prie interneto, bet sukurti atskirą tinklą.
3. Sąsajų įgalinimas
Eikite į raspi-config
sudo raspi-config
Eikite į sąsajos parinktis ir įjunkite 1 laidą, SPI ir I2C ir iš naujo paleiskite „Pi“
3. Ekrano tvarkyklių nustatymas
Ekrano inicijavimas
Redaguokite failą /etc /modules
sudo nano /etc /modules
Pridėkite šias 2 eilutes
spi-bcm2835fbtft_device
Dabar redaguokite /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Pridėkite šią eilutę
parinktys fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotate = 90 speed = 80000000 fps = 60
Perkraukite „Pi“. Jei matote, kad užsidega ekrano apšvietimas, viskas gerai. Tai inicijuos ekraną kiekvieną kartą, kai „Pi“įsijungs, tačiau dabar bus rodomas tik juodas ekranas. Norėdami pamatyti „Pi“turinį ekrane, turime nukopijuoti pagrindinio ekrano turinį į mažą LCD. Tam naudosime paslaugą „fbcp“.
Fbcp paslaugos diegimas
sudo apt-get install cmake
git klonas
cd rpi-fbcp
mkdir statyti
CD kūrimas/
cmake..
padaryti
sudo įdiegti fbcp/usr/local/bin/fbcp
Dabar mes įdiegėme paslaugą. Tačiau kadangi mes naudojame „Pi“be galvos, nėra ekrano, kuriuo būtų galima nukopijuoti turinį. Norėdami priversti Pi rodyti ekrano turinį, redaguokite /boot/config.txt
sudo nano /boot/config.txt
Raskite ir panaikinkite komentarus arba pridėkite šias eilutes prie šio failo:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
rodymo_sukimas = 0
hdmi_group = 2
hdmi_mode = 87
Perkraukite RPi ir išbandykite „fbcp“paslaugą, konsolėje įvesdami fbcp. Dabar LCD ekrane turėtumėte pamatyti ekrano turinį.
Paleidžiant fbcp paleidžiant
Redaguokite /etc/rc.local ir pridėkite šią eilutę tarp IP adreso ir išėjimo eilutės
fbcp &
Dabar ekranas turėtų įsijungti kiekvieną kartą, kai RPi įsijungia
3 žingsnis: duomenų bazė
Norėdami registruoti ir saugoti „sensordata“, sukūriau savo duomenų bazę, kurioje yra 4 lentelės. EER diagrama parodyta aukščiau esančiame paveikslėlyje.
1. Prietaisai
Šioje lentelėje yra visi jutikliai. Jame aprašomas jutiklio pavadinimas, aprašymas ir matavimo vienetas. Ši lentelė turi ryšį nuo vieno iki daugelio su lentelės veiksmais, nes mano atveju greitėjimo jutiklis gali atlikti skirtingas užduotis.
2. Veiksmai
Šioje lentelėje saugomi skirtingų jutiklių veiksmai. Vienas veiksmas visada yra susijęs su konkrečiu jutikliu. Pavyzdžiui: veiksmas „TEMP“yra susietas su prietaisu, kuris matuoja temperatūrą. Tai būtų 1 laidų temperatūros jutiklis.
3. Istorija
Šioje lentelėje yra visi jutiklių žurnalai. Kiekvienas žurnalas turi veiksmo ID, vertę, laiko žymę ir važiavimo ID
4. Važiuoja
Šioje lentelėje saugomi įvairūs važiavimai. Kiekvieną kartą, kai vartotojas pradeda naują važiavimą, šioje lentelėje padaromas naujas įrašas
Norėdami gauti šią duomenų bazę savo „Raspberry Pi“, eikite į „GitHub“ir klonuokite/atsisiųskite saugyklą. Duomenų bazėje rasite 2.sql failus. Vykdykite juos „PhpMyAdmin“arba „MySQL“darbalaukyje. Dabar duomenų bazė turėtų būti jūsų RPi.
4 žingsnis: „Backend“
Jei to dar nepadarėte, eikite į mano „GitHub“ir klonuokite/atsisiųskite saugyklą. Po aplanku „Backend“rasite visą projekto užpakalinę dalį.
Aplanke yra klasių, skirtų skaityti jutiklius pagal /pagalbininkus, failus, skirtus bendrauti su duomenų baze, esančiose /saugyklose, o pagrindinė programa yra šaknyje pavadinimu app.py.
Python paketų diegimas
Prieš bandydami ką nors paleisti, pirmiausia turime įdiegti kai kuriuos „python“paketus. Eikite į savo RPi terminalą ir įveskite šias komandas:
pip3 įdiegti „mysql-connector-python“
pip3 įdiegti kolbą-lizdą
pip3 sumontuokite kolbas
pip3 įdiegimo geventas
pip3 įdiegti gevent-websocket
SVARBI PASTABA: jei pakeitėte „Mariadb“/„Mysql“slaptažodį, pakeiskite slaptažodį config.py!
Išbandykite vidinę sistemą
Paleiskite app.py naudodami python3 vertėją (/usr/bin/python3). Įsitikinkite, kad nėra klaidų.
Paleiskite užpakalinę sistemą įkrovos metu
Redaguokite motoDash_backend.service ir pakeiskite YOURFILEPATH į kelią, kuriame saugoma saugykla.
Dabar nukopijuokite šį failą į/etc/systemd/system/
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Dabar vidinė programa automatiškai įsijungs kiekvieną kartą, kai bus paleistas RPi.
5 veiksmas: „Frontend“
Eikite į „GitHub Repo“. Nukopijuokite Frontend katalogo turinį į/var/www/html.
Tai viskas, ką turėtumėte padaryti, kad priekinė dalis veiktų. Šiame aplanke yra visi žiniatinklio puslapiai, stilius ir scenarijai. Ji taip pat bendrauja su užpakaline dalimi. Norėdami patikrinti, ar viskas veikia taip, kaip turėtų, įsitikinkite, kad esate prisijungę prie savo RPi, ir naršyklėje įveskite RPi IP adresą. Turėtumėte pamatyti pagrindinį žiniatinklio sąsajos puslapį.
Pastaba: svetainė reaguoja, todėl galite ją naudoti ir mobiliajame, ir darbalaukyje
6 veiksmas: prietaisų skydelio rodymas ekrane
Priekinė dalis turi savo paslėptą tinklalapį, naudojamą tik mažam ekranui. Mes automatiškai paleisime „Pi“į šią svetainę viso ekrano režimu.
Įsitikinkite, kad „RPi“yra nustatytas į darbalaukio automatinį įjungimą raspi-config, esantį įkrovos parinktyse
sudo raspi-config
Dabar eikite į paslėptą konfigūracijos aplanką ir ten sukurkite naują failą
cd.config
sudo mkdir -p lxsession/LXDE -pi
sudo nano lxsession/LXDE-pi/autostart
Į šį failą pridėkite šias eilutes ir išsaugokite
@xscreensaver -no -purslų
@xset s išjungtas
@xset -dpms
@xset s tuščias
@„chromium“naršyklė-klaidos-išjungtos sesijos avarijos-burbulas-išjungiamos informacinės juostos --kiosk-inkognito
Dabar „Pi“turėtų kiekvieną kartą paleisti šį tinklalapį
7 žingsnis: Elektronikos litavimas
Paimkite pertraukimo lentą ir struktūrizuotai išdėstykite ant jos komponentus. Aš nekalbėsiu apie išdėstymą, kaip lituoti komponentus, nes aš padariau gana prastai. Lentoje naudojau atskiras kaiščių antraštes, todėl man reikėjo tik prijungti jutiklius ir modulius prie tinkamo kaiščio. Įsitikinkite, kad žinote, kuris kaištis yra skirtas!
Keletas patarimų lituojant:
- Kertant didesnius atstumus, naudokite izoliuotus laidus. Paskutinis dalykas, kurio norite, yra šortai jūsų grandinėje
- Lituodami komponentą ar laidą, patikrinkite jo tęstinumą multimetru. Taip pat reguliariai tikrinkite, ar nėra trumpojo jungimo.
- Nenaudokite per daug ar per mažai lydmetalio!
- Jei nežinote, kaip lituoti, pirmiausia atlikite pratimus kitoje prototipų plokštėje. Litavimo pamoką rasite čia.
Dabar lituokite laidus pakankamai ilgai prie jutiklių ir uždėkite juos susitraukiančią plėvelę, kad įsitikintumėte, jog viskas nėra trumpas ir švarus.
Kai baigsite, dar kartą patikrinkite, ar nėra trumpųjų jungčių ar netinkamų jungčių, ir patikrinkite kiekvieną jungtį su elektros schema, ar tai tinkama jungtis. Kai būsite tikri, kad viskas padaryta teisingai, eikite į priekį ir uždėkite pertraukimo plokštę ant RPi, priveržkite galą 2,5 mm varžtais ir atramomis. Prijunkite jutiklius prie tinkamų kaiščių ir išbandykite juos naudodami svetainę.
8 žingsnis: maitinimo šaltinis
Norėdami maitinti „Raspberry Pi“, naudosime 12V-5V USB adapterį. Šis adapteris bus prijungtas prie motociklo akumuliatoriaus. Norėdami įsitikinti, kad RPi įsijungia įjungus uždegimo jungiklį, mes naudosime relę. Relė uždaro RPi maitinimo grandinę, kai aptinka galinio žibinto įtampą (galinis žibintas visada įsijungia įjungus uždegimą).
Norėdami gauti išsamesnės pamokos apie tai, apsilankykite šiame puslapyje: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -valdikliai.16921/
9 žingsnis: būstas
Ekrano korpusas
Norėdami gauti ekraną, paimkite kietą plastikinę dėžę iš maždaug ekrano dydžio. Iškirpkite kvadratinę skylę, kuri yra tokia pat didelė kaip ekranas, ir atitinkamas skyles, kad įsuktumėte ekraną. Priekyje turite išgręžti dar 2 skyles RGB šviesos diodui ir LDR.
Aš pritvirtinau šią dėžutę ant išmaniojo telefono laikiklio, naudodami varžtą.
Temperatūros jutiklis
Temperatūros jutiklio korpusui aš 3D spausdinau alyvos matuoklį, kuris tinka mano motociklui.
Raspberry Pi
Pritvirtinkite pačią avietę Pi ant saugios vietos motociklo viduje, aš ją padėjau po vienu iš sparnų, naudodamas keletą velcro dirželių. Ir apsaugojo jį nuo elementų, naudodami korpusą ir šiek tiek plastiko.
Akselerometras
Akselerometrą sumontuokite saugioje vietoje, geriausia ant paties motociklo rėmo.
Pastaba:
Jums nereikia turėti to paties būsto kaip aš, jūs galite laisvai jį užbaigti, kaip jums patinka. Tiesiog įsitikinkite, kad elektroniniai komponentai yra apsaugoti nuo lietaus ir dulkių.
Rekomenduojamas:
„Tasmota Admin“- „IIoT“prietaisų skydelis: 6 žingsniai
„Tasmota Admin“- „IIoT“prietaisų skydelis: „TasmoAdmin“yra administracinė svetainė, skirta įrenginiams, kuriuose įdiegta „Tasmota“. Ją galite rasti čia: TasmoAdmin GitHub. Jis palaiko veikimą „Windows“, „Linux“ir „Docker“konteineriuose. FunkcijosSaugomas prisijungimas
COVID-19 PSO prietaisų skydelis: 8 žingsniai (su nuotraukomis)
COVID-19 PSO prietaisų skydelis: šiose instrukcijose parodyta, kaip naudoti ESP8266/ESP32 ir LCD, kad būtų sukurta COVID-19 situacija, PSO prietaisų skydelis
COVID-19 prietaisų skydelis (paprastas ir lengvas): 4 žingsniai
COVID-19 prietaisų skydelis (paprastas ir lengvas): visur yra didžiulis naujojo COVID-19 viruso protrūkis. Buvo būtina stebėti dabartinį COVID-19 scenarijų šalyje. Taigi, būdamas namuose, aš galvojau apie tokį projektą: " Informacijos informacijos suvestinė " - Da
Guino: „Arduino“prietaisų skydelis: 4 žingsniai (su nuotraukomis)
Guino: prietaisų skydelis jūsų „Arduino“: Šis projektas yra eksperimentų, atliktų dirbant su „Instructables“rezidentu, dalis. Kitus projektus galite pamatyti čia. Tai gali būti sudėtinga užduotis derinti ir vizualizuoti „n realaus laiko“duomenis „Arduino“lentoje. Paprastai esate įstrigę prie
Elektrinio dviračio („EBike“) prietaisų skydelis ir akumuliatoriaus monitorius: 12 žingsnių (su nuotraukomis)
Elektrinio dviračio („EBike“) prietaisų skydelis ir akumuliatoriaus monitorius: Šis projektas yra „Arduino“grandinė, kuri stebi akumuliatoriaus įtampą ir srovę su ACS 712 moduliu. Matavimai perduodami „Bluetooth“ryšiu su „HC-05“moduliu į „Android“įrenginį. Iš esmės jūs perjungiate neigiamą ryšį tarp y