void ArduRPC_SensorNode::submitData() { uint16_t i; char hostname[NODE_EEPROM_API_HOSTNAME_MAX_LENGTH + 1]; uint16_t port; if(this->status != 4) { return; } if(WiFi.status() != WL_CONNECTED) { return; } /* if(connectSensorAPI() == false) { return; } */ getAPIHostnameOrDefault(&hostname[0], NODE_EEPROM_API_HOSTNAME_MAX_LENGTH); port = getAPIPortOrDefault(); HTTPClient http; String path; path.reserve(64); path = "/sensors/"; path += this->sensor_uuid; http.begin(hostname, port, path); http.addHeader("X-Sensor-Api-Key", this->sensor_key); http.addHeader("X-Sensor-Version", "1"); int code; code = http.POST(this->cache.data, this->cache.length); NODE_DEBUG_PRINT("Code "); NODE_DEBUG_PRINTLN(code); // ToDo: validate code this->status = 0; /* client.print("POST /sensors/"); client.println(this->sensor_uuid); client.print("Host: "); client.println(hostname); client.println("Connection: close"); client.print("X-Sensor-Api-Key: "); client.println(this->sensor_key); client.println("X-Sensor-Version: 1"); client.print("Content-Length: "); client.println(this->cache.length); client.println(); for(i = 0; i < this->cache.length; i++) { Serial.print((char)this->cache.data[i]); } this->status = 0; client.stop(); */ }
void loop() { String url = "http://things.ubidots.com/api/v1.6/variables/" ID_VARIABLE "/values"; http.begin(url); http.addHeader("Content-Type", "application/json"); http.addHeader("X-Auth-Token", AUTH_TOKEN); int content_length =0; String payload = String("{ \"value\": " + String(millis()/1000) + "}"); //content_length = payload.length(); //http.addHeader("Content-Length", String(content_length)); int httpCode = http.POST(payload); if(httpCode > 0) { String payload = http.getString(); Serial.println(payload); } else { Serial.print("[HTTP] failed, error: ");Serial.println(http.errorToString(httpCode).c_str()); } http.end(); delay(20000); }