#include #include #include #include #include #include "DHT.h" #define DHTPIN D0 // what pin we're connected to #define DHTTYPE DHT22 // DHT 22 (AM2302) char *tem=""; String apikey = "162d15b0-2c6d-4d44-b288-10f28a527f96"; const char* deviceID="030000000f"; const char* server = "www.linksprite.io"; WiFiClient client; DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); WiFiManager wifiManager; wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); wifiManager.autoConnect("LinkNodeAP"); Serial.print("WiFi Connected ...\n"); Serial.println("WiFi connected"); Serial.println("DHTxx test!"); dht.begin(); } void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); // Read temperature as Celsius (the default) float f = dht.readTemperature(true); // Read temperature as Fahrenheit (isFahrenheit = true) // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Failed to read from DHT sensor!"); return; } float hif = dht.computeHeatIndex(f, h); // Compute heat index in Fahrenheit (the default) float hic = dht.computeHeatIndex(t, h, false);// Compute heat index in Celsius (isFahreheit = false) Serial.print("Humidity: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(t); Serial.print(" *C "); Serial.print(f); Serial.print(" *F\t"); Serial.print("Heat index: "); Serial.print(hic); Serial.print(" *C "); Serial.print(hif); Serial.println(" *F"); if (client.connect(server,80)) { String postStr ="{"; postStr +="\"action\":\"update\","; postStr +="\"apikey\":\""; postStr += apikey; postStr +="\","; postStr +="\"deviceid\":\""; postStr += deviceID; postStr +="\","; postStr +="\"params\":"; postStr +="{"; postStr +="\"temperature\":\""; itoa(t,tem,10); postStr +=tem; postStr +="\","; postStr +="\"humidity\":\""; itoa(h,tem,10); postStr +=tem; postStr +="\"\r\n"; postStr +="}"; postStr +="}"; client.print("POST /api/http HTTP/1.1\n"); client.print("Host: "); client.print(server); client.print("\nContent-Type: application/json\n"); client.print("Content-Length: "); client.print(postStr.length()); client.print("\n\n"); client.print(postStr); String request = ""; delay(1000); while (client.available()) { char c = client.read(); request +=c; } if (request!= NULL) { int index1 = request.indexOf(":{"); int index2 = request.indexOf("},"); String param = request.substring(index1, index2 + 1); String data="\0" ; Serial.print("The param is "); Serial.println(param); client.stop(); Serial.println("waiting ..."); delay(1000); } } }