2

私はこれにまったく慣れていませんが、「Lux and Temp」と名付けた Xively ストリームに Arduino に値を投稿させる方法を混乱させました。3 つの値。カウント、ルクス、および温度。

今私がやりたいことは、これらの値を取得し、Node-Red を使用してそれらを処理することです。 http://nodered.org

私は Node-Red を稼働させていますが、Xively API フィードからのデータを解析する方法を理解できれば、私は危険にさらされます。 https://api.xively.com/v2/feeds/1823833592

悲しいことに、データには 3 つ以上の URL が埋め込まれているため、ここに返されるデータを実際に投稿できるほどの評判ポイントがありません。それもデータの長い文字列です。;)

必要な部分を抽出する関数の書き方については、私は困惑しています。

私の最初の望みは、それから簡単な Twitter フィードを作成することです。何かのようなもの;

「カウント40、ルクス30、温度78.3」

最終的には、RasPi に何かをさせるなど、他のことのためにコードをリサイクルしたいと思うでしょう。おそらくディスプレイまたはいくつかのLEDです。どちらの場合も、データを解析し、それを使用してさまざまなメッセージを作成する必要があります。

ソリューションを案内してくれるNode-Red機能の経験がある人はいますか? Node-Red のサイトはかなり素晴らしいですが、私が実際よりもはるかに経験豊富なユーザーであることを前提としていると思います。ヒントは得られますが、率直に言って、私が知っているのはかなり基本的な Arduino と簡単なレベルの Python だけです。

4

1 に答える 1

0

わかりました、それほどトリッキーではありませんが、これを関数ブロックに入れてみてください:

var newPayload = "";
var count, lux, temp;

var data = msg.payload.datastreams;

for (var i = 0 ; i< data.length; i++) {
  if (data[i].id === 'Count') {
    count = data[i].current_value;
  }else if (data[i].id === 'Lux') {
    lux = data[i].current_value;
  } else if (data[i].id === 'Temp') {
    temp = data[i].current_value;
  }
}

newPayload = util.format('Count: %s, Lux: %s, Temp: %s', count, lux, temp);

msg.payload = newPayload;

return msg;

msg.payload = JSON.parse(msg.payload); を追加する必要がある場合があります。ただし、xively からのフィードの取得がまだ json であると見なされていない場合は、最初に。[編集] JSON 解析ノードを介してフローを実行することもできます。(私はいつも変換ノードを忘れます)

それをtwitter出力ノードに接続できるはずです。

于 2014-06-12T15:41:29.643 に答える