- Composants requis:
- Capteur de température LM35:
- Connexion du LM35 à NodeMCU:
- Explication du code:
- Code HTML pour afficher la température sur la page Web:
- Travail:
Dans le didacticiel de démarrage précédent avec NodeMCU, nous avons vu Qu'est-ce que NodeMCU et comment nous pouvons le programmer à l'aide de l'IDE Arduino . Comme vous le savez, NodeMCU a une puce Wi-Fi à l'intérieur, il peut également se connecter à Internet. Il est très utile de créer des projets IoT. Nous avons précédemment utilisé ThingSpeak avec Arduino pour fabriquer un thermomètre IoT, mais ici, nous allons créer notre propre page Web pour afficher la température.
Dans ce didacticiel, nous explorerons plus en détail ce MCU intéressant et nous plongerons lentement dans le monde de l'Internet des objets en connectant NodeMCU à Internet. Ici, nous allons utiliser ce module pour obtenir la température ambiante sur un navigateur Web, c'est-à-dire que nous allons créer un serveur Web pour afficher la température en utilisant LM35 comme capteur de température.
Composants requis:
- NodeMCU - ESP12
- Capteur de température LM35
- Planche à pain
- Connecteurs mâle-femelle
Capteur de température LM35:
LM35 est un capteur de température linéaire analogique. Sa sortie est proportionnelle à la température (en degrés Celsius). La plage de température de fonctionnement va de -55 ° C à 150 ° C. La tension de sortie varie de 10 mV en réponse à chaque augmentation ou baisse de température de o C. Il peut fonctionner à partir d'une alimentation de 5 V ou 3,3 V et le courant de veille est inférieur à 60 uA.
Notez que LM35 est disponible en 3 variantes de séries à savoir les séries LM35A, LM35C et LM35D. La principale différence réside dans leur plage de mesures de température. La série LM35D est conçue pour mesurer de 0 à 100 degrés Celsius, alors que la série LM35A est conçue pour mesurer une plage plus large de -55 à 155 degrés Celsius. La série LM35C est conçue pour mesurer de -40 à 110 degrés Celsius.
Nous avons déjà utilisé le LM35 avec de nombreux autres microcontrôleurs pour mesurer la température:
- Thermomètre numérique utilisant le microcontrôleur LM35 et 8051
- Mesure de température à l'aide du microcontrôleur LM35 et AVR
- Thermomètre numérique utilisant Arduino et capteur de température LM35
- Mesure de la température ambiante avec Raspberry Pi
Connexion du LM35 à NodeMCU:
Le schéma de câblage pour connecter LM35 avec NodeMCU est donné ci-dessous:
Le LM35 est un capteur analogique, nous devons donc convertir cette sortie analogique en numérique. Pour cela, nous utilisons la broche ADC de NodeMCU qui est définie comme A0. Nous allons connecter la sortie du LM35 à A0.
Nous avons 3,3 V comme tension de sortie sur les broches de NodeMCU. Donc, nous utiliserons 3,3V comme Vcc pour LM35.
Explication du code:
Le code complet avec la vidéo de démonstration est donné à la fin de l'article. Ici, nous expliquons quelques parties du code. Nous avons déjà expliqué de télécharger du code dans MCU à l'aide de l'IDE Arduino.
Tout d'abord, nous devons inclure la bibliothèque ESP8266wifi pour accéder aux fonctions Wi-Fi.
#comprendre
Entrez ensuite votre nom et votre mot de passe Wi-Fi dans le champ ssid et mot de passe . Également initialisé les variables et démarrer le serveur sur le port 80 avec un débit en bauds 115200.
const char * ssid = "*********"; // Votre ssid const char * password = "***********"; // Votre mot de passe float temp_celsius = 0; float temp_fahrenheit = 0; Serveur WiFiServer (80); void setup () { Serial.begin (115200);
La connexion Wi-Fi est établie en appelant ces fonctions.
Serial.println (); Serial.println (); Serial.print ("Connexion à"); Serial.println (ssid); WiFi.begin (ssid, mot de passe);
La connexion peut prendre quelques secondes à établir alors continuez à afficher «…» jusqu'à ce que la connexion ne s'établisse pas. Ensuite, le système continuera à attendre et à vérifier qu'un client se connecte…
while (WiFi.status ()! = WL_CONNECTED) { délai (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi est connecté"); server.begin (); Serial.println ("Serveur démarré"); Serial.println (WiFi.localIP ()); }
Dans la section boucle , lisez les valeurs du capteur et convertissez-les en degrés Celsius et Fahrenheit et affichez ces valeurs sur le moniteur série.
boucle vide () { temp_celsius = (analogRead (A0) * 330,0) / 1023,0; // Pour convertir les valeurs analogiques en Celsius Nous avons 3,3 V sur notre carte et nous savons que la tension de sortie du LM35 varie de 10 mV à chaque degré Celsius de montée / descente. Donc, (A0 * 3300/10 ) / 1023 = celsius temp_fahrenheit = celsius * 1,8 + 32,0; Serial.print ("Température ="); Serial.print (temp_celsius); Serial.print ("Celsius,");
Code HTML pour afficher la température sur la page Web:
Nous affichons la température sur une page Web afin qu'elle puisse être accessible de n'importe où dans le monde via Internet. Le code HTML est très simple; nous devons simplement utiliser la fonction client.println pour faire écho à chaque ligne du code HTML, afin que le navigateur puisse l'exécuter.
Cette partie montre le code HTML pour créer une page Web qui affiche la valeur de température.
Client WiFiClient = serveur disponible (); client.println ("HTTP / 1.1 200 OK"); client.println ("Content-Type: text / html"); client.println ("Connexion: fermer"); // la connexion sera fermée après la fin de la réponse client.println ("Refresh: 10"); // met à jour la page après 10 secondes client.println (); client.println (""); client.println (""); client.print ("
Thermomètre digital
"); client.print ("Température (* C) = "); client.println (temp_celsius); client.print ("
Température (F) = "); client.println (temp_fahrenheit); client.print ("
"); client.println (" "); délai (5000); }Travail:
Après avoir téléchargé le code à l'aide de l'IDE Arduino, ouvrez le moniteur série et appuyez sur le bouton Réinitialiser sur NodeMCU.
Maintenant, vous pouvez voir que la carte est connectée au réseau Wi-Fi que vous avez défini dans votre code et que vous avez également l'IP. Copiez cette adresse IP et collez-la dans n'importe quel navigateur Web. Assurez-vous que votre système sur lequel vous exécutez le navigateur Web doit être connecté au même réseau.
Votre thermomètre numérique est prêt et la température sera actualisée automatiquement dans le navigateur Web toutes les 10 secondes.
Pour rendre cette page Web accessible depuis Internet, il vous suffit de configurer la redirection de port dans votre routeur / modem. Vérifiez le code complet et la vidéo ci-dessous.
Vérifiez également:
- Station météo Raspberry Pi: surveillance de l'humidité, de la température et de la pression sur Internet
- Surveillance de la température et de l'humidité en direct sur Internet à l'aide d'Arduino et de ThingSpeak