
前言 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 ) 。 这块开发板使用的是 ST 低功耗 MCU 系列中的 STM32L475 芯片,拥有 1M 字节的 Flash 和 128K 字节的 SRAM。 支持 WiFi、蓝牙、SubG,、NFC 等多种无线连接方式。 因为它还支持 Arduino 接口,所以使用者也可以很方便的通过 Arduino 接口来扩展其他的无线连接模块,比如 GSM 模块。 板上集成了 64Mbits 的 Quad-SPI Flash。 板上还搭载了多种传感器,比如温湿度传感器、高性能 3 轴磁力计、加速度传感器、陀螺仪、接近传感器和压力传感器等。方便开发者用来进行多种应用的演示。 板子上还有两个数字全角度麦克风。若需要,还可以实现语音控制的功能。 软件环境 阿里巴巴 AliOS Things 开发包 IAR 开发环境。当然,AliOS Things 开发包内建也支持使用 KEIL 和 GCC 开发 STM32 应用,不需要用户额外花时间从零开始对工程文件进行设置。 串口工具 Tera Term。可用来显示程序运行的信息和配置 WiFi 用户名和密码。 AliOS Things AliOS Things 是 AliOS 家族旗下面向 IoT 领域的轻量级物联网嵌入式操作系统。可在找到详细的中文介绍。完整源代码开发包可在同页面通过 GIT 或者ZIP 包下载。以 ZIP 包下载为例,你可以找到右边的“Clone or download”按钮(下图中的绿色按钮) ![]() 会出现一个选择界面如下,选择“Download ZIP”(下图中的蓝色按钮),然后保存 AliOS-Things-master.zip就可以了。 ![]() 目前下载后的压缩包大小不到 100M。 使用 IAR 编译 IAR 是 STM32 开发人员常用的集成开发工具,如何安装 IAR 就不在本文赘述。 有了 IDE 后,接下来就是解压缩 AliOS-Things-master.zip 到任意目录。然后进到 AliOS-Thingsmaster\projects\IAR\mqttapp 目录,择 IAR 工程文件 alios.eww。 工程文件打开后应该是这个样子: ![]() 直接按 F7 或者选择菜单里“make”就可以开始编译。 ![]() 调试运行 使用 micro usb 连接到 B-L475E-IOT01A 开发板。在板子上,该 usb 口靠近一个 LED 灯,而离黑色 Reset 和蓝色用户按钮较远。点击“Download and Debug”按钮,中间弹出 STLink 连接确认窗口,请点击确认。程序会自动下载到开发板里,并停在主函数 main 那里。 你可以随时在菜单里选择“Debug->Go”或者直接按 F5 运行。若需要看到完整 AliOS 运行日志,可以等到串口连接后再让程序继续运行。 ![]() Tera Term 串口配置 需要使用串口终端程序 Tera Term(其他类似串口软件亦可)来配置网络或者察看程序运行的日志。 第一次使用 Tera Term,需要对串口通信进行配置。在菜单里选择“Setup->Serial Port”。 ![]() 配置参数如下图所示。 ![]() 配置完成后,在“File”菜单里选择“New Connection”。 ![]() 选择串口 Serial。如果板子连接正常,这里的串口信息会自动显示出来,点击 OK 就可以了。若这里显示的串口号与先前串口通信配置的不一样,需要返回去修改。或者,在配置之前,先利用这里的信息看下实际的串口端口号是什么。 ![]() 你可以看到有以下运行日志,表示程序已经运行,可以配置 WiFi 了。 ![]() 在串口配置 WiFi 首次启动时需要手动配网,配网命令:
最后一个是安全接入参数,输入内容为 open 或 wep 或 wpa 或 wpa2,对于 WiFi AP 设定的连接安全协议。后续会保持 WiFi 配置在 kv 里,如果网络环境不变,按 Reset 按钮(板子的黑色按键),开机后会自动连接 WiFi AP。 ![]() 程序循环上报 Sensor 和 LED 灯的数据 程序会循环上报 Sensor 和 LED 灯的数据到云端。发送数据结束或者网络连接异常,可以按黑色 Reset 按钮重新体验。 ![]() 其他 习惯使用 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 环境下的编译。 总结 对于 STM32 用户,AliOS Things 内建对多款 STM32 L0/L4 MCU 的平台支持,支持主流的 IAR/KEIL/GCC 开发环境。本文基于 STM32L4 IoT 探索套件,以 AliOS Things 物联网 MQTT 应用为例,详细描述了如何获取 AliOS Things 资源以及编译、调试运行 STM32 应用的过程,结合 STM32 与 AliOS Things 可迅速建立物联网节点。STM32 用户可在此基础上来创建更多物联网应用。 |
没学过51单片机,能否零基础学STM32?
什么是STM32? STM32与ARM有什么关系? STM32能做什么?
STM32怎么选型
STM32 不同时钟频率有什么不同的影响
【STWINKT1B评测】2.初步测试IIS3DWB振动传感器
基于STM32L476+64M QSPI接口PSRAM(IPS6404L)开源分享(含源码)
兔哥的L4【001】——32脚的小板
STM32如何分配原理图IO
【实测教程】STM32CubeMX-STM32L4之研究(ADC)
【圣诞专享活动】使用TouchGFX做GUI显示:圣诞快乐&Merry Christmas!