hi!
although we have the bridge widget, but to use it, one have to edit firmware on the target device(s) too… this is not very convenient for lazy people like me
so, i created 2 functions:
- one to read any pin on any device
- one to write any pin on any device
without specific code needed on the target(s)!
#include <ESP8266HTTPClient.h>
void APIwriteDevicePin(String token, String pin, String value)
{
HTTPClient http;
// http://blynk-cloud.com/auth_token/update/v14?value=HH
String url = "http://blynk-cloud.com/"; // url
url += token; // blynk token
url += "/update/";
url += pin; // pin to update
url += "?value=";
url += value; // value to write
http.begin(url);
http.GET();
delay(50);
http.end();
delay(10);
}
String APIreadDevicePin(String token, String pin)
{
HTTPClient http;
String payload = "request failed";
// http://blynk-cloud.com/auth_token/get/pin
String url = "http://blynk-cloud.com/";
url += token; // blynk token
url += "/get/";
url += pin; // pin to read
http.begin(url);
int httpCode = http.GET();
delay(50);
if (httpCode > 0) {
payload = http.getString(); // get response payload as String
payload.remove(0, 2);
payload.remove(payload.length() - 2); // strip [""]
}
else payload = payload + ", httpCode: " + httpCode;
http.end();
delay(10);
return payload;
}
more info at: https://techtutorialsx.com/2016/07/17/esp8266-http-get-requests/