物接入IoT Hub

    ST物联网开发套件连接例程

    操作准备

    教程概述

    基于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)。
    • 一根microUSB接口的线(给板子供电,提供调试和程序下载接口)。
    • 一个WIFI热点(WIFI路由器或者手机热点)。
    • 一台电脑(编译和烧录程序,配置WIFI密码)。

    软件环境

    需要的软件包括:

    • 免费的SW4STM32 IDE(Windows, Linux, macOS)。
    • 串口调试工具Tera Term。
    • 百度智能云天工物接入资源。
    • 基于B-L475E-IOT01A板子的源代码。下载地址:https://github.com/baidu/iot-edge-sdk-samples

    通过免费的SW4STM32,可以修改,编译,下载和调试程序。下面是SW4STM32的下载页面链接,不过需要先注册登录后才能下载:http://www.openstm32.org/Downloading%2Bthe%2BSystem%2BWorkbench%2Bfor%2BSTM32%2Binstaller

    还有更多的文档资料可以在这里找到:http://www.openstm32.org/Documentation

    通过Tera Term可以向板子配置WIFI用户名和密码,并且显示程序运行时的信息。

    下面将具体介绍,如何使用SW4STM32来编译,下载程序到开发板。以及Tera Term的使用方法。

    SW4STM32使用说明

    SW4STM32下载安装

    从SW4STM32官网下载安装程序,官网上提供了Windows, Mac OS/X和Linux的版本。选择合适的版本下载安装。本文档以Windows版本为例进行介绍。SW4STM32包含一系列的Eclipse插件,可以安装在现有的Eclipse上,也可以通过下载独立的安装程序来安装。

    双击下载的安装程序,按照提示进行安装。详细的安装说明见官网:http://www.openstm32.org/Installing%2BSystem%2BWorkbench%2Bfor%2BSTM32

    安装完成后,在开始菜单里找到SystemWorkbench for STM32,打开。

    导入工程

    打开SW4STM32后,首先会弹出下面窗口,让你选择一个Workspace。如果是第一次使用,可以通过“Browse”按钮设置workspace的位置。如果之前已经设置过,就可以在下拉菜单中选择一个。

    点击“OK”,就可以看到SW4STM32的欢迎界面了。

    下面通过File-->Import菜单导入已有的工程。

    在弹出的窗口里,选择“Existing Projects into Workspace”,然后点击“Next”。

    接下来,选择源文件所在的位置。

    在Projects的窗口会显示已存在的工程,选择该工程。点击“Finish”按钮。

    工程就已经被导入进来了,关闭Welcome欢迎窗口或者点击左上角的“Restore”按钮,就可以看到整个工程的界面了。

    创建物接入项目

    请参考快速入门。设备型和数据型项目均适用本例。

    修改源码内Baidu IoT Hub连接信息

    创建好百度智能云IOT Hub的服务,之前将示例工程导入到SW4STM32后,现在可以进行程序的修改,编译和下载。

    例程中提供的MQTT连接例程主要在iothub_mqtt_client_sample.c这个文件中实现。如果您使用的设备型项目,可基于 iotdm_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开发板。

    参考文档

    1. UM2153-Discovery kit for IoT node, multi-channel communication with STM32L4
    2. 物接入IoT Hub产品文档
    上一篇
    基于物影子快速搭建物联网应用
    下一篇
    树莓派+node-red搭建温湿度监控告警系统