/** * BasicHTTPClient.ino * * Created on: 24.05.2015 * */ #include #include #include #include #define USE_SERIAL Serial // Time to sleep (in seconds): const int sleepTimeS = 10; ESP8266WiFiMulti WiFiMulti; void setup() { USE_SERIAL.begin(115200); // USE_SERIAL.setDebugOutput(true); USE_SERIAL.println(); USE_SERIAL.println(); USE_SERIAL.println(); for(uint8_t t = 4; t > 0; t--) { USE_SERIAL.printf("[SETUP] WAIT %d...\n", t); USE_SERIAL.flush(); delay(1000); } WiFiMulti.addAP("Livebox-37cc", "8A6060920A8A86896F770F2C47"); } void loop() { // wait for WiFi connection if((WiFiMulti.run() == WL_CONNECTED)) { // // HTTPClient http; // // USE_SERIAL.print("[HTTP] begin...\n"); // configure traged server and url //http.begin("https://192.168.1.12/test.html", "7a 9c f4 db 40 d3 62 5a 6e 21 bc 5c cc 66 c8 3e a1 45 59 38"); //HTTPS // http.begin("http://192.168.0.10/test.html"); //HTTP // http.begin("http://192.168.0.10:8080/json.htm?type=devices&rid=290"); // + String(idRadiateurInDomoticz) getHttp("http://192.168.0.10:8080/json.htm?type=command¶m=udevice&idx=288&nvalue=123&svalue=330"); delay(1000); getHttp("http://192.168.0.10:8080/json.htm?type=command¶m=udevice&idx=127&nvalue=123&svalue=300"); delay(1000); getHttp("http://192.168.0.10:8080/json.htm?type=command¶m=udevice&idx=196&nvalue=12&svalue=129"); delay(1000); getHttp("http://192.168.0.10:8080/json.htm?type=command¶m=udevice&idx=197&nvalue=13&svalue=100"); // http.begin("http://192.168.0.10:8080/json.htm?type=command¶m=udevice&idx=288&nvalue=123&svalue=330"); // //http://192.168.0.10:8080/json.htm?type=devices&rid=290 // USE_SERIAL.print("[HTTP] GET...\n"); // // start connection and send HTTP header // int httpCode = http.GET(); // // // httpCode will be negative on error // if(httpCode > 0) { // // HTTP header has been send and Server response header has been handled // USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode); // // // file found at server // if(httpCode == HTTP_CODE_OK) { // String reponse = http.getString(); // USE_SERIAL.println(reponse.length()); // int p = reponse.indexOf('Status'); // int p2 = reponse.indexOf('StrParam1'); // // String id = reponse.substring(p, p2); // // USE_SERIAL.println(p); // USE_SERIAL.println(p2); // USE_SERIAL.println(reponse); // // String value = reponse.substring(p + 1, reponse.length() -1); // } // } else { // USE_SERIAL.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str()); // } // http.end(); } // delay(10000); // Sleep Serial.println("ESP8266 in sleep mode"); //ESP.deepSleep(sleepTimeS * 1000000, WAKE_RFCAL); delay(60000); } void getHttp(String url) { HTTPClient http; USE_SERIAL.print("[HTTP] begin...\n"); http.begin(url); //http://192.168.0.10:8080/json.htm?type=devices&rid=290 USE_SERIAL.print("[HTTP] GET...\n"); // start connection and send HTTP header int httpCode = http.GET(); // httpCode will be negative on error if(httpCode > 0) { // HTTP header has been send and Server response header has been handled USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode); // file found at server if(httpCode == HTTP_CODE_OK) { String reponse = http.getString(); USE_SERIAL.println(reponse.length()); int p = reponse.indexOf('Status'); int p2 = reponse.indexOf('StrParam1'); String id = reponse.substring(p, p2); USE_SERIAL.println(p); USE_SERIAL.println(p2); USE_SERIAL.println(reponse); // String value = reponse.substring(p + 1, reponse.length() -1); } } else { USE_SERIAL.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } //-------------------------------------------------------------------------------------------------- // Read current supply voltage //-------------------------------------------------------------------------------------------------- long readVcc() { bitClear(PRR, PRADC); ADCSRA |= bit(ADEN); // Enable the ADC long result; // Read 1.1V reference against Vcc #if defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); // For ATtiny84 #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); // For ATmega328 #endif // ADCSRB = 0; delay(2); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Convert while (bit_is_set(ADCSRA,ADSC)); result = ADCL; result |= ADCH<<8; result = 1126400L / result; // Back-calculate Vcc in mV // ADCSRA &= ~ bit(ADEN); bitSet(PRR, PRADC); // Disable the ADC to save power // analogReference(DEFAULT); return result; // Vcc in millivolts }