Obsah:
- Krok 1: Připravte si Pi
- Krok 2: Zapojte vše
- Krok 3: Otestujte si I2C
- Krok 4: Nainstalujte MySQL a PhpMyAdmin
- Krok 5: Nainstalujte moduly Pythonu
- Krok 6: Kód pro přihlášení do databáze
- Krok 7: Kód pro zobrazení teploty
- Krok 8: 3D tištěná skříň
- Krok 9: Co dělat
Video: Počasí Barometer Raspberry Pi: 9 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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
Nastavte si Raspberry Pi - Podrobnosti na Raspberrypi.org
- Stáhněte a nainstalujte si vybranou linuxovou distribuci na SD kartu - použil jsem Raspbian
- Připojte pi a spusťte jej
- Pro připojení pí k mému routeru jsem použil adaptér micro WiFi, protože pouzdro hodin zakrývá ethernetový port.
- 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í.
- Konfigurujte I2C na Pi - Postupoval jsem podle těchto pokynů na webu Adafruit.
Krok 2: Zapojte vše
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
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
- 0x70 = 7segmentový displej
- 0x77 = Teploměr / barometr BMP180
- 0x68 = DS3231 Modul hodin reálného času
- 0x57 = DS3231 na palubě EEPROM pro ukládání alarmových dat.
Krok 4: 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.
- Modul Adafruit_BMP085
- Modul SDL_DS3231
- 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
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říň
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
- 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.
- 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.
- S popraskáním základny existují drobné konstrukční problémy, které budou také opraveny.
- 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:
Počasí: 7 kroků (s obrázky)
Počasí Poznámka: Toto je kombinace meteorologické stanice a připomenutí. Všichni můžeme kontrolovat počasí na našich telefonech, ale někdy a zvláště když se někdo pokouší dostat ven ze dveří, vše, co je potřeba, je rychlá cesta k povětrnostním podmínkám. Tato meteorologická stanice podporuje
Zobrazení předpovědi počasí ve stylu Art Deco: 9 kroků (s obrázky)
Zobrazení předpovědi počasí ve stylu Art Deco: Dobrý den, přátelé, v tomto instruktážním videu uvidíme, jak vytvořit tento displej s předpovědí počasí. Pro zobrazení předpovědi počasí používá mini desku Wemos D1 spolu s 1,8palcovou barevnou TFT obrazovkou. Také jsem navrhl a 3D vytiskl kryt pro
Hodiny přílivu a počasí: 9 kroků (s obrázky)
Hodiny přílivu a počasí: Ačkoli si můžete koupit analogové hodiny přílivu a odlivu, které mají jedinou ručičku ukazující, zda je příliv vysoký nebo nízký nebo někde mezi nimi, chtěl jsem něco, co by mi napovědělo, v jaké době bude odliv. Chtěl jsem něco, na co bych se mohl podívat
Vytvořte řídicí panel počasí pomocí API Dark Sky: 5 kroků (s obrázky)
Build a Weather Dashboard using Dark Sky API: Dark Sky se specializuje na předpověď počasí a vizualizaci. Nejúžasnějším aspektem Dark Sky je jejich počasí API, které můžeme použít k načtení údajů o počasí téměř odkudkoli na světě. Nejde jen o deštivé nebo slunečné počasí, ale také o temperament
Počasí Camera Raspberry Pi: 13 kroků (s obrázky)
Počasí Camera Raspberry Pi: Před časem jsem chtěl projekt, který kombinuje následující: Raspberry PiPython Code Živý stavIndikace aktivityProto jsem se rozhodl postavit box Raspberry Pi, který bude fotit můj dvorek v naplánovaných intervalech, indikovat, kdy byly fotky