1. CN1 信号接线 I/O (控制信号接线) · 2020. 7. 15. · CN2 编码器信号线的两端,即 CN2 连接头和编码器引出线的连接头,其 shielding 及接地芯
Getting started with X-CUBE-WATSON IBM® IoT …Bluemix...
Transcript of Getting started with X-CUBE-WATSON IBM® IoT …Bluemix...
![Page 1: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/1.jpg)
2018年9月 DocID030926 Rev 1 [English Rev 1] 1/29
1
UM2273用户手册
面向STM32Cube的X-CUBE-WATSON IBM® IoT云软件扩展入门
引言
本用户手册描述了IBM Watson IoT™(物联网)平台的STM32Cube软件扩展包的内容。
STM32Cube的IBM® IoT云软件扩展包(X-CUBE-WATSON)提供了将STMicroelectronics板连接到IBM Watson IoT™平台的应用示例。它使用IBM®嵌入式C客户端库,将其移植到相应的STM32设备。
X-CUBE-WATSON可运行于B-L475E-IOT01、32F413HDISCOVERY和32F769IDISCOVERY板。
可实现设备到云端数据上报,和云端向设备下发命令和通知。
X-CUBE-WATSON提供了下列功能:
• 通过Wi-Fi®和以太网连接IBM Watson®支持应用的快速评估和开发
• 板配置接口
• Wi-Fi®连接
• 连接到IBM Watson IoT™平台和各种回调注册
• B-L475E-IOT01板可测量和上报以下值:
– 湿度
– 温度
– 3D地磁数据
– 3D加速度
– 3D陀螺仪数据
– 大气压力
– 接近
www.st.com
![Page 2: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/2.jpg)
目录 UM2273
2/29 DocID030926 Rev 1 [English Rev 1]
目录
1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 IBM Watson IoT™平台 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 软件包说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 文件夹结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.4 B-L475E-IOT01板传感器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Wi-Fi®组件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.6 复位按钮 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.7 用户按钮 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.8 用户LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.9 实时时钟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.10 mbedTLS配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4 硬件和软件环境设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 应用程序示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1 应用描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2 Bluemix® IoT账号创建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3 在IBM Watson®平台上创建设备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 应用程序编译和烧写 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.5 应用程序首次启动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.6 应用程序运行时 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.7 仪表板和绘图值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 与板交互 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7 如何获取IBM Watson IoT™根CA证书 . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8 常见问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
![Page 3: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/3.jpg)
DocID030926 Rev 1 [English Rev 1] 3/29
UM2273 目录
3
9 版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
![Page 4: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/4.jpg)
表格索引 UM2273
4/29 DocID030926 Rev 1 [English Rev 1]
表格索引
表1. 缩略语列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6表2. B-L475E-IOT01板传感器报告值的单位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12表3. 文档版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28表4. 中文文档版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
![Page 5: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/5.jpg)
DocID030926 Rev 1 [English Rev 1] 5/29
UM2273 图片索引
5
图片索引
图 1. IBM Watson IoT™生态系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7图 2. X-CUBE-WATSON软件架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10图 3. 项目文件结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11图 4. 硬件和软件设置环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15图 5. 终端设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20图 6. 串口设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21图 7. IBM Watson®注册欢迎屏幕(1/3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22图 8. IBM Watson®注册欢迎屏幕(2/3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23图 9. IBM Watson®注册欢迎屏幕(3/3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23图 10. 安全面板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24图 11. IBM Watson IoT™证书面板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24图 12. IBM Watson®证书层次 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25图 13. 当IAR™ IDE版本与 X-CUBE-WATSON所用的版本不兼容时会弹出此提示框 . . . . . . . . . . 26
![Page 6: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/6.jpg)
概述 UM2273
6/29 DocID030926 Rev 1 [English Rev 1]
1 概述
IBM Watson IoT™平台的X-CUBE-WATSON包在基于Arm® Cortex®-M处理器的STM32 32位 微控制器上运行。
表 1给出了相关的缩略语定义,帮助您更好地理解本文档。
表1. 缩略语列表
术语 定义
API 应用编程接口
BSP 板级支持包
CA 认证机构
DHCP 动态主机配置协议
DNS 域名服务器
HAL 硬件抽象层
IDE 集成开发环境
IoT 物联网
IP 互联网协议
JSON JavaScript对象符号
LED 发光二极管
RTC 实时时钟
UART 通用异步收发器
![Page 7: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/7.jpg)
DocID030926 Rev 1 [English Rev 1] 7/29
UM2273 IBM Watson IoT™平台
28
2 IBM Watson IoT™平台
本章介绍IBM Watson IoT™平台。
X-CUBE-WATSON包使用了IBM®嵌入式C客户端库,可支持该开发板安全地连接到IBM Watson IoT™平台。
用户可以使用智能手机或个人计算机连接到云端,并可以随时随地访问该板提供的信息。
图 1显示面向X-CUBE-WATSON包的IBM Watson IoT™生态系统。
图 1. IBM Watson IoT™生态系统
![Page 8: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/8.jpg)
软件包说明 UM2273
8/29 DocID030926 Rev 1 [English Rev 1]
3 软件包说明
本章详细介绍了X-CUBE-WATSON软件包的内容和使用方法。
3.1 概述
X-CUBE-WATSON包为STM32微控制器提供了Bluemix®堆栈中间件。
已经移植到了B-L475E-IOT01、32F413HDISCOVERY和32F769IDISCOVERY板,并可通过板载的网络接口连接到互联网。
• 通过板上集成的Inventek模块,B-L475E-IOT01支持Wi-Fi®。该板配备了一组能够报告湿度、温度、3D轴地磁数据、3D加速度、3D陀螺仪数据、大气压力、接近度和手势检测(X-CUBE-WATSON没有使用手势检测功能)的传感器。
• 通过板上集成的Inventek模块,32F413HDISCOVERY支持Wi-Fi®。
• 32F769IDISCOVERY本身提供了一个以太网接口。
该包分为以下组件:
• 连接到IBM Watson IoT™的客户端库和示例
• mbedTLS
• LwIP
• FreeRTOS™
• Wi-Fi®驱动
• 用于32F769IDISCOVERY板的以太网驱动
• 用于B-L475E-IOT01板的传感器驱动
• STM32L4系列、STM32F4系列,和STM32F7系列HAL
• Bluemix®应用程序示例
该软件以zip文档的形式提供,其中包含源代码。
可支持以下集成开发环境:
• IAR Embedded Workbench® for Arm® (EWARM)
• Keil®微控制器开发套件(MDK-ARM)
• System Workbench for STM32
注: 有关所支持IDE版本的信息,请参阅软件包根文件夹中的版本说明。
![Page 9: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/9.jpg)
DocID030926 Rev 1 [English Rev 1] 9/29
UM2273 软件包说明
28
3.2 架构
本节描述X-CUBE-WATSON包的软件组成部分。
X-CUBE-WATSON软件是对STM32Cube的扩展。其主要功能和特性如下:
• 完全兼容STM32Cube架构
• 为了能够开发应用程序来访问和使用IBM Watson IoT™ 平台,扩展了STM32Cube。
• 基于STM32微控制器的硬件抽象层STM32CubeHAL
应用软件访问和使用IBM Watson IoT™平台所用的软件组件如下:
• STM32Cube HAL HAL驱动层提供通用的多实例简单API组(应用程序编程接口),以便与上层(应用、库和协议栈)交互。
它由通用和扩展API构成。它直接围绕通用架构构建,允许在其基础上的软件层,例如中间件层,实现了它的功能又无需依赖给定微控制器单元(MCU)的特定硬件配置。
此结构可提高库代码的可复用性,并确保可向其他设备轻松移植。
• 板级支持包(BSP) 除MCU之外,软件包需支持STM32板上的外设。板级支持包(BSP)中包含此软件。这是一个有限的API集,为板特有的某些外设(例如LED和用户按钮等)提供编程接口。
• Bluemix®中间件 它由Bluemix® IoT hub客户端库、JSON解析器、JSON序列化程序、MQTT客户端(被IoT hub客户端库用作传输层)以及客户端库使用的各种C工具组成。
• mbedTLS Bluemix®中间件使用由mbedTLS库实现的TLS连接。
• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网连接时)来处理。在X-CUBE-WATSON包中,只有32F769IDISCOVERY板可以通过以太网进行连接。
• FreeRTOS™ 它是一个实时操作系统,使用LwIP为用户提供基于套接字的接口时,需要用到。
图 2概括了X-CUBE-WATSON软件架构。
![Page 10: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/10.jpg)
软件包说明 UM2273
10/29 DocID030926 Rev 1 [English Rev 1]
图 2. X-CUBE-WATSON软件架构
MSv46869V2
Paho MQTT LwIP FreeRTOSTMmbedTLS
STM32
32F769IDISCOVERYB-L475E-IOT01 32F413HDISCOVERY
IBM® IoTPC
BSP HAL
Wi-Fi®
CMSIS
![Page 11: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/11.jpg)
DocID030926 Rev 1 [English Rev 1] 11/29
UM2273 软件包说明
28
3.3 文件夹结构
图 3给出了X-CUBE-WATSON包的文件夹结构。
图 3. 项目文件结构
![Page 12: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/12.jpg)
软件包说明 UM2273
12/29 DocID030926 Rev 1 [English Rev 1]
3.4 B-L475E-IOT01板传感器
板上由示例应用使用的传感器是:
• 用于相对湿度和温度测量的电容式数字传感器(HTS221)
• 高性能3轴磁力计(LIS3MDL)
• 3D加速度计和3D陀螺仪(LSM6DSL)
• 260-1260 hPa绝对数字输出气压计(LPS22HB)
• 接近传感器(VL53L0X)
发布传感器信息的示例:
{
“d”:
{
"temperature": 30.07,
"humidity": 36.28,
"pressure": 996.78,
"proximity": 2066,
"acc_x": -12,
"acc_y": -8,
"acc_z": 1050,
"gyr_x": -1260,
"gyr_y": -1610,
"gyr_z": -1190,
"mag_x": 283,
"mag_y": -341,
"mag_z": 512
}
}
表 2给出了B-L475E-IOT01板传感器报告值的单位。
表2. B-L475E-IOT01板传感器报告值的单位
数据 单位
温度 摄氏度(°C)
湿度 相对湿度(%)
压力 百帕斯卡(hPa)
接近 毫米(mm)
加速度 毫重力(mgforce)
角速度 毫度每秒(mdps)
磁感应 毫高斯(mG)
![Page 13: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/13.jpg)
DocID030926 Rev 1 [English Rev 1] 13/29
UM2273 软件包说明
28
3.5 Wi-Fi®组件
Wi-Fi®软件分为两部分,驱动程序/BSP/组件下,是模块专用软件,Projects/<board>/Wi-Fi下,I/O操作和WIFI模块的抽象层。
3.6 复位按钮
复位按钮(黑色)用于随时复位板子。此操作可使板重新启动。
3.7 用户按钮
用户按钮(蓝色)用于以下情况:
• 要配置Wi-Fi®和Bluemix®安全证书时。从板启动时开始直到启动后五秒,都可以完成此操作。
• 板子初始化后,如果用户按下按钮的时间很短,则应用程序仅发布B-L475E-IOT01板子的传感器值、0/1切换值(绿色LED将相应切换)以及时间戳。
双击按钮后,应用程序进入循环并每秒自动发布一次。再一次双击将恢复先前的模式。
应用程序通过板级支持包(BSP)功能来配置和管理用户按钮。
BSP功能位于Drivers\BSP\<board name>目录中。
使用BSP按钮功能时(采用BUTTON_USER值),对于给定的平台,应用程序不会从硬件角度考虑此按钮连接的方式。该映射由BSP处理。
3.8 用户LED
应用程序所用的用户LED配置通过板级支持包(BSP)功能完成。
BSP功能位于Drivers\BSP\<board name>目录下。
使用BSP按钮功能时(采用LED_GREEN值),对于给定的平台,应用程序不会考虑LED映射的方式。该映射由BSP处理。
3.9 实时时钟
STM32 RTC在启动时从www.gandi.net Web服务器进行更新。
用户可以使用HAL_RTC_GetTime()函数得到时间值。
例如,此函数可以用于时间戳消息。
![Page 14: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/14.jpg)
软件包说明 UM2273
14/29 DocID030926 Rev 1 [English Rev 1]
3.10 mbedTLS配置
利用 #include配置文件,可以对mbedTLS中间件进行配置。
通过定义MBEDTLS_CONFIG_FILE,可以覆盖配置文件名。
X-CUBE-WATSON包使用文件bluemix_mbedtls_config.h来实现项目配置。
这可以通过在mbedTLS.c和mbedTLS.h文件开头使用以下# 指令来实现:
#if !defined(MBEDTLS_CONFIG_FILE)
#include "mbedtls/config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
配置文件指定了要使用的相关加密参数。
![Page 15: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/15.jpg)
DocID030926 Rev 1 [English Rev 1] 15/29
UM2273 硬件和软件环境设置
28
4 硬件和软件环境设置
要设置硬件和软件环境,必须利用USB线缆将支持的板(共3种)插入个人计算机。连接到PC后,允许用户:
• 烧写板
• 存储Wi-Fi®和Bluemix®安全证书
• 通过UART控制台与板进行交互
• 调试
B-L475E-IOT01或32F413HDISCOVERY板必须连接到Wi-Fi®接入点,而32F769IDISCOVERY板必须连接到以太网接口,如图 4中所示。
图 4. 硬件和软件设置环境
运行示例的先决条件是:
• 一个Wi-Fi®接入点,具有透明的互联网连接,也就是说不能有代理服务器或者防火墙阻止开发板与外网的通信。它必须运行一个DHCP服务器,将IP和DNS配置提供给主板。
• 由于它使用IBM®仪表板来实现从云到设备的交互,因此X-CUBE-WATSON中不提供设备管理应用程序。如果要开发设备管理应用程序,则需要使用具有透明互联网连接的计算机,也就是说不能有代理服务器或者防火墙阻止开发板与外网的通信。例如,它可以是开发PC、虚拟专用服务器或单板计算机。它可以连接到与MCU板相同的路由器。
• 一台开发PC,用于构建应用程序、利用ST-Link进行编程,以及运行虚拟控制台。
MSv45248V4
B-L475E-IOT01 32F413HDISCOVERY 32F769IDISCOVERY
USB
IoTWi-Fi®
Wi-Fi®
![Page 16: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/16.jpg)
应用程序示例 UM2273
16/29 DocID030926 Rev 1 [English Rev 1]
5 应用程序示例
本节介绍如何注册和登录IBM Watson IoT™平台,以及如何使用X-CUBE-WATSON包中 的IBM® Bluemix®云IoT客户端应用程序。
5.1 应用描述
该应用提出了连接到IBM®IoT平台的两种方式:
• 快速入门注册:不需要帐户和令牌,该连接不安全。
• 简单注册:需要IBM IoT账户,设备通过令牌进行身份验证,该连接使用mbedTLS加 密。
此应用程序已经移植到了B-L475E-IOT01、32F413HDISCOVERY和32F769IDISCOVERY板,并可通过板载的网络接口连接到互联网。
它使用用户提供的认证信息连接到IBM® Bluemix®IoT云。
5.2 Bluemix® IoT账号创建
使用快速入门方式注册设备不需要IBM® Bluemix®帐户。
使用IBM Watson IoT™平台应用程序或使用简单方式注册设备需要IBM® Bluemix®帐户。
要注册,请访问:https://console.bluemix.net/registration/
注册过程会接收到一封电子邮件。
5.3 在IBM Watson®平台上创建设备
创建设备(用于简单注册模式)。
请按以下所示步骤执行:https://developer.ibm.com/recipes/tutorials/how-to-register-devices-in-ibm-iot-foundation/
5.4 应用程序编译和烧写
注意: 使用任何工具链打开项目之前,请确保文件夹安装路径不太深,否则工具链可能会在编译之后报告错误。
使用所支持的某种开发工具链打开并编译项目(有关版本要求的详细信息,请参阅版本说明)。
在STM32板上编程固件:将Projects\<board name>\Applications\Cloud\Bluemix\Binary下的二进制文件复制(或拖放)到STM32板插入PC时所创建的USB大容量存储位置。或者,您可以直接通过所支持的其中一个开发工具链对STM32板进行编程。
![Page 17: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/17.jpg)
DocID030926 Rev 1 [English Rev 1] 17/29
UM2273 应用程序示例
28
5.5 应用程序首次启动
1. 必须通过USB(ST-LINK USB端口)将板连接到PC。通过串行终端仿真器(如Tera Term)打开控制台,选择板子的ST-LINK COM端口,并进行以下配置:
– 8位数据长度,无校验,1位停止位,115200波特率,无HW流控制
– 行结束符设置为LF
有关更多详细信息,请参见第 6节:与板交互第 20页。
对于支持WiFi®的板,请通过控制台输入Wifi SSID、加密模式和密码。
2. 设置TLS根CA证书:
复制-粘贴Projects\Common\Bluemix\comodo_bluemix.pem的内容。该设备使用它通过TLS对远程主机进行身份验证。
注意:示例应用程序要求提供2个CA证书的连结
a) 用于HTTPS服务器,启动时通过该服务器检索当前时间和日期(“Comodo”证书)
b) 对于IBM® IoT平台
这一个要使用简单方式进行注册,不使用快速入门方式时,需要证书。
第 7节:如何获取IBM Watson IoT™根CA证书第 22页介绍了获取新的Bluemix®
TLS根CA证书的步骤。
3. 在控制台上选择“快速入门”或“简单”注册方式,然后根据提示输入连接字符串。
4. 参数配置完成后,如果需要重新更改参数,可以根据提示通过重启板并按下User按钮(蓝色按钮)来进行更改。
![Page 18: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/18.jpg)
应用程序示例 UM2273
18/29 DocID030926 Rev 1 [English Rev 1]
5.6 应用程序运行时
1. RTC配置
应用程序发出HTTPS请求来检索当前时间和日期,并配置RTC。
2. 设备到云的连接
设备连接到IBM® Bluemix®平台
如果板子为B-L475E-IOT01,则应用可发布传感器值、0/1切换值(绿色LED相应切换)以及时间戳:
– 如果用户按钮按下的时间很短,则发布一次
– 如果用户按钮被按下两次,则每秒钟发布或暂停发布
用户可以通过在串行终端中看到的URL,来查看上报的数据
– 如果使用快速入门完成注册,请访问https://quickstart.internetofthings.ibmcloud.com。
– 使用简单注册模式,请访问https://<Organisation Id>.internetofthings.ibmcloud.com。
要使用的设备ID也会打印在串行终端仿真器中。
3. 云到设备的连接
这种交互只能在简单注册模式下使用。设备是受管设备并接受“Reboot”命令。
该操作可以在设备的IBM Watson IoT™平台互联网页面中通过“Reboot”按钮(在互联网页面中左下)激活。
这会向设备发送一条命令并使其重新启动。
5.7 仪表板和绘图值
本节介绍如何使用IBM Watson®仪表板绘制客户端发布的值。
1. https://console.bluemix.net/dashboard
![Page 19: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/19.jpg)
DocID030926 Rev 1 [English Rev 1] 19/29
UM2273 应用程序示例
28
注: 确保Region已正确设置并且Space已定义。
2. 选择物联网平台服务,然后单击 Launch按钮
3. 登录
4. 在右上角,选择适当的组织。 这会转到All boards dashboard
5. 在Usage overview中,可以添加线形图来绘制已发布的值
a) “+ Add New Card”按钮
b) 选择“Line chart”
c) 选择设备ID
d) “下一个”
e) “连接新数据集”
f) 事件 = 状态
g) 属性:选择要绘制的值
h) 类型 = 文本或数字
i) 下一个
j) 下一个
k) 提交
![Page 20: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/20.jpg)
与板交互 UM2273
20/29 DocID030926 Rev 1 [English Rev 1]
6 与板交互
需要串行终端来:
• 对板子进行配置
• 在本地显示接收到的Bluemix® IoT云到设备消息
本文档中使用Tera Term进行说明。也可以使用其他类似的工具。
当板首次使用时,必须使用Bluemix® IoT身份认证数据进行编程。
• 确定PC上所用的用于探索板的STM32 ST-LINK虚拟COM端口。可通过电脑上的“设备 管理器”查看
• 打开PC上的虚拟终端并将其连接到上述虚拟COM端口。
在开发包实用程序目录中提供了一个Tera Term初始化脚本(参考图 3);此脚本设置了正确的参数。要使用它,请打开Tera Term,选择Setup,然后选择Restore设置。
注: 本章中下面提供的信息可用来配置UART终端,使其成为Tera Term初始化脚本的替代选择。
终端设置如图 5中所示,其中显示了终端设置和新行的建议参数。
虚拟终端新行传输配置必须设置为LineFeed(\n或LF),以便允许从UNIX类型的文本文件复制粘贴。本地回显选项使得复制粘贴在控制台上可见。
图 5. 终端设置
串口必须配置:
• COM端口编号
• 115200波特率
• 8 位数据
• 无校验位
• 1个停止位
• 无流控
串口设置如图 6中所示。
![Page 21: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/21.jpg)
DocID030926 Rev 1 [English Rev 1] 21/29
UM2273 与板交互
28
图 6. 串口设置
UART终端和串口设置完毕后,按下板复位按钮(黑色)。
按照UART终端上的指示上传Wi-Fi®和Bluemix®数据。这些数据保留在Flash中,并在下次板启动时重复使用。
![Page 22: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/22.jpg)
如何获取IBM Watson IoT™根CA证书 UM2273
22/29 DocID030926 Rev 1 [English Rev 1]
7 如何获取IBM Watson IoT™根CA证书
本章介绍从步骤1到步骤8获取IBM Watson IoT™根CA证书的过程。整个过程通过Mozilla® Firefox®屏幕截图进行说明。
可以跳过下面介绍的所有步骤,直接使用本章末尾的步骤8中提供的证书。这只能在IBM Watson®侧根CA没有改变的情况下才有效。
1. 确保Internet连接不被防火墙阻止
2. 用Firefox打开https://<domain name>.internetofthings.ibmcloud.com,如图 7所示。
图 7. IBM Watson®注册欢迎屏幕(1/3)
![Page 23: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/23.jpg)
DocID030926 Rev 1 [English Rev 1] 23/29
UM2273 如何获取IBM Watson IoT™根CA证书
28
3. 点击安全 图标(左上角的挂锁),如图 8所示。
图 8. IBM Watson®注册欢迎屏幕(2/3)
4. 面板打开,如图 9所示。点击>按钮查看证书。
图 9. IBM Watson®注册欢迎屏幕(3/3)
![Page 24: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/24.jpg)
如何获取IBM Watson IoT™根CA证书 UM2273
24/29 DocID030926 Rev 1 [English Rev 1]
5. 安全面板打开 ,如图 10所示。点击View Certificate按钮。
图 10. 安全面板
6. IBM Watson IoT™平台的证书面板如图 11所示打开。
图 11. IBM Watson IoT™证书面板
![Page 25: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/25.jpg)
DocID030926 Rev 1 [English Rev 1] 25/29
UM2273 如何获取IBM Watson IoT™根CA证书
28
7. 单击Details选项卡查看证书层次结构并选择根CA,如图 12所示。
图 12. IBM Watson®证书层次
8. 后,点击导出按钮。2017年11月10日,通过此过程获得以下根CA证书:
-----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQkCAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= -----END CERTIFICATE-----
![Page 26: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/26.jpg)
常见问题 UM2273
26/29 DocID030926 Rev 1 [English Rev 1]
8 常见问题
问:当我用IAR™打开项目时,为什么会弹出此提示框(见图 13)?
图 13. 当IAR™ IDE版本与 X-CUBE-WATSON所用的版本不兼容时会弹出此提示框
答:很可能是由于此IAR™IDE版本比开发包所用版本更早(请参阅软件包根文件夹中提供的版本说明,以了解支持的IDE版本),因此不能保证兼容性。这种情况下,需要更新IAR™ IDE版本。
问:应该如何修改应用程序来发布其他消息?
答:根据是使用B-L475E-IOT01还是他板,bluemix.c文件中需要分别更新函数PrepareMqttPayload()或PrepareToggleMqttPayload()。
问:我的设备不能连接到Bluemix® IoT hub。我该如何处理?
答:需要检查的事项是:
1. 以快速入门模式启动,检查是否能够通过控制台提供的URL查看IBM Watson IoT™平台上的数据(不需要帐户)。
2. 如果不成功,则必须再次仔细进行初始配置。
3. 如果1.成功,而使用注册模式时连接仍然失败,则请登录并检查帐户和设备是否都可用。
4. 如果仍然没有连接,请检查在配置阶段输入的连接字符串是否与IoT平台(OrgId、DeviceType、DeviceId和Token)上的数据匹配。
5. 如果仍然没有连接,请检查IBM Watson IoT™平台上的设备安全性是否设置为“带有令牌验证的TLS”。
问:我的设备不能连接到Wi-Fi®接入点。我该如何处理?
答:请确认其他设备是否可以连接到Wi-Fi®接入点。如果可以,请在板重置后,按下用户按钮(蓝色)五秒钟,输入Wi-Fi®用户名和密码。
![Page 27: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/27.jpg)
DocID030926 Rev 1 [English Rev 1] 27/29
UM2273 常见问题
28
问:接近传感器总是报告“8190”,即使我将障碍物靠近其放置也是如此。
A:请确保已经取下衬垫(放置在接近传感器上的非常薄的薄膜)。它的颜色是橙色,不是很明显。
![Page 28: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/28.jpg)
版本历史 UM2273
28/29 DocID030926 Rev 1 [English Rev 1]
9 版本历史
表3. 文档版本历史
日期 版本 变更
2017年11月13日 1 初始版本。
表4. 中文文档版本历史
日期 版本 变更
2018年9月3日 1 中文初始版本。
![Page 29: Getting started with X-CUBE-WATSON IBM® IoT …Bluemix ®中间件使用由mbedTLS库实现的TLS连接。• TCP/IP TCP/IP连接可由Wi-Fi®模块(当使用Wi-Fi®连接时)或LwIP中间件(当使用以太网](https://reader030.fdocument.pub/reader030/viewer/2022040811/5e5344c3cc0b2342b60dfec7/html5/thumbnails/29.jpg)
DocID030926 Rev 1 [English Rev 1] 29/29
UM2273
29
重要通知 - 请仔细阅读
意法半导体公司及其子公司(“ST”)保留随时对 ST 产品和 / 或本文档进行变更、更正、增强、修改和改进的权利,恕不另行通知。买方在订货之前应获取关于 ST 产品的 新信息。 ST 产品的销售依照订单确认时的相关 ST 销售条款。
买方自行负责对 ST 产品的选择和使用, ST 概不承担与应用协助或买方产品设计相关的任何责任。
ST 不对任何知识产权进行任何明示或默示的授权或许可。
转售的 ST 产品如有不同于此处提供的信息的规定,将导致 ST 针对该产品授予的任何保证失效。
ST 和 ST 徽标是 ST 的商标。所有其他产品或服务名称均为其各自所有者的财产。
本文档中的信息取代本文档所有早期版本中提供的信息。本文档的中文版本为英文版本的翻译件,仅供参考之用;若中文版本与英文版本有任何冲突或不一致,则以英文版本为准。
© 2018 STMicroelectronics - 保留所有权利