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

STM32免开发10分钟快速连云

[复制链接]
zero99 发布时间:2018-12-12 14:30
身为嵌入式开发者的你一定经常为设备连云而伤神,繁琐的上云步骤、复杂的环境配置,物联网世界看似美好,实则折腾不起。此篇文章将颠覆你对设备上云的痛苦印象,帮助你免开发 10 分钟快速连云。/ Y2 c; `) `$ V/ K3 e: e6 ~& M" j

5 M) a! ?9 B/ R/ }硬件部分使用搭载 STM32F412 官方开发板STM32F412 Nucleo-144搭配庆科3080 WiFi模组进行。1 F" K* Y6 I! ^& L0 _
关于STM32F412产品介绍,相关设计文件和参考设计,请点击介绍;
5 P% Z2 l8 @, }8 {% l3 s2 @关于STM32F412的官方开发板NUCLEO-F412ZG的资料,请点击资料;( v2 }8 Z" ~" ?, Q. l7 _- l
关于NUCLEO-F412ZG官方开发板的购买,可以访问STM32旗舰店。
# ?) m' ~+ t+ a0 c 11.png , Q" S3 H- r* P: v

4 d0 P6 A: f. M  J( s一、开通云平台服务
, R6 h6 I* U0 z+ k2 m前往阿里云物联网平台官网 3 k6 P1 a) e2 L
http://iot.aliyun.com/products/ ... ce=develop_shequ_st,点击立即开通,无阿里云账号请按步骤注册账号同时完成实名认证。1 A& `! k# h5 F# q! b
12.png   G! K4 p" h6 y) x
7 F1 ^# @" v: S' w! d
之后同意物联网平台服务协议,即可开通/ I: A& x/ g: w1 j% V" ?
13.png
" l4 ?/ E/ F  o9 G% Z; g, h6 T. C. O) {. |. b+ ?) ^2 g
二、云平台操作; ?/ \0 L( u. J0 ]2 H: U6 J5 v' w. L
打开阿里云物联网平台控制台(http://iot.console.aliyun.com/data_board),选择设备管理-产品-创建产品-高级版产品,在设备模型的自定义功能处,新增两个属性, 一个用于上行消息, 另一个用于下行消息, 均设为字符串类型。
6 y4 q4 `2 R) ~+ U6 _, { 14.png   B- y6 S) c0 K8 j
15.png
6 C, W4 c; {+ R$ X
" B/ J8 F, C. J% o之后添加一个用于测试的设备:
5 p8 {9 ]& r9 u  S 16.png
, H! T/ k% C- Z$ D- P$ P% x* G) O
9 {/ k0 h$ V5 h记录下设备证书:- x% l% J( c+ R" m$ ]; M! W8 Z' v0 @
17.png
+ U! @4 Q$ @6 y3 R8 s" v. g: W, l- `
至此云平台的操作已完成。8 y- J$ V  r5 L4 j+ d4 [6 |" m

+ R0 |1 f$ s" h% J- b0 a$ c4 b+ o三、端侧开发
5 M; T. O  t$ ^( A* A/ R无须复杂的环境配置,我们可以直接使用阿里云的在线设备开发工作台,完成设备端的开发工作。6 ]7 Y$ V  N. W  m
首先进入WebIDE开发界面:http://webide.aliyun.com,如下图。
" G7 ]" L+ J' ?7 c$ P) P  c 18.png * E1 |) }; `0 O5 E$ ~. k/ x

% y7 F* L9 A: F7 {- b( A8 {: ]接着点击下图中agent下载按钮,IDE会根据你使用的电脑操作系统自动判断下载对应的agent包。下载完毕后解压缩下载到本地的zip包。3 d2 Z! L* J4 [8 ]& ]
19.png
7 c# ]* ]3 n! ]: m  @# r
5 A8 y' L3 E2 t' K/ n然后在tools目录中找到并安装其中的STLink驱动。安装之后,可以检查新的设备是否已经出现在系统设备列表中。(Mac/Linux用户可以ls /dev检查,Windows用户通过设备管理器)。3 w! `6 q/ F8 g3 f- H/ b& i
最后启动Agent,Linux/Mac系统:在终端中执行下载好的agent目录中的run.sh脚本;Windows系统:运行agent目录下的hacklab-device-agent.exe。+ y9 Q7 U2 }  G1 V
Hacklab agent运行成功后,将STM32F412开发板使用USB连接到电脑后,点击Web IDE文件树上的Device节点,如下图中所示,可以看到开发板已经连接到了IDE的设备列表中。: B  |0 i4 h" o  u$ S9 o% ?3 ^
21.png ' t+ ~9 T) ]; K! d& b! u2 b: `

9 G) k; Q/ y$ t0 X" e) U/ p9 ]设备连接后就是设备开发了:, `0 k, l5 H1 W: N9 A2 o! m) ^9 ]
首先在IDE中点击新建工程(Toolbar上的➕按钮),在Create Project Wizard界面中,填写工程名simple_mqtt,Board类型选择STM32F412 Nucleo-144,OS类型选择AliOS-Things,选择完成后点击create等待IDE下载工程代码。
! W# W# X  c. v' o9 S( E2 O  q 22.png 6 p9 {. O4 \; F+ m

9 U# n- T2 N- [- k- g4 s工程创建完成后,在左侧的文件树中出现了simple_mqtt工程,刚刚创建的AliOS-Things代码位于device模块目录中,找到 /device/AliOS-Things/example/simple_mqtt/simple_mqtt.c文件,将 27-29 行代码替换为从云平台获取到的设备证书。) _4 F# k+ d- s+ g
23.png
- v: M9 g5 K% G( S& W+ S
6 n% x& Q- ?8 B) H8 a接着修改/device/module.json文件, 将 @ 以前内容换成 simple_mqtt,全局按 shift+F键可快速搜索替换:
# m6 a1 Q7 j/ F6 ?- P+ l* R; g 24.png 1 R* R; M, X3 A( `, w3 D  d
+ \# a* |; M$ {& V+ h6 d( b2 m
敲代码的工作到此就结束了,千万记住保存(ctrl+s或cmd+s)。1 d- `) v5 \/ Y3 ?/ M! g1 I8 U
临门一脚,在IDE界面点击编译按钮选择simple_mqtt开始编译:
1 V* Z* H9 C9 B* h 25.png " b9 S; R* m5 ?2 L8 h

, n- Z  N' a8 v  U  C! A3 p  b等待编译完成后点击烧录simple_mqtt程序到设备:
7 C1 ^; N+ r6 q. y, r 26.png
; D# }5 p2 G+ X5 J3 x$ V* f/ l4 g! h# y& ?9 m3 y
双击device下的设备名开始运行程序:+ K6 ^5 j4 e2 ]- D
27.png . n5 E. i- D& x/ Z4 `

0 \) J$ K# g0 ~. R设备开始运行后输入netmgrconnect {Wi-Fi_SSID} {passwd} 指令使设备连接Wi-Fi网络(可以使用手机开启热点)。连接Wi-Fi成功后设备将开始上报数据,运行日志如下,设备正常运行后可以查看平台设备属性。% D; o3 Z5 E+ _) \& B) a
28.png
* o9 U7 y1 l1 d& j' s+ C
/ a! g, [" P& c! `6 a; b6 c2 [1 W+ l, `( |2 H! w
四、云端联调. |4 M1 @$ {& k- c% z
控制台显示连云后,我们回到物联网平台,选择日志,可以看到设备上线同时云端已经收到了设备上发的消息。
# W0 m$ z+ x& T* E" d 29.png
2 S( q) b  y0 C+ ?5 T& l8 q3 J2 Y3 o# O' F
至此,无须配置开发环境,无须复杂的定义接口,不到 10 分钟,你已经实现了STM32快速连云。
4 l- F. L) H; y- X3 D7 |, E- c配合视频食用学习效果更佳:
+ J  l2 E# c' x& H1 L; j* m
收藏 2 评论7 发布时间:2018-12-12 14:30

举报

7个回答
zhdjet 回答时间:2018-12-12 15:42:04
双12啦,老大。赶快推销起来
pythonworld 回答时间:2018-12-12 16:51:24
厉害了!!
hjl2832 回答时间:2018-12-21 09:51:24
沙发板凳都没了,这个讲得好详细,顶起来让更多人受益。。。
sopc 回答时间:2018-12-23 18:38:14
-李春山 回答时间:2018-12-23 22:20:40
先来学习一下,这个厉害
cos12a-21701 回答时间:2018-12-27 12:35:12
很好,但有个不好的,用习惯了Keil的,突然换一个,很难接受,
, s- M' S0 U/ n6 q虽然开源,但也不容易理解。
zjczm 回答时间:2018-12-27 13:49:25
不错。很多东西还来不及学习啊

所属标签

相似分享

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