#include #include #define SSID "hangar_polivalent" // insert your SSID #define PASS "p0l1v4l3nc14s" // insert your password #define LOCATIONID "41.3871/2.1685" // location id #define DST_IP "208.113.226.171" //earthtools.org StaticJsonBuffer<200> jsonBuffer; void setup() { Serial1.begin(9600); Serial1.setTimeout(5000); Serial.begin(9600); // for debuging while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.println("Init"); Serial1.println("AT+RST"); // restet and test if module is redy delay(1000); if (Serial1.find("ready")) { Serial.println("WiFi - Module is ready"); } else { Serial.println("WiFi - Module is missing"); while (1); } delay(1000); // try to connect to wifi boolean connected = false; for (int i = 0; i < 5; i++) { if (connectWiFi()) { connected = true; break; } } if (!connected) { while (1); } delay(5000); Serial1.println("AT+CIPMUX=0"); // set to single connection mode } void loop() { String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += DST_IP; cmd += "\",80"; Serial1.println(cmd); Serial.print(cmd); if (Serial1.find("Error")) return; cmd = "GET /timezone/"; cmd += LOCATIONID; cmd += " HTTP/1.0\r\nHost: www.earthtools.org\r\n\r\n"; Serial1.print("AT+CIPSEND="); Serial1.println(cmd.length()); if (Serial1.find(">")) { Serial.println(">"); } else { Serial1.println("AT+CIPCLOSE"); Serial.println("connection timeout"); delay(1000); return; } Serial1.print(cmd); unsigned int i = 0; //timeout counter //char json[100] = "{"; while (!Serial1.find("")) {} // find the part we are interested in. while (!Serial1.find("2015 ")) {} // find the part we are interested in. char h[2]; Serial1.readBytes(h, 2); int hour = atoi(h); Serial.println(hour); // flush while(Serial1.available()){ char c = Serial1.read(); } delay(20000); } boolean connectWiFi() { Serial1.println("AT+CWMODE=1"); String cmd = "AT+CWJAP=\""; cmd += SSID; cmd += "\",\""; cmd += PASS; cmd += "\""; Serial.println(cmd); Serial1.println(cmd); delay(2000); if (Serial1.find("OK")) { Serial.println("OK, Connected to WiFi."); return true; } else { Serial.println("Can not connect to the WiFi."); return false; } }