Obsah:

Barometer Raspberry Pi Barometer: 9 krokov (s obrázkami)
Barometer Raspberry Pi Barometer: 9 krokov (s obrázkami)

Video: Barometer Raspberry Pi Barometer: 9 krokov (s obrázkami)

Video: Barometer Raspberry Pi Barometer: 9 krokov (s obrázkami)
Video: Home Assistant. Урок 9.2 ADD-ON HACS - Home Assistant Community Store, обновление 2021 2024, November
Anonim
Hodiny s barometrom Raspberry Pi
Hodiny s barometrom Raspberry Pi

V tomto návode vám ukážem, ako zostaviť základné hodiny teplomeru / barometra pomocou Raspberry Pi 2 so snímačom BMP180 I2C, ktorý sa zobrazuje na 4 -miestnom 7 -segmentovom displeji I2C Adafruit. Pi tiež používa hodinový modul I2C v reálnom čase DS3231 na udržanie času pri reštarte Pi.

Hodiny prechádzajú 4 stupňami po 5 sekundách. Najprv ukazuje teplotu v stupňoch Celzia, potom vo Fahrenheite potom barometrický tlak v kPa *(toto číslo kráča vľavo kvôli obmedzenému počtu číslic) a nakoniec ukazuje trend zmeny barometrického tlaku odteraz do priemeru predchádzajúca hodina.

Tieto hodiny sa od väčšiny líšia tým, že každú minútu používa databázu MySQL na zariadení Pi na zaznamenávanie údajov z BMP180. Pretože súčasný barometrický tlak nie je taký hodnotný ako jeho pohyb nahor alebo nadol za dané časové obdobie, používa túto databázu na výpočet priemeru za hodinu pred 2 hodinami a 1 hodinou a porovnáva ho s aktuálnym tlakom. Významné zvýšenie barometrického tlaku zvyčajne naznačovalo zlepšenie poveternostných podmienok, pričom veľký pokles môže varovať pred hroziacou búrkou.

Hodiny sú umiestnené v 3D tlačenom kryte ABS s BMP180 vo ventilovanom kryte na zadnej strane hodín, aby sa zabránilo teplu generovanému Pi, aby ovplyvňovalo hodnoty teploty. Ak si chcete vytlačiť vlastnú, poskytnem schému Autodesk 123D Design.

Hodiny sú napájané štandardnou nástennou bradavicou USB a celkovo odoberajú približne 450 mA.

Nebudem zachádzať príliš do podrobností o základnom nastavení Pi a I2C, pretože to bolo popísané v mnohých ďalších pokynoch, na ktoré poskytnem odkazy.

Krok 1: Pripravte si Pi

Pripravte si Pi
Pripravte si Pi

Nastavte si Raspberry Pi - Podrobnosti na Raspberrypi.org

  1. Stiahnite a nainštalujte si vybranú distribúciu Linuxu na kartu SD - použil som Raspbian
  2. Pripojte pí a naštartujte ho
  3. Na pripojenie pí k svojmu smerovaču som použil adaptér micro WiFi, pretože kryt hodín zakrýva ethernetový port.
  4. Použil som bezhlavý režim, kde sa k pí pripájate pomocou SSH, takže všetko, čo potrebujete zapojiť, je napájanie.
  5. Konfigurujte I2C na Pi - Postupoval som podľa týchto pokynov na webe Adafruit.

Krok 2: Zapojte všetko

Zapojte to všetko
Zapojte to všetko

Všetky moduly, ktoré používam v tomto projekte, sú odolné voči 5 V a používajú I2C, čo je 2 -vodičový protokol používaný na vzájomnú komunikáciu integrovaných obvodov, takže zapojenie je veľmi jednoduché. Pripojte všetky VCC k 5V, všetky uzemnenia dohromady a všetky linky SCA a SCL dohromady podľa schémy. Práca hotová.

Krok 3: Otestujte si I2C

Otestujte si svoj I2C
Otestujte si svoj I2C

Súčasťou inštalácie I2C je spustenie i2cdetect, ktorý by mal vyzerať ako priložený obrázok, ak je všetko správne zapojené.

Nasledujú zodpovedajúce adresy

  1. 0x70 = 7 -segmentový displej
  2. 0x77 = Snímač teplomeru / barometra BMP180
  3. 0x68 = Modul hodín reálneho času DS3231
  4. 0x57 = DS3231 na palube EEPROM na ukladanie údajov alarmu.

Krok 4: Nainštalujte MySQL a PhpMyAdmin

Nainštalujte MySQL a PhpMyAdmin
Nainštalujte MySQL a PhpMyAdmin

Inštalácia mySQL je pomerne jednoduchá, ak sa budete riadiť týmto návodom

sudo apt-get install mysql-server

Tiež som nainštaloval phpMyAdmin, čo je webová stránka, ktorá beží na Apache a ktorú môžete použiť na vytváranie a správu databáz mySQL. Návod tu

sudo apt-get install phpmyadmin

Po inštalácii som nainštaloval databázu s názvom BP180 pomocou phpMyAdmin so štruktúrou podľa obrázku.

Využívam tiež modul pythonu s názvom mysqlDB, ktorý môžete nainštalovať pomocou

sudo apt-get install python-mysqldb

Krok 5: Nainštalujte moduly Python

Stiahnite a nainštalujte nižšie uvedené moduly pythonu, ktoré použijete na pripojenie k senzorom.

  1. Modul Adafruit_BMP085
  2. Modul SDL_DS3231
  3. Segmentový modul Adafruit 7

Krok 6: Kód na prihlásenie do databázy

Nasledujúci úryvok kódu sa používa na zaznamenávanie teploty a barometrického tlaku a je vyvolaný z cron skriptu (naplánované úlohy Linuxu), ktorý sa spúšťa každých 5 minút. Ak sa chcete dozvedieť, ako používať crond, prečítajte si tento návod.

NB! Nebojte sa zničiť moje kódovacie schopnosti, nie som vývojár, takže áno, pravdepodobne existuje milión lepších, rýchlejších, plynulejších a čistejších spôsobov, ako to urobiť

V kóde si všimnete, že teplota je znížená o 7 stupňov, čo je ekvivalent tepla, ktoré generuje Raspberry Pi, aj keď je BMP180 namontovaný na vonkajšej strane krytu. Keď som ho pôvodne mal vo vnútri krytu, bol asi o 15 stupňov teplejší ako okolité prostredie. Zdá sa to byť dosť lineárne, ale nemal som možnosť testovať žiadne extrémy. Ocenili by sme spätnú väzbu o vašich skúsenostiach.

Krok 7: Kód na zobrazenie teploty

Kód na zobrazenie teploty
Kód na zobrazenie teploty
Kód na zobrazenie teploty
Kód na zobrazenie teploty
Kód na zobrazenie teploty
Kód na zobrazenie teploty
Kód na zobrazenie teploty
Kód na zobrazenie teploty

Tento kód sa volá na cyklické prechádzanie displejom podľa úvodu.

Opäť nie som vývojár, takže kód je skutočne hrubý, ale funguje

Krok 8: 3D tlačená príloha

3D tlačená príloha
3D tlačená príloha
3D tlačená príloha
3D tlačená príloha
3D tlačená príloha
3D tlačená príloha
3D tlačená príloha
3D tlačená príloha

Ďalej je dizajn krytu. To bolo dosť náročné, pretože tvar je náchylný na deformáciu, pretože časti vonkajšieho plášťa sú hrubé iba 2 mm. Najprv som nakreslil makety Pi a všetkých častí a potom som okolo nich navrhol ohradu. Tlač trvala asi 7 hodín na mojom RapMan 3.2 (čo je dosť pomalá tlačiareň) v hĺbke 0,25 vrstvy.

Priložená schéma je vytvorená v programe Autodesk 123D Design, ktorý je podľa mňa fantastickým kusom slobodného softvéru.

Všimnite si toho, že niektoré otvory, ako tie, ktoré sú potrebné na montáž Pi, nie sú v dizajne, pretože je lepšie ich vyvŕtať potom, ak sa vaša tlač trochu zdeformuje. Stabilná ruka 3 mm vrták je všetko, čo potrebujete. Hĺbku na bite označte maskovacou páskou, aby ste omylom neprešli priamo svojim 7 -hodinovým výtlačkom ako ja.

Krok 9: Čo robiť

Veci na práci
Veci na práci
  1. Hodiny v reálnom čase boli doplnkom po piatom vytlačení krytu, takže sú v súčasnej dobe za tepla nalepené na bočnú stranu krytu, ktorá nevyzerá dobre, takže by som rád zmenil vzhľad a pridal k nemu miesto.
  2. Jas 7 -segmentového displeja je v súčasnosti nastavený na najsvetlejší, čo nie je optimálne pre silné svetelné podmienky. Chcel by som pridať fotografický odpor k hornej časti krytu a upraviť 7 -segmentový jas na základe okolitých svetelných podmienok.
  3. Pri praskaní základne existujú menšie problémy s dizajnom, ktoré budú tiež opravené.
  4. Akékoľvek nápady sú vítané.

Dúfam, že sa vám tento návod páčil a považujete ho za dostatočne inšpiratívneho, aby ste mohli začať. Cieľom je poskytnúť platformu, pomocou ktorej môžete pridávať svoje vlastné nápady. Bavte sa!

Odporúča: