Taula de continguts:

ESP8266 NodeMCU amb indicadors i gràfics BME280: 5 passos
ESP8266 NodeMCU amb indicadors i gràfics BME280: 5 passos

Vídeo: ESP8266 NodeMCU amb indicadors i gràfics BME280: 5 passos

Vídeo: ESP8266 NodeMCU amb indicadors i gràfics BME280: 5 passos
Vídeo: DETECT HUMAN PRESENCE WITH NODEMCU (RSSI) 2024, Desembre
Anonim
ESP8266 NodeMCU amb indicadors i gràfics BME280
ESP8266 NodeMCU amb indicadors i gràfics BME280
ESP8266 NodeMCU amb indicadors i gràfics BME280
ESP8266 NodeMCU amb indicadors i gràfics BME280

Gràfics i indicadors de luxe per a la vostra placa de desenvolupament ESP8266 NodeMCU amb sensor de temperatura, humitat i pressió BME280. Thingspeak emmagatzemarà totes les vostres dades al núvol per recuperar-les en qualsevol moment durant els propers anys (amb sort). Els indicadors i el gràfic s’omplen de les dades emmagatzemades a thingspeak i s’actualitzen automàticament cada 5 minuets.

Articles necessaris:

Taula de desenvolupament ESP8266 NodeMCU (3,79 dòlars de Banggood.com Hong Kong)

Bosch BME280 (5,63 dòlars de Banggood.com Hong Kong)

Breadboard Jumpers (3,09 dòlars a Banggood.com Hong Kong)

Taula de pa (2,28 dòlars de Banggood.com Hong Kong)

Font d'alimentació, gratuïta si teniu un carregador de telèfon micro USB

Cable micro USB, gratuït si ja en teniu

Arduino IDE, descàrrega gratuïta

Obteniu els fitxers de codi.ino i. HTML aquí

Pas 1: creeu i configureu els vostres canals Thingspeak

Creeu i configureu els vostres canals Thingspeak
Creeu i configureu els vostres canals Thingspeak

1. Creeu un compte gratuït de Thingspeak i un canal nou a https://thingspeak.com, truqueu al canal "ESP8266-NodeMCU-12E-BME280"

2. El nou canal hauria de tenir 3 camps anomenats Pressió de la humitat de la temperatura en aquest ordre específic (Nota majúscula de primera lletra).

3. Preneu nota del vostre nou "identificador de canal" XXXXXX a "Configuració del canal".

4. Feu clic a l'enllaç "Tecles API" i preneu nota de les vostres "API Write" i "Read API Keys" XXXXXXXXXXXXXXXX. A més, converteix-lo en un canal públic en compartició.

5. Creeu un segon canal de Thingspeak que contindrà les dades "Avui" (des de mitjanit) Molt baix. Anomeneu-lo "BME280 Daily High Low Data"

6. Aquest nou canal hauria de tenir 6 camps anomenats Tmax Tmin Hmax Hmin Pmax Pmin en aquest ordre específic (Nota majúscula primera lletra).

7. Preneu nota de l'identificador del canal "BME280 Daily High Low Data", "Read" i "Write API keys", igual que en els passos anteriors.

Pas 2: configureu l'IDE Arduino, les biblioteques i configureu el BME280

Configureu l'IDE Arduino, les biblioteques i configureu el BME280
Configureu l'IDE Arduino, les biblioteques i configureu el BME280

8. Seguiu les instruccions per instal·lar el nucli Arduino IDE i ESP8266 a

9. Enceneu l'IDE Arduino per poder instal·lar les quatre biblioteques que necessitarem.

10. Necessitareu la biblioteca "Adafruit Unified Sensor Driver", instal·leu-la al "Gestor de biblioteques" a Arduino IDE. Menú Esbós Inclou biblioteca Gestiona les biblioteques fan una cerca per Tipus = "Recomanat" Tema = "Sensors" i, a continuació, posa les paraules Adafruit Unified Sensor Driver al quadre de cerca. El que voleu diu "Adafruit Unified Sensor Driver by Adafruit"

11. A més, també necessitareu que la "Biblioteca Adafruit BME280" la instal·leu al "Gestor de biblioteques" a Arduino IDE. Menú Esbós Inclou biblioteca Gestiona les biblioteques fan una cerca per Tipus = "Recomanat" Tema = "Sensors" i, a continuació, posa les paraules Biblioteca Adafruit BME280 al quadre de cerca. El que voleu diu "Biblioteca Adafruit BME280 per Adafruit"

12. Una altra biblioteca que necessiteu és Wire.h, instal·leu-la al "Gestor de biblioteques" a Arduino IDE. Menú, esbós Inclou biblioteca Gestiona biblioteques Feu una cerca per Tipus = "Contribuït" Tema = "Entrada / Sortida de senyal" i, a continuació, poseu la paraula Cable al quadre de cerca. El que vulgueu diu "Cable integrat per Arduino", molt probablement a la part inferior de la selecció.

13. Una biblioteca més, ESP8266WiFi, instal·leu-la al "Gestor de biblioteques" a Arduino IDE. Menú, esbós Inclou biblioteca Gestiona biblioteques Feu una cerca per Tipus = "Contribuït" Tema = "Comunicació" i, a continuació, poseu la paraula ESP8266wifi al quadre de cerca. El que voleu diu "ESP8266wifi Integrat per Ivan Grokhotkov"

14. L'adreça I2C de BME280 està codificada al fitxer Adafruit_BME280.h (cerqueu la línia #define BME280_ADDRESS 0x77) a la carpeta Adafruit_BME280_Library. Els mòduls de sensor BME d’Adafruit tenen un cable dur per utilitzar l’adreça I2C de 0x77. Però el BME280 pot tenir una adreça I2C lleugerament diferent (0x76) si el pin SDO extern està connectat a terra. Si feu servir els mòduls de sensor d’un tercer, és probable que la seva adreça no coincideixi amb el valor per defecte de la biblioteca Adafruit. Per exemple, per a la majoria dels mòduls de sensor BME280 disponibles a eBay o Aliexpress, la seva adreça I2C és 0x76. Si no obteniu cap resposta del sensor mitjançant l'adreça predeterminada establerta al fitxer Adafruit_BME280.h, és possible que hàgiu de canviar-la a 0x76.

Punts de connexió BME280 i ESP8266. ESP8266 3.3V a BME280 Vin, ESP8266 GND a BME280 GND, ESP8266 D4 a BME280 SCL, ESP8266 D3 a BME280 SDA. 15. Obriu el fitxer ESP8266-NodeMCU-12E-BME280.html proporcionat en un editor de text i introduïu el vostre "ESP8266-NodeMCU-12E-BME280" (El primer canal que heu creat) "Channel ID" i "Read API Key" per al variables clau1 i chan1. Introduïu també "Llegeix la clau de l'API" i "Identificador de canal" per a "BME280 Daily High Low Data" (El segon canal que heu creat) per a key2 i chan2. A més, introduïu el desplaçament de la zona horària respecte a UTC. Com a -5 per a mi. Tots els valors han d'estar dins de les cometes simples proporcionades "XXXXX". Deseu i sortiu de l'editor de text.

Connecteu l’ESP8266 amb el cable USB a l’ordinador i, a continuació, seleccioneu el port sèrie per ser el port USB.

És possible que els usuaris de Linux hagin de canviar la propietat del port USB per comunicar-se amb el / dev / ttyUSB0 com a "sudo chown yourusername / dev / ttyUSB0" o el que hagueu seleccionat com a port a la configuració.

Pas 3: programa l'ESP8266 amb l'IDE Arduino

Programa l'ESP8266 amb l'IDE Arduino
Programa l'ESP8266 amb l'IDE Arduino

16. A continuació, programarem l’ESP8266. Connecteu un cable USB entre l’ESP8266 i l’ordinador.

Carregueu el fitxer New_BME_Sensor.ino proporcionat a l'IDE Arduino. El sensor BME280 ha d’estar connectat a D3 (SDA) i D4 (SCL) a l’ESP8266. Introduïu el vostre "ESP8266-NodeMCU-12E-BME280" (el primer canal que heu creat) "Tecla d'escriptura" "SSID sense fils" i "Contrasenya" a la secció correcta de l'esbós. A continuació, feu clic a l'element de menú "Esbós" i "Penja". Després de penjar l’esbós (el progrés arriba al 100%) al vostre ESP8266, podeu obrir el monitor sèrie (la icona de la part superior dreta sembla una lupa) i veure com s’imprimeixen les vostres dades després de 5 minuts cada 5 minuts. Les dades s’envien a thingspeak a intervals de 5 minuts, de manera que passarà un temps abans de tenir dades gràfiques significatives, però hauríeu de tenir lectures d’indicadors al cap de 5 min.

Assegureu-vos que obteniu les lectures correctes del BME280 al monitor sèrie.

És probable que la primera mesura sigui un nan no vàlid.

Espereu uns quants minuets fins a la següent lectura i verifiqueu que les lectures tinguin un bon aspecte.

Pas 4: torneu al Thingspeak per fer algunes modificacions de dades

Torneu al Thingspeak per fer algunes modificacions de dades
Torneu al Thingspeak per fer algunes modificacions de dades

17. Ara, tot i que les dades es carreguen lentament a Thingspeak, podem fer algunes modificacions per obtenir algunes dades addicionals del que es carrega. Torneu al lloc web de Thingspeak i a la pàgina del canal Thingspeak "BME280 Daily High Low Data" (El segon canal que heu creat) feu clic al botó verd "Anàlisi MATLAB". Seleccioneu la plantilla "Personalitzada (sense codi d'inici)"

18. Anomeneu l'anàlisi MATLAB com a "Calcula el màxim màxim des de mitjanit".

19. Copieu el codi MATLAB Analysis.txt a l'espai proporcionat. Introduïu l '"identificador de canal" per a "ESP8266-NodeMCU-12E-BME280" (el primer canal que heu creat) a "readChannelID". Introduïu la "BME280 Daily High Low Data" (El segon canal que heu creat). Escriviu "ID de canal" i "Clau d'escriptura" a writeNewChannelID i writeAPIKey respectivament. Sé que sona confús (torneu a llegir-lo). Feu clic a Desa i executa. Si ho heu fet correctament i el canal de lectura és públic, no veureu cap error i imprimeix els valors amb èxit. Tingueu en compte que és possible que vegeu un error si encara no s'han carregat dades a aquest canal. Tot i l'error, continueu. Si ho desitgeu, podeu tornar a fer clic a Desa i executar per assegurar-vos que funcioni un cop carregades les dades.

20. A continuació, hem de crear un "control de temps" per activar aquest codi cada 5 min i les nostres dades s'escriuen al canal "BME280 Daily High Low Data" (El segon canal que heu creat). A la pàgina principal de "BME280 Daily High Low Data" (El segon canal que heu creat), seleccioneu Aplicacions a la part superior. A les accions, seleccioneu "TimeControl" i després el botó verd "New TimeControl". Posa-li el nom "Envia un temps mínim alt ESP8266". Seleccioneu la vostra zona horària si cal i seleccioneu "Recurrent" a Freqüència. Seleccioneu Minut a Recurrència. Configurat per executar-se cada 5 minuts. L'acció hauria de ser l'anàlisi MATLAB i el "Codi a executar" és "Calcular el màxim màxim des de mitjanit". Estalvia TimeControl.

Pas 5: Editeu el fitxer HTML proporcionat

Editeu el fitxer HTML proporcionat
Editeu el fitxer HTML proporcionat

Editeu els fitxers HTML i busqueu comentaris que diguin "******** Canvieu-me 1 de 8 *********" Canvieu-los segons la vostra preferència.

Notes:

Alguns dels camps de text i del gràfic setmanal no s’ompliran correctament fins que no tingueu dades completes de dia i setmana completes per a la secció i el gràfic de 24 hores i setmanes. Un cop tingueu un munt de dades, podeu ampliar els gràfics amb la roda del ratolí (Feu clic amb el botó dret per restablir). També podeu tenir un quart indicador (tal com es veu a les captures de pantalla) d’un altre sensor d’un altre canal, però he redactat les parts pertinents. Si us sentiu intel·ligent, connecteu-lo. També hi ha alguns problemes temporals que cal tenir en compte. És probable que no tingueu les dades més actuals absolutes, però sempre haurien de tenir menys de 5 minuts. Això prové de quan s'activa el control de temporització, de quan es van enviar les dades des de l'ESP8266 i quan es va carregar / actualitzar la pàgina web.

Obriu el fitxer ESP8266-NodeMCU-12E-BME280.html proporcionat al navegador web i hauríeu de veure els indicadors i el gràfic emplenats.

Obteniu els fitxers de codi.ino i. HTML aquí

Recomanat: