在 Arduino 中获得 API 的时间
Get time with API in Arduino
我正在尝试使用 API 获取当前当地时间。我正在使用 WEMOS D1 Mini 和 get 方法,blynk 从 API 到 return JSON 并存储它。
我用这个代码
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <ArduinoJson.h>
#include <BlynkSimpleEsp8266.h>
String json;
char auth[] = "";
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
BLYNK_WRITE(V0) {
json = param.asStr();
}
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
Blynk.virtualWrite(V0, "https://api.bot-dev.org/time/");
JsonObject& root = jsonBuffer.parseObject(json);
long time = root[String("ENtime")];
}
但我无法接收长时间变量中的时间。
你可以用更简单的方法来做到这一点。
您需要将 WebHook 小部件添加到您的应用程序。在 webhoook 小部件中,您需要放置 https://api.bot-dev.org/time/
url。并将此小部件分配给虚拟图钉,比方说 V0
。 Webhook 小部件在触发后将 return 响应您的硬件。所以你的代码应该是这样的:
BLYNK_WRITE(V0) {
//here you'll get response from the webhook
json = param.asStr();
}
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
//trigger the webhook
Blynk.virtualWrite(V0, 1); //you can send any value to trigger webhook
}
请记住,您还需要从主循环中移出 Blynk.virtualWrite
以避免 flooding。
Here is 有关 webhook 小部件的更多详细信息。
我正在尝试使用 API 获取当前当地时间。我正在使用 WEMOS D1 Mini 和 get 方法,blynk 从 API 到 return JSON 并存储它。
我用这个代码
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <ArduinoJson.h>
#include <BlynkSimpleEsp8266.h>
String json;
char auth[] = "";
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
BLYNK_WRITE(V0) {
json = param.asStr();
}
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
Blynk.virtualWrite(V0, "https://api.bot-dev.org/time/");
JsonObject& root = jsonBuffer.parseObject(json);
long time = root[String("ENtime")];
}
但我无法接收长时间变量中的时间。
你可以用更简单的方法来做到这一点。
您需要将 WebHook 小部件添加到您的应用程序。在 webhoook 小部件中,您需要放置 https://api.bot-dev.org/time/
url。并将此小部件分配给虚拟图钉,比方说 V0
。 Webhook 小部件在触发后将 return 响应您的硬件。所以你的代码应该是这样的:
BLYNK_WRITE(V0) {
//here you'll get response from the webhook
json = param.asStr();
}
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
//trigger the webhook
Blynk.virtualWrite(V0, 1); //you can send any value to trigger webhook
}
请记住,您还需要从主循环中移出 Blynk.virtualWrite
以避免 flooding。
Here is 有关 webhook 小部件的更多详细信息。