j ai mis en route un MQ135 avec un D1 Mini NodeMcu avec module WLAN ESP8266 de marque AZ-Delivery
j ai compiler un programme :
Code : Tout sélectionner
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <PubSubClient.h>
///////////////////////////////////
// Variables utilisateur à modifier
///////////////////////////////////
// Identifiants Wifi
const char* ssid = "xxxxx";
const char* password = "xxxxxx";
// Adresse du serveur Domoticz
const char* host = "192.168.1.xx";
const int port = 8080; // changez le port au besoin
// Index des capteur dans Domoticz
#define IDX_MQ 937
// remplacez XX par l'index du capteur dans Domoticz
// Numéros des broches capteurs Ultrason
//const int AOUTpin = A0; //the AOUT pin of the CO sensor goes into analog pin A0 of the arduino
#define ANALOG_PIN 0
uint16_t gasVal;
boolean isgas = false;
// Définition des paramètres IP du Wemos
IPAddress ip(192, 168, 1, 50);
IPAddress gateway(192, 168, 1, 254);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 1, 254);
///////////////////////////////////////////
// Fin des Variables utilisateur à modifier
// Ne rien modifier ci-dessous
///////////////////////////////////////////
// Définition du client HTTP
HTTPClient http;
void setup()
{
Serial.begin(115200); // initialisation communication série
//Serial.print("Connecting to ");
//Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.config(ip, dns, gateway, subnet);
WiFi.begin(ssid, password);
// Attente de connexion
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Print the IP address
Serial.println(WiFi.localIP());
}
void loop()
{
gasVal = analogRead(ANALOG_PIN);
//gasVal = map(gasVal, 0, 2000, 0, 1000);
float valeur = (gasVal)*10;
// Construction de la chaine pour le capteur 1 et envoi à Domoticz
String url1 = "/json.htm?type=command¶m=udevice&idx=";
url1 += String(IDX_MQ);
url1 += "&nvalue=";
url1 += String(valeur);
url1 += "&svalue=";
url1 += String(valeur);
sendToDomoticz(url1);
// Delai entre chaque mesure et envoi
delay(10000);
}
void sendToDomoticz(String url)
{
Serial.print("Connecting to ");
Serial.println(host);
Serial.print("Requesting URL: ");
Serial.println(url);
Serial.print("Gas : ");
Serial.print(gasVal);
http.begin(host, port, url);
int httpCode = http.GET();
if (httpCode)
{
if (httpCode == 200)
{
String payload = http.getString();
Serial.println("Domoticz response ");
Serial.println(payload);
}
}
//Serial.println("closing connection");
http.end();
}2- dans arduino dans moniteur série j ai des lignes illisibles : "-> ⸮⸮⸮⸮⸮⸮⸮⸮⸮"
pourriez vous me donner l explication?