Obsah:

Počasí Barometer Raspberry Pi: 9 kroků (s obrázky)
Počasí Barometer Raspberry Pi: 9 kroků (s obrázky)

Video: Počasí Barometer Raspberry Pi: 9 kroků (s obrázky)

Video: Počasí Barometer Raspberry Pi: 9 kroků (s obrázky)
Video: Raspberry Pi: Use a BMP180 Sensor to display Temp and Barometric Pressure 2024, Listopad
Anonim
Počasí barometr Pi barometr
Počasí barometr Pi barometr

V tomto návodu vám ukážu, jak sestavit základní hodiny teploměru / barometru pomocí Raspberry Pi 2 se snímačem BMP180 I2C zobrazujícím na 4místném 7 segmentovém displeji I2C Adafruit. Pi také používá hodinový modul I2C v reálném čase DS3231 k udržení času při restartu Pi.

Hodiny procházejí 4 fázemi po 5 sekundách. Nejprve ukazuje teplotu ve stupních Celsia, poté ve Fahrenheitech pak barometrický tlak v kPa *(kvůli omezenému počtu číslic kráčí toto číslo doleva) a nakonec ukazuje trend změny barometrického tlaku mezi dneškem a průměrem předchozí hodinu.

V čem se tyto hodiny nejvíce liší, je to, že každou minutu používá databázi MySQL na Pi pro protokolování dat z BMP180. Protože současný barometrický tlak není tak cenný jako jeho pohyb nahoru nebo dolů v daném časovém období, používá tuto databázi k výpočtu průměru za hodinu před 2 hodinami a 1 hodinou a porovnává to se současným tlakem. Významné zvýšení barometrického tlaku obvykle naznačovalo zlepšení povětrnostních podmínek, zatímco velký pokles by mohl varovat před blížící se bouří.

Hodiny jsou umístěny v 3D tištěném pouzdře ABS s BMP180 ve ventilovaném víčku na zadní straně hodin, aby se zabránilo teplu generovanému PI ovlivňovat odečty teploty. Pokud si chcete vytisknout vlastní, poskytnu schéma Autodesk 123D Design.

Hodiny jsou napájeny standardní nástěnnou bradavicí USB a celkem odebírají přibližně 450 mA.

Nechystám se jít příliš do podrobností o základním nastavení Pi a I2C, protože to bylo pokryto v mnoha dalších instruktážních dokumentech, na které poskytnu odkazy.

Krok 1: Připravte si Pi

Připravte si Pi
Připravte si Pi

Nastavte si Raspberry Pi - Podrobnosti na Raspberrypi.org

  1. Stáhněte a nainstalujte si vybranou linuxovou distribuci na SD kartu - použil jsem Raspbian
  2. Připojte pi a spusťte jej
  3. Pro připojení pí k mému routeru jsem použil adaptér micro WiFi, protože pouzdro hodin zakrývá ethernetový port.
  4. Použil jsem bezhlavý režim, kde se k pí připojíte pomocí SSH, takže vše, co potřebujete zapojit, je napájení.
  5. Konfigurujte I2C na Pi - Postupoval jsem podle těchto pokynů na webu Adafruit.

Krok 2: Zapojte vše

Zapojte to všechno
Zapojte to všechno

Všechny moduly, které v tomto projektu používám, jsou tolerantní k 5V a používají I2C, což je 2vodičový protokol používaný pro vzájemnou komunikaci integrovaných obvodů, takže zapojení je velmi jednoduché. Připojte všechny VCC k 5V, všechny Grounds dohromady a všechny linky SCA a SCL dohromady podle schématu. Hotovo.

Krok 3: Otestujte si I2C

Otestujte si svůj I2C
Otestujte si svůj I2C

Součástí instalace I2C je spuštění i2cdetect, který by měl vypadat jako přiložený obrázek, pokud je vše správně zapojeno.

Níže jsou uvedeny odpovídající adresy

  1. 0x70 = 7segmentový displej
  2. 0x77 = Teploměr / barometr BMP180
  3. 0x68 = DS3231 Modul hodin reálného času
  4. 0x57 = DS3231 na palubě EEPROM pro ukládání alarmových dat.

Krok 4: Nainstalujte MySQL a PhpMyAdmin

Nainstalujte MySQL a PhpMyAdmin
Nainstalujte MySQL a PhpMyAdmin

Instalace mySQL je poměrně přímočará, pokud se budete řídit tímto tutoriálem

sudo apt-get install mysql-server

Také jsem nainstaloval phpMyAdmin, což je webová stránka běžící na Apache, kterou můžete použít k vytváření a správě databází mySQL. Výukový program zde

sudo apt-get install phpmyadmin

Po instalaci jsem vytvořil databázi s názvem BP180 pomocí phpMyAdmin se strukturou podle obrázku.

Využívám také modul pythonu s názvem mysqlDB, který můžete nainstalovat pomocí

sudo apt-get install python-mysqldb

Krok 5: Nainstalujte moduly Pythonu

Stáhněte a nainstalujte níže uvedené moduly pythonu, které budete používat k připojení k senzorům.

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

Krok 6: Kód pro přihlášení do databáze

Níže uvedený úryvek kódu se používá k zaznamenávání teploty a barometrického tlaku a je volán ze skriptu cron (naplánované úlohy Linuxu), který běží každých 5 minut. Chcete -li se naučit používat crond, podívejte se na tento tutoriál.

NB! Nebojte se zničit mé kódovací schopnosti, nejsem vývojář, takže ano, pravděpodobně existuje milion lepších, rychlejších, hladších a čistších způsobů, jak toho dosáhnout

V kódu si všimnete, že teplota je snížena o 7 stupňů, což odpovídá teplu generovanému Raspberry Pi, i když je BMP180 namontován na vnější straně pouzdra. Když jsem ho původně měl uvnitř pouzdra, bylo asi o 15 stupňů teplejší než okolní prostředí. Vypadá to dost lineárně, ale neměl jsem možnost testovat nějaké extrémy. Ocenili bychom zpětnou vazbu o vašich zkušenostech.

Krok 7: Kód pro zobrazení teploty

Kód pro zobrazení teploty
Kód pro zobrazení teploty
Kód pro zobrazení teploty
Kód pro zobrazení teploty
Kód pro zobrazení teploty
Kód pro zobrazení teploty
Kód pro zobrazení teploty
Kód pro zobrazení teploty

Tento kód je volán k procházení displeje podle úvodu.

Opět nejsem vývojář, takže kód je opravdu hrubý, ale funguje

Krok 8: 3D tištěná skříň

3D tištěná skříň
3D tištěná skříň
3D tištěná skříň
3D tištěná skříň
3D tištěná skříň
3D tištěná skříň
3D tištěná skříň
3D tištěná skříň

Další je design skříně. To bylo docela náročné, protože tvar je náchylný k deformaci, protože části vnějšího pláště jsou silné pouze 2 mm. Nejprve jsem nakreslil makety Pi a všech částí a poté navrhl kryt kolem něj. Tisk trval přibližně 7 hodin na mém RapMan 3.2 (což je docela pomalá tiskárna) v hloubce 0,25 vrstvy.

Připojené schéma je vytvořeno v aplikaci Autodesk 123D Design, což je podle mě fantastický kousek svobodného softwaru.

Všimněte si, že některé otvory, jako jsou ty potřebné pro montáž Pi, nejsou v designu, protože je lepší je vyvrtat později v případě, že se váš tisk trochu deformuje. Stabilní ruka 3 mm vrták je vše, co potřebujete. Označte hloubku na bitu maskovací páskou, abyste náhodou neprošli přímo svým 7hodinovým tiskem jako já.

Krok 9: Co dělat

Věci ke splnění
Věci ke splnění
  1. Hodiny v reálném čase byly doplňkem poté, co byla skříňka potřetí vytištěna, takže je v současné době nalepena na stranu skříně za horka, která nevypadá dobře, takže bych rád znovu provedl design a přidal pro ni místo.
  2. Jas 7segmentového displeje je aktuálně nastaven na nejsvětlejší, což není optimální pro silné světelné podmínky. Chtěl bych do horní části skříně přidat fotografický odpor a upravit 7segmentový jas na základě okolních světelných podmínek.
  3. S popraskáním základny existují drobné konstrukční problémy, které budou také opraveny.
  4. Jakékoli nápady jsou vítány.

Doufám, že se vám tento návod líbil a zjistil jste, že je dostatečně inspirativní, abyste se do něj mohli pustit. Cílem je poskytnout platformu, pomocí které můžete přidávat vlastní nápady. Bavte se!

Doporučuje: