- Components necessaris:
- Sensor de temperatura LM35:
- Connexió de LM35 amb NodeMCU:
- Explicació del codi:
- Codi HTML per mostrar la temperatura a la pàgina web:
- Treball:
Al tutorial anterior sobre Com començar amb NodeMCU, vam veure Què és NodeMCU i com podem programar-lo mitjançant Arduino IDE . Com ja sabeu, NodeMCU té un xip Wi-Fi al seu interior, de manera que també es pot connectar a Internet. És molt útil per construir Projectes IoT. Anteriorment hem utilitzat ThingSpeak amb Arduino per fabricar un termòmetre IoT, però aquí crearem la nostra pròpia pàgina web per mostrar la temperatura.
En aquest tutorial explorarem més sobre aquest interessant MCU i, lentament, ens endinsarem en el món de l’Internet de les coses connectant NodeMCU amb Internet. Aquí utilitzarem aquest mòdul per obtenir temperatura ambient al navegador web, és a dir, crearem un servidor web per mostrar la temperatura utilitzant LM35 com a sensor de temperatura.
Components necessaris:
- NodeMCU - ESP12
- Sensor de temperatura LM35
- Taula de pa
- Connectors home-femella
Sensor de temperatura LM35:
LM35 és un sensor de temperatura lineal analògic. La seva sortida és proporcional a la temperatura (en graus centígrads). El rang de temperatura de funcionament és de -55 ° C a 150 ° C. La tensió de sortida varia per 10mV en resposta a cada o augment C o de la caiguda de la temperatura. Es pot accionar tant des d’un subministrament de 5 V com de 3,3 V i el corrent d’espera és inferior a 60 uA.


Tingueu en compte que LM35 està disponible en 3 versions de la sèrie LM35A, LM35C i LM35D. La principal diferència es troba en el seu rang de mesures de temperatura. La sèrie LM35D està dissenyada per mesurar de 0 a 100 graus centígrads, on, com la sèrie LM35A, està dissenyada per mesurar un rang més ampli de -55 a 155 graus centígrads. La sèrie LM35C està dissenyada per mesurar de -40 a 110 graus centígrads.
Ja hem utilitzat LM35 amb molts altres microcontroladors per mesurar la temperatura:
- Termòmetre digital amb microcontrolador LM35 i 8051
- Mesura de la temperatura mitjançant microcontrolador LM35 i AVR
- Termòmetre digital que utilitza Arduino i LM35 Sensor de temperatura
- Mesura de la temperatura ambient amb Raspberry Pi
Connexió de LM35 amb NodeMCU:
A continuació es mostra el diagrama de circuits per connectar LM35 amb NodeMCU:

LM35 és un sensor analògic, de manera que hem de convertir aquesta sortida analògica a digital. Per a això fem servir el pin ADC de NodeMCU que es defineix com A0. Connectarem la sortida de LM35 a A0.
Tenim 3,3 V com a tensió de sortida als pins de NodeMCU. Per tant, utilitzarem 3,3 V com a Vcc per a LM35.

Explicació del codi:
Al final de l'article es proporciona un codi complet amb el vídeo de demostració. Aquí expliquem algunes parts del codi. Ja hem explicat com penjar codi a MCU mitjançant Arduino IDE.
En primer lloc, hem d’incloure la biblioteca ESP8266wifi per accedir a les funcions Wi-Fi..
#incloure
A continuació, introduïu el vostre nom i contrasenya de Wi-Fi al camp ssid i password . També es van inicialitzar les variables i iniciar el servidor al port 80 amb una velocitat de transmissió 115200.
const char * ssid = "*********"; // El vostre ssid const char * password = "***********"; // La vostra contrasenya flotant temp_celsius = 0; float temp_fahrenheit = 0; Servidor WiFiServer (80); configuració nul·la () { Serial.begin (115200);
La connexió de Wi-Fi s’estableix trucant a aquestes funcions.
Serial.println (); Serial.println (); Serial.print ("Connexió a"); Serial.println (ssid); WiFi.begin (ssid, contrasenya);
La connexió pot trigar uns quants segons a establir-se, així que continua mostrant "…" fins que la connexió no s'estableixi. Aleshores, el sistema seguirà esperant i comprovant que un client es connecti…
while (WiFi.status ()! = WL_CONNECTED) { demora (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi està connectat"); server.begin (); Serial.println ("S'ha iniciat el servidor"); Serial.println (WiFi.localIP ()); }
A la secció de bucle , llegiu els valors del sensor i convertiu-lo en centígrads i Fahrenheit i visualitzeu-los al monitor sèrie.
bucle buit () { temp_celsius = (analogRead (A0) * 330.0) / 1023.0; // Per convertir valors analògics a centígrads Tenim 3,3 V a la placa i sabem que el voltatge de sortida de LM35 varia en 10 mV a cada grau centígrad ascens / baixada. Per tant, (A0 * 3300/10 ) / 1023 = celsius temp_fahrenheit = celsius * 1,8 + 32,0; Serial.print ("Temperatura ="); Serial.print (temp_celsius); Serial.print ("Celsius");
Codi HTML per mostrar la temperatura a la pàgina web:
Estem mostrant la temperatura en una pàgina web perquè pugui ser accessible des de qualsevol lloc del món a través d'Internet. El codi HTML és molt senzill; només hem d’utilitzar la funció client.println per fer ressò de cada línia del codi HTML, de manera que el navegador pugui executar-lo.
Aquesta part mostra el codi HTML per crear una pàgina web que mostri el valor de la temperatura.
Client WiFiClient = servidor.available (); client.println ("HTTP / 1.1 200 OK"); client.println ("Tipus de contingut: text / html"); client.println ("Connexió: tancada"); // la connexió es tancarà després de completar la resposta client.println ("Actualitzar: 10"); // actualitzeu la pàgina després de 10 segons client.println (); client.println (""); client.println (""); client.print ("
Termòmetre digital
"); client.print ("Temperatura (* C) = "); client.println (temp_celsius); client.print ("
Temperatura (F) = "); client.println (temp_fahrenheit); client.print ("
"); client.println (" "); demora (5000); }Treball:
Després de carregar el codi amb Arduino IDE, obriu el monitor sèrie i premeu el botó Restableix de NodeMCU.

Ara podeu veure que el tauler està connectat a la xarxa Wi-Fi que heu definit al vostre codi i que també teniu la IP. Copieu aquesta IP i enganxeu-la a qualsevol navegador web. Assegureu-vos que el sistema amb el qual esteu executant el navegador web estigui connectat a la mateixa xarxa.

El termòmetre digital està llest i la temperatura es refrescarà automàticament al navegador web cada 10 segons.
Per fer accessible aquesta pàgina web des d'Internet, només cal que configureu el reenviament de ports al vostre enrutador / mòdem. Consulteu el codi complet i el vídeo a continuació.
Comproveu també:
- Estació meteorològica Raspberry Pi: control de la humitat, la temperatura i la pressió a través d'Internet
- Monitorització de temperatura i humitat en directe a través d’Internet mitjançant Arduino i ThingSpeak
