教程概述
基于ST的B-L475E-IOT01物联网开发套件与百度云天工连接的例程。
-
ST和百度云天工基于ST推出的一款物联网开发套件,提供了连接百度云天工的软件扩展包,内含连接到百度云天工物接入(IOT Hub),进行消息订阅和发布的应用程序。
-
用户基于ST的B-L475E-IOT01A与本教程可以快速上手搭建自己的应用程序。
硬件概述
B-L475E-IOT01A探索套件提供了:
1、采用ARM Cortex内核的STM32L4系列MCU
2、存储
-
1MB闪存和128KBSRAM
-
64Mbit Quad-SPI闪存
3、模块
-
SPBTLE-RF蓝牙模块,兼容BLE 4.1
-
SPSGRF-915次吉赫兹RF模块(另外还有一款同型号的支持的是868MHz)
-
ISM43362-M3G-L44 WiFi模块,支持802.11 b/g/n通信
-
M24SR NFC模块
-
2路数字microphone(MP34DT01)
-
电容式数字传感器HTS221,用于测量相对湿度和温度
-
LIS3MDL,高性能三轴磁力计
-
LSM6DSL三轴陀螺仪
-
LPS22HB压力计
-
VL53L0X姿态传感器
4、接口
-
USB OTG接口
-
PMOD接口,Arduino UNO V3接口
-
灵活的供电接口设计
配合这个套件,ST和百度共同推出了连接百度天工的软件扩展包。提供了连接到百度IoT hub, 进行消息定阅和发布的应用例程,客户可以基于这个例程快速的上手搭建自己的应用程序。
从ST的官网可以下载到关于该开发套件的详细介绍文档和硬件设计资料。
硬件环境
B-L475E-IOT01A板子上已经集成了WIFI模块和ST-LINK,所以不需要额外的模块和调试工具,只需要一根micro的USB线给板子提供电源就可以开始使用了。当然,如果需要更新程序的话,还需要一台带USB接口的电脑。
硬件准备:
-
一块B-L475E-IOT01A开发板(集成了WIFI模块和ST-LINK)。
-
一根micro接口的 USB线(给板子供电,提供调试和程序下载接口)。
-
一个WIFI热点(WIFI路由器或者手机热点)。
-
一台电脑(编译和烧录程序,配置WIFI密码)。
软件环境
需要的软件包括:
-
免费的SW4STM32 IDE(Windows, Linux, macOS)。
-
串口调试工具Tera Term。
-
百度云天工物接入资源。
-
基于B-L475E-IOT01A板子的源代码。下载地址:https://github.com/baidu/iot-edge-sdk-samples
通过免费的SW4STM32,可以修改,编译,下载和调试程序。
通过Tera Term可以向板子配置WIFI用户名和密码,并且显示程序运行时的信息。
SW4STM32使用说明
SW4STM32下载安装
从SW4STM32官网下载安装程序,官网上提供了Windows, Mac OS/X和Linux的版本。选择合适的版本下载安装。本文档以Windows版本为例进行介绍。SW4STM32包含一系列的Eclipse插件,可以安装在现有的Eclipse上,也可以通过下载独立的安装程序来安装。
安装完成后,在开始菜单里找到SystemWorkbench for STM32,打开。
导入工程
打开SW4STM32后,首先会弹出下面窗口,让你选择一个Workspace。如果是第一次使用,可以通过“Browse”按钮设置workspace的位置。如果之前已经设置过,就可以在下拉菜单中选择一个。
点击“OK”,就可以看到SW4STM32的欢迎界面了。
下面通过File-->Import菜单导入已有的工程。
在弹出的窗口里,选择“Existing Projects into Workspace”,然后点击“Next”。
接下来,选择源文件所在的位置。
在Projects的窗口会显示已存在的工程,选择该工程。点击“Finish”按钮。
工程就已经被导入进来了,关闭Welcome欢迎窗口或者点击左上角的“Restore”按钮,就可以看到整个工程的界面了。
创建物接入资源
创建实例(endpoint)
创建设备(thing)
设置身份(principal)
设置策略(policy)
修改源码内Baidu IoT Hub连接信息
创建好百度云IOT Hub的服务,之前将示例工程导入到SW4STM32后,现在可以进行程序的修改,编译和下载。
例程中提供的MQTT连接例程主要在iothub_mqtt_client_sample.c这个文件中实现。
现在,将其中关于MQTT服务器地址,实例,用户名,密码还有主题(endpoint、username、password、topic)修改成之前的步骤中在云端创建的相关内容。而后进行编译。
将获得的MQTT服务器地址,用户名,密码还有主题填写到下面代码对应的位置。主题的属性,可以在云端设置为可以发布和订阅消息。
编译下载程序
接下来,就可以点击对应的按钮进行编译和下载了。本例程已经做好配置,直接点击对应的按钮就可以执行。关于编译和调试的配置说明,可以参考官网的文档
编译
弹出窗口会显示编译进度。
下载
下载程序之前,请确保已经用USB线将B-L475E-IOT01A与电脑相连。
-
如果下载出现问题,请确认ST-LINK的驱动已经正确安装。
-
如果ST-LINK的驱动正确安装,可以在电脑的设备管理器中看到如下设备:
一般情况下当插入板子时,会自动安装驱动。如果没有看到这两个设备,请重新安装驱动。驱动下载地址:http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html
通过“Run”按钮开始下载程序,操作见下图
下方的Console窗口可以看到下载过程信息提示。
调试程序
通过Debug窗口启动调试。见下图:
Tera Term使用说明
程序下载到开发板后,复位开始运行。通过TeraTerm可以看到程序执行过程中的信息。并且WIFI的用户名和密码也是通过Tera Term进行配置的。
第一次使用Tera Term时,请参考下面的步骤进行配置。
终端设置
串口通信设置
串口配置为:115200波特率,8位数据位,无奇偶校验,1位停止位。
保存设置
不要忘记将前面的设置保存。
运行程序
将B-L475E-IOT01A开发板通过USB插到电脑,打开Tera Term(选择对应的COM口)。按黑色的按键复位开发板。
在看到提示“Press the User button (Blue) within the next 5 seconds if you want to update the configuration”后5秒内按下板子上蓝色的按键。(如果之前没有输入过wifi信息,会直接提示输入SSID等内容)
提示是否要更新WIFI的设置。输入“y”,然后依照提示输入wifi的用户名,加密方式和密码。
接下来,板子会连接到WIFI路由器,然后自动连接到之前在程序中设定好的MQTT服务器,向设定好的主题订阅消息/发布消息。发布的消息就是板子上集成的传感器数据。可以通过百度云端的客户端或者MQTT.fx订阅同样的主题来查看消息,或者发送消息给B-L475E-IOT01A开发板。