#include <SPI.h>
#include <Ethernet.h>
// Update these with values suitable for your network.
byte mac[] = { 0x98, 0x4F, 0xEE, 0x00, 0x70, 0x32 };
byte ip[] = { 192, 168, 1, 100 };
byte dns[] = { 192, 168, 1, 1 };
byte gateway[] = { 192, 168, 1, 1 };
char server[] = "agnosthings.com";
EthernetClient ethClient;
// set variabel pin & value sensor
const int pinSensorSuhu = A0;
int sensorSuhu = 0;
void setup()
{
// Reset connection
system("ifdown eth0");
system("ifup eth0");
delay(2000);
// connecting network
Serial.begin(9600);
Serial.println("connecting...");
if (Ethernet.begin(mac) != 1) {
Ethernet.begin(mac, ip, dns, gateway);
}
delay(1000);
Serial.print("Running on: ");
Serial.println(Ethernet.localIP());
}
void loop()
{
// read the analog in value:
// map it to the range of the analog out:
sensorSuhu = map(analogRead(pinSensorSuhu), 0, 1023, 0, 100);
// ganti dengan URL API Push Feed punyamu sendiri
String url_api = "/bc0dfdba-f5be-11e5-8001-xxxxxxxxxxxx/feed?push=led={v_led},sensor={v_sensor}";
url_api.replace("{v_led}", "");
url_api.replace("{v_sensor}", String(sensorSuhu));
Serial.println("Sensor Suhu: "+String(sensorSuhu));
boolean requestStatus = httpRequest(url_api);
if(requestStatus == true)
Serial.println("Sending data success!");
else
Serial.println("Sending data failed!");
Serial.println();
// close any connection before send a new request.
// This will free the socket on the Ethernet shield
ethClient.stop();
delay(1000);
}
boolean httpRequest(String link) {
// if you get a connection, report back via serial:
Serial.println("Push data to server");
if (ethClient.connect(server, 80)) {
// Make a HTTP request:
ethClient.println("GET " + link + " HTTP/1.0");
ethClient.println("Host: agnosthings.com");
ethClient.println();
return true;
} else {
// You couldn't make the connection
Serial.println("Connection Failed");
ethClient.stop();
return false;
}
}
I2luY2x1ZGUgPFNQSS5oPgojaW5jbHVkZSA8RXRoZXJuZXQuaD4KIAovLyBVcGRhdGUgdGhlc2Ugd2l0aCB2YWx1ZXMgc3VpdGFibGUgZm9yIHlvdXIgbmV0d29yay4KYnl0ZSBtYWNbXSAgICAgID0geyAweDk4LCAweDRGLCAweEVFLCAweDAwLCAweDcwLCAweDMyIH07CmJ5dGUgaXBbXSAgICAgICA9IHsgMTkyLCAxNjgsIDEsIDEwMCB9OwpieXRlIGRuc1tdICAgICAgPSB7IDE5MiwgMTY4LCAxLCAxIH07CmJ5dGUgZ2F0ZXdheVtdICA9IHsgMTkyLCAxNjgsIDEsIDEgfTsKY2hhciBzZXJ2ZXJbXSAgID0gImFnbm9zdGhpbmdzLmNvbSI7CkV0aGVybmV0Q2xpZW50IGV0aENsaWVudDsKIAovLyBzZXQgdmFyaWFiZWwgcGluICYgdmFsdWUgc2Vuc29yCmNvbnN0IGludCBwaW5TZW5zb3JTdWh1ID0gQTA7CmludCBzZW5zb3JTdWh1ID0gMDsKIAp2b2lkIHNldHVwKCkKewogICAgLy8gUmVzZXQgY29ubmVjdGlvbgogICAgc3lzdGVtKCJpZmRvd24gZXRoMCIpOwogICAgc3lzdGVtKCJpZnVwIGV0aDAiKTsKICAgIGRlbGF5KDIwMDApOwoKICAgIC8vIGNvbm5lY3RpbmcgbmV0d29yawogICAgU2VyaWFsLmJlZ2luKDk2MDApOwogICAgU2VyaWFsLnByaW50bG4oImNvbm5lY3RpbmcuLi4iKTsKICAgIGlmIChFdGhlcm5ldC5iZWdpbihtYWMpICE9IDEpIHsKICAgICAgRXRoZXJuZXQuYmVnaW4obWFjLCBpcCwgZG5zLCBnYXRld2F5KTsKICAgIH0KICAgIGRlbGF5KDEwMDApOwogICAgU2VyaWFsLnByaW50KCJSdW5uaW5nIG9uOiAiKTsKICAgIFNlcmlhbC5wcmludGxuKEV0aGVybmV0LmxvY2FsSVAoKSk7Cn0KIAp2b2lkIGxvb3AoKQp7CiAgICAvLyByZWFkIHRoZSBhbmFsb2cgaW4gdmFsdWU6CiAgICAvLyBtYXAgaXQgdG8gdGhlIHJhbmdlIG9mIHRoZSBhbmFsb2cgb3V0OgogICAgc2Vuc29yU3VodSA9IG1hcChhbmFsb2dSZWFkKHBpblNlbnNvclN1aHUpLCAwLCAxMDIzLCAwLCAxMDApOwoKICAgIC8vIGdhbnRpIGRlbmdhbiBVUkwgQVBJIFB1c2ggRmVlZCBwdW55YW11IHNlbmRpcmkKICAgIFN0cmluZyB1cmxfYXBpICA9ICIvYmMwZGZkYmEtZjViZS0xMWU1LTgwMDEteHh4eHh4eHh4eHh4L2ZlZWQ/cHVzaD1sZWQ9e3ZfbGVkfSxzZW5zb3I9e3Zfc2Vuc29yfSI7CiAgICB1cmxfYXBpLnJlcGxhY2UoInt2X2xlZH0iLCAiIik7CiAgICB1cmxfYXBpLnJlcGxhY2UoInt2X3NlbnNvcn0iLCBTdHJpbmcoc2Vuc29yU3VodSkpOwogICAgU2VyaWFsLnByaW50bG4oIlNlbnNvciBTdWh1OiAiK1N0cmluZyhzZW5zb3JTdWh1KSk7CgogICAgYm9vbGVhbiByZXF1ZXN0U3RhdHVzID0gaHR0cFJlcXVlc3QodXJsX2FwaSk7CiAgICBpZihyZXF1ZXN0U3RhdHVzID09IHRydWUpCiAgICAgIFNlcmlhbC5wcmludGxuKCJTZW5kaW5nIGRhdGEgc3VjY2VzcyEiKTsKICAgIGVsc2UKICAgICAgU2VyaWFsLnByaW50bG4oIlNlbmRpbmcgZGF0YSBmYWlsZWQhIik7CiAgICBTZXJpYWwucHJpbnRsbigpOwoKICAgIC8vIGNsb3NlIGFueSBjb25uZWN0aW9uIGJlZm9yZSBzZW5kIGEgbmV3IHJlcXVlc3QuCiAgICAvLyBUaGlzIHdpbGwgZnJlZSB0aGUgc29ja2V0IG9uIHRoZSBFdGhlcm5ldCBzaGllbGQKICAgIGV0aENsaWVudC5zdG9wKCk7CiAgICBkZWxheSgxMDAwKTsgICAgCn0KICAKYm9vbGVhbiBodHRwUmVxdWVzdChTdHJpbmcgbGluaykgeyAKICAvLyBpZiB5b3UgZ2V0IGEgY29ubmVjdGlvbiwgcmVwb3J0IGJhY2sgdmlhIHNlcmlhbDoKICBTZXJpYWwucHJpbnRsbigiUHVzaCBkYXRhIHRvIHNlcnZlciIpOwogIGlmIChldGhDbGllbnQuY29ubmVjdChzZXJ2ZXIsIDgwKSkgewogICAgLy8gTWFrZSBhIEhUVFAgcmVxdWVzdDoKICAgIGV0aENsaWVudC5wcmludGxuKCJHRVQgIiArIGxpbmsgKyAiIEhUVFAvMS4wIik7CiAgICBldGhDbGllbnQucHJpbnRsbigiSG9zdDogYWdub3N0aGluZ3MuY29tIik7ICAgICAgICAKICAgIGV0aENsaWVudC5wcmludGxuKCk7CiAgICByZXR1cm4gdHJ1ZTsgIAogIH0gZWxzZSB7CiAgICAvLyBZb3UgY291bGRuJ3QgbWFrZSB0aGUgY29ubmVjdGlvbiAgIAogICAgU2VyaWFsLnByaW50bG4oIkNvbm5lY3Rpb24gRmFpbGVkIik7CiAgICBldGhDbGllbnQuc3RvcCgpOwogICAgcmV0dXJuIGZhbHNlOwogIH0KfQ==