首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

通过 IBM Bluemix 实现 MQTT 聊天-3

通过 IBM Bluemix 实现 MQTT 聊天-3

白板应用程序(已注册)在本节中,我们将构建一个协作式应用程序(白板),它包含两个 PTK 设备和 IBM IoT Foundation 服务。借助此应用程序,用户可以实时地在共享画布 (PTK LCD) 上绘图。
1. 要为此应用程序设置另一个设备 (PTK-STM32F207)
查阅前面的“连接 (Quickstart)”,并按照步骤完成针对新设备的快速入门应用程序。
检查新设备的 LCD 屏幕,并记下设备 ID 供以后使用。
参阅“可视化 (Quickstart)”小节中的步骤,检查是否可在云中看到数据。
2. 将新安装的设备向您的 IoT Foundation 组织注册。
在 IoT Foundation 仪表板中,单击 Devices 选项卡,选择 Add Device,输入一个设备类型和设备 ID。(类型和 ID 显示在 PTK-STM32F207 的 LCD 屏幕上)
在设备注册过程中获取设备属性。它们应类似于:
1
org=vs9qqv type=PTK-STM32F207 id=beefbeef0002 auth-method=token auth-token=X*l5X!(SkF&c3RJVN@




3. 将注册凭据设置到新添加的设备上
使用下面这条命令解析 MQTT 主机 IP:
1
ping vs9qqv.messaging.internetofthings.ibmcloud.com




记下并标记解析为 MQTT_HOST_IP 的 IP (23.246.232.210),再次打开 MQTT_cfg.h 文件并执行以下更改:
1
...#ifndef USE_DNS #undef MQTT_HOST_NAME #define MQTT_HOST_IP "23.246.232.210" ...#if (0) //Quickstart Mode ...#else //Registered Mode #define ORG "vs9qqv" //Replace with your org #define DEVICE_TYPE "PTK-STM32F207" // #define AUTH_METHOD "token" // #define AUTH_TOKEN "X*l5X!(SkF&c3RJVN@"//Replace with your auth-token #endif ...




在 IAR-EWARM IDE(如前面所述)生成、下载和运行该代码。现在新设备正在 Registered 模式下运行。
运行的应用程序将连接到 IBM IoT Foundation 服务并定期发送数据,每次您触摸 PTK-STM32F207 的 LCD 屏幕时,都会发送触摸信息。但绘制的图可能没有显示,因为尚未构建和部署服务器端的应用程序。
4. 修改白板应用程序的 Node-RED 流。最后,我们需要向应用程序添加协作特性
让我们单击应用程序 URL 返回到 Node-RED 流编辑器。设置输入节点来订阅传入的触摸事件。
创建一个新的 ibmiot 输入节点来订阅触摸事件。
设置属性如下:
设置一个函数节点来获取绘图请求的 x-y 事件,创建一个新函数节点来获取触摸信息,双击该功能节点来打开 javascript 编辑器。将现有代码替换为以下代码:
1
var out_msg = { "payload" :JSON.stringify(msg.payload) }; return out_msg;




设置输出节点来发布绘图操作的命令。
创建两个 ibmiot 输出节点并设置属性如下。必须正确设置设备 ID。ID 信息将会显示在 PTK-STM32F207 的 LCD 屏幕上。


备注:
我们应该为每个加入的设备创建一个 ibmiot 输出节点。
按照以下方式将它们连接在一起并部署该应用程序。
5. 大功告成
返回列表