#include <WiFi.h>
#include "DHT.h"
#include <LiquidCrystal.h>
LiquidCrystal lcd (2,4,5,18,19,21);
String apiKey = "N660DARW597LIKA2"; // write your "Write API key"
const char* ssid = "Ederson"; // write your "wifi name"
const char* password = "11223344"; // write your "wifi password"
const char* server = "api.thingspeak.com";
WiFiClient client;
DHT dht(15, DHT11); // (dht pin no, dht sensor type)
float Hum, Temp;
void setup()
{
lcd.begin(16,2);
lcd.clear();
Serial.begin(9600);
Serial.println("Serial Begin");
dht.begin();
WiFi.begin(ssid, password);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
void loop()
{
lcd.setCursor (0,0);
lcd.print("Temp= ");
lcd.println(Temp);
lcd.setCursor(0,1);
lcd.print("Hum= ");
lcd.println(Hum);
delay(1000);
DHT_data();
delay(1000);
if (client.connect(server,80))
{
fwd_to_Thingspeak();
}
client.stop();
Serial.println("Waiting");
// delay(1000);
}
void DHT_data()
{
Hum = dht.readHumidity();
Temp = dht.readTemperature();
}
void fwd_to_Thingspeak()
{
String postStr = apiKey;
postStr +="&field1=";
postStr += String(Hum); // Humidity data
postStr +="&field2=";
postStr += String(Temp); // Temperature Data
postStr += "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
Serial.print("Send data to channel-1 ");
Serial.print("Content-Length: ");
Serial.print(postStr.length());
Serial.print("Field-1: ");
Serial.print(Hum);
Serial.print("Field-2: ");
Serial.print(Temp);
Serial.println(" data send");
}