Obsah:

Hlavní panel motocyklu Raspberry Pi: 9 kroků (s obrázky)
Hlavní panel motocyklu Raspberry Pi: 9 kroků (s obrázky)

Video: Hlavní panel motocyklu Raspberry Pi: 9 kroků (s obrázky)

Video: Hlavní panel motocyklu Raspberry Pi: 9 kroků (s obrázky)
Video: Исцеляющий самогон ► 9 Прохождение A Plague Tale: innocence 2024, Listopad
Anonim
Palubní deska motocyklu Raspberry Pi
Palubní deska motocyklu Raspberry Pi

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í
  • Sada odporů

    Různé barvy 0,2 mm drátu

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

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í

Prototypování
Prototypování
Prototypování
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

Příprava Raspberry Pi
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

Databáze
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

Frontend
Frontend
Frontend
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

Zobrazení řídicího panelu na displeji
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

Pájení elektroniky
Pájení elektroniky
Pájení elektroniky
Pájení elektroniky
Pájení elektroniky
Pájení elektroniky
Pájení elektroniky
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í

Bydlení
Bydlení
Bydlení
Bydlení
Bydlení
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: