本文描述STM32MCU如何通过AliOS ThingsSDK, 由MQTT协议连接到阿里云IoT平台。实验包括如下步骤:
1) AliOS Things的介绍
2) 实验准备
3) 开发环境
4) 开发流程
5) MQTT连接
6) 云端数据查看
1. AliOS Things 的介绍
AliOS Things 是 AliOS 家族旗下、面向 IoT 领域的、高可伸缩的物联网操作系统。 AliOSThings 将致力于搭建云端一体化 IoT 基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、工业,新出行等领域。
2. 实验准备
a) MCU开发板
使用STM32 BL475底板+MXCHIPWIFI模组的组合板,WIFI模组通过BL475的Arduino的IO接口与底板连接。网络协议栈跑在WiFi模块,主控MCU和WiFi模块之间的通信通过SPI串口协议。、
STM32BL475E是意法半导体推出的基于ARM Cortex 32bit 低功耗、多路传感芯片,片上资源丰富。
MXCHIP3080 WIFI模组是上海庆科推出的单3.3V供电的、集成Wi-Fi和Cortex-M4F MCU的嵌入式Wi-Fi模块,最高支持133M主频和256KRAM,强大的浮点运算。
b) ST-LINK驱动程序及下载工具安装
[1] 安装板上的USB ST-LINK(CN7)的驱动程序。完成后,可以在设备管理器中看到VirtualCOM Port[2];
[2] 安装ST-LINK Utility用于烧写程序;
c) 云端设备注册
在IoT Console(https://iot.console.aliyun.com/)完成注册设备,并得到设备三元组。
3.开发环境
这里给出Windows 开发环境的配置。
a) VSCode —— IDE开发环境;
b) AliOSThings Studio VS插件;
c) ARM GCC 编译工具链;
d) aos-cube项目管理工具。
4. 开发流程
a) 建立工程;
b) 修改设备三元组信息;
c) 编译
aos make mqttapp@b_l475e |
---|
d) 烧写bin文件
5. MQTT连接
a) 程序启动 ——上电自启动;
b) 配网——需要配置WIFI接入信息
STM32L475E只支持netmgr手动配网,通过串口助手向MCU发送配置命令:
netmgr connect ssid password |
---|
配置完成后,重启设备,可以看到如下输出,说明WIFI连接完成。
6. 云端数据查看
登录IoT Console,打开设备IOTPCX1,通过日志信息来检查收到的MQTT消息内容。
[1] AliOS https://github.com/alibaba/AliOS-Things
[2] STM32BL475 http://www.st.com/
[3] https://github.com/alibaba/AliOS-Things/wiki/AliOS-Things-Windows-Environment-Setup