2017-09-14 11 views
1

私はAPIを使って現地時間を取得しようとしています。私はWEMOS D1 Miniとblynkのgetメソッドを使ってJSONをAPIから返して保存しています。ArduinoのAPIで時間を得る

私はこのコード

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

を使用しかし、私は長い時間変数に時間を受け取る傾けます。

+2

あなたは何を得て、何を期待していますか? – eyllanesc

+0

「*うまく動作しない*」は問題の良い説明ではありません。 –

答えて

0

これは簡単な方法で行うことができます。 アプリにWebHookウィジェットを追加する必要があります。 webhoookウィジェットでは、https://api.bot-dev.org/time/のURLを入力する必要があります。そして、このウィジェットを仮想ピンに割り当てます。V0としましょう。 Webhookウィジェットは、起動後にハードウェアに応答を返します。だからあなたのコードは、次のようになります。

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 
} 

あなたが floodingを避けるために、メインループから Blynk.virtualWriteを移動させることも必要心を持っています。

Here is webhookウィジェットの詳細。

関連する問題