Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Prototyping
- Hakbang 2: Paghahanda ng Raspberry Pi
- Hakbang 3: Database
- Hakbang 4: Backend
- Hakbang 5: Frontend
- Hakbang 6: Ipinapakita ang Dashboard sa Display
- Hakbang 7: Paghihinang ng Elektronika
- Hakbang 8: Supply ng Kuryente
- Hakbang 9: Pabahay
Video: Dashboard ng Motorsiklo ng Raspberry Pi: 9 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Bilang isang mag-aaral na teknolohiya ng Multimedia & Komunikasyon sa Howest Kortrijk, kinailangan kong gumawa ng sarili kong proyekto sa IoT. Pagsasama-sama nito ang lahat ng mga module na sinundan sa unang taon sa isang malaking proyekto. Sapagkat madalas akong sumakay sa aking motorsiklo sa aking bakanteng oras, nagpasya akong gamitin ang aking nakuha na mga kasanayan sa MCT tu build ng isang bagay para sa aking motorsiklo: Isang matalinong dashboard.
Ang MotoDash ay isang dashboard na pinagagana ng Raspberry Pi na idinisenyo para sa mga panatiko na nagmotorsiklo na nagbibigay sa rider ng kakayahang subaybayan ang kanilang pagganap.
Ano ang mga tampok ng dashboard na ito?
- Pagtingin sa kasalukuyang anggulo ng ikiling
- Pagtingin sa kasalukuyang pagpabilis
- Kakayahang subaybayan ang temperatura ng langis
- Awtomatikong lumipat sa madilim na tema kapag sumakay sa dilim
- Mag-log ng data ng iyong mga pagsakay, at tingnan ang iyong sariling mga istatistika
Mga gamit
Pangunahing yunit ng computing:
Raspberry Pi Ito ang pangunahing controller ng system
Elektronikong:
- USB charger para sa motorsiklo 12V-5VMain powerupply para sa RPi
- 4 Pin Fused Relay 12VSwitch upang i-on / i-off ang power circuit ng RPi
- Breadboard na may mga wire ng jumper (opsyonal) Para sa pagsubok at prototyping
-
Breakout Pi plusIto ay isang prototyping board kung saan maaari mong solder ang lahat ng iyong mga bahagi. Ginawa ito upang magkasya nang direkta sa tuktok ng Raspberry Pi, kaya't ang mga sukat ng proyekto ay mananatili sa isang minimum.
Isang hanay ng mga resistors
Iba't ibang mga kulay ng 0.2mm wire
Mga sensor at module:
- Hindi tinatagusan ng tubig DS18B20 1-Wire Temperature sensor sensor ng temperatura ng langis
- 3 Axes Gyro Accelerometer MPU6050Tilt / accel sensor
- Light dependant resistor (LDR)
MCP3008 - 8-channel 10-Bit ADC na may SPI Interface
TFT SPI display (o anumang iba pang display sa lcd na umaangkop sa iyong mga pangangailangan)
RGB LED
Casing:
- Kahong plastik
- Kaso ng raspberry pi
Mga tool:
- Panghinang at bakalang panghinang
- 2.5mm na mga tornilyo at spacer
- Mga konektor ng hindi tinatagusan ng tubig na cable
- Superglue
- …
Hakbang 1: Prototyping
Bago natin gawing permanente ang lahat, isasama namin ang proyekto sa isang breadboard. Maaaring laktawan ang hakbang na ito kung sigurado ka talagang hindi ka makakagawa ng mga pagkakamali. Ang iskemang elektrikal / breadboard ay matatagpuan sa PDF sa ibaba. Isama ang circuit nang eksakto tulad ng inilarawan. Tiyaking gagamitin lamang ang 3.3V pin at hindi ang 5V pin sa RPi. Gayundin bago mo paandarin ang raspberry Pi i-double check ang iyong circuit. Siguraduhin na walang mga shorts!
Hakbang 2: Paghahanda ng Raspberry Pi
Una sa lahat, i-set up namin ang Raspberry Pi. Ang Raspberry Pi ay isang mini computer na may kakayahang magpatakbo ng sarili nitong operating system. Para sa proyektong ito, responsable ito sa pagproseso ng sensordata, pagho-host ng website, pagpapatakbo ng backend at database,…
1. Mag-install ng pasadyang Larawan ng Raspbian
Naglalaman na ang ibinigay na imahe ng mga package ng software na kinakailangan upang masimulan ang proyektong ito:
- Apache para sa frontend ng website
- MariaDB para sa database
- PhpMyAdmin upang manipulahin ang database
- Pasadyang mga pahintulot upang maiwasan ang mga problema
Maaaring mai-download ang pasadyang imahe mula rito.
Ang isang tutorial para sa pag-install ng mga imahe ay matatagpuan dito:
Kapag na-install na ang imahe, ikonekta ang Raspberry Pi sa iyong pc gamit ang isang ethernet cable. Ngayon ay maaari kang gumamit ng isang SSH client upang kumonekta dito sa IP address 169.254.10.1
Mahusay na kasanayan upang agad na magtakda ng isang bagong password gamit ang command passwd
2. Pag-configure ng wireless AP
Kapag natapos ang proyekto, nais naming makakonekta sa RPi sa paglipas ng wifi, kaya hinahayaan itong gawing isang wireless AP. Ang isang tutorial para dito ay matatagpuan dito.
Kailangan mo lamang sundin ang tutorial na ito hanggang sa hakbang 7. Hindi kinakailangan ang Hakbang 8 dahil hindi namin kailangan na tulay ang isang koneksyon sa internet, ngunit lumikha ng isang nakapag-iisang network.
3. Pagpapagana ng mga interface
Tumungo sa raspi-config
sudo raspi-config
Pumunta sa mga pagpipilian sa interfacing at paganahin ang 1-wire, SPI at I2C at i-reboot ang Pi
3. Pagse-set up ng mga driver para sa display
Inisyal ang pagpapakita
I-edit ang file / etc / modules
sudo nano / etc / modules
Idagdag ang sumusunod na 2 linya
spi-bcm2835fbtft_device
Ngayon i-edit ang /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Idagdag ang sumusunod na linya
mga pagpipilian fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotate = 90 speed = 80000000 fps = 60
I-reboot ang Pi. Kung nakikita mo ang backlight ng display light up lahat ay naging maayos. Pinasimulan nito ang display sa tuwing naka-boot ang Pi, subalit magpapakita lamang ito ng isang itim na screen ngayon. Upang makuha ang mga nilalaman ng Pi sa display, kailangan naming kopyahin ang mga nilalaman ng pangunahing screen papunta sa maliit na LCD. Gagamitin namin ang isang serbisyo na tinatawag na 'fbcp' para dito.
Pag-install ng serbisyo sa fbcp
sudo apt-get install cmake
git clone
cd rpi-fbcp
mkdir build
cd build /
cmake..
gumawa
sudo i-install ang fbcp / usr / local / bin / fbcp
Ngayon ay na-install na namin ang serbisyo. Gayunpaman, dahil ginagamit namin ang Pi na walang ulo, walang magagamit na screen upang kopyahin ang mga nilalaman mula sa. Upang mapilit ang Pi na mag-output ng nilalaman ng screen, i-edit /boot/config.txt
sudo nano /boot/config.txt
Maghanap at mag-komento o magdagdag ng mga sumusunod na linya sa file na ito:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
display_rotate = 0
hdmi_group = 2
hdmi_mode = 87
I-reboot ang RPi, at subukan ang serbisyo ng fbcp sa pamamagitan ng pag-type ng fbcp sa console. Ngayon ay dapat mong makita ang mga nilalaman ng screen sa LCD.
Pagpapatakbo ng fbcp sa pagsisimula
I-edit /etc/rc.local at idagdag ang sumusunod na linya sa pagitan ng ip address at ang exit line
fbcp &
Ngayon dapat na buksan ang display sa bawat oras na mag-bot up ang RPi
Hakbang 3: Database
Upang mag-log at mag-imbak ng sensordata ay dinisenyo ko ang aking sariling database na naglalaman ng 4 na talahanayan. Ang diagram ng EER ay ipinapakita sa imahe sa itaas.
1. Mga aparato
Naglalaman ang talahanayan na ito ng bawat sensor. Inilalarawan nito ang pangalan ng sensor, paglalarawan at yunit ng pagsukat. Ang talahanayan na ito ay may isang-sa-maraming ugnayan sa mga aksyon sa talahanayan, tulad ng sa aking kaso, ang sensor ng accelero ay maaaring magsagawa ng iba't ibang mga gawain.
2. Mga kilos
Nag-iimbak ang talahanayan na ito ng mga pagkilos para sa iba't ibang sensor. Ang isang aksyon ay palaging naka-link sa isang partikular na sensor. Halimbawa: ang aksyon na 'TEMP' ay naka-link sa aparato na sumusukat sa temperatura. Ito ang magiging sensor ng temperatura ng 1-wire.
3. Kasaysayan
Naglalaman ang talahanayan na ito ng lahat ng mga log ng sensor. Ang bawat log ay mayroong isang action id, isang halaga, isang timestamp at isang rideid
4. Pagsakay
Nag-iimbak ang talahanayan na ito ng iba't ibang mga pagsakay. Sa tuwing magsisimula ang gumagamit ng isang bagong pagsakay, isang bagong entry sa talahanayan na ito ang gagawin
Upang makuha ang database na ito sa iyong Raspberry Pi, magtungo sa aking GitHub at i-clone / i-download ang imbakan. Sa ilalim ng database ay mahahanap mo ang 2.sql file. Patakbuhin ang mga ito sa PhpMyAdmin o MySQL workbench. Ngayon ang database ay dapat nasa iyong RPi.
Hakbang 4: Backend
Kung hindi mo pa nagagawa, magtungo sa aking GitHub at i-clone / i-download ang imbakan. Sa ilalim ng folder ng Backend makikita mo ang buong backend para sa proyekto.
Naglalaman ang folder ng mga klase para sa pagbabasa ng mga sensor sa ilalim ng / helpers, mga file upang makipag-usap sa database sa ilalim / repositories, at ang pangunahing application ay matatagpuan sa ugat sa ilalim ng pangalang app.py.
Pag-install ng mga package ng Python
Bago namin subukang patakbuhin ang anumang bagay, kailangan muna naming mag-install ng ilang mga pakete para sa sawa. Pumunta sa terminal ng iyong RPi at i-type ang mga sumusunod na utos:
pip3 i-install ang MySQL-Connector-Python
pip3 i-install ang flask-socketio
pip3 i-install ang flask-cors
pip3 i-install ang gevent
pip3 i-install ang gevent-websocket
MAHALAGA TANDAAN: kung binago mo ang iyong Mariadb / Mysql password, palitan ang password sa config.py!
Subukan ang backend
Patakbuhin ang app.py gamit ang python3 interpreter (/ usr / bin / python3). Tiyaking walang mga error.
Pagpapatakbo ng backend sa boot
I-edit ang motoDash_backend.service at baguhin ang IYONG LOVERAT sa landas kung saan nai-save ang repository.
Ngayon kopyahin ang file na ito sa / etc / systemd / system /
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Ngayon ang backend ay awtomatikong magsisimulang bawat oras na ang RPi boots.
Hakbang 5: Frontend
Tumungo sa GitHub Repo. Kopyahin ang mga nilalaman ng direktoryo ng Frontend sa / var / www / html.
Ito lang ang dapat mong gawin upang gumana ang frontend. Naglalaman ang folder na ito ng lahat ng mga webpage, istilo at script para sa web interface. Nakikipag-usap din ito sa backend. Upang masubukan kung gumagana ang lahat tulad ng dapat, siguraduhin na nakakonekta ka sa iyong RPi, at i-type ang IP address ng RPi sa isang browser. Dapat mong makita ang homepage ng web interface.
Tandaan: Ang website ay tumutugon, kaya maaari mo itong magamit sa mobile pati na rin sa desktop
Hakbang 6: Ipinapakita ang Dashboard sa Display
Ang frontend ay mayroong sariling nakatagong webpage na ginagamit lamang para sa maliit na display. Awtomatiko naming gagawin ang Pi boot sa website na ito sa full screen mode.
Tiyaking nakatakda ang RPi sa desktop autologin sa raspi-config sa ilalim ng mga pagpipilian sa boot
sudo raspi-config
Pumunta ngayon sa nakatagong config folder at lumikha ng isang bagong file doon
cd.config
sudo mkdir -p lxsession / LXDE-pi
sudo nano lxsession / LXDE-pi / autostart
Idagdag ang mga sumusunod na linya sa file na ito at i-save
@xscreensaver -no-splash
@xset s off
@xset -dpms
@xset s noblank
@ chromium-browser --noerrors --disable-session-crash-bubble --disable-infobars --kiosk --incognitoNgayon ang Pi ay dapat na mag-boot sa webpage na ito sa tuwing
Hakbang 7: Paghihinang ng Elektronika
Kunin ang breakout board at ilatag ang iyong mga bahagi dito sa isang nakaayos na paraan. Hindi ko tatalakayin ang layout ng kung paano ko na-solder ang mga sangkap dito, tulad ng ginawa kong isang mahirap na trabaho dito. Gumamit ako ng magkakahiwalay na mga header ng pin sa board upang kailangan ko lamang ikonekta ang mga sensor at module sa kanang pin. Tiyaking alam mo kung aling pin ang para sa kung ano!
Ang ilang mga tip habang naghihinang:
- Gumamit ng mga insulated wire kapag tumatawid sa mas malalaking distansya. Ang huling bagay na nais mo ay ang shorts sa iyong circuit
- Matapos ang paghihinang ng isang bahagi o kawad, suriin ang pagpapatuloy nito sa isang multimeter. Regular ding suriin ang mga maikling circuit.
- Huwag gumamit ng sobra o masyadong maliit na panghinang!
- Kung hindi mo alam kung paano maghinang, pagsasanay muna ito sa isa pang prototyping board. Ang isang tutorial sa paghihinang ay matatagpuan dito.
Ngayon ang mga wire ng panghinang ay sapat na mahaba sa mga sensor, at maglagay ng kaunting pag-urong sa paligid ng mga ito upang matiyak na ang lahat ay hindi naikli at malinis.
Kapag natapos ka na, i-double check para sa anumang mga shorts o hindi magandang koneksyon, at suriin ang bawat koneksyon sa electric scheme kung ito ang tamang koneksyon. Sa sandaling natitiyak mo na ang lahat ay tapos nang tama, magpatuloy at ilagay ang breakout board sa RPi, tapusin ito ng mahigpit gamit ang ilang 2.5mm na mga tornilyo at standoff. Gisingin ang mga sensor sa mga tamang pin at subukan ang lahat gamit ang website.
Hakbang 8: Supply ng Kuryente
Upang mapagana ang Raspberry Pi gagamitin namin ang isang 12V-5V usb adapter. Ang adapter na ito ay makokonekta sa baterya ng motorsiklo. Upang matiyak na umaandar ang RPi kapag nakabukas ang switch ng pag-aapoy, gagamit kami ng isang relay. Isasara ng relay ang circuit ng kuryente ng RPi kapag nakakita ito ng boltahe mula sa taillight (palaging nakabukas ang taillight kapag binubuksan ang ignisyon).
Para sa isang mas detalyadong tutorial tungkol dito, tingnan ang pahinang ito: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -controllers.16921 /
Hakbang 9: Pabahay
Ipakita ang Pabahay
Para sa display, kunin ang iyong sarili ng isang matigas na kahon ng plastik mula sa laki ng display. Gupitin ang isang parisukat na butas dito kasing laki ng display, at pagtutugma ng mga butas upang mai-tornilyo ang display. Sa harap kailangan mong mag-drill ng 2 pang mga butas para sa RGB LED at LDR.
Inilagay ko ang kahon na ito sa tuktok ng isang may-ari ng smartphone gamit ang isang bolt.
Temperatura Sensor
Para sa pabahay ng sensor ng temperatura, nag-print ako ng isang gauge ng langis na umaangkop sa aking motorsiklo.
Raspberry Pi
I-mount ang raspberry Pi mismo sa isang ligtas na lugar sa loob ng motorsiklo, inilagay ko ito sa ilalim ng isa sa mga fender gamit ang ilang mga velcro strap. At protektado ito mula sa mga elemento gamit ang isang pabahay at ilang plastik.
Accelerometer
I-mount ang accelerometer sa isang ligtas na lugar, mas mabuti sa frame ng motorsiklo mismo.
Tandaan:
Hindi mo kailangang magkaroon ng eksaktong kaparehong pabahay tulad ng ginawa ko, malaya kang matapos ito subalit nais mo. Siguraduhin lamang na ang mga elektronikong sangkap ay protektado mula sa ulan at alikabok.
Inirerekumendang:
Na-recycle na Motorsiklo Mula sa Bote ng Botelya: 9 na Hakbang (na may Mga Larawan)
Na-recycle na Motorsiklo Mula sa Bote ng Botelya: v Ano ang dapat gawin sa bahay? Narito ang ilang simpleng paraan upang gumawa ng mga karerang kotse sa bahay. Gagabayan ka namin hakbang-hakbang upang gumawa ng pangunahing sa mga advanced na karera ng kotse. Maaari mong gawin at subukan ito. o maaari mo itong ibalot bilang isang Regalo upang ibigay sa iyong Mga Anak o sa iyong Mga Kaibigan. Sana
DIY Givi V56 Motorsiklo Topbox Light Kit Na May Pinagsamang Mga Sinyal: 4 na Hakbang (na may Mga Larawan)
DIY Givi V56 Motorsiklo Topbox Light Kit Na May Pinagsamang Mga Senyas: Bilang isang sakay ng motorsiklo, lahat ako ay pamilyar sa tratuhin tulad ng hindi ako nakikita sa daan. Ang isang bagay na lagi kong idinagdag sa aking bisikleta ay isang nangungunang kahon na karaniwang may isang pinagsamang ilaw. Kamakailan-lamang na nag-upgrade ako sa isang bagong bisikleta at binili ang Givi V56 Monokey
Arduino Headlight Modulator para sa Kaligtasan sa Motorsiklo: 20 Hakbang (na may Mga Larawan)
Arduino Headlight Modulator para sa Kaligtasan sa Motorsiklo: Ang mga motorsiklo ay mahirap makita sa kalsada lalo na dahil halos isang-kapat lamang ang lapad ng isang kotse o trak. Mula noong 1978 sa USA, ang mga tagagawa ng motorsiklo ay kinakailangan upang gawing mas nakikita ang mga motorsiklo sa pamamagitan ng mga kable ng mga ilaw ng ilaw
Magdagdag ng Mga Sound Effect sa Iyong Elektronikong Motorsiklo: 5 Hakbang (na may Mga Larawan)
Magdagdag ng Mga Sound Effect sa Iyong Elektrikong Motorsiklo: Magdagdag ng anumang tunog na nais mo sa iyong de-kuryenteng motorsiklo na may ilang mga portable speaker at isang MP3 player
Pag-mount ng Camera para sa isang Motorsiklo (Rear Peg): 11 Hakbang (na may Mga Larawan)
Ang Camera Mount para sa isang Motorsiklo (Rear Peg): Sinisiyasat ko ang net para sa isang mounting ng camera para sa aking sport bike nang medyo matagal na ngayon. Lahat ng nahanap ko ay maaaring masyadong mahal, clunky, o masyadong mahirap i-install / i-uninstall. Ang ilan ay tatlo lahat! Isang araw nagkaroon ako ng isang epiphany at nakarating sa desi na ito