请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
STMCU小助手 发布时间:2022-3-3 23:25
前言; ]$ d9 [; k6 O7 V% K, j
ST 与阿里巴巴集团旗下的云计算科技公司——阿里云合作,推出基于 STM32L4 IoT 探索套件快速开发 AliOS Things 的方案。STM32 用户可以在 STM32L4 IoT 上运行阿里的物联网操作系统 AliOS,无缝连接阿里云。本文以WiFi 连接阿里云收发消息为例介绍如何获得 AliOS Things 开源代码, 如何基于 IoT 探索套件 STM32 B-L475EIOT01A 与 STM32 常用开发工具 IAR 来快速编译、烧写、调试 MQTT应用。
; B" i9 L: D$ x8 Z0 J" e0 q( Q3 J3 r硬件概述
# e! d, s8 h# s4 z) @www.st.com 下载物联网套件 B-L475E-IOT01A 的详细硬件设计介绍
, d) `6 `  ]4 n( i(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 ) 。' k! E, o/ K) k; g. [" @
 这块开发板使用的是 ST 低功耗 MCU 系列中的 STM32L475 芯片,拥有 1M 字节的 Flash 和 128K 字节的 SRAM。
$ O, ~/ Z# U2 }9 g  @ 支持 WiFi、蓝牙、SubG,、NFC 等多种无线连接方式。 因为它还支持 Arduino 接口,所以使用者也可以很方便的通过 Arduino 接口来扩展其他的无线连接模块,比如 GSM 模块。' c5 ~" g( v( V0 h  T  Z* E
 板上集成了 64Mbits 的 Quad-SPI Flash。! ?4 s; @  O8 N( S  ?
 板上还搭载了多种传感器,比如温湿度传感器、高性能 3 轴磁力计、加速度传感器、陀螺仪、接近传感器和压力传感器等。方便开发者用来进行多种应用的演示。1 J* ]. e$ i3 o1 o+ z* B. n$ H- a
 板子上还有两个数字全角度麦克风。若需要,还可以实现语音控制的功能。: x2 Q# a0 [( W# E# y( l% L2 W
0 _4 u4 N8 ~3 Q. ]% e7 q
软件环境
+ W6 @" Q/ t* p& a/ n4 W 阿里巴巴 AliOS Things 开发包% |$ \: j/ s: V* }# f
 IAR 开发环境。当然,AliOS Things 开发包内建也支持使用 KEIL 和 GCC 开发 STM32 应用,不需要用户额外花时间从零开始对工程文件进行设置。: c/ Y4 t$ S3 H: L/ G5 Y: F
 串口工具 Tera Term。可用来显示程序运行的信息和配置 WiFi 用户名和密码。. r; ?9 v" Q8 x: ~, q
) A  l8 ^% V2 f# P& F( ]  y
AliOS Things
' h0 Z" V7 |' u: w9 M  tAliOS Things 是 AliOS 家族旗下面向 IoT 领域的轻量级物联网嵌入式操作系统。可在找到详细的中文介绍。完整源代码开发包可在同页面通过 GIT 或者ZIP 包下载。以 ZIP 包下载为例,你可以找到右边的“Clone or download”按钮(下图中的绿色按钮)
- w1 Q- X6 r  y4 D" k3 W
9 h1 T$ z  T/ [' x5 d/ f, _ QFRAMS]$]8D%XI9H8NWS684.png ' ?2 R: _- E: q9 e# \) w
+ K  w9 G. I" u* D" a
会出现一个选择界面如下,选择“Download ZIP”(下图中的蓝色按钮),然后保存 AliOS-Things-master.zip就可以了。
3 l+ X. t: u* ~9 K# Z* j5 j; S( R7 L: z* p2 y+ E
%%}}8U{MVXDGRD7XY}O(Z0K.png
* {9 a/ }5 t; I2 O! F# v; M7 f- i. X: _' z) s$ G  ]: I' V
目前下载后的压缩包大小不到 100M。2 M& O" {. ], q- |7 I: f2 v1 q7 {) U) ~
; m5 h% `6 q0 _: _0 x( ^
使用 IAR 编译
( u3 f2 q! t2 G7 A; `6 }6 nIAR 是 STM32 开发人员常用的集成开发工具,如何安装 IAR 就不在本文赘述。
9 J% x& ^& Y% S& b5 o有了 IDE 后,接下来就是解压缩 AliOS-Things-master.zip 到任意目录。然后进到 AliOS-Thingsmaster\projects\IAR\mqttapp 目录,择 IAR 工程文件 alios.eww。 工程文件打开后应该是这个样子:$ q( T  I+ k% d/ i
" W$ G) d1 _! C/ Z8 z  N
4N3qHS2LC2{GHM725HEKT.png - L1 B" E/ E  j+ g; h
. l: l5 I* O0 s5 `4 g4 N; f8 l3 h
直接按 F7 或者选择菜单里“make”就可以开始编译。
1 x$ y$ O4 `0 n! D) ` C]L~[DCOH8(EH8{E`A[3XEG.png
4 k' e% V6 u- f  S$ |! O, f0 {: U& o; q
! Z( _+ X4 j8 v+ W/ k# j
调试运行
# i, q5 a, K& V! L1 g; P/ m4 j7 J使用 micro usb 连接到 B-L475E-IOT01A 开发板。在板子上,该 usb 口靠近一个 LED 灯,而离黑色 Reset 和蓝色用户按钮较远。点击“Download and Debug”按钮,中间弹出 STLink 连接确认窗口,请点击确认。程序会自动下载到开发板里,并停在主函数 main 那里。 你可以随时在菜单里选择“Debug->Go”或者直接按 F5 运行。若需要看到完整 AliOS 运行日志,可以等到串口连接后再让程序继续运行。
; u6 y) j- F- H' U& C4 ]: @8 |6 d8 p4 x" c& a5 V
`SZI2S5)}]WR)ME@G
`3T.png ' w% g1 f4 e8 O5 q5 T( {

; {- v  A8 }/ D* T8 ^  E$ qTera Term 串口配置
1 n8 f- g0 V7 t+ D6 T- E需要使用串口终端程序 Tera Term(其他类似串口软件亦可)来配置网络或者察看程序运行的日志。3 M6 I7 _  \& r. Z9 ]. [' T
第一次使用 Tera Term,需要对串口通信进行配置。在菜单里选择“Setup->Serial Port”。1 P% G. A# M0 ]/ S# ]; ?* `3 e7 V
9 K; G1 _8 C3 v
QT9G]DXY]4JXM)1T04DW_6L.png
: n( r0 `! S* F# p* B2 j
0 _: Z( F; e% N2 P配置参数如下图所示。
, Y# R+ Q4 ~' w( ^" K7 ?) n& g" F
RTQAMRNGECU21936I35AF48.png
( F' b" \+ F$ f. k, b+ \7 L+ m
. h! u% |6 j( U7 _" ]" e+ \' D+ ~# f配置完成后,在“File”菜单里选择“New Connection”。9 C7 N; |9 M4 ]3 P1 j

$ H: O5 ~8 y! k3 J SJ48{767O`VO]U}WW072`FM.png # A$ g" @( h; B: j7 f6 c

/ g! @8 N# V+ ^* ]8 [, m9 j选择串口 Serial。如果板子连接正常,这里的串口信息会自动显示出来,点击 OK 就可以了。若这里显示的串口号与先前串口通信配置的不一样,需要返回去修改。或者,在配置之前,先利用这里的信息看下实际的串口端口号是什么。
3 r' y! A% ~; w" b6 b
, Q8 Q& B" Q# G& W$ | {WBLE{2V42H6BA~FC[EYH[X.png ( K- K- u7 S$ I% J% |+ `

4 ~2 u! T0 X/ _% }' _, a* o你可以看到有以下运行日志,表示程序已经运行,可以配置 WiFi 了。' [. ^5 T+ ^/ B5 A& A

, n; V# q$ {. [# b" M
4 F5 b6 }6 b- I: s0 W 6N(OS8_CM`1{OV`OJAXW8BS.png 9 v; H; l% d2 g# v8 K" U
( a. ~1 Y/ F- W* \
在串口配置 WiFi. p* r5 w' ^5 y% o0 N6 M: |
首次启动时需要手动配网,配网命令:6 f5 ~+ u9 D, s, |
  1. netmgr connect ssid password open|wep|wpa|wpa2
复制代码
" [2 F& S" k9 @7 T/ U% h" _
最后一个是安全接入参数,输入内容为 open 或 wep 或 wpa 或 wpa2,对于 WiFi AP 设定的连接安全协议。后续会保持 WiFi 配置在 kv 里,如果网络环境不变,按 Reset 按钮(板子的黑色按键),开机后会自动连接 WiFi AP。
1 G8 J' T8 s# t7 _* p/ X3 I; v. I8 q/ i0 w3 S+ `- L5 Y
}GGOEJXT{@6U__7RW@)9QGL.png ; v) y+ \* S3 c% m4 ?
, {* d0 j9 e2 C* B+ a1 K  J
程序循环上报 Sensor 和 LED 灯的数据. q! p1 r' b. p
程序会循环上报 Sensor 和 LED 灯的数据到云端。发送数据结束或者网络连接异常,可以按黑色 Reset 按钮重新体验。
  [% v, }2 x( J2 Y) k) F! R7 o0 [4 ~

! @- K+ B' x/ a: k 2W7@}%W9_D`0`Z`MEM[3[7T.png / `/ d) u0 T+ @6 c' P; r$ [( k9 U

- ]. l- S* p# _0 E4 m其他# k, Q3 j! M& G
习惯使用 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 P  I7 B2 B  N. n
" r8 L% }) T% P$ R$ T2 S# ]" p) S5 x+ y) N
. j, e! d. Z* T
总结& ?: ?( }# p3 v  d3 @
对于 STM32 用户,AliOS Things 内建对多款 STM32 L0/L4 MCU 的平台支持,支持主流的 IAR/KEIL/GCC 开发环境。本文基于 STM32L4 IoT 探索套件,以 AliOS Things 物联网 MQTT 应用为例,详细描述了如何获取 AliOS Things
  ~- V& d7 f3 I6 e$ w) E资源以及编译、调试运行 STM32 应用的过程,结合 STM32 与 AliOS Things 可迅速建立物联网节点。STM32 用户可在此基础上来创建更多物联网应用。4 B. o0 ]+ E' ]$ N6 O9 O
* N7 E" X; k2 ]
收藏 评论0 发布时间:2022-3-3 23:25

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版