Obsah:
- Krok 1: 3D tisk - obrazovka Stevenson
- Krok 2: Okruh
- Krok 3: IoT - Blynk
- Krok 4: Kód - Příprava IDE Arduino
- Krok 5: Kód - Blynk
- Krok 6: Kód - Tabulky Google
- Krok 7: Kód - Blynk a Tabulky Google
- Krok 8: Závěrečné komentáře
Video: Další meteorologická stanice IoT: 8 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Následoval dárek k narozeninám pro mého otce; inspirovaný dalším Instructable, který jsem viděl a původně měl v úmyslu se mu ukázat jako stavebnice pro vlastní stavbu. Když jsem s ním začal pracovat na tomto projektu, velmi rychle jsem si uvědomil, že úvodní tutoriál, který inspiroval dárek, je zastaralý a že mnoho dalších online tutoriálů mělo ve svých vysvětlivkách značné mezery. Rozhodl jsem se proto vydat další meteorologickou stanici IoT, která by snad mohla být snadno sledovatelná od začátku do konce.
Tento návod vám dále ukazuje, jak používat Blynk, Tabulky Google nebo obojí k monitorování a zaznamenávání údajů ze senzorů. Záznamy v Tabulkách Google se navíc zapisují přímo do listu (bez nutnosti použití služby třetí strany).
Pokud jde o obrazovku Stevenson, existuje mnoho dostupných online, které lze 3D vytisknout, např. https://www.thingiverse.com/thing:1718334. Budu na tom stavět pro tento Instructable.
Stevenson Screen je „úkryt nástroje je úkryt nebo kryt meteorologických přístrojů před srážkami a přímým tepelným zářením z vnějších zdrojů, přičemž stále umožňuje volný pohyb vzduchu kolem nich“. (Wikipedie).
Díly
- Wemos LolIn - NodeMCU v3 (1,43 USD)
- BME280 (snímač teploty, tlaku a vlhkosti) (2,40 USD)
- 6V 1000mA solární panel (9,96 USD)
- Modul 5V 1A nabíjecí desky lithiové baterie Micro USB 18650+ochrana Duální funkce TP4056 (0,99 USD)
- 4x 1,2V NiMH dobíjecí baterie
- Držák baterie (4x AA, bok po boku a konec na konec)
- Zástrčka konektoru Micro USB Male
- Stahovací pásky
- 3x křídlové matice
- Tyč nebo koště
- Epoxid a/nebo superlepidlo (při zpětném pohledu mohl křemík fungovat lépe)
Software
- Blynk App
- Tabulky Google (pokud chcete mít přístup k historickým datům)
- EasyEDA (pro kreslení schématu)
- Arduino IDE
Nástroje
- Páječka
- Pájka
- Smršťovací bužírky
- 3D tiskárna
- Tavná pistole
Krok 1: 3D tisk - obrazovka Stevenson
Jak již bylo zmíněno, stáhněte si soubory z https://www.thingiverse.com/thing:1718334 a vytiskněte požadované bity. Pokyny k montáži najdete také ve výše uvedeném odkazu. Udělal jsem nějaké úpravy (viz poznámky níže).
Vytištěné díly jsou:
- Top_Cover_for_m3_tapping.stl
- Middle_Ring.stl (x5)
- Middle_Ring_bottom.stl (x1, STL připojeno výše)
- Solid_Plate.stl (x1)
- Solid_Plate_Base.stl (x1)
- Pole_Mount_1in_Round.stl
- Sensor_Grid.stl
- Electronics_Mount.stl
- My_Solar_Cell_Mount.stl (x2, STL připojeno výše)
Objednávka montáže je:
- Provlékněte otvory
- Zašroubujte tyče M3 do závitových hrdel
- Top_Cover
- Solid_Plate
- Střední_kroužky
- Zasuňte Sensor_Grid
- Elektronika_Montáž
- Solid_Plate_Bottom
- Pole_Mount
- Hodnoty My_Solar_Cell_Mounts jsou epoxidovány na horní část Top_Cover
Do pevných desek jsem vyvrtal otvory, aby se nabíjecí kabel ze solárního panelu připojil k nabíječce, a poté jeden, aby kabel vedl z ovladače k senzoru na Sensor_Grid.
Po dokončení byl senzor naprogramován tak, aby každých 60 minut prováděl následující měření:
- Teplota
- Vlhkost vzduchu
- Tlak
Poznámky
- Přizpůsobil jsem držáky solárních článků, aby lépe vyhovovaly držení mého solárního článku.
- Instaloval jsem elektroniku mezi Pole_Mount a Solid_Plate. Nezdálo se, že by to poskytovalo dobrou ochranu elektroniky. Proto jsem na Solid_Plate upravil tak, aby měl sukni, která by pak zacelila mezeru a tím poskytla lepší ochranu elektroniky. Některé z výše uvedených fotografií byly pořízeny před provedením této změny.
- Můj epoxid přistál a nedržel solární panel, který jsem poté znovu připevnil super lepidlem. Myslím, že přistoupím na to, že budu muset používat křemík.
Krok 2: Okruh
Zapojte obvod podle schématu a upevněte LoLin a BME280 na 3D vytištěnou síť, jak je znázorněno na fotografii.
BME280 -> LiLon
- VCC -> 3,3 V.
- GND -> GND
- SCL -> D1
- SDA -> D2
LiLon -> LiLon
D0 -> RST (je to nutné k probuzení ovladače z hlubokého spánku, ale musí být připojeno až po nahrání kódu do ovladače)
POZNÁMKA
Při získávání vhodné baterie LiLon jsem měl problémy. Také z nějakého důvodu jsem neměl úspěch při napájení přes VIN. Napájel jsem tedy následovně:
- Výstup z TP4056 byl připojen ke konektoru Male USB, který byl poté zapojen do zásuvky USB desky, aby bylo možné jej napájet.
- B- a B+ na TP4056 byly připojeny k držáku baterií AA, který držel baterie NiMH.
Krok 3: IoT - Blynk
„Blynk je hardwarově agnostická platforma IoT s přizpůsobitelnými mobilními aplikacemi, privátním cloudem, pravidly a nástrojem pro správu zařízení pro správu zařízení“. V zásadě vám umožňuje bezpečně spravovat a monitorovat vzdálená čidla odkudkoli na světě přes internet. Zatímco jde o komerční službu, ke každému účtu je poskytnuto 2 000 kreditů zdarma. Díky kreditům můžete ke svému senzoru nebo senzorům přidružit různá měřidla, displeje, oznámení atd. Zatímco ceny předplatného jsou mimo rozsah rozpočtu fandy, bezplatné kredity stačí na jednoduchý projekt, jako je tento.
Chcete -li službu začít používat, musíte si nejprve stáhnout aplikaci Blynk do telefonu/zařízení, vytvořit si účet a (nebo se přihlásit pomocí stávajícího účtu) a poté vytvořit nový projekt následujícím způsobem:
- Vyberte si hardware
- Pojmenujte svůj projekt (v tomto případě jsem použil „meteorologickou stanici“).
- Klikněte na „Vytvořit“
- Poté vám přijde e-mailem ověřovací kód.
Nebudete muset přidávat požadované widgety. Ke svým 2000 kreditům zdarma jsem přidal následující:
- 3 měřidla
- 1 Super graf
Měřidla a grafy byly nastaveny podle přiložených fotografií, přičemž každému byl přiřazen vlastní virtuální pin, který by byl v kódu použit jako druhý.
Až budete hotovi s nastavením, můžete stisknutím tlačítka přehrávání v pravém horním rohu zahájit shromažďování data.
Další informace viz
docs.blynk.cc/#getting-started.
Krok 4: Kód - Příprava IDE Arduino
K dokončení tohoto projektu bude nutné do Arduino IDE přidat následující knihovny:
- https://github.com/adafruit/Adafruit_BME280_Library (potřeba snímače teploty, tlaku a vlhkosti)
- https://github.com/adafruit/Adafruit_Sensor
- https://github.com/esp8266/Arduino (tím získáte přístup k desce ESP8266)
- https://github.com/blynkkk/blynk-library/releases/tag/v0.6.1 (knihovna Blynk)
- https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect (pro připojení k Tabulkám Google je potřeba
Pokyny k instalaci knihoven pro Arduino IDE najdete na
Moje nastavení hardwaru je následující:
- Deska: NodeMCU 1.0 (modul ESP-12E)
- Rychlost nahrávání: 115200
Při použití přiloženého kódu v následujících krocích se vždy řiďte komentáři v kódu s ohledem na přidání následujícího:
- Wifi SID
- Wifi heslo
- Autorizační klíč Blynk
- ID skriptu Google
- Klíč pro sdílení Google Sheet
Krok 5: Kód - Blynk
Věky jsem bojoval, aby můj snímač BME280 fungoval, dokud jsem nenašel příklad, který obsahoval následující řádek.
status = bme.begin (0x76); // Adresa I2C senzoru, který používám, je 0x76
Zdá se, že jsem potřeboval nastavit adresu senzoru. Jakmile jsem to udělal, všechno fungovalo dobře.
Blynk má opravdu pěkné mobilní uživatelské rozhraní, ale má následující omezení:
- Pouze 2 000 bezplatných kreditů, projekty vyžadující více než ty vyžadují nákladné měsíční předplatné (pokud hostujete a neudržujete vlastní server Blynk).
- Pokud nejste hostitelem vlastního serveru Blynk, nemůžete exportovat historická data.
Z výše uvedených důvodů jsem se podíval na to, jak bych mohl svůj proces sběru dat integrovat do Tabulky Google. To je popsáno v další části.
Krok 6: Kód - Tabulky Google
Abyste mohli zaznamenávat údaje, abyste mohli později analyzovat historická data, musíte je zapsat do nějaké databáze. Knihovna HTTPSRedirect nám to umožňuje zapsáním našich dat do Tabulky Google.
Hlavní omezení tohoto přístupu jsou následující:
- Žádné pěkné mobilní uživatelské rozhraní
- Tabulka Google může mít maximálně 400 000 buněk. Pro tento projekt to není velký problém, protože bude trvat jen něco málo přes 11 let, než bude dosaženo tohoto limitu.
List Google je nastaven následovně.
Vytvořte list Google se dvěma listy.
List 1: Data
Datový list potřebuje 4 sloupce, tj. Datum/čas, teplotu, vlhkost, tlak (sloupce A až D). Sloupce vhodně formátujte, např. Sloupec A bude „Datum a čas“, aby se v buňkách zobrazovalo datum a čas.
List 2: Dashboard
Vytvořte list řídicího panelu podle přiložených fotografií a zadejte vzorce níže:
- B2: = počet (Data! B: B) -1
- B3: = B1+ČASOVÁ HODNOTA (CONCATENATE ("00:", text (G7, "0")))
- B6: = dotaz (Data! A2: D, "Vyberte pořadí B podle limitu popisu 1")
- C6: = dotaz (Data! A2: D, "Vyberte pořadí C podle limitu popisu 1")
- D6: = dotaz (Data! A2: D, "Vyberte pořadí D podle limitu popisu 1")
- B8: = dotaz (Data! A2: D, "Vyberte objednávku podle B desc limit 1")
- C8: = dotaz (Data! A2: D, "Vyberte objednávku podle C desc limit 1")
- D8: = dotaz (Data! A2: D, "Vyberte objednávku podle D desc limit 1")
- B9: = dotaz (Data! A2: D, "Vyberte B pořadí podle B desc limit 1")
- C9: = dotaz (Data! A2: D, "Vyberte pořadí C podle C desc limit 1")
- D9: = dotaz (Data! A2: D, "Vyberte objednávku D podle limitu D desc 1")
- B11: = dotaz (Data! A2: D, "Vyberte A, kde B není nulové pořadí podle limitu B asc 1")
- C11: = dotaz (Data! A2: D, "Vyberte A, kde C není nulové pořadí podle limitu C asc 1")
- D11: = dotaz (Data! A2: D, "Vyberte A, kde D není nulové pořadí podle limitu D asc 1")
- B12: = dotaz (Data! A2: D, "Vyberte B, kde B není nulové pořadí podle limitu B asc 1")
- C12: = dotaz (Data! A2: D, "Vyberte C, kde C není nulové pořadí podle C asc limit 1")
- D12: = dotaz (Data! A2: D, "Vyberte D, kde D není nulové pořadí podle limitu D asc 1")
- G3: = 4+B2*4+29+17
- G4: = (G2-G3)/G2
- G6: = G2/4 G8: = G7*G6
- G9: = (G8/60)/24
- G10: = G9/365
- G11: = ((((((G2-G3)/4)*G7)/60)/24/ 365)
Tabulky Google mohou mít maximálně 400 000 buněk. To se používá spolu se skutečností, že každé čtení používá 4 buňky, k výpočtu, kolik místa zbývá a kdy dojde.
Na těchto vzorcích může být možné zlepšit. Dělal jsem zde dvě věci, tj. Učil jsem se o vzorci dotazu a pak jsem také psal nějaký vzorec takovým způsobem, aby mi pomohl zapamatovat si logiku za nimi.
Screenshot "Chart Editor" ukazuje základní nastavení pro teplotní graf. Ostatní grafy byly vytvořeny pomocí stejného nastavení. Jediným rozdílem mezi grafy byly minimální hodnoty svislé osy (nacházejí se na kartě přizpůsobení). Karta Přizpůsobit má také další nastavení, jako jsou přístupová jména, názvy grafů atd.
Nyní potřebujeme Google Script, který nám umožní psát naše data voláním adresy URL.
Vytvoření skriptu
Na URL listu Google si poznamenejte klíč mezi „d /“a „ / edit“. Toto je váš klíč-váš klíč ke sdílení listů Google-a bude potřeba v níže uvedeném kódu.
Dále přejděte na Nástroje> Editor skriptů a vytvořte skript Google App Script, vložte kód do přiloženého souboru GS. Aktualizujte var ss = SpreadsheetApp.openByUrl ("https://docs.google.com/spreadsheets/d/-Your-Google-Sheet-Sharing-Key–/edit"); aby odrážel váš klíč sdílení.
Nyní publikujte skript v části Publikovat> Nasadit jako webovou aplikaci.
Zkopírujte adresu URL aktuální webové aplikace a uložte ji někam, jak ji budete potřebovat k extrahování GScriptID (-Vaše-Google-Script-ID–). GScriptID je řetězec mezi „s /“a „ / exec?“. Zajistěte, aby k aplikaci měl přístup „Kdokoli, dokonce i anonymní“. Během tohoto procesu budete požádáni o udělení některých oprávnění. Je důležité, abyste je udělili.
Poznámka: Kdykoli upravíte kód, musíte vytvořit „novou“verzi projektu a publikovat ji, jinak budete stále používat stejný starý kód.
Nyní můžete skript vyzkoušet na adrese https://script.google.com/macros/s/-Your-Google-Script-ID–/exec?Temperature=10&Humidity=11&Pressure=12. Při každém obnovení tohoto odkazu by měl být do Tabulky Google přidán nový záznam.
Toto výše bylo převzato z následujícího tutoriálu: https://embedded-lab.com/blog/post-data-google-sheets-using-esp8266/. Tento výukový program je však zastaralý, a proto byl přidružený kód Arduino v další části změněn tak, aby vyhovoval nejnovějším knihovnám
Kód Arduino
Viz přiložený kód.
Krok 7: Kód - Blynk a Tabulky Google
Aby bylo možné z obou světů dostat to nejlepší, je možné kombinovat kód pro Blynk a Google Sheets.
Viz přiložený kód.
Krok 8: Závěrečné komentáře
Nic z výše uvedeného nejsou moje nápady, ale spíše je to projekt postavený na myšlenkách a práci ostatních. Bavilo mě to tahat úplně na jedno místo. pomocí různých technologií a nástrojů vytvořit skvělý zábavný a praktický projekt. Obzvláště mě bavilo učit se, jak ukládat své hodnoty do Tabulky Google. Za to bych chtěl poděkovat společnosti ElectronicsGuy (Sujay Phadke).
Aktualizace
Po dokončení tohoto projektu jsem potřeboval změnit nastavení bezdrátového připojení. Nyní jsem pracoval na jiném počítači. Po nahrání změn projekt přestal fungovat. Po nějakém řešení problémů jsem dospěl k závěru, že funkce hlubokého spánku selhává. Vzal jsem projekt zpět domů a nahrál jej tam (pomocí stejného kódu) a fungovalo to. Proto jsem dospěl k závěru, že se něco muselo změnit v knihovnách, které jsem přidal. Proto jsem k této sekci připojil knihovny, které jsou aktuálně na mém domácím počítači; jen pro případ, že by na tento problém narazil někdo jiný.
Doporučuje:
Meteorologická stanice IoT s monitorováním VOC: 6 kroků
Meteorologická stanice IoT s monitorováním VOC: V tomto návodu ukazuji, jak vybudovat meteorologickou stanici pro internet věcí (IoT) s monitorováním těkavých organických sloučenin (VOC). Pro tento projekt jsem vyvinul stavebnici Do-It-Yourself (DIY). Hardware a software jsou open-source
Meteorologická stanice NaTaLia: Meteorologická stanice poháněná solární energií Arduino provedla správnou cestu: 8 kroků (s obrázky)
Meteorologická stanice NaTaLia: Meteostanice poháněná solární energií Arduino Správně: Po 1 roce úspěšného provozu na 2 různých místech sdílím své plány projektů solární elektrárny a vysvětluji, jak se vyvinuly do systému, který může skutečně přežít po dlouhou dobu období ze sluneční energie. Pokud budete dodržovat
DIY meteorologická stanice a WiFi senzorová stanice: 7 kroků (s obrázky)
DIY meteorologická stanice a WiFi senzorová stanice: V tomto projektu vám ukážu, jak vytvořit meteorologickou stanici spolu se senzorovou stanicí WiFi. Senzorová stanice měří údaje o místní teplotě a vlhkosti a odesílá je prostřednictvím WiFi do meteorologické stanice. Meteorologická stanice poté zobrazí t
Meteorologická stanice Iot: 5 kroků
Meteorologická stanice Iot: Ahoj kluci, píši tento návod, abych vám ukázal, jak vyrobit meteorologickou stanici založenou na IOT, která používá mini desku Wemos D1 & K zobrazení podrobností o počasí a teplotě z mapy OpenWeather používá 128 × 68 OLED displej
Ještě další meteorologická stanice (Y.A.W.S.): 18 kroků (s obrázky)
Ještě další meteorologická stanice (Y.A.W.S.): Tento projekt je můj pohled na stále oblíbenější meteorologickou stanici. Můj je založen na ESP8266, a.96 ” OLED displej a řada senzorů prostředí BME280. Meteorologické stanice se zdají být velmi oblíbeným projektem. Důl se odlišuje od