1

我成功地向 IBM Bluemix 注册了我的 Raspberry Pi。它有 dht22 温度和湿度传感器连接并运行。

问题:在构建物联网入门应用程序时,我是否需要在 Rpi 上编写任何代码以将传感​​器数据推送到 Bluemix 中,还是只需提供 MAC 地址和 API 就可以解决问题?

注意:我按照配方配置我的 Raspberry Pi ,并使用 MAC 地址注册。当我签入设备时,它已连接并发送消息。

如果我需要做任何其他配置或编码以专门发送我的 dht22 传感器数据以在 Bluemix 中可视化并在 Node-red 中使用,请告诉我。

4

4 回答 4

3

默认情况下,Raspberry Pi 配方仅发送 CPU 温度和 CPU 负载。由于默认情况下 Raspberry Pi 中没有传感器,因此配方使用 CPUTemp 和 CPULoad 等参数。

在您的情况下,您需要更新代码以包含要发送到 IoTF(Bluemix) 的 dht22 温度和湿度参数。请查看 Github 中的代码以获取树莓派配方 - https://github.com/ibm-messaging/iot-raspberrypi

导航到 samples/c 以获取配方代码。您必须收集 dht22 传感器数据并将它们转换为 JSON 并将其发送到 IoTF。

  1. 在 iot.h 中,更新json结构以包含您的传感器值。如果不需要,可以删除 cputtemp 和 cpuload 参数。

  2. 在 iotmain.c 中,第 152 行使用代码更新代码以收集 dht22 传感器值。

  3. 在 jsonator.c 中,根据您的新结构更新新的传感器值。

然后按照此处提供的步骤编译代码并安装新的 deb 文件。现在 iot 服务将发送带有 dht22 传感器值的数据。

于 2015-05-15T05:45:57.173 回答
0

如果 Bluemix IOT 控制台显示设备已连接并正在发送数据,那么您无需在 Raspberry Pi 上执行任何其他操作。

您需要将 IOT 服务绑定到您的 Node-RED 实例(假设您在 Bluemix 上运行 Node-RED)以访问数据。

于 2015-05-14T12:32:52.667 回答
0

我相信您使用的配方是这个:https ://developer.ibm.com/iot/recipes/raspberry-pi/

根据源代码中的自述文件,此示例中发出的事件是:

CPU temperature
CPU Load
Simulated Sine wave to demonstrate the different events can be pushed to IoT Portal and visualized.

如果您尝试捕获其他项目,例如湿度,您可能需要创建额外的代码/逻辑。

于 2015-05-14T18:09:34.143 回答
0

我有一个 ansible 角色来注册 raspberrypi,fyr https://github.com/reachlin/fangge/tree/master/ansible/roles/iot

您必须在文件 defaults/main.yml 中替换您的凭据

ORG:xxx
TYPE:xxx
ID:xxx
AUTH:token
TOKEN:xxx
于 2016-11-18T04:11:00.077 回答