Tartalomjegyzék:

ESP8266 NodeMCU BME280 mérőműszerekkel és diagrammal: 5 lépés
ESP8266 NodeMCU BME280 mérőműszerekkel és diagrammal: 5 lépés

Videó: ESP8266 NodeMCU BME280 mérőműszerekkel és diagrammal: 5 lépés

Videó: ESP8266 NodeMCU BME280 mérőműszerekkel és diagrammal: 5 lépés
Videó: #5 - Analóg és digitális szenzorok, I2C/UART/SPI kommunikáció 2024, November
Anonim
ESP8266 NodeMCU BME280 mérőműszerekkel és diagrammal
ESP8266 NodeMCU BME280 mérőműszerekkel és diagrammal
ESP8266 NodeMCU BME280 mérőműszerekkel és diagrammal
ESP8266 NodeMCU BME280 mérőműszerekkel és diagrammal

Divatos mérők és diagram az ESP8266 NodeMCU fejlesztőlaphoz BME280 hőmérséklet-, páratartalom- és nyomásérzékelővel. A Thingspeak az összes adatot a felhőben tárolja, hogy bármikor visszakereshető legyen (remélhetőleg) az elkövetkező években. A mérőműszereket és a diagramot a Thingspeak tárolt adataiból töltik ki, és automatikusan frissítik 5 percenként.

Szükséges elemek:

ESP8266 NodeMCU fejlesztői tábla (3,79 USD a Banggood.com Hongkongtól)

Bosch BME280 (5,63 dollár a Banggood.com Hongkongtól)

Kenyérsütő pulóverek (3,09 dollár a Banggood.com Hong Kong -tól)

Kenyeretábla (2,28 dollár a Banggood.com Hong Kong -tól)

Tápegység, ingyenes, ha rendelkezik mikro USB -s telefon töltővel

Micro USB kábel, ingyenes, ha már rendelkezik ilyennel

Arduino IDE, ingyenes letöltés

Az.ino és. HTML kódfájlokat itt szerezheti be:

1. lépés: Hozza létre és állítsa be a Speakel -csatornákat

Létrehozhat és beállíthat Thingspeak csatornákat
Létrehozhat és beállíthat Thingspeak csatornákat

1. Hozzon létre egy ingyenes Thingspeak-fiókot és új csatornát a https://thingspeak.com címen, hívja a csatornát "ESP8266-NodeMCU-12E-BME280"

2. Az új csatornának 3 mezőben kell lennie Hőmérséklet páratartalom nyomás elnevezésű sorrendben (Megjegyzés Első betű nagybetű).

3. Vegye figyelembe az új "csatornaazonosítót" XXXXXX a "Csatorna beállításai" alatt

4. Kattintson az "API -kulcsok" linkre, és vegye figyelembe az "API -írás" és az "API -kulcsok olvasása" XXXXXXXXXXXXXXX. Ezenkívül tegye ezt nyilvános csatornává a megosztás alatt.

5. Hozzon létre egy második Thingspeak csatornát, amely a "Today" (éjfél óta) High Low adatokat tárolja. Nevezze "BME280 Daily High Low Data"

6. Ennek az új csatornának 6 mezővel kell rendelkeznie Tmax Tmin Hmax Hmin Pmax Pmin az adott sorrendben (Megjegyzés Első betű nagybetű).

7. A fenti lépésekhez hasonlóan vegye figyelembe a "BME280 Daily High Low Low Data" "csatornaazonosítót", "Read" és "API kulcsok írását".

2. lépés: Állítsa be az Arduino IDE -t, a könyvtárakat és konfigurálja a BME280 -at

Állítsa be az Arduino IDE -t, a könyvtárakat és konfigurálja a BME280 -at
Állítsa be az Arduino IDE -t, a könyvtárakat és konfigurálja a BME280 -at

8. Kövesse az Arduino IDE & ESP8266 mag telepítésére vonatkozó utasításokat a

9. Kapcsolja be az Arduino IDE -t, hogy telepíthessük a négy szükséges könyvtárat.

10. Szüksége lesz az "Adafruit Unified Sensor Driver" könyvtárra, telepítse az Arduino IDE "Library Manager" -be. A Menüvázlat Könyvtár bevonása A könyvtárak kezelése keresést végezzen Type = "Recommended" Topic = "Senssors" alapján, majd írja be az Adafruit Unified Sensor Driver szavakat a keresőmezőbe. A kívánt személy azt mondja: "Adafruit Unified Sensor Driver by Adafruit"

11. Ezenkívül szüksége lesz az "Adafruit BME280 Library" telepítésére az Arduino IDE "Könyvtárkezelőben". Menüvázlat Könyvtár bevonása A Könyvtárak kezelése keresést végezzen Type = "Recommended" Topic = "Senssors" szerint, majd írja be az Adafruit BME280 Library szavakat a keresőmezőbe. A kívánt üzenet ezt mondja: "Adafruit BME280 Library by Adafruit"

12. Egy másik könyvtár, amire szüksége van, a Wire.h, telepítse az Arduino IDE "Library Manager" -be. Menü, vázlat Könyvtár bevonása Könyvtárak kezelése Végezzen keresést Type = "Contributed" Topic = "Signal Input/Output" szerint, majd írja be a Wire szót a keresőmezőbe. A kívánt üzenet azt mondja: "Wire Built-in by Arduino" Valószínűleg a kiválasztás alján.

13. Még egy könyvtár, az ESP8266WiFi, telepítse az Arduino IDE "Könyvtárkezelőjébe". Menü, vázlat Könyvtár bevonása Könyvtárak kezelése Végezzen keresést Type = "Contributed" Topic = "Communication" szerint, majd írja be az ESP8266wifi szót a keresőmezőbe. A kívánt üzenet ezt mondja: "ESP8266wifi, beépített: Ivan Grokhotkov"

14. A BME280 I2C címe az Adafruit_BME280.h fájlban (a #define BME280_ADDRESS 0x77 sort keresse) az Adafruit_BME280_Library mappában keményen kódolt. Az Adafruit BME érzékelő moduljai keményen vannak kötve a 0x77 I2C cím használatához. De a BME280 kissé eltérő I2C -címmel (0x76) rendelkezhet, ha a külső SDO -pin földelt. Ha harmadik féltől származó érzékelőmodulokat használ, akkor valószínű, hogy a címe nem egyezik meg az Adafruit könyvtár alapértelmezett értékével. Például az eBay -en vagy az Aliexpress -en elérhető BME280 érzékelőmodulok többségének I2C -címe 0x76. Ha nem kap választ az érzékelőtől az Adafruit_BME280.h fájlban megadott alapértelmezett cím használatával, akkor előfordulhat, hogy 0x76 -ra kell módosítania.

BME280 és ESP8266 csatlakozási pontok. ESP8266 3.3V - BME280 Vin, ESP8266 GND - BME280 GND, ESP8266 D4 - BME280 SCL, ESP8266 D3 - BME280 SDA. 15. Nyissa meg a mellékelt ESP8266-NodeMCU-12E-BME280.html fájlt egy szövegszerkesztőben, és írja be az "ESP8266-NodeMCU-12E-BME280" (Az első csatorna, amelyet létrehozott) "csatornaazonosítót" és "olvasási API-kulcsot" a változók key1 & chan1. Adja meg a "Read API Key" és a "Channel ID" paramétereket a "BME280 Daily High Low Data" (A második csatorna, amelyet létrehozott) a key2 és a chan2 számára. Ezenkívül adja meg az időzóna eltolódását az UTC -ből. Mint nekem -5 -ben. Minden értéknek a megadott „XXXXX” idézőjelen belül kell lennie. Mentse el és lépjen ki a szövegszerkesztőből.

Csatlakoztassa az ESP8266 készüléket az USB -kábellel a számítógéphez, majd válassza ki a soros portot USB -portnak.

Előfordulhat, hogy a Linux felhasználóknak meg kell változtatniuk az USB port tulajdonjogát, hogy kommunikálni tudjanak a /dev /ttyUSB0 fájllal, mint a "sudo chown yourername /dev /ttyUSB0" részben, vagy amit a beállítás során valaha is portként választott.

3. lépés: Programozza az ESP8266 -at az Arduino IDE segítségével

Programozza az ESP8266 -at az Arduino IDE segítségével
Programozza az ESP8266 -at az Arduino IDE segítségével

16. Ezután az ESP8266 programozását végezzük. Csatlakoztasson egy USB -kábelt az ESP8266 és a számítógép közé.

Töltse be a mellékelt New_BME_Sensor.ino fájlt az Arduino IDE -be. A BME280 érzékelőt az ESP8266 D3 (SDA) és D4 (SCL) csatlakozójára kell csatlakoztatni. Írja be az "ESP8266-NodeMCU-12E-BME280" (Az első csatorna, amelyet létrehozott) "Írási kulcs", "Vezeték nélküli SSID" és "Jelszó" címet a vázlat megfelelő részébe. Ezután kattintson a "Vázlat" és a "Feltöltés" menüpontra. Miután feltöltötte a vázlatot (a haladás eléri a 100%-ot) az ESP8266 készülékre, megnyithatja a soros monitort (a jobb felső sarokban lévő ikon nagyítóüvegnek tűnik), és megtekintheti, hogy az adatok 5 perc múlva, 5 percenként kinyomtatódnak. Az adatokat 5 perces időközönként elküldik a dolgok beszédébe, így eltarthat egy ideig, amíg érdemi diagramadatok állnak rendelkezésre, de 5 perc elteltével meg kell kapnia a mérőeszközöket.

Győződjön meg arról, hogy a soros monitoron a BME280 -ból helyes leolvasást kapott.

Az első mérés valószínűleg érvénytelen nan.

Várjon néhány percet a következő leolvasásig, és győződjön meg arról, hogy az értékek jól néznek ki.

4. lépés: Térjen vissza a dolgok beszédéhez, és végezzen némi adatcsípést

Menjen vissza a dolgok beszédéhez, és végezzen némi adatcsípést
Menjen vissza a dolgok beszédéhez, és végezzen némi adatcsípést

17. Most, míg az adatok lassan feltöltődnek a thingspeak -be, végezhetünk némi módosítást, hogy további adatokat szerezzünk a feltöltött tartalmakról. Menjen vissza a Thingspeak webhelyére, és a Thingspeak "BME280 Daily High Low Data" csatornaoldalán (A második csatorna, amelyet létrehozott) kattintson a zöld "MATLAB Analysis" gombra. Válassza ki a sablont "Egyéni (nincs kezdőkód)"

18. Nevezze el a MATLAB elemzést "Minimum kiszámítása éjfél óta".

19. Másolja a MATLAB Analysis.txt kódot a megadott helyre. Írja be az "ESP8266-NodeMCU-12E-BME280" (az első létrehozott csatorna) "csatornaazonosítóját" a "readChannelID" mezőbe. Írja be a "BME280 Daily High Low Data" (A második csatorna, amelyet létrehozott) Írja be a "Channel ID" és "Write Key" értéket a writeNewChannelID & writeAPIKey fájlba. Tudom, hogy zavarosan hangzik (olvasd el újra). Kattintson a Mentés és futtatás gombra. Ha helyesen tette, és az olvasási csatorna nyilvános, nem fog hibát látni, és sikeresen kinyomtatja az értékeket. Megjegyzés: Hibát láthat, ha az adott csatornára még nem töltöttek fel adatokat. A hiba ellenére folytassa. Kívánt esetben újra megtekintheti a Mentés és futtatás lehetőséget, hogy megbizonyosodjon arról, hogy működik -e az adatok feltöltése után.

20. Ezután létre kell hoznunk egy "idővezérlőt", hogy 5 percenként aktiválja ezt a kódot, és az adatainkat a "BME280 Daily High Low Data" (a második csatorna, amelyet létrehozott) csatornára írjuk. A "BME280 Daily High Low Low Data" (A második csatorna, amelyet létrehozott) főoldalán válassza az Alkalmazások lehetőséget. A műveletek alatt válassza a "TimeControl", majd a zöld gombot "New TimeControl". Nevezze el: "Küldés magas, alacsony hőmérsékletű ESP8266". Szükség esetén válassza ki az időzónát, majd a Gyakoriság alatt válassza az "Ismétlődő" lehetőséget. Válassza a Perc lehetőséget az Ismétlődés alatt. Állítsa be, hogy 5 percenként futjon. A műveletnek a MATLAB Analysis elemnek kell lennie, és a "Végrehajtandó kód" a "Minimum Minimum Midnight" kiszámítása. Időt takaríthat meg.

5. lépés: Szerkessze a biztosított HTML -fájlt

Szerkessze a biztosított HTML fájlt
Szerkessze a biztosított HTML fájlt

Szerkessze a HTML -fájlokat, és keressen olyan megjegyzéseket, amelyek azt mondják: "******** Change Me 1 of 8 *********" Módosítsa ezeket tetszés szerint.

Megjegyzések:

A szövegmezők és a heti diagram némelyike nem töltődik ki helyesen, amíg nincs egy egész napos és egy hetes adat a 24 órás és heti szakaszra és diagramra vonatkozóan. Ha van egy csomó adat, az egérgörgővel nagyíthatja a diagramokat (jobb gombbal a visszaállításhoz). Ön is kaphat egy negyedik mérőt (amint a képernyőképeken látható) egy másik csatorna másik érzékelőjéből, de összegyűjtöttem a vonatkozó részeket. Ha okosnak érzi magát, kösse össze. Emellett néhány időzítési problémával is tisztában kell lenni. Valószínűleg nem rendelkezik az abszolút legfrissebb adatokkal, de azoknak mindig 5 percnél rövidebbeknek kell lenniük. Ez abból származik, amikor az időzítő vezérlő aktiválódik, amikor az adatokat az ESP8266 -ból küldték, és amikor betöltötte / frissítette a weboldalt.

Nyissa meg a mellékelt ESP8266-NodeMCU-12E-BME280.html fájlt a böngészőben, és látnia kell a mérőeszközöket és a diagramot.

Az.ino és. HTML kódfájlokat itt szerezheti be:

Ajánlott: