设置 NoSQL 数据库存储数据
当我们玩 Harlem Shake 时,会通过云中的 MQTT 消息代理发送 IoT 传感器数据。我们需要将该数据发送到 NoSQL 数据库。让我们添加数据库功能。
- 您应该已在上一节打开 Node-RED 实例。如果没有,使用 Visit App URL 打开 Node-RED 实例,您在第 3a 步中启动 Node-RED 引擎时已记下该链接。使用您自己分配的用户名和密码,登录游戏应用程序的 Node-RED 实例。
- 在左侧面板中,将 function 节点拖放到另外两个节点之间,这会自动将它连接到这些节点。

- 我们首先需要将分层 JSON 消息扁平化为一种关系模式。双击 function 节点,粘贴以下 JavaScript 代码。
msg.payload =
{
X : msg.payload.d.ax,
Y : msg.payload.d.ax,
Z : msg.payload.d.ax,
SENSORID : msg.payload.d.id
}
return msg;
|
最终结果应该类似于下图。 - 单击 Done。
- 单击 Deploy。在 debug 选项卡上,输出应该类似于下图。

添加 NoSQL 函数后,我们就准备好将数据存储在 Cloudant 中了。
5
使用 Node-RED 将数据传输到 Cloudant
我们将使用由 IBM Cloudant 提供支持的 ApacheCouchDB,将数据传输到刚创建的 NoSQL 数据库函数。Cloudant 基于开源的 ApacheCouchDB,而且我们将使用它存储我们的中间传感器数据。
- 在左侧面板的存储区域中,选择 cloudant out 存储连接器(云图标位于右侧),并将它连接到 function 节点的输出。

- 双击 cloudant out 节点,然后选择您的数据库服务。备注:除非您在 IBM Cloud 控制台中将多个 Cloudant 数据库连接到此应用程序,否则应该只有一个数据库服务。(同样,IBM Cloud 在这里使用 Cloud Foundry 凭证注入特性来为您配置数据库端点。)
- 将该数据库命名为 harlemshake。
- 选择 Only store msg.payload object。

- 单击 Done。
- 单击 Deploy。
现在是时候检查数据是否传入该表了。查看 Node-RED 中的调试窗格,确保智能手机上的游戏应用程序仍在发送数据。 |