node.js - Xively 和 Node-Red

标签 node.js xively node-red

我对这一切还很陌生,但我搞砸了让我的 Arduino 将值发布到我命名为“Lux 和 Temp”的 Xively 流的方法。三个值(value)观;计数、勒克斯和温度。

现在我想做的是获取这些值并使用 Node-Red 对它们执行一些操作。 http://nodered.org

我已经启动并运行了 Node-Red,但如果我能弄清楚如何解析来自 Xively API feed 的数据,我就会陷入困境。 https://api.xively.com/v2/feeds/1823833592

遗憾的是,我没有足够的声誉点来实际发布它返回到此处的数据,因为它在数据中嵌入了超过 3 个 URL。这也是一长串数据。 ;)

我只是对如何编写函数来提取我想要的部分感到困惑。

我最初的愿望是用它制作一个简单的 Twitter feed。类似的东西;

“计数 40,勒克斯 30,温度 78.3”

我最终会想回收代码来做其他事情,比如让我的 RasPi 做一些事情;也许是一个显示器或一些 LED。无论哪种情况,我都需要解析数据并用它构建各种消息。

有人对 Node-Red 功能有任何经验,可以引导我完成解决方案吗? Node-Red 网站非常棒,但我认为它假设我是一个比实际情况更有经验的用户。它给出了提示,但坦率地说,我所知道的只是相当基本的 Arduino 和简单的 Python。

最佳答案

好吧,这应该不会太棘手,但尝试将其放入功能 block 中:

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 解析 Node 运行流程。 (我总是忘记转换器 Node )

您应该能够将其连接到 Twitter 输出 Node 。

关于node.js - Xively 和 Node-Red,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24175098/

相关文章:

raspberry-pi - 红色节点:Raspberry Pi B+ 上的 "Error: <nodename> node not deployed"

javascript - 查找 PHP、Node 和 Golang 中两个数组之间的区别

node.js 标准输出 clearline() 和 cursorTo() 函数

c++ - 使用 g++ 包含库

javascript - 如何为 Xively 数据流创建 Highstock 图表?

ibm-cloud - 在 Node-Red 中指定函数节点上的输出

node.js - 使用 redis 作为 REST Api 用户的缓存(为了保存 Api 请求)

node.js - 停止服务器后连接socket.io增加

python - 如何在 flask 网络应用程序中接受来自 Xively 的 POST 数据?

javascript - 如何在 Bluemix 上安装 moment-timezone.js?