STMCU小助手
发布时间:2022-3-3 23:25
|
前言 ST 与阿里巴巴集团旗下的云计算科技公司——阿里云合作,推出基于 STM32L4 IoT 探索套件快速开发 AliOS Things 的方案。STM32 用户可以在 STM32L4 IoT 上运行阿里的物联网操作系统 AliOS,无缝连接阿里云。本文以WiFi 连接阿里云收发消息为例介绍如何获得 AliOS Things 开源代码, 如何基于 IoT 探索套件 STM32 B-L475EIOT01A 与 STM32 常用开发工具 IAR 来快速编译、烧写、调试 MQTT应用。 硬件概述 从 www.st.com 下载物联网套件 B-L475E-IOT01A 的详细硬件设计介绍 (http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-evaltools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/b-l475e-iot01a.html ) 。5 h2 d A; K6 d( G8 _( t1 x5 U 这块开发板使用的是 ST 低功耗 MCU 系列中的 STM32L475 芯片,拥有 1M 字节的 Flash 和 128K 字节的 SRAM。 支持 WiFi、蓝牙、SubG,、NFC 等多种无线连接方式。 因为它还支持 Arduino 接口,所以使用者也可以很方便的通过 Arduino 接口来扩展其他的无线连接模块,比如 GSM 模块。 板上集成了 64Mbits 的 Quad-SPI Flash。3 b1 f" a$ z! X; V& L; M 板上还搭载了多种传感器,比如温湿度传感器、高性能 3 轴磁力计、加速度传感器、陀螺仪、接近传感器和压力传感器等。方便开发者用来进行多种应用的演示。! G' Y y C$ V2 L; D 板子上还有两个数字全角度麦克风。若需要,还可以实现语音控制的功能。 软件环境 阿里巴巴 AliOS Things 开发包 IAR 开发环境。当然,AliOS Things 开发包内建也支持使用 KEIL 和 GCC 开发 STM32 应用,不需要用户额外花时间从零开始对工程文件进行设置。 串口工具 Tera Term。可用来显示程序运行的信息和配置 WiFi 用户名和密码。5 P9 |% h4 I+ R, C; c AliOS Things AliOS Things 是 AliOS 家族旗下面向 IoT 领域的轻量级物联网嵌入式操作系统。可在找到详细的中文介绍。完整源代码开发包可在同页面通过 GIT 或者ZIP 包下载。以 ZIP 包下载为例,你可以找到右边的“Clone or download”按钮(下图中的绿色按钮)
会出现一个选择界面如下,选择“Download ZIP”(下图中的蓝色按钮),然后保存 AliOS-Things-master.zip就可以了。4 D( s; m% N' L" Z( `- O! D
0 A, N1 a, a* W! {! q 目前下载后的压缩包大小不到 100M。8 f9 q& Z6 e% Y- d+ G- ?: e$ k 使用 IAR 编译 IAR 是 STM32 开发人员常用的集成开发工具,如何安装 IAR 就不在本文赘述。 有了 IDE 后,接下来就是解压缩 AliOS-Things-master.zip 到任意目录。然后进到 AliOS-Thingsmaster\projects\IAR\mqttapp 目录,择 IAR 工程文件 alios.eww。 工程文件打开后应该是这个样子: 8 {+ x2 W! j# T. d- f" m# X
" J# \3 _1 V. n$ e 直接按 F7 或者选择菜单里“make”就可以开始编译。
* Q- | ]$ H. p3 R: z* p 调试运行 使用 micro usb 连接到 B-L475E-IOT01A 开发板。在板子上,该 usb 口靠近一个 LED 灯,而离黑色 Reset 和蓝色用户按钮较远。点击“Download and Debug”按钮,中间弹出 STLink 连接确认窗口,请点击确认。程序会自动下载到开发板里,并停在主函数 main 那里。 你可以随时在菜单里选择“Debug->Go”或者直接按 F5 运行。若需要看到完整 AliOS 运行日志,可以等到串口连接后再让程序继续运行。
: l0 t/ Y( [% u" ~ Tera Term 串口配置 需要使用串口终端程序 Tera Term(其他类似串口软件亦可)来配置网络或者察看程序运行的日志。 第一次使用 Tera Term,需要对串口通信进行配置。在菜单里选择“Setup->Serial Port”。
( h/ B, n' v7 h* S 配置参数如下图所示。$ C* c% H" u/ s0 s* [1 \
配置完成后,在“File”菜单里选择“New Connection”。$ C$ l6 U7 X4 w! ^& T2 c 0 ^* n+ ?. x7 O0 K5 K# E
选择串口 Serial。如果板子连接正常,这里的串口信息会自动显示出来,点击 OK 就可以了。若这里显示的串口号与先前串口通信配置的不一样,需要返回去修改。或者,在配置之前,先利用这里的信息看下实际的串口端口号是什么。 : I" }7 \; ^# P
9 Q- V) m' H9 ]5 e 你可以看到有以下运行日志,表示程序已经运行,可以配置 WiFi 了。 4 t8 }8 n5 k1 o/ d
d5 {0 }' A9 y2 @) p1 G2 x: M" r) Z 在串口配置 WiFi! D* p( {& c3 G 首次启动时需要手动配网,配网命令:1 v- H( S( s) G/ r; @* h0 J& Q
最后一个是安全接入参数,输入内容为 open 或 wep 或 wpa 或 wpa2,对于 WiFi AP 设定的连接安全协议。后续会保持 WiFi 配置在 kv 里,如果网络环境不变,按 Reset 按钮(板子的黑色按键),开机后会自动连接 WiFi AP。
程序循环上报 Sensor 和 LED 灯的数据' O! S% c9 y1 M' H 程序会循环上报 Sensor 和 LED 灯的数据到云端。发送数据结束或者网络连接异常,可以按黑色 Reset 按钮重新体验。+ Z$ [ [# k, @& R$ G ( W4 j6 O! S6 K- ]1 x9 |6 J
其他 习惯使用 KEIL 开发环境的 STM32 用户,可以在解压缩后的开发包 AliOS-Things-master\projects\Keil\BL475E-IOT01\mqttapp 下找到你需要的工程。对于 GCC 用户,则可以从 https://github.com/alibaba/AliOS-Things/wiki 了解如何下载配置相关的软件;在环境配置完成后,直接在 VS Code 里选择 target 目标mqttapp@b_l475e 就可以进行 GCC 环境下的编译。3 {/ G: K1 n k- s0 V; z( _ & _! ^4 I4 A( G# n2 z) _ 总结 对于 STM32 用户,AliOS Things 内建对多款 STM32 L0/L4 MCU 的平台支持,支持主流的 IAR/KEIL/GCC 开发环境。本文基于 STM32L4 IoT 探索套件,以 AliOS Things 物联网 MQTT 应用为例,详细描述了如何获取 AliOS Things& L7 a& v. z) B5 `; p 资源以及编译、调试运行 STM32 应用的过程,结合 STM32 与 AliOS Things 可迅速建立物联网节点。STM32 用户可在此基础上来创建更多物联网应用。 |
STM32L4R9 QuadSPI Flash通讯速率优化解析 32位总线的DMA传输适配核心方案
【STEVAL-STWINKT1B评测】运行Datalog固件并记录运行时间
【STEVAL-STWINKT1B评测】数字麦/模拟麦对比测试+音频配套上位机软件开发
【板卡评测】STEVAL-STWINKT1B读取 ACC/GYRO/MAG 实时数据
小白也能明白的STM32的低功耗与唤醒机制
【STM32入门学习路径指南】(四步走)
STM32和Arduino对比,谁更耐打?
STM32系统中2种数据掉电保护的方法
STM32 LL为什么比HAL高效?
STM32小白入门指南:从基础到OTA实现方案
微信公众号
手机版