Kerminy HackerSpace

Outils du site


capteurs:wemos_d1_dht12

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
capteurs:wemos_d1_dht12 [2021/03/17 16:10] – créée jeffcapteurs:wemos_d1_dht12 [Date inconnue] (Version actuelle) – supprimée - modification externe (Date inconnue) 127.0.0.1
Ligne 1: Ligne 1:
-======  Capteur Température / humidité : Wemos D1 DHT12 ====== 
-  * [[https://www.wemos.cc/en/latest/d1/index.html| Wemos]] ESP8266 puce WiFi 
-  * [[https://www.wemos.cc/en/latest/d1_mini_shield/dht.html]] ajout capteur DHT12 
-  * relai de mesure de la tension , résistance 180k ( pas sur la V1 ) 
-  * batterie 18650 
  
-===== Codes ===== 
-V1 
-<code c> 
- 
-#include <ESP8266WiFi.h> 
-#include <ESP8266mDNS.h> 
-#include <WiFiUdp.h> 
-#include <ArduinoOTA.h> 
-#include "EspMQTTClient.h" 
- 
-const char* ssid = "kerminy"; 
-const char* password = "1234567890"; 
-const char* mqtt_server = "192.168.1.13"; 
-const char* host = "ESP-C49200"; // = ausi nom client mqtt 
-const char* mqtt_user = "kerminy"; 
-const char* mqtt_pass = "patate"; 
-int mqtt_port = 1883; 
-int prog_version = 1; 
-int version_maj  = 1; // a faire la maj  OTA 
- 
-EspMQTTClient client(NULL, NULL, mqtt_server, mqtt_user, mqtt_pass, host, mqtt_port); 
-double batterie = 0; // resistance 180 k A0<->GND 
-float minute_dodo = 10; 
-int boucle1 = 0; 
-unsigned long lastMsg = 0; 
-#define MSG_BUFFER_SIZE  (50) 
-char msg[MSG_BUFFER_SIZE]; 
-int value = 0; 
-bool donnee_prete = false; 
-bool connexion_ok = false; 
-bool attend_flash = false; 
- 
-#define capteur_dht12 
-float temperature = 0; 
-float humidite = 0; 
-float pression = 0; 
- 
-#ifdef capteur_dht12 
-#include <WEMOS_DHT12.h> 
-DHT12 dht12; 
-#endif 
-void setup_wifi() { 
- 
-  delay(10); 
-  // We start by connecting to a WiFi network 
-  Serial.println(); 
-  Serial.print("Connecting to "); 
-  Serial.println(ssid); 
- 
-  WiFi.mode(WIFI_STA); 
-  WiFi.begin(ssid, password); 
- 
-  while (WiFi.status() != WL_CONNECTED) { 
-    delay(500); 
-    Serial.print("."); 
-  } 
-  Serial.println(""); 
-  Serial.println("WiFi connected"); 
-  Serial.println("IP address: "); 
-  Serial.println(WiFi.localIP()); 
-} 
-void callback(char* topic, byte* payload, unsigned int length) { 
-  Serial.print("Message arrived ["); 
-  Serial.print(topic); 
-  Serial.print("] "); 
-  for (int i = 0; i < length; i++) { 
-    Serial.print((char)payload[i]); 
-  } 
-  Serial.println(); 
- 
-  if ((char)payload[0] == 'F') { // FLASH si F 
-    digitalWrite(BUILTIN_LED, LOW);   // Turn the LED on (Note that LOW is the voltage level 
-    // A FAIRE 
-  } else { 
-    digitalWrite(BUILTIN_LED, HIGH);  // Turn the LED off by making the voltage HIGH 
-  } 
- 
-} 
-void dodo() { 
-  Serial.print("dodo min :"); 
-  Serial.println((float)minute_dodo); 
-  // Connect D0 to RST to wake up ! 
-  ESP.deepSleep(minute_dodo * 60 * 1000000); 
-} 
- 
-bool recup_donnees() { 
-  int boucle = 0; 
-  while (donnee_prete != true && boucle < 5) { // lescture des donnees 
-    if (dht12.get() == 0) { 
-      donnee_prete = true; 
-      temperature = dht12.cTemp; 
-      humidite = dht12.humidity; 
-      Serial.print("Température: "); 
-      Serial.println(temperature); 
-      Serial.print("Humidité   : "); 
-      Serial.println(humidite); 
-      Serial.println(); 
-      return true; 
-    } 
-    Serial.println("relecture capteur"); 
-    delay(1000); 
-    boucle++; 
-  } 
-  Serial.println("pb capteur =  reboot"); 
-  dodo(); 
-  return false; 
-} 
-void onConnectionEstablished() { 
-  connexion_ok = true; 
-  Serial.println("connected"); 
-} 
-void setup() { 
-  Serial.begin(115200); 
-  pinMode(BUILTIN_LED, OUTPUT);     // Initialize the BUILTIN_LED pin as an output 
-  Serial.begin(115200); 
-  Serial.println(""); 
-  Serial.print("ChipID : "); 
-  Serial.println(ESP.getChipId(), HEX); 
-  batterie = analogRead(A0) ; 
-  batterie = batterie / 214.5; // 209.66 assumes external 180K resistor / 1024) * 6.13; 
-  Serial.println(batterie); 
-  recup_donnees(); 
-  setup_wifi(); 
-  client.enableDebuggingMessages(); // Enable debugging messages sent to serial output 
-} 
- 
-void loop() { 
-  // premiere lecture 
-  if (dht12.get() == 0) { 
-    donnee_prete = true; 
-    temperature = dht12.cTemp; 
-    humidite = dht12.humidity; 
-    Serial.println(""); 
-    Serial.print("Température: "); 
-    Serial.println(temperature); 
-    Serial.print("Humidité   : "); 
-    Serial.println(humidite); 
-    Serial.println(); 
-  } 
- 
-  client.loop();  // on a au moins une valeur 
-  unsigned long now = millis(); 
-  if (now - lastMsg > 15000) { 
-    Serial.println("pas d'acces au serveur MQTT , dodo min :"); 
-    dodo(); 
-  } 
-  if (now - lastMsg > 5000) { // attend 5s avant de faire 
-    lastMsg = now; 
-    ++value; 
-    if (donnee_prete == true && connexion_ok == true) { // tout est pret 
-      Serial.println("publie"); 
-      // Publish a message to "mytopic/test" 
-      String topic1 = "pgvrs/"; topic1 += host; 
-      String topic2 = "temp/" ; topic2 += host; 
-      String topic3 = "humid/"; topic3 += host; 
-      String topic4 = "batt/" ; topic4 += host; 
-      Serial.println(topic1); 
-      Serial.println(topic2); 
-      Serial.println(topic3); 
-      Serial.println(topic4); 
-      if ( 
-        client.publish(String(topic1).c_str(), String(prog_version) .c_str()    ) && 
-        client.publish(String(topic2).c_str(), String(dht12.cTemp).c_str()      ) && 
-        client.publish(String(topic3).c_str(), String(dht12.humidity).c_str()   ) && 
-        client.publish(String(topic4).c_str(), String(batterie).c_str()         ) 
-      ) { 
-        Serial.println("donnees transmises"); 
-        delay(5000); 
-        /* 
-          // Subscribe to "mytopic/test" and display received message to Serial 
-          String topic = ""; 
-          topic = String(host) + "/" + String(prog_version); 
- 
-          if ( client.subscribe(topic, [](const String & payload) { 
-          version_maj = atoi(payload.c_str()) ; 
-          }) ) { 
-          if (version_maj != prog_version) { 
-            client.enableHTTPWebUpdater(); // Enable the web updater. User and password default to values of MQTTUsername and MQTTPassword. These can be overrited with enableHTTPWebUpdater("user", "password"). 
-            Serial.println("attend flash"); 
-            attend_flash = true; 
-          } 
-          } 
-        */ 
-        dodo(); 
-      } 
-    } 
-  } 
-  delay(1000); 
-} 
- 
-</code c> 
capteurs/wemos_d1_dht12.1615993817.txt.gz · Dernière modification : 2024/02/08 17:20 (modification externe)