Obsah:
- Zásoby
- Krok 1: Prototypování
- Krok 2: Příprava Raspberry Pi
- Krok 3: Databáze
- Krok 4: Backend
- Krok 5: Frontend
- Krok 6: Zobrazení řídicího panelu na displeji
- Krok 7: Pájení elektroniky
- Krok 8: Napájení
- Krok 9: Bydlení
Video: Hlavní panel motocyklu Raspberry Pi: 9 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Jako student multimediálních a komunikačních technologií v Howest Kortrijk jsem musel vytvořit vlastní projekt IoT. To by spojilo všechny moduly sledované v prvním roce do jednoho velkého projektu. Protože ve svém volném čase hodně jezdím na motocyklu, rozhodl jsem se využít své nabyté dovednosti na MCT tu a postavit něco pro svůj motocykl: chytrou palubní desku.
MotoDash je palubní deska poháněná Raspberry Pi určená pro fanatické motocyklisty, která dává jezdci možnost sledovat svůj výkon.
Jaké jsou funkce tohoto řídicího panelu?
- Zobrazení aktuálního úhlu náklonu
- Zobrazení aktuálního zrychlení
- Možnost sledování teploty oleje
- Při jízdě ve tmě se automaticky přepne na tmavé téma
- Zaznamenávejte si data o svých jízdách a zobrazujte si vlastní statistiky
Zásoby
Hlavní výpočetní jednotka:
Raspberry Pi Toto je hlavní ovladač systému
Elektronika:
- USB nabíječka pro motocykl 12V-5V Hlavní napájecí zdroj pro RPi
- 4pinové pojistkové relé 12V Přepínač k zapnutí/vypnutí napájecího obvodu RPi
- Breadboard s propojovacími dráty (volitelně) Pro testování a prototypování
-
Breakout Pi plus Toto je prototypová deska, kde můžete pájet všechny své součásti. Je vyroben tak, aby se vešel přímo na Raspberry Pi, takže rozměry projektu zůstávají na minimu.
Sada odporů
Různé barvy 0,2 mm drátu
Senzory a moduly:
- Vodotěsný 1vodičový snímač teploty DS18B20Snímač teploty oleje
- 3osý gyroskopický akcelerometr MPU6050Snímač náklonu/zrychlení
- Světlo závislý odpor (LDR)
MCP3008-8kanálový 10bitový ADC s rozhraním SPI
TFT SPI displej (nebo jakýkoli jiný LCD displej, který vyhovuje vašim potřebám)
RGB LED
Kryt:
- Plastová krabička
- Pouzdro Raspberry Pi
Nástroje:
- Páječka a pájka
- 2,5 mm šrouby a rozpěrky
- Vodotěsné kabelové konektory
- Super lepidlo
- …
Krok 1: Prototypování
Než uděláme vše trvalé, dáme dohromady projekt na prkénko. Tento krok lze přeskočit, pokud jste si naprosto jisti, že neuděláte chyby. Schéma elektrického/prkénka najdete v níže uvedeném PDF. Spojte obvod dohromady přesně podle popisu. Ujistěte se, že používáte pouze 3,3V pin a ne 5V pin na RPi. Také před zapnutím Raspberry Pi zkontrolujte svůj obvod. Ujistěte se, že neexistují žádné šortky!
Krok 2: Příprava Raspberry Pi
Nejprve se chystáme nastavit Raspberry Pi. Raspberry Pi je mini počítač schopný provozovat vlastní operační systém. U tohoto projektu je zodpovědný za zpracování sensordata, hostování webových stránek, provozování backendu a databáze,…
1. Nainstalujte si vlastní obrázek Raspbian
Poskytnutý obrázek již obsahuje softwarové balíčky potřebné k nastartování tohoto projektu:
- Apache pro frontend webu
- MariaDB pro databázi
- PhpMyAdmin pro manipulaci s databází
- Vlastní oprávnění, aby se předešlo problémům
Vlastní obrázek lze stáhnout zde.
Návod k instalaci obrázků najdete zde:
Jakmile je obraz nainstalován, připojte Raspberry Pi k počítači ethernetovým kabelem. Nyní se k němu můžete připojit pomocí klienta SSH na adrese IP 169.254.10.1
Je dobrým zvykem okamžitě nastavit nové heslo pomocí příkazu passwd
2. Konfigurace bezdrátového přístupového bodu
Když je projekt hotový, chceme se moci připojit k RPi přes wifi, takže z něj udělejme bezdrátový AP. Návod k tomu najdete zde.
Tento tutoriál musíte sledovat až do kroku 7. Krok 8 není vyžadován, protože nepotřebujeme překlenout připojení k internetu, ale vytvořit samostatnou síť.
3. Povolení rozhraní
Přejděte do raspi-config
sudo raspi-config
Přejděte na možnosti rozhraní a povolte 1vodičové, SPI a I2C a restartujte Pi
3. Nastavení ovladačů pro displej
Inicializace displeje
Upravte soubor /etc /modules
sudo nano /etc /modules
Přidejte následující 2 řádky
spi-bcm2835fbtft_device
Nyní upravte /etc/modprobe.d/fbtft.conf
sudo nano /etc/modprobe.d/fbtft.conf
Přidejte následující řádek
možnosti fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 rotate = 90 speed = 80000000 fps = 60
Restartujte Pi. Když vidíte podsvícení displeje, vše proběhlo dobře. Toto bude inicializovat zobrazení pokaždé, když se Pi spustí, ale nyní zobrazí pouze černou obrazovku. Abychom dostali obsah Pi na displej, musíme zkopírovat obsah hlavní obrazovky na malý LCD. K tomu použijeme službu s názvem 'fbcp'.
Instalace služby fbcp
sudo apt-get install cmake
klon git
cd rpi-fbcp
mkdir build
CD sestavení/
cmake..
udělat
sudo install fbcp/usr/local/bin/fbcp
Nyní jsme nainstalovali službu. Protože však používáme Pi bez hlav, není k dispozici žádná obrazovka, ze které by bylo možné obsah kopírovat. Chcete -li vynutit výstup Pi obsahu obrazovky, upravte soubor /boot/config.txt
sudo nano /boot/config.txt
Najděte a odkomentujte nebo přidejte do tohoto souboru následující řádky:
hdmi_force_hotplug = 1
hdmi_cvt = 640 480 60 0 0 0 0
display_rotate = 0
hdmi_group = 2
hdmi_mode = 87
Restartujte RPi a vyzkoušejte službu fbcp zadáním fbcp do konzoly. Nyní byste měli vidět obsah obrazovky na LCD.
Spuštění fbcp při spuštění
Upravte /etc/rc.local a přidejte následující řádek mezi IP adresu a výstupní řádek
fbcp &
Nyní by se měl displej zapnout při každém spuštění RPi
Krok 3: Databáze
Pro přihlášení a ukládání sensordata jsem vytvořil vlastní databázi, která obsahuje 4 tabulky. Diagram EER je zobrazen na obrázku výše.
1. Zařízení
Tato tabulka obsahuje všechny senzory. Popisuje název senzoru, popis a měřicí jednotku. Tato tabulka má vztah jedna k mnoha s akcemi tabulky, protože v mém případě může senzor accelero provádět různé úkoly.
2. Akce
Tato tabulka ukládá akce pro různé senzory. Jedna akce je vždy spojena s konkrétním senzorem. Například: akce 'TEMP' je spojena se zařízením, které měří teplotu. To by byl 1vodičový snímač teploty.
3. Historie
Tato tabulka obsahuje všechny protokoly senzorů. Každý protokol má ID akce, hodnotu, časové razítko a ID jízdy
4. Jízdy
Tato tabulka ukládá různé jízdy. Pokaždé, když uživatel zahájí novou jízdu, provede se nový záznam v této tabulce
Chcete -li získat tuto databázi na svém Raspberry Pi, přejděte na můj GitHub a klonujte/stáhněte si úložiště. Pod databází najdete 2 soubory.sql. Spusťte je na pracovním stole PhpMyAdmin nebo MySQL. Nyní by měla být databáze na vašem RPi.
Krok 4: Backend
Pokud jste to ještě neudělali, přejděte na můj GitHub a klonujte/stáhněte úložiště. Ve složce Backend najdete úplný backend projektu.
Složka obsahuje třídy pro čtení senzorů pod /pomocníky, soubory pro komunikaci s databází v /úložištích a hlavní aplikace je umístěna v kořenovém adresáři pod názvem app.py.
Instalace balíčků Pythonu
Než se pokusíme spustit cokoli, musíme nejprve nainstalovat nějaké balíčky pro python. Zamiřte do terminálu vašeho RPi a zadejte následující příkazy:
pip3 nainstalujte mysql-connector-python
pip3 install flask-socketio
pip3 nainstalujte flask-cors
pip3 install gevent
pip3 nainstalujte gevent-websocket
DŮLEŽITÁ POZNÁMKA: pokud jste změnili heslo pro Mariadb/Mysql, změňte heslo v config.py!
Otestujte backend
Spusťte app.py pomocí překladače python3 (/usr/bin/python3). Ujistěte se, že nejsou žádné chyby.
Spuštění backendu při bootování
Upravte službu motoDash_backend.service a změňte YOURFILEPATH na cestu, kde je uloženo úložiště.
Nyní zkopírujte tento soubor do/etc/systemd/system/
sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.
Nyní se backend spustí automaticky při každém spuštění RPi.
Krok 5: Frontend
Přejděte do GitHub Repo. Zkopírujte obsah adresáře Frontend do/var/www/html.
To je vše, co byste měli udělat, aby frontend fungoval. Tato složka obsahuje všechny webové stránky, styly a skripty pro webové rozhraní. Komunikuje také s backendem. Chcete -li vyzkoušet, zda vše funguje, jak má, ujistěte se, že jste připojeni k vašemu RPi, a do prohlížeče zadejte IP adresu RPi. Měli byste vidět domovskou stránku webového rozhraní.
Poznámka: Web je citlivý, takže jej můžete použít na mobilních zařízeních i na počítačích
Krok 6: Zobrazení řídicího panelu na displeji
Frontend má vlastní skrytou webovou stránku používanou pouze pro malý displej. Automaticky spustíme Pi z tohoto webu v režimu celé obrazovky.
Ujistěte se, že je RPi nastaven na automatické přihlášení na ploše v raspi-config v možnostech spouštění
sudo raspi-config
Nyní přejděte do skryté konfigurační složky a vytvořte nový soubor
cd.config
sudo mkdir -p lxsession/LXDE -pi
sudo nano lxsession/LXDE-pi/autostart
Přidejte do tohoto souboru následující řádky 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
Nyní by se Pi mělo na tuto webovou stránku spustit vždy
Krok 7: Pájení elektroniky
Vezměte si odpočinkovou desku a strukturovaně na ni rozložte své součásti. Nebudu rozebírat rozvržení toho, jak jsem na něj pájel součásti, protože jsem na tom udělal dost špatnou práci. Použil jsem na desce oddělené záhlaví pinů, takže jsem potřeboval pouze připojit senzory a moduly k pravému kolíku. Ujistěte se, že víte, který pin je k čemu!
Několik tipů při pájení:
- Při překonávání větších vzdáleností používejte izolované dráty. Poslední věc, kterou chcete, jsou šortky ve vašem okruhu
- Po pájení součásti nebo drátu zkontrolujte jeho spojitost pomocí multimetru. Pravidelně také kontrolujte zkraty.
- Nepoužívejte příliš mnoho nebo příliš málo pájky!
- Pokud nevíte, jak pájet, nacvičte si to nejprve na jiné prototypovací desce. Návod k pájení najdete zde.
Nyní k senzorům připájejte dostatečně dlouhé dráty a obepněte je smršťovacím obalem, abyste se ujistili, že vše není zkratované a čisté.
Až budete hotovi, znovu zkontrolujte, zda nedošlo ke zkratu nebo špatnému připojení, a zkontrolujte každé připojení pomocí elektrického schématu, zda je to správné připojení. Jakmile jste si jisti, že je vše provedeno správně, pokračujte a položte odlamovací desku na RPi, nakonec ji zašroubujte pomocí 2,5 mm šroubů a distančních tyčí. Připojte senzory ke správným kolíkům a otestujte je všechny pomocí webové stránky.
Krok 8: Napájení
K napájení Raspberry Pi použijeme USB adaptér 12V-5V. Tento adaptér bude připojen k baterii motocyklu. Abychom se ujistili, že se RPi zapne, když je spínač zapalování zapnutý, použijeme relé. Relé sepne napájecí obvod RPi, když detekuje napětí ze zadního světla (zadní světlo se vždy zapne při zapnutí zapalování).
Podrobnější návod k tomuto tématu najdete na této stránce: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxiliary-power-for-pcv-wb2-and-other-fuel -řadiče.16921/
Krok 9: Bydlení
Pouzdro displeje
U displeje si vezměte tvrdý plastový box přibližně od velikosti displeje. Vyřízněte do něj čtvercový otvor velký jako displej a odpovídající otvory pro přišroubování displeje. Vpředu je třeba vyvrtat 2 další otvory pro RGB LED a LDR.
Tuto krabici jsem připevnil na držák smartphonu pomocí šroubu.
Senzor teploty
Pro umístění teplotního senzoru jsem 3D vytiskl olejoměr, který se hodí k mému motocyklu.
Raspberry Pi
Namontujte samotnou malinu Pi na bezpečné místo uvnitř motocyklu, umístil jsem ji pod jeden z blatníků pomocí pásků na suchý zip. A chránilo ho před živly pomocí pouzdra a nějakého plastu.
Akcelerometr
Akcelerometr namontujte na bezpečné místo, nejlépe na samotný rám motocyklu.
Poznámka:
Nemusíte mít úplně stejné bydlení jako já, můžete ho dokončit, jak chcete. Jen se ujistěte, že jsou elektronické součásti chráněny před deštěm a prachem.
Doporučuje:
Hlavní panel COVID-19 WHO: 8 kroků (s obrázky)
Hlavní panel WHO COVID-19: Tento návod ukazuje, jak pomocí ESP8266/ESP32 a LCD sestavit hlavní panel WHO v situaci COVID-19
Hlavní panel COVID19 na mapě světa (pomocí Pythonu): 16 kroků
Hlavní panel COVID19 na mapě světa (pomocí Pythonu): Vím, že téměř všichni víme většinu informací o COVID19. A tento návod je o vytvoření bublinové mapy pro vykreslení dat (případů) v reálném čase na mapě světa. „Program jsem přidal do úložiště Github: https: //github.co
Hlavní panel AirVisual Air Quality API: 5 kroků
Hlavní panel AirVisual Air Quality API: AirVisual (https://www.airvisual.com) je webová stránka, která poskytuje údaje o kvalitě ovzduší po celém světě. Mají API, které použijeme k získání dat o kvalitě ovzduší k odeslání na řídicí panel. S tímto API budeme komunikovat podobně, jako jsme to dělali s
Streamování dat z Tabulek Google na hlavní panel: 6 kroků
Streamujte data z Tabulek Google na řídicí panel: Tabulky vynikají při manipulaci s daty, ale při jejich nezobrazování. To je přesně důvod, proč se začalo objevovat tolik specializovaných společností pro vizualizaci dat a BI dashboard. Problém většiny těchto produktů spočívá v tom, že jsou obvykle drahé a
Hlavní panel teploty Lora: 5 kroků
Panel teploty Lora: Ve svém posledním Instructable jsem vám ukázal, jak připojit teplotní senzor k Lora přes TTN. Nyní vám ukážu, jak můžete tato data přečíst a ukázat je na hlavním panelu. Rovněž se budeme zabývat tím, jak používat data v IFTTT