Obsah:

ESP8266 NodeMCU s meradlami a grafom BME280: 5 krokov
ESP8266 NodeMCU s meradlami a grafom BME280: 5 krokov

Video: ESP8266 NodeMCU s meradlami a grafom BME280: 5 krokov

Video: ESP8266 NodeMCU s meradlami a grafom BME280: 5 krokov
Video: Контроллер для Grow Box (ГроуБокса), на плате NodeMCU, ESP12E, ESP-07, Своими Руками-(ЧАСТЬ-2) 2024, November
Anonim
ESP8266 NodeMCU s meradlami a grafom BME280
ESP8266 NodeMCU s meradlami a grafom BME280
ESP8266 NodeMCU s meradlami a grafom BME280
ESP8266 NodeMCU s meradlami a grafom BME280

Efektné merače a grafy pre vývojovú dosku ESP8266 NodeMCU so snímačom teploty, vlhkosti a tlaku BME280. Spoločnosť Thingspeak uloží všetky vaše údaje v cloude na načítanie kedykoľvek (dúfajme), že ešte len budú. Meradlá a grafy sa vypĺňajú z údajov uložených na serveri thingspeak a aktualizujú sa automaticky každých 5 minút.

Potrebné položky:

Vývojová doska ESP8266 NodeMCU (3,79 dolárov od Banggood.com Hong Kong)

Bosch BME280 (5,63 dolárov od Banggood.com Hong Kong)

Breadboard jumpery (3,09 dolára od Banggood.com Hong Kong)

Breadboard (2,28 dolárov od Banggood.com Hong Kong)

Napájanie zdarma, ak máte nabíjačku telefónu micro USB

Micro USB kábel, zadarmo, ak ho už máte

Arduino IDE, bezplatné stiahnutie

Získajte súbory s kódom.ino a. HTML tu

Krok 1: Vytvorte a nakonfigurujte svoje kanály Thingspeak

Vytvárajte a nastavujte svoje kanály Thingspeak
Vytvárajte a nastavujte svoje kanály Thingspeak

1. Vytvorte si bezplatný účet Thingspeak a nový kanál na https://thingspeak.com, zavolajte na kanál „ESP8266-NodeMCU-12E-BME280“

2. Nový kanál by mal mať 3 polia s názvom Teplota Vlhkosť Tlak v tomto konkrétnom poradí (poznámka prvé písmeno veľké písmeno).

3. Všimnite si svojho nového „ID kanála“XXXXXX v časti „Nastavenia kanála“

4. Kliknite na odkaz „Kľúče API“a poznačte si svoje „API zápis“a „Čítanie kľúčov API“XXXXXXXXXXXXXXXX. Zmeňte tiež na tento verejný kanál v rámci zdieľania.

5. Vytvorte druhý kanál Thingspeak, ktorý bude uchovávať údaje „Today“(od polnoci) High Low. Nazvite to „BME280 Daily High Low Data“

6. Tento nový kanál by mal mať 6 polí s názvom Tmax Tmin Hmax Hmin Pmax Pmin v tomto konkrétnom poradí (všimnite si veľké písmeno prvého písmena).

7. Vezmite na vedomie „ID kanála“kanála „BME280 Daily High Low Data“, „ID kanála“, „Čítanie“a „Zápis rozhrania API“rovnako ako vo vyššie uvedených krokoch.

Krok 2: Nastavte IDE Arduino, knižnice a nakonfigurujte BME280

Nastavte Arduino IDE, knižnice a nakonfigurujte BME280
Nastavte Arduino IDE, knižnice a nakonfigurujte BME280

8. Pri inštalácii jadra Arduino IDE & ESP8266 postupujte podľa pokynov na stránke

9. Spustite Arduino IDE, aby sme mohli nainštalovať štyri knižnice, ktoré budeme potrebovať.

10. Budete potrebovať knižnicu „Adafruit Unified Sensor Driver“, nainštalujte ju do „Library Manager“v Arduino IDE. Náčrt ponuky Zahrnúť Knižnicu Spravovať Knižnice vyhľadajte podľa typu = "Odporúčaná" téma = "Senzory", potom zadajte do vyhľadávacieho poľa slová Adafruit Unified Sensor Driver. Ten, ktorý chcete, hovorí „Adafruit Unified Sensor Driver by Adafruit“

11. Okrem toho budete tiež potrebovať „Knižnicu Adafruit BME280“nainštalovať v „Správcovi knižníc“v Arduino IDE. Náčrt ponuky Zahrnúť Knižnicu Spravovať knižnice vyhľadávať podľa Typ = "Odporúčané" Téma = "Senzory" a potom zadať do vyhľadávacieho poľa slová Knižnica Adafruit BME280. Ten, ktorý chcete, hovorí „Knižnica Adafruit BME280 od spoločnosti Adafruit“

12. Ďalšou potrebnou knižnicou je Wire.h, nainštalujte ju do „Library Manager“v Arduino IDE. Ponuka, Skica Zahrnúť Knižnicu Spravovať knižnice Vykonajte vyhľadávanie podľa Type = "Contributed" Téma = "Vstup/výstup signálu" a potom zadajte do vyhľadávacieho poľa slovo Wire. Ten, ktorý chcete, hovorí: „Wire Built-in by Arduino“S najväčšou pravdepodobnosťou v spodnej časti výberu.

13. Ešte jedna knižnica, ESP8266WiFi, nainštalujte ju do „Library Manager“v Arduino IDE. Menu, Skica Zahrnúť Knižnicu Spravovať knižnice Vykonajte vyhľadávanie podľa Type = "Contributed" Téma = "Komunikácia", potom zadajte slovo ESP8266wifi do vyhľadávacieho poľa. Ten, ktorý chcete, hovorí „ESP8266wifi Vstavaný Ivanom Grokhotkovom“

14. Adresa I2C pre BME280 je napevno zakódovaná v súbore Adafruit_BME280.h (vyhľadajte riadok #define BME280_ADDRESS 0x77) v priečinku Adafruit_BME280_Library. Moduly senzora BME spoločnosti Adafruit sú pevne zapojené tak, aby používali adresu I2C 0x77. BME280 však môže mať trochu inú adresu I2C (0x76), ak je jeho externý kolík SDO uzemnený. Ak používate senzorové moduly od tretej strany, je pravdepodobné, že sa jeho adresa nebude zhodovať s predvolenou hodnotou v knižnici Adafruit. Napríklad pre väčšinu modulov senzorov BME280 dostupných na eBay alebo Aliexpress má adresa I2C hodnotu 0x76. Ak nedostanete od senzora odpoveď pomocou predvolenej adresy nastavenej v súbore Adafruit_BME280.h, možno ho budete musieť zmeniť na 0x76.

Body pripojenia BME280 a ESP8266. ESP8266 3,3 V až BME280 Vin, ESP8266 GND až BME280 GND, ESP8266 D4 až BME280 SCL, ESP8266 D3 až BME280 SDA. 15. Otvorte dodaný súbor ESP8266-NodeMCU-12E-BME280.html v textovom editore a zadajte pre „ premenné key1 & chan1. Zadajte tiež „Prečítajte si kľúč API“a „ID kanála“pre „BME280 Daily High Low Data“(druhý kanál, ktorý ste vytvorili) pre key2 a chan2. Okrem toho zadajte posun časového pásma od UTC. Pre mňa ako -5. Všetky hodnoty musia byť v uvedených jednoduchých úvodzovkách „XXXXX“. Uložte a ukončite textový editor.

Pripojte svoj ESP8266 káblom USB k počítaču a potom vyberte svoj sériový port ako port USB.

Používatelia systému Linux môžu musieť zmeniť vlastníctvo portu USB, aby mohli komunikovať s /dev /ttyUSB0 ako v „sudo chown yourusername /dev /ttyUSB0“alebo v tom, čo ste v nastavení vybrali ako port.

Krok 3: Programujte ESP8266 pomocou Arduino IDE

Naprogramujte ESP8266 pomocou Arduino IDE
Naprogramujte ESP8266 pomocou Arduino IDE

16. Ďalej naprogramujeme ESP8266. Pripojte kábel USB medzi váš ESP8266 a počítač.

Načítajte poskytnutý súbor New_BME_Sensor.ino do Arduino IDE. Váš snímač BME280 by mal byť na ESP8266 zavesený na D3 (SDA) a D4 (SCL). Zadajte svoj „ESP8266-NodeMCU-12E-BME280“(prvý kanál, ktorý ste vytvorili) „kľúč pre zápis“„bezdrôtový SSID“a „heslo“do správnej časti náčrtu. Potom kliknite na položku ponuky „Skica“a „Odovzdať“. Po nahraní náčrtu (priebeh dosahuje 100%) do vášho ESP8266 môžete otvoriť sériový monitor (ikona vpravo hore vyzerá ako zväčšovacie sklo) a vaše údaje sa vytlačia po 5 minútach, každých 5 minút. Údaje sa odosielajú do programu thingspeak v 5 -minútových intervaloch, takže bude nejaký čas trvať, kým budete mať zmysluplné údaje z mapy, ale hodnoty meradla by ste mali mať po 5 minútach.

Uistite sa, že z BME280 na sériovom monitore získate správne hodnoty.

Prvé meranie bude pravdepodobne neplatnou nan.

Počkajte niekoľko minút do ďalšieho čítania a overte, či údaje vyzerajú dobre.

Krok 4: Vráťte sa na Thingspeak a dolaďte niektoré údaje

Vráťte sa na Thingspeak a dolaďte niektoré údaje
Vráťte sa na Thingspeak a dolaďte niektoré údaje

17. Teraz, keď sa údaje pomaly odosielajú do programu thingspeak, urobte niekoľko vylepšení, aby ste získali ďalšie údaje z toho, čo sa nahráva. Vráťte sa na webovú stránku thingspeak a na stránke kanála Thingspeak „BME280 Daily High Low Data“(Druhý kanál, ktorý ste vytvorili) kliknite na zelené tlačidlo „Analýza MATLAB“. Vyberte šablónu „Vlastné (bez štartovacieho kódu)“

18. Pomenujte analýzu MATLAB „Vypočítať min. Maximum od polnoci“.

19. Skopírujte kód MATLAB Analysis.txt do určeného priestoru. Do poľa „readChannelID“zadajte „ID kanála“pre „ESP8266-NodeMCU-12E-BME280“(prvý kanál, ktorý ste vytvorili). Zadajte „Denne vysoké nízke údaje BME280“(druhý kanál, ktorý ste vytvorili) Do poľa writeNewChannelID & writeAPIKey zadajte „ID kanála“a „kľúč zápisu“. Viem, že to znie mätúco (prečítajte si to znova). Kliknite na uložiť a spustiť. Ak ste to urobili správne a kanál na čítanie je verejný, neuvidíte žiadne chyby a úspešne vytlačí hodnoty. Upozorňujeme, že ak do tohto kanála neboli nahrané žiadne údaje, môže sa zobraziť chyba. Napriek chybe pokračujte. Ak je to žiaduce, môžete sa znova kliknúť na položku Uložiť a spustiť, aby ste sa presvedčili, že to funguje, aj keď boli údaje nahrané.

20. Ďalej musíme vytvoriť „Time Control“na spustenie tohto kódu každých 5 minút a naše údaje budú zapísané do kanála „BME280 Daily High Low Data“(Druhý kanál, ktorý ste vytvorili). Na hlavnej stránke „Denne vysoké nízke údaje BME280“(druhý kanál, ktorý ste vytvorili) vyberte v hornej časti aplikáciu. Pod akciami vyberte „TimeControl“a potom zelené tlačidlo „New TimeControl“. Pomenujte ho „Odoslať vysoké nízke teploty ESP8266“. V prípade potreby vyberte svoje časové pásmo a v časti Frekvencia zvoľte „Opakujúce sa“. V časti Opakovanie vyberte možnosť Minúta. Nastavte spustenie každých 5 minút. Akciou by mala byť analýza MATLAB a „Kód na vykonanie“je „Vypočítať min. Maximum od polnoci“. Šetrite TimeControl.

Krok 5: Upravte poskytnutý súbor HTML

Upravte poskytnutý súbor HTML
Upravte poskytnutý súbor HTML

Upravte súbory HTML a vyhľadajte komentáre s textom „******** Zmeňte ma 1 z 8 *********“Zmeňte ich podľa svojich preferencií.

Poznámky:

Niektoré z textových polí a týždenného grafu sa správne nevyplnia, kým nebudete mať celý deň a celý týždeň údajov pre sekciu a graf 24 hodín a týždeň. Akonáhle budete mať veľa údajov, môžete grafy približovať pomocou kolieska myši (kliknutím pravým tlačidlom myši obnovíte). Môžete mať aj štvrtý merač (ako je vidieť na snímkach obrazovky) z iného senzora z iného kanála, ale príslušné časti som prečiarkol. Ak sa cítite odvážne, spojte to. Je tiež potrebné si uvedomiť niekoľko problémov s načasovaním. Pravdepodobne nebudete mať úplne najaktuálnejšie údaje, ale mali by byť vždy staršie ako 5 minút. To pochádza z toho, keď sa spustí ovládanie časovania, kedy boli údaje odoslané z ESP8266 a keď ste načítali / aktualizovali webovú stránku.

Otvorte dodaný súbor ESP8266-NodeMCU-12E-BME280.html vo svojom webovom prehliadači a mali by ste vidieť meradlá a tabuľku vyplnené.

Získajte súbory s kódom.ino a. HTML tu

Odporúča: