2017-09-14 9 views
1

J'essaie d'obtenir l'heure locale actuelle avec une API. J'utilise un WEMOS D1 Mini et la méthode get avec blynk pour renvoyer JSON de l'API et le stocker.Obtenir du temps avec API dans Arduino

J'utilise ce code

#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")]; 
} 

Mais je ne peux pas recevoir de temps dans la variable de longue date.

+2

Qu'obtenez-vous et qu'attendez-vous? – eyllanesc

+0

"* ne fonctionne pas bien *" n'est pas un bon problème de description. –

Répondre

0

Vous pouvez le faire de manière plus simple. Vous devez ajouter le widget WebHook à votre application. Dans le widget webhoook, vous devez mettre https://api.bot-dev.org/time/ url. Et affectez ce widget à la broche virtuelle, disons V0. Le widget Webhook renvoie une réponse à votre matériel après son déclenchement. Donc, votre code devrait ressembler à ça:

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 
} 

avoir à l'esprit que vous devez également sortir de la boucle principale Blynk.virtualWrite afin d'éviter flooding.

Here is plus de détails concernant le widget webhook.