如何将IBM Bluemix Quickstart的传感器数据存储至Cloudant NoSQL DB
将Node-RED传感器数据存储到Cloudant NoSQL DB的实操指南
嗨,我来帮你搞定把Node-RED里的传感器数据存到Cloudant NoSQL DB的事儿!下面是一步步的具体操作:
1. 在Bluemix中创建并绑定Cloudant服务
- 打开Bluemix控制台,找到你的Node-RED应用进入详情页
- 切换到「连接」标签页,点击「创建连接」
- 在服务列表里选「Cloudant NoSQL DB」,设置好服务名称(默认即可)后点击「创建」
- 回到连接页面,点击新创建的Cloudant服务旁的「绑定」,选择你的Node-RED应用完成绑定(绑定后建议重启下应用,确保凭证生效)
2. 在Node-RED中安装Cloudant节点
- 打开你的Node-RED编辑器(一般是访问
你的应用域名/red) - 点击右上角的菜单图标(三个点),选择「管理面板」
- 切换到「安装」标签,搜索
node-red-node-cloudant,找到对应节点包后点击「安装」 - 安装完成后,左侧节点面板会出现Cloudant相关节点(比如
cloudant out、cloudant in)
3. 配置Cloudant输出节点
- 从左侧面板拖一个
cloudant out节点到流程画布 - 双击节点打开配置窗口:
- 点击配置项旁的铅笔图标,新建Cloudant配置
- 在「服务」下拉框中选择刚才绑定的Cloudant服务(Bluemix会自动同步凭证,直接选就行)
- 操作类型推荐选「插入」(每次存储新数据),如果需要更新已有文档可以选「更新」
- 填写数据库名称,比如
sensor-data(如果这个库不存在,Cloudant会自动创建) - 点击「完成」保存配置
4. 连接数据流并格式化数据
- 把你当前接收传感器数据的节点(比如MQTT输入、HTTP输入等)的输出端,连接到
cloudant out节点 - 注意:Cloudant只接受JSON格式数据,如果你的传感器数据不是JSON,要加个
function节点转换格式。比如在传感器节点和Cloudant节点之间插入function节点,写入以下代码:
// 将传感器数据格式化为Cloudant可存储的JSON结构 return { payload: { timestamp: new Date().toISOString(), // 添加时间戳方便回溯 sensor_value: msg.payload, // 传感器原始数据 sensor_id: "living_room_temp" // 自定义传感器ID,方便区分不同设备 } };
5. 部署并验证
- 点击Node-RED编辑器右上角的「部署」按钮
- 触发传感器发送数据,然后打开Bluemix里的Cloudant服务控制台,进入你设置的数据库,就能看到新存储的传感器数据文档了
小提示
- 如果数据没存入,打开Node-RED的「调试」面板看错误提示(比如权限问题、数据格式错误)
- 若Cloudant服务绑定后没自动识别到凭证,可以手动复制Cloudant服务的凭证信息(在Bluemix服务详情页的「凭证」标签),粘贴到Node-RED的Cloudant配置里
内容的提问来源于stack exchange,提问作者Maria
相关产品推荐
相关产品推荐

