我在这一切方面都相当新,但却让我的方式变得混乱,让我的Arduino将值发布到Xively流中,我已经命名为" Lux和Temp。"三个价值观;计数,勒克斯和温度。
现在我想要做的就是使用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。
答案 0 :(得分: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输出节点。