dht program is below file
Last active
January 30, 2023 11:40
-
-
Save py563/5d7feb7ae7f20bf046a6df5e48c1f923 to your computer and use it in GitHub Desktop.
Links References
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Robo India Tutorial | |
// Simple code upload the tempeature and humidity data using thingspeak.com | |
// Hardware: NodeMCU,DHT11 | |
// PY563 - adding DHT library | |
// Open Arduino IDE (New Version >= 2.0) > Click on Sketch > Include Library > Manage Library | |
// In Manage Library window search for 'DHT' and install 'DHT Sensor Library by Adafruit' | |
#include <DHT.h> // Including library for dht | |
#include <ESP8266WiFi.h> | |
String apiKey = "VOWD9V2IDMKISX7B"; // Enter your Write API key from ThingSpeak | |
const char *ssid = "IOT LAB"; // replace with your wifi ssid and wpa2 key | |
const char *pass = "abcd1234"; | |
const char* server = "api.thingspeak.com"; | |
#define DHTPIN D5 //pin where the dht11 is connected | |
DHT dht(DHTPIN, DHT11); | |
WiFiClient client; | |
void setup() | |
{ | |
Serial.begin(115200); | |
delay(10); | |
dht.begin(); | |
Serial.println("Connecting to "); | |
Serial.println(ssid); | |
WiFi.begin(ssid, pass); | |
while (WiFi.status() != WL_CONNECTED) | |
{ | |
delay(500); | |
Serial.print("."); | |
} | |
Serial.println(""); | |
Serial.println("WiFi connected"); | |
} | |
void loop() | |
{ | |
float h = dht.readHumidity(); | |
float t = dht.readTemperature(); | |
if (isnan(h) || isnan(t)) | |
{ | |
Serial.println("Failed to read from DHT sensor!"); | |
return; | |
} | |
if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com | |
{ | |
String postStr = apiKey; | |
postStr +="&field1="; | |
postStr += String(t); | |
postStr +="&field2="; | |
postStr += String(h); | |
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("Temperature: "); | |
Serial.print(t); | |
Serial.print(" degrees Celcius, Humidity: "); | |
Serial.print(h); | |
Serial.println("%. Send to Thingspeak."); | |
} | |
client.stop(); | |
Serial.println("Waiting..."); | |
// thingspeak needs minimum 15 sec delay between updates, i've set it to 30 seconds | |
delay(10000); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment