你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】基于 STM32L4 IoT 探索套件开发 AliOS Things

[复制链接]
STMCU小助手 发布时间:2022-3-3 23:25
前言
. O- O& e  r# iST 与阿里巴巴集团旗下的云计算科技公司——阿里云合作,推出基于 STM32L4 IoT 探索套件快速开发 AliOS Things 的方案。STM32 用户可以在 STM32L4 IoT 上运行阿里的物联网操作系统 AliOS,无缝连接阿里云。本文以WiFi 连接阿里云收发消息为例介绍如何获得 AliOS Things 开源代码, 如何基于 IoT 探索套件 STM32 B-L475EIOT01A 与 STM32 常用开发工具 IAR 来快速编译、烧写、调试 MQTT应用。
- |3 F* x' T) w8 A硬件概述
9 Y2 U1 z* q6 H( t从 www.st.com 下载物联网套件 B-L475E-IOT01A 的详细硬件设计介绍
) ]: j  G$ R' U0 f" A0 r(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。
0 J5 l: j* V' x# B* X# D% g7 c 支持 WiFi、蓝牙、SubG,、NFC 等多种无线连接方式。 因为它还支持 Arduino 接口,所以使用者也可以很方便的通过 Arduino 接口来扩展其他的无线连接模块,比如 GSM 模块。
- o1 Y3 Z. B8 N: j- {$ z 板上集成了 64Mbits 的 Quad-SPI Flash。3 b1 f" a$ z! X; V& L; M
 板上还搭载了多种传感器,比如温湿度传感器、高性能 3 轴磁力计、加速度传感器、陀螺仪、接近传感器和压力传感器等。方便开发者用来进行多种应用的演示。! G' Y  y  C$ V2 L; D
 板子上还有两个数字全角度麦克风。若需要,还可以实现语音控制的功能。
  M- Q: @7 H& r
" ^& j0 |; i- I; _6 A+ ?5 x软件环境
6 k7 Q$ Q' H2 Z/ B5 k/ D 阿里巴巴 AliOS Things 开发包
! ?  B5 j" i3 A  l. v# ]' N IAR 开发环境。当然,AliOS Things 开发包内建也支持使用 KEIL 和 GCC 开发 STM32 应用,不需要用户额外花时间从零开始对工程文件进行设置。
4 Q8 R' z" j5 T. t- U. n% Q 串口工具 Tera Term。可用来显示程序运行的信息和配置 WiFi 用户名和密码。5 P9 |% h4 I+ R, C; c

) L, D; j# N$ f5 t, _AliOS Things
& a1 v" w, K1 E' k1 O9 T- f, K  G$ {AliOS Things 是 AliOS 家族旗下面向 IoT 领域的轻量级物联网嵌入式操作系统。可在找到详细的中文介绍。完整源代码开发包可在同页面通过 GIT 或者ZIP 包下载。以 ZIP 包下载为例,你可以找到右边的“Clone or download”按钮(下图中的绿色按钮)
9 I% E" c: u) l! B5 Z2 C/ y7 X! N
5 j  S6 K* A1 ]( B QFRAMS]$]8D%XI9H8NWS684.png & w) K2 f9 s6 \" {) \  J) a

1 h3 _' }+ F/ M+ U& N会出现一个选择界面如下,选择“Download ZIP”(下图中的蓝色按钮),然后保存 AliOS-Things-master.zip就可以了。4 D( s; m% N' L" Z( `- O! D

; k8 h# K1 d5 S %%}}8U{MVXDGRD7XY}O(Z0K.png - f, e8 s9 o. N" j; I
0 A, N1 a, a* W! {! q
目前下载后的压缩包大小不到 100M。8 f9 q& Z6 e% Y- d+ G- ?: e$ k

8 q( I+ Z$ G+ d# w6 e使用 IAR 编译
' z' V% x0 S' h: f6 i7 K1 DIAR 是 STM32 开发人员常用的集成开发工具,如何安装 IAR 就不在本文赘述。
, q& ~0 s2 f0 M/ z3 `7 z有了 IDE 后,接下来就是解压缩 AliOS-Things-master.zip 到任意目录。然后进到 AliOS-Thingsmaster\projects\IAR\mqttapp 目录,择 IAR 工程文件 alios.eww。 工程文件打开后应该是这个样子:
1 e- ?6 n; S5 H! D( m( a: \8 {+ x2 W! j# T. d- f" m# X
4N3qHS2LC2{GHM725HEKT.png
. A, a- W1 U1 W  L! }- c6 Q  q" J# \3 _1 V. n$ e
直接按 F7 或者选择菜单里“make”就可以开始编译。
% Q* i7 l- m  m* O C]L~[DCOH8(EH8{E`A[3XEG.png
3 V) l- D$ x% w- ~, Y
4 c7 k4 ?+ y, F& E* Q- |  ]$ H. p3 R: z* p
调试运行
8 K$ B. Y$ ~8 x# y" [3 @$ `7 }1 V使用 micro usb 连接到 B-L475E-IOT01A 开发板。在板子上,该 usb 口靠近一个 LED 灯,而离黑色 Reset 和蓝色用户按钮较远。点击“Download and Debug”按钮,中间弹出 STLink 连接确认窗口,请点击确认。程序会自动下载到开发板里,并停在主函数 main 那里。 你可以随时在菜单里选择“Debug->Go”或者直接按 F5 运行。若需要看到完整 AliOS 运行日志,可以等到串口连接后再让程序继续运行。
; p% X# @( E* _
8 O+ Y' ^: k) d! H$ r- B `SZI2S5)}]WR)ME@G
`3T.png / @/ X' M- i3 q! W8 Z5 X
: l0 t/ Y( [% u" ~
Tera Term 串口配置
0 P  Z+ I; |% ^* g; s5 q3 p" p需要使用串口终端程序 Tera Term(其他类似串口软件亦可)来配置网络或者察看程序运行的日志。
8 l. c! F* @7 D6 @* P第一次使用 Tera Term,需要对串口通信进行配置。在菜单里选择“Setup->Serial Port”。
$ u, H* h- X' p5 N
+ @* J, e$ o" ?: W2 o! V  z QT9G]DXY]4JXM)1T04DW_6L.png : f) Q  {& a, q9 P7 u
( h/ B, n' v7 h* S
配置参数如下图所示。$ C* c% H" u/ s0 s* [1 \

3 q& @% \* b& A! ] RTQAMRNGECU21936I35AF48.png
0 t5 B6 |; F" E4 A
: c% v' v8 F" l配置完成后,在“File”菜单里选择“New Connection”。$ C$ l6 U7 X4 w! ^& T2 c
0 ^* n+ ?. x7 O0 K5 K# E
SJ48{767O`VO]U}WW072`FM.png + Z* f& P7 B! \$ c

; I. y' ~# ?0 ?0 j. r选择串口 Serial。如果板子连接正常,这里的串口信息会自动显示出来,点击 OK 就可以了。若这里显示的串口号与先前串口通信配置的不一样,需要返回去修改。或者,在配置之前,先利用这里的信息看下实际的串口端口号是什么。
" K0 u5 A( I9 b+ v. J$ p4 G: I" }7 \; ^# P
{WBLE{2V42H6BA~FC[EYH[X.png * n" d( P) Z* m
9 Q- V) m' H9 ]5 e
你可以看到有以下运行日志,表示程序已经运行,可以配置 WiFi 了。
$ k, v& M7 U, j  N& h# g; ~3 m  S
# _! Q( \9 }$ c+ v4 t8 }8 n5 k1 o/ d
6N(OS8_CM`1{OV`OJAXW8BS.png
2 X7 ]) L3 n- _  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
  1. netmgr connect ssid password open|wep|wpa|wpa2
复制代码
/ B$ x2 p- G8 t1 A( ^/ j+ B+ }/ C
最后一个是安全接入参数,输入内容为 open 或 wep 或 wpa 或 wpa2,对于 WiFi AP 设定的连接安全协议。后续会保持 WiFi 配置在 kv 里,如果网络环境不变,按 Reset 按钮(板子的黑色按键),开机后会自动连接 WiFi AP。
! |$ ]2 b! \# b) k- m  O5 f0 K
, O0 U1 l9 R6 R3 }3 B }GGOEJXT{@6U__7RW@)9QGL.png
2 @, w( \5 x3 {1 o- x3 l# m! a. F9 s
( `2 [( V" k- E' t程序循环上报 Sensor 和 LED 灯的数据' O! S% c9 y1 M' H
程序会循环上报 Sensor 和 LED 灯的数据到云端。发送数据结束或者网络连接异常,可以按黑色 Reset 按钮重新体验。+ Z$ [  [# k, @& R$ G
( W4 j6 O! S6 K- ]1 x9 |6 J

) E( [# ?, B2 M2 G& k$ N 2W7@}%W9_D`0`Z`MEM[3[7T.png
# [, f5 u. I, K) X& W9 y
7 }6 V" e) k. N1 p( m其他
" \3 Y1 P4 O9 [习惯使用 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( _

0 m. y1 \7 [# t" M; U! B
. t. C# W1 ]8 g6 y3 C& _! ^4 I4 A( G# n2 z) _
总结
  p; C6 y( T/ c. J% Z+ ^# K+ J7 _# o对于 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 用户可在此基础上来创建更多物联网应用。
' {$ H  W# C4 `: D
2 R( i: G  W8 w
赞 收藏 评论0 发布时间:2022-3-3 23:25

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版