#define fan_pin D0 #define pump_pin D1 #define led_pin D2 #define ldr_pin A0 #include #include dht DHT; #define DHTpin D3 #include #include const char* ssid = "name of the wifi router"; const char* password = "wifi code"; const char* mqtt_server = "192.168.1.3";//Adresse IP du Broker Mqtt int soilValue; WiFiClient espClient; PubSubClient client(espClient); char msg_hum[50]; char msg_temp[50]; char msg_hum_temp[50]=""; float temp; float hum; int led; int ldrStatus; void setup() { pinMode(fan_pin,OUTPUT); pinMode(pump_pin,OUTPUT); pinMode(led_pin,OUTPUT); pinMode(DHTpin,INPUT); pinMode(ldr_pin,INPUT); digitalWrite(pump_pin,HIGH); digitalWrite(led_pin,HIGH); Serial.begin(9600); if(analogRead(ldr_pin) < 60) led = 0; else led = 1; setup_wifi(); client.setServer(mqtt_server,1883); } void setup_wifi() { delay(10); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { Serial.println("no"); delay(500); } } void reconnect() { while (!client.connected()) { if (client.connect("ESP8266Client")) { //client.publish("temperature", "hello world"); //client.subscribe("temperature"); Serial.println("yes"); } else { delay(500); } } } void loop() { if (!client.connected()) { reconnect(); } client.loop(); /*digitalWrite(pump_pin,LOW); delay(2000); digitalWrite(pump_pin,HIGH); delay(4000);*/ ldrStatus = analogRead(ldr_pin); delay(500); uint32_t start = micros(); int chk = DHT.read22(DHTpin); uint32_t stop = micros(); temp = DHT.temperature; Serial.print("Temperature : "); Serial.println(temp); //hum = DHT.humidity; hum=45; Serial.print("Humidity air : "); Serial.println(hum); snprintf (msg_hum,5,"%f",hum); snprintf (msg_temp,5,"%f",temp); strcpy(msg_hum_temp,msg_hum); strcat(msg_hum_temp,"/"); strcat(msg_hum_temp,msg_temp); client.publish("roytuts-input",msg_hum_temp); strcpy(msg_hum_temp,""); if(temp >30) digitalWrite(fan_pin,HIGH); else digitalWrite(fan_pin,LOW); Serial.print("ldr : "); Serial.println(analogRead(ldr_pin)); if(ldrStatus < 60 and led==0) { led=1; digitalWrite(led_pin,LOW); } else { if(ldrStatus >= 60 and led==1) { led=0; digitalWrite(led_pin,HIGH); } } }