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

通过 IBM Bluemix 实现 MQTT 聊天-1

通过 IBM Bluemix 实现 MQTT 聊天-1

组成要素:硬件要求:
[ 部件编号:80K-F207IT ]
该平台包含以下传感器:
  • 触摸屏
  • 加速计
  • 温度传感器
  • 光线传感器
  • 电位计
  • 控制杆
准备工作:准备好您的设备
1. 软件安装:
解压该包并获取 PTK 产品 CD
找到并运行 setup 可执行文件
1
setup_PTK-STM32F207_DEV_BAS_BIN_xxx_xxx.exe




默认安装路径将为:
1
Drive:\Microtime\PTK




找到“PTK-MCU-STM32F207 User Guide.pdf”并参阅 1.3.2 小节来完成以下软件的安装。
ePBB:用于 PTK 软件开发的项目树。
IAR EWARM:用于 Cortex-M 处理器的编译和调试 IDE。
找到“ePBB Development Guide.pdf”,并查阅“Appendix-A :About Micrium kernel source”来获取 uC/OS-II 或 uC/OS-III 源代码,或者查阅 Fix-Up ePBB 来获取内核源代码。
2. 硬件安装:
解压该包并获取 PTK 开发模块。
参阅“PTK-MCU-STM32F207 User Guide.pdf”的 1.3.1 小节来完成以下硬件安装。
Plug MCU、BASE 和 TFT 模块。(各个模块应在交付产品之前组装好)
安装用于代码烧录和调试的调试探测器 (JTAG-ICE)。
使用以太网线,通过 Internet 访问将设备连接到网络。
连接 (Quickstart)Internet of Things Foundation Quickstart 连接:
1. 在 IAR-EWARM IDE 中打开以下项目工作区
1
Drive:\Microtime\PTK\ePBB\Applications\Projects\PTK-STM32F207\EWARM-V6\OS_uCOS-II\base_MQTT\demo.eww




2. 因为此版本不支持 DHCP 和 DNS,所以您需要手动解析 MQTT 主机 IP 并为您的设备设置静态 IP (PTK-STM32F207)。
3. 要解析 MQTT 主机 IP,可以尝试使用以下 PC 控制台命令:
1
ping quickstart.messaging.internetofthings.ibmcloud.com




备注:
请忽略消息“Response timed out.”
4. 记下并标记那些解析为 MQTT_HOST_IP 的 IP (184.172.124.189)。
5. 要为 PTK-STM32F207 分配一个静态 IP 并标记分配为 APP_TCPIP_CFG_IF_IP_ADDR_STR 的 IP (192.168.0.100)
6. 展开项目文件夹,打开下面这个配置文件
Drive:\Microtime\PTKePBB\Applications\Projects\PTK-STM32F207\EWARM-V6\OS_uCOS-II\src\MQTT_cfg.h
并相应地修改配置细节。
备注:
指定的 IP 只是一些示例,您应该依据在第 4 和 5 步中获得的结果来更改设置。
1
2
3
...#define IBM_CLOUD //#define USE_DHCP //
#define USE_DNS //#define USE_WIFI_GS2100M ...//
----- Network Configuration #ifndef USE_WIFI_GS2100M #ifndef USE_DHCP #define APP_TCPIP_CFG_DHCPc_MODULE_EN 0u #define APP_TCPIP_CFG_IF_IP_ADDR_STR "192.168.0.100" #define APP_TCPIP_CFG_IF_MASK_STR "255.255.255.0" #define APP_TCPIP_CFG_IF_GATEWAY_STR "192.168.0.1" ...#ifndef USE_DNS #undef MQTT_HOST_NAME #define MQTT_HOST_IP "184.172.124.189" ...#if (1) //Quickstart Mode #define ORG "quickstart" ...




7. 在  IDE 中:
选择“MQTT_No_DHCP_DNS”配置,生成(构建)项目(确保没有发生错误),使用“Download and debug”命令下载和调试代码,单击“Go”命令或按 LCD 面板右上角的重置按钮 (S1) 来运行下载的程序。
现在该设备正在 Quickstart 模式下运行。
8. 运行的应用程序将连接到 IBM quickstart 服务并开始定期发送数据。连接后,设备将不断生成“哔哔”的声音来向我们显示消息发布的速度。
可视化 (Quickstart)设备数据的实时可视化可通过访问特定于您平台的 IBM IoT Foundation 网页来实现。
  • PTK-STM32F207 的 LCD 面板将会显示 ORG ID、TYPE ID、设备 ID、消息计数和传感器输出等信息
  • 记下设备 ID 供以后使用
  • 进入 Quickstart 页面,输入设备 ID 并在线查看传感器数据。为此,可以单击此处
按照您的方式查看消息 (Quickstart)1. 通过 IBM Bluemix 创建一个应用程序
转到 :
如果您已经是 IBM Bluemix 用户,那么可以像平常一样登录。如果不熟悉 Bluemix,可以注册获得 30 天免费试用版。
在您的 Bluemix 仪表板中:
在“Application”下,单击“Create an APP”,选择您希望创建一个“Web”应用程序,单击“Browse Boilerplates”,然后再次单击“Browse Boilerplates”。
在“Boilerplates”旁边,选择“Internet of Things Foundation”。
完成以下步骤来添加该应用程序:
为您的应用程序提供一个名称,如果需要的话,可以修改主机名(可选)。单击 CREATE 按钮,等待您的应用程序启动。进入 Node-RED 应用程序的登录页面,您的应用程序启动后,单击应用程序 URL 来打开 Node-RED 登录页面。
向下滚动 Node-RED Internet of Things 登录页面,并选择“Go to your Node-RED flow editor”按钮。
2. 将您的应用程序与未注册的设备相连接
使用 Node-RED 工作流编辑器,您可以配置您的应用程序来使用连接的设备。
从图纸中删除所有现有的示例节点
创建一个新的 ibmiot 输入节点:
将一个 ibmiot 节点从屏幕左侧 node 面板上的 input 部分中拖出,并将它放在图纸上。
双击您的 Node-RED 流编辑器中的 ibmiot 节点,在 Authentication type 字段中,从下拉列表中选择 Quickstart。
将您主板的设备 ID 输入到 Device ID 字段中。设备 ID 会显示在 PTK-STM32F207 的 LCD 屏幕上,单击 OK 确认并关闭编辑窗口。
创建新的调试输出节点:
将一个调试节点从屏幕左侧 node 面板上的 output 部分中拖出,并将它放在图纸上。要将它们连接在一起,只需将“IBM IoT App In”节点的输出连接到“msg payload”节点的输入。
部署应用程序 (Node-RED):
在 Node-RED 流编辑器的右上角查找 Deploy 按钮,它应该显示为红色。单击 Deploy 按钮部署您的流。(该按钮应变为灰色)
检查来自您设备的消息:
选择右侧的调试窗口(默认显示了 info),您将看到该流正在生成 Light Status 消息。
备注:
如果无法看到它,请确认调试节点右侧的开关为“on”。
3. 在应用程序中添加更多的流程逻辑
现在我们希望检查传感器输出(光线强度)并根据一个阈值来转储消息。
创建一个阈值检查节点来检查光线传感器的输出值:
从 node 面板的 function 部分拖出一个开关节点,并将它放在图纸上。
双击开关节点并设置规则如下。
将该节点命名为“Light Check”,单击 OK 确认并关闭编辑窗口。
现在开关节点有两个输出,上面的是 rule-1 的输出,下面的是 rule-2 的输出。
创建函数节点,以便从开关节点的触发器输出中接收消息:
从 node 面板的 function 部分中拖出一个函数节点,并将它放在图纸上。
双击该功能节点来打开 javascript 编辑器。将现有代码替换为以下代码:
msg.payload = "Light" return msg;将该节点命名为“Light”,单击 OK 确认并关闭编辑窗口。
使用同样的方式,使用以下 javascript 代码创建另一个函数节点:
msg.payload = "Dark" return msg;;
将该节点命名为“Dark”,按照以下方式将它们连接在一起:
请记住,每次更改设计时都要部署该应用程序。
检查调试消息的变化:
正常情况下,调试窗格上将显示“Light”消息。
现在阻止射入到光线传感器的光线,这会导致调试窗格上显示消息“Dark”。
备注:
光线传感器 (U3) 可在 PTK-STM32F207 的左下角找到。
返回列表