Obsah:

Palubný panel motocykla Raspberry Pi: 9 krokov (s obrázkami)
Palubný panel motocykla Raspberry Pi: 9 krokov (s obrázkami)

Video: Palubný panel motocykla Raspberry Pi: 9 krokov (s obrázkami)

Video: Palubný panel motocykla Raspberry Pi: 9 krokov (s obrázkami)
Video: Высокая плотность 2022 2024, November
Anonim
Palubný panel motocykla Raspberry Pi
Palubný panel motocykla Raspberry Pi

Ako študent multimediálnych a komunikačných technológií v Howest Kortrijk som musel vytvoriť vlastný projekt internetu vecí. To by spojilo všetky moduly sledované v prvom roku do jedného veľkého projektu. Pretože vo svojom voľnom čase veľa jazdím na motocykli, rozhodol som sa využiť svoje nadobudnuté schopnosti na MCT tu a postaviť pre svoj motocykel niečo: inteligentnú palubnú dosku.

MotoDash je palubná doska poháňaná Raspberry Pi navrhnutá pre fanatických motocyklistov, ktorá dáva jazdcovi možnosť sledovať jeho výkon.

Aké sú vlastnosti tohto informačného panela?

  • Zobrazenie aktuálneho uhla náklonu
  • Zobrazenie aktuálneho zrýchlenia
  • Schopnosť monitorovať teplotu oleja
  • Pri jazde v tme sa automaticky prepne na tmavú tému
  • Zaznamenávajte si údaje o svojich jazdách a prezerajte si svoje vlastné štatistiky

Zásoby

Hlavná výpočtová jednotka:

Raspberry Pi Toto je hlavný ovládač systému

Elektronika:

  • USB nabíjačka pre motocykel 12V-5V Hlavný napájací zdroj pre RPi
  • 4 -pinové poistkové relé 12V Prepínač na zapnutie/vypnutie napájacieho obvodu RPi
  • Breadboard s prepojovacími drôtmi (voliteľné) Na testovanie a prototypovanie
  • Sada odporov

    Rôzne farby drôtu 0,2 mm

  • Breakout Pi plus Toto je prototypová doska, na ktorej môžete spájkovať všetky svoje súčiastky. Je vyrobený tak, aby sa zmestil priamo na Raspberry Pi, takže rozmery projektu zostanú na minime.

Senzory a moduly:

  • Vodotesný 1-vodičový snímač teploty DS18B20Snímač teploty oleja
  • 3osý gyroskopický akcelerometer MPU6050Snímač náklonu/zrýchlenia
  • Svetlo závislý odpor (LDR)
  • MCP3008-8-kanálový 10-bitový ADC s rozhraním SPI

    TFT SPI displej (alebo akýkoľvek iný LCD displej, ktorý vyhovuje vašim potrebám)

    RGB LED

Puzdro:

  • Plastová krabica
  • Puzdro na malinu pi

Náradie:

  • Spájkovačka a spájkovačka
  • 2,5 mm skrutky a rozpery
  • Vodotesné káblové konektory
  • Super lepidlo

Krok 1: Prototypovanie

Prototypovanie
Prototypovanie
Prototypovanie
Prototypovanie

Predtým, ako urobíme všetko trvalým, zostavíme projekt na doske. Tento krok môžete preskočiť, ak ste si úplne istí, že neurobíte chyby. Schému elektrického/breadboardu nájdete v nižšie uvedenom PDF. Spojte obvod presne podľa popisu. Na RPi používajte iba pin 3,3 V, nie 5 V. Tiež pred zapnutím malinového Pi dvakrát skontrolujte svoj obvod. Uistite sa, že neexistujú žiadne šortky!

Krok 2: Príprava Raspberry Pi

Príprava Raspberry Pi
Príprava Raspberry Pi

V prvom rade nastavíme Raspberry Pi. Raspberry Pi je mini počítač, ktorý môže používať vlastný operačný systém. Za tento projekt je zodpovedný za spracovanie senzordát, hostovanie webovej stránky, spúšťanie servera a databázy,…

1. Nainštalujte si vlastný obrázok Raspbian

Poskytnutý obrázok už obsahuje softvérové balíky potrebné na spustenie tohto projektu:

  • Apache pre frontend webu
  • MariaDB pre databázu
  • PhpMyAdmin na manipuláciu s databázou
  • Vlastné povolenia, aby sa predišlo problémom

Vlastný obrázok je možné stiahnuť tu.

Návod na inštaláciu obrázkov nájdete tu:

Akonáhle je obrázok nainštalovaný, pripojte Raspberry Pi k počítaču pomocou ethernetového kábla. Teraz sa k nemu môžete pripojiť pomocou klienta SSH na adrese IP 169.254.10.1

Je dobrým zvykom okamžite nastaviť nové heslo pomocou príkazu passwd

2. Konfigurácia bezdrôtového prístupového bodu

Keď je projekt dokončený, chceme sa môcť pripojiť k RPi cez wifi, takže z neho urobme bezdrôtový AP. Návod na to nájdete tu.

Tento návod musíte vykonať až do kroku 7. Krok 8 nie je potrebný, pretože nepotrebujeme premosťovať internetové pripojenie, ale vytvoriť samostatnú sieť.

3. Povolenie rozhraní

Choďte do raspi-config

sudo raspi-config

Prejdite na možnosti rozhrania a povoľte 1-vodičové, SPI a I2C a reštartujte počítač Pi

3. Nastavenie ovládačov pre displej

Inicializácia displeja

Upravte súbor /etc /modules

sudo nano /etc /modules

Pridajte nasledujúce 2 riadky

spi-bcm2835fbtft_device

Teraz upravte /etc/modprobe.d/fbtft.conf

sudo nano /etc/modprobe.d/fbtft.conf

Pridajte nasledujúci riadok

možnosti fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotate = 90 speed = 80000000 fps = 60

Reštartujte počítač Pi. Ak vidíte podsvietenie displeja, všetko sa zlepšilo. Toto bude inicializovať zobrazenie vždy, keď sa Pi spustí, ale teraz zobrazí iba čiernu obrazovku. Aby sme dostali obsah Pi na displej, musíme skopírovať obsah hlavnej obrazovky na malý LCD. Na tento účel použijeme službu s názvom „fbcp“.

Inštalácia služby fbcp

sudo apt-get install cmake

klon git

cd rpi-fbcp

stavba mkdir

zostava cd/

cmake..

urobiť

sudo nainštalovať fbcp/usr/local/bin/fbcp

Teraz sme nainštalovali službu. Pretože však používame Pi bez hlavy, nie je k dispozícii žiadna obrazovka, z ktorej by bolo možné kopírovať obsah. Ak chcete, aby Pi prenášal obsah obrazovky, upravte súbor /boot/config.txt

sudo nano /boot/config.txt

Nájdite a odošlite komentár alebo pridajte do tohto súboru nasledujúce riadky:

hdmi_force_hotplug = 1

hdmi_cvt = 640 480 60 0 0 0 0

display_rotate = 0

hdmi_group = 2

hdmi_mode = 87

Reštartujte RPi a vyskúšajte si službu fbcp zadaním fbcp do konzoly. Teraz by ste mali vidieť obsah obrazovky na LCD displeji.

Spustenie fbcp pri spustení

Upravte súbor /etc/rc.local a medzi adresu IP a výstupný riadok pridajte nasledujúci riadok

fbcp &

Teraz by sa mal displej zapnúť pri každom spustení RPi

Krok 3: Databáza

Databáza
Databáza

Na zaznamenávanie a ukladanie senzordát som navrhol vlastnú databázu, ktorá obsahuje 4 tabuľky. Diagram EER je zobrazený na obrázku vyššie.

1. Zariadenia

Táto tabuľka obsahuje všetky snímače. Popisuje názov senzora, popis a meraciu jednotku. Táto tabuľka má vzťah k akciám tabuľky jedna k mnohým, pretože v mojom prípade senzor akcelerátora môže vykonávať rôzne úlohy.

2. Akcie

Táto tabuľka obsahuje akcie pre rôzne snímače. Jedna akcia je vždy spojená s konkrétnym snímačom. Napríklad: akcia „TEMP“je spojená so zariadením, ktoré meria teplotu. Toto by bol 1-vodičový snímač teploty.

3. História

Táto tabuľka obsahuje všetky protokoly snímačov. Každý denník má identifikátor akcie, hodnotu, časovú pečiatku a číslo jazdy

4. Jazdy

Táto tabuľka ukladá rôzne jazdy. Zakaždým, keď používateľ začne novú jazdu, vykoná sa nový záznam v tejto tabuľke

Ak chcete získať túto databázu na svojom Raspberry Pi, prejdite na môj GitHub a klonujte/stiahnite si úložisko. V databáze nájdete 2 súbory.sql. Spustite ich na pracovnom stole PhpMyAdmin alebo MySQL. Teraz by mala byť databáza na vašom RPi.

Krok 4: Backend

Ak ste to ešte neurobili, prejdite na môj GitHub a klonujte/stiahnite si úložisko. V priečinku Backend nájdete úplný backend projektu.

Priečinok obsahuje triedy na čítanie senzorov pod /pomocníkmi, súbory na komunikáciu s databázou pod /úložiskami a hlavná aplikácia sa nachádza v koreňovom priečinku pod názvom app.py.

Inštalácia balíkov Python

Predtým, ako sa pokúsime spustiť čokoľvek, musíme najskôr nainštalovať niektoré balíky pre python. Choďte do terminálu vášho RPi a zadajte nasledujúce príkazy:

pip3 nainštalujte mysql-connector-python

pip3 nainštalujte flask-socketio

pip3 nainštalujte flask-cors

pip3 install gevent

pip3 nainštalujte gevent-websocket

DÔLEŽITÁ POZNÁMKA: Ak ste zmenili heslo pre Mariadb/MySQL, zmeňte ho v config.py!

Otestujte backend

Spustite aplikáciu app.py pomocou prekladača python3 (/usr/bin/python3). Uistite sa, že nie sú žiadne chyby.

Spustenie backendu pri bootovaní

Upravte službu motoDash_backend.service a zmeňte YOURFILEPATH na cestu, kde je uložené úložisko.

Teraz skopírujte tento súbor do/etc/systemd/system/

sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.

Teraz sa backend spustí automaticky pri každom spustení RPi.

Krok 5: Frontend

Frontend
Frontend
Frontend
Frontend

Choďte do GitHub Repo. Skopírujte obsah adresára Frontend do/var/www/html.

To je všetko, čo by ste mali urobiť, aby frontend fungoval. Tento priečinok obsahuje všetky webové stránky, štýly a skripty pre webové rozhranie. Tiež komunikuje so serverom. Ak chcete otestovať, či všetko funguje, ako má, uistite sa, že ste pripojení k svojmu RPi, a do prehliadača zadajte IP adresu RPi. Mali by ste vidieť domovskú stránku webového rozhrania.

Poznámka: Web je responzívny, takže ho môžete používať na mobile aj na počítači

Krok 6: Zobrazenie ovládacieho panela na displeji

Zobrazenie ovládacieho panela na displeji
Zobrazenie ovládacieho panela na displeji

Frontend má vlastnú skrytú webovú stránku používanú iba pre malý displej. Automaticky zavedieme Pi z tohto webu do režimu celej obrazovky.

Uistite sa, že RPi je v možnostiach bootovania nastavený na automatické prihlásenie na ploche v raspi-config

sudo raspi-config

Teraz prejdite do skrytého priečinka s konfiguráciou a vytvorte tam nový súbor

cd.konfig

sudo mkdir -p lxsession/LXDE -pi

sudo nano lxsession/LXDE-pi/automatické spustenie

Pridajte do tohto súboru nasledujúce riadky a uložte

@xscreensaver -no -splash

@xset je vypnutý

@xset -dpms

@xset s noblank

@chromium-browser --noerrors --disable-session-crashed-bubble --disable-infobars --kiosk --incognito

Teraz by sa Pi malo na túto webovú stránku spustiť vždy

Krok 7: Spájkovanie elektroniky

Spájkovanie elektroniky
Spájkovanie elektroniky
Spájkovanie elektroniky
Spájkovanie elektroniky
Spájkovanie elektroniky
Spájkovanie elektroniky
Spájkovanie elektroniky
Spájkovanie elektroniky

Vezmite oddeľovaciu dosku a štruktúrovane na ňu rozložte svoje komponenty. Nebudem diskutovať o rozložení, ako som na neho spájkoval súčiastky, pretože som na ňom urobil dosť zlú prácu. Na doske som použil samostatné záhlavia pinov, takže som potreboval iba pripojiť senzory a moduly k pravému kolíku. Uistite sa, že viete, na čo je špendlík určený!

Niekoľko tipov pri spájkovaní:

  • Pri prechode na väčšie vzdialenosti používajte izolované vodiče. Posledná vec, ktorú chcete, sú šortky vo vašom obvode
  • Po spájkovaní súčiastky alebo drôtu skontrolujte jeho spojitosť pomocou multimetra. Pravidelne kontrolujte aj skraty.
  • Nepoužívajte príliš veľa alebo príliš málo spájky!
  • Ak neviete, ako spájkovať, precvičte si to najskôr na ďalšej prototypovacej doske. Tu nájdete návod na spájkovanie.

Teraz spájkujte drôty dostatočne dlhé na snímače a dajte okolo nich zmršťovaciu fóliu, aby ste sa presvedčili, že všetko nie je skratované a čisté.

Keď ste hotoví, dvakrát skontrolujte, či nie sú skraty alebo zlé pripojenia, a skontrolujte každé zapojenie pomocou elektrickej schémy, či je správne. Akonáhle ste si istí, že je všetko urobené správne, pokračujte a položte oddeľovaciu dosku na RPi, nakoniec ju pevne priskrutkujte pomocou 2,5 mm skrutiek a stojok. Pripojte senzory k správnym kolíkom a otestujte ich všetky pomocou webovej stránky.

Krok 8: Napájanie

Na napájanie Raspberry Pi použijeme USB adaptér 12V-5V. Tento adaptér bude pripojený k batérii motocykla. Aby sme sa uistili, že sa RPi zapne, keď je spínač zapaľovania zapnutý, použijeme relé. Relé zopne napájací obvod RPi, keď zistí napätie zo zadného svetla (zadné svetlo sa vždy zapne pri zapnutí zapaľovania).

Podrobnejší návod na túto tému nájdete na tejto stránke: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -kontroléry.16921/

Krok 9: Bývanie

Bývanie
Bývanie
Bývanie
Bývanie
Bývanie
Bývanie

Displej

V prípade displeja si vezmite tvrdý plastový box zhruba od veľkosti displeja. Vyrežte do neho štvorcový otvor veľký ako displej a zodpovedajúce otvory na zaskrutkovanie displeja. Vpredu je potrebné vyvŕtať ďalšie 2 otvory pre RGB LED a LDR.

Tento box som pripevnil na držiak smartfónu pomocou skrutky.

Teplotný senzor

Aby som umiestnil snímač teploty, 3D vytlačil som olejomer, ktorý je vhodný pre môj motocykel.

Malinový koláč

Malinu Pi namontujte na bezpečné miesto vo vnútri motocykla, umiestnil som ju pod jeden z blatníkov pomocou niektorých suchých zipsov. A chránil ho pred živlami pomocou krytu a nejakého plastu.

Akcelerometer

Akcelerometer namontujte na bezpečné miesto, najlepšie na samotný rám motocykla.

Poznámka:

Nemusíte mať úplne rovnaké bývanie ako ja, môžete ho dokončiť, ako sa vám páči. Zaistite, aby boli elektronické súčiastky chránené pred dažďom a prachom.

Odporúča: