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

TencentOS Tiny手把手教您自制智能甲醛监测仪

[复制链接]
STMCU-管管 发布时间:2020-11-26 09:24
一、基于TencentOS Tiny的智能甲醛监测仪2 q  d$ q  u$ g0 {  M" l1 y1 ~
  a/ ^. m, f% ?" \( X9 c

9 Q/ h! b! P  S6 P+ U* i( t. l! N% K/ [
& Q" ^) r8 r& k( J* o' l
甲醛是室内一项非常重要的指标,对眼、鼻、喉的黏膜有强烈的刺激作用,最普遍的症状就是眼睛受刺激和头痛,严重的可引起过敏性皮炎和哮喘。由于新房装修场景对甲醛监测的需求越来越多,拥有一台准确、性价比高、稳定的智能甲醛监测仪能给大家的健康生活带来一份便利,今天小编就来教大家如何基于STM32G0开发板+ESP8266 WiFi + TencentOS Tiny物联网操作系统,来自制一个智能甲醛监测仪。% C" r4 ~) Y8 X2 V; D

: P: N4 u8 T, y2 c1 e  V: {, [* K本项目制作的甲醛监测仪可以实时的检测室内甲醛浓度,在OLED屏幕上显示具体数值,同时还可以将数据实时上报到腾讯云物联网开发平台IoT Explorer,用户可以在“腾讯连连”小程序实时查看数据,并通过公众号及时接收告警信息。: t- H, n8 P% l( n. T  @

4 F  l6 o( _# R: c  `本项目所需要的物品清单有:: F9 f* j9 f# z5 B0 n
" e$ G" R! i5 t$ }# ]: u; {( V
TOS_EVB_G0开发板 x 1
' H# p! t* m, q. S, g; C英国 Dart 甲醛传感器 x 1& X' h6 X& {. J) {( D
E53甲醛传感器底板 x 1
, e0 J2 U4 U2 F/ G4 ]- y 1.png
* \  T' j; @. q9 b: V& r, V5 d% Q( Z成品组装图(安装各接插件时,请务必参考成品图,不要弄错方向,否则可能烧坏MCU)
5 T, w) A0 C- m* r' c 2.png * h% o: Z( K9 U+ R6 q5 \
好啦~接下来开始我们的制作!7 H) G6 R& J( ~4 o- _  `  s6 f

9 Z) c4 y  J4 |# {
, r5 j, e( a* M: x* R
9 e) v: d+ U6 S' I
0 h; {& ?  n4 M% E7 [. n
+ l& n0 J% d0 ^; e- _
, [5 W6 p% n6 {: B
二、TOS EVB G0开发板介绍
& Z& A$ ^: t( N: S& k7 I9 b
4 j6 t: y6 M0 {* ~; v; x/ @
8 O6 ]* K8 o! l6 b$ j
1. 开发板特性
% a9 g; P& L9 W+ e% n- [9 b8 ^5 R  Q, c1 Q
% q3 L( t8 V5 ?7 P; Z/ {  ?
TOS_EVB_G0 开发板是由腾讯TencentOS-tiny团队设计的一款物联网开发板,板载资源如下:
7 x: [5 R+ r% O# h# _: ], ^ 3.png
+ h8 A* O! S- k1 x$ @) [( s' o- 主控芯片采用STM32G070RB,Flash空间仅有128KB、RAM空间仅有20KB;
9 a- u; e- Z; B, q: d- 板载腾讯云定制固件版ESP8266 WIFI模组;
7 c$ k+ Z8 K/ s( P- 板载E53传感器标准接口,方便连接各种E53传感器;& r* c' E0 t' Q/ y, p: V# x6 ]
- 板载0.91'OLED显示屏幕;0 w. S$ o/ P+ {9 M$ p& R% W
- 板载8MB SPI Flash,可用于固件升级;
, n$ r2 s9 Q8 ]  q4 g- 板载CH340 转串口连接,可以使用一根USB线连接至电脑,查看串口日志;
" p+ v0 x% @+ t$ u* N
( j6 D- a7 y/ M" Y2. 开发板硬件电路详解
$ K; l' @2 I5 \# c& e: }, k$ s6 Q
4 q: i' L3 ]6 r3 P* y1 R6 m) l" f1 y2.1. 最小系统电路- H9 k* k% ^( y4 i
9 @* N- C+ A' Y; ]( j& d
6 M7 H) N9 R  E* X
最小系统部分由电源电路、时钟电路、Boot电路、复位电路、下载电路组成:
  B) ^* i. _$ m% s; p7 D 4.png 6 E; A; S0 g/ ]3 |! V# \
2.2. WIFI电路
: I8 _, i# ?8 }! y2 J4 z4 O! M7 B: l' ?7 U
, B9 d3 E( A" y6 O0 u5 `
WIFI部分包括ESP8266 WIFI模组供电电路、串口通信电路:
# a5 V, z2 F; R( w0 i# y2 s) J 5.png
  f8 U, z, b8 F+ c' z9 Z( n7 O* ~
  G# O: G0 C% t1 E/ ~
1 @$ C! p* y8 M: Q% g8 n  x, Q- s
2.3. E53扩展接口电路
5 t  a! f% d. V; s3 g
$ q, N4 o5 C; M8 ^$ @9 a/ O
) B" D- D, M( N( L! O
E53扩展接口是由物联网俱乐部定义的标准接口,供外部传感器连接,包括:一个串口、一个SPI接口、一个IIC接口、四个普通GPIO口、一个ADC模拟采集接口,一个DAC模拟输出接口,如图:# Q: f3 f4 `+ p  j! w. D
6.png
1 M( [/ x9 c* t- ~6 p+ u& G, q
; m' h" ^' F/ i/ B6 ?2.4. USB转串口电路# f& C, i, I, c1 O7 W$ ]1 j. J

) K# c% X3 B, ~% \4 v5 Z* U- U* L
: T9 k' c+ u5 m7 g3 U3 Z, C
USB转串口电路将串口信息转换为USB口信号,使得开发板可以直接通过USB线连接至PC,在PC上使用串口助手查看日志:: X/ f9 z' A- F1 Q; I! [  L3 ?& |
7.png & ^+ Y; V* r) v4 D
2.5. OLED显示屏幕电路
; g# ~/ o" N3 G/ v
7 ]- b7 `0 N+ t+ @+ W

1 _) ^6 d  J. v* F6 C6 Q' jOLED屏幕部分包括OLED供电部分和通信部分:
% g- u; C6 d0 s" g 8.png
& x7 R7 ]) x4 |- E: I& U7 P0 u2 _0 N( V8 J1 A' m
2.6. 连接Micor USB线
1 d5 Q3 L+ N* W( |. z0 e( e 9.png
) i6 Q  P5 p' h
& D( m; \2 z, u2.7. 连接ST-Link下载器
$ q+ w+ a0 m' C8 d2 P3 d* I! P$ O" ^
$ A: ^$ S1 T. e

; c$ [0 ?$ t# ]7 W" V+ J开发板3v3---> STlink  3.3V8 ^  U3 F) S. @+ ~. k* U4 U! y
开发板DIO---> STlink  SWDIO" C/ u2 s2 U1 O1 ^
开发板CLK---> STlink  SWCLK1 H) ~! m. m! q, N
开发板GND---> STlink  GND
1 N# j: x' ^$ M8 R3 E' W) D
' B/ X5 X3 Y* m% N' I

( H: o) }4 h) V5 y; ]* q请大家参考下图进行连接,千万不要接反接错,以免烧掉MCU- w0 U: E( V. b, @) ]( v, n

1 N- N/ E& x) D* t  E# G* z& A

' c" W% F1 y# h% {% }9 B% ?  ]2 j' x 10.png " ~9 c/ u+ Q$ {
3 N. r9 k* Z4 E; c6 j- ^( I) w

* l- }1 d6 s9 Y# L6 C- p

! Y3 G& E8 b+ b  H  a3. 开发板软件环境准备
2 ~1 {( b! S/ x7 A' z+ {  d) t* K3 `  W. p9 o
3.1 MDK软件介绍
4 X4 e! z* q; v& h/ ~& _
0 a$ ?* W1 I' f* [. x7 ^/ u! HMDK 即RealView MDK 或MDK-ARM(Microcontroller Development kit),是 ARM 公司收购Keil公司以后,基于uVision界面推出的针对ARM7、ARM9、Cortex-M0、Cortex-M1、Cortex-M2、Cortex-M3、Cortex-R4等ARM处理器的嵌入式软件开发工具。MDK-ARM 集成了业内最领先的技术,包括 uVision4 集成开发环境与 RealView 编译器RVCT。支持 ARM7、ARM9 和最新的Cortex-M3/M1/M0 核处理器,自动配置启动代码,集成 Flash 烧写模块,强大的 Simulation 设备模拟,性能分析等功能,与 ARM 之前的工具包 ADS 等相比,RealView 编译器的最新版本可将性能改善超过 20%。
3 W- `! C8 Y+ T/ G9 Q) Z; s- ~8 S( b6 |1 u7 Q
Keil公司开发的ARM开发工具MDK,是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。( j' ^7 u2 s: Z" e6 z4 c
+ x. K" ]4 G$ x# d
3.2 MDK安装- ]: x7 x$ U  L# S, `5 A

2 O* u7 G8 N+ a( I: @

7 ?& d7 f/ {# ~5 t, O0 l8 l/ k3 e! c: i0 y, s3 A1 h
登录MDK官网,下载MDK5软件,下载地址:% \1 c0 w9 y3 W- P

0 c/ I' X  K# l

% h5 Z- c* H) y6 w5 Ehttp://www2.keil.com/mdk5  
1 I  n. i) x! [) U: f4 |& p  R
& C' E; z8 P  {; Y* U

7 Y9 ?% o( N0 N6 e5 D6 @- L- |2 Z3 G或者 https://www.keil.com/download/product/
: I/ R# n3 T3 W3 |! ^/ i: v2 i1 y; w7 X& L1 o" m, X6 m+ k
下载的版本最好在5.24以上,本开发教程以5.24版本为例,双击MDK524应用程序文件,点击next>>。
0 z$ U( V' b& p' @& m% @ 11.png 9 V2 v6 U% Z4 t' `8 m
打上 I agree前面的勾勾,即是同意一些安装协议。点击next>>。; e7 Y9 ]0 l$ k) X2 S
12.png
* Z& u/ W& h) I) m! p选择安装路径,可以默认也可以安装在我们自己建立的文件夹下。点击next>>。
0 C* q2 E8 H- O4 Z1 A/ c 13.png 2 l  o8 s: ^3 u9 |

% h+ E& d: ]3 @% |0 f4 t- u4 ~这里填写的是我们的一些信息,填写完整后,继续next>>。
6 C  v- n9 M& R# K* c: x 14.png ! r, L, p. W& r6 I+ \
' [0 Z) h/ c! r3 ?6 F/ q
然后等待安装完成即可。, H& {: I8 l+ V$ F
15.png " l- r5 Q, i6 |( o
3 M$ [% p9 l( T. X
安装完成,点击Finish。
2 v+ G2 b: ]& e2 d4 q, {, k 16.png
* W6 {" F2 ~) W6 P5 N& y. u) K8 [8 u. H7 B) [/ c& C
然后会跳出来这个界面,这个我们后面再讲,先点OK,把弹框都叉掉。; _  b$ L8 V+ D! n! d( b, o# s5 V
17.png 7 y" G: ?: m/ q3 X

: m  \4 J: E' R5 P+ m- ?激活MDK,导入License,激活MDK后便可使用了。
: I$ S2 a9 e# r/ `: m2 a 18.png
+ c, g* Q' c/ V
1 Y; E4 g9 v& p6 i  v
; z% [2 S/ K) P. P" h
特别提示:一定要输入License激活MDK软件,建议购买正版License。
, J. Y1 s" x! X1 ~* x& z% |& c
; Q. [7 q1 |' o, H$ m7 m+ F3.3 PACK安装5 Y7 e+ M( r- q# o" e
& Q$ U/ K# [9 i0 |" K, ~
3 v5 p+ g; c% C: V
安装完MDK后,我们需要安装开发套件中单片机型号对应的Pack。2 o9 [; J) ~' e; f- n/ ^

# x: S0 A3 a; r6 m) L: ?
: D0 z2 o1 v0 @9 e% O; o& O) V
安装方式一  
# d; ?) m, R5 b8 {! H7 o/ h' u3 O) h2 e
; F+ L: l5 |& j* a
. c, \5 R9 E6 r' W+ {
登录官网:http://www.keil.com/dd2/pack/
0 I& r! I5 \: e& Y/ t; y( g" C: h( M! x
/ f$ |* V" `5 m5 I3 ^
下载Keil.STM32G0xx_DFP.x.x.x.pack 后安装。+ q& S5 X9 Q- {% h
6 T8 R3 t" L$ j3 D4 O" c/ T
安装方式二  MDK软件上在线安装
5 q6 {1 T) z6 E* `  ]1 X7 F- m( ?7 c% I9 G8 J
打开软件,在导航栏打开Pack安装界面,然后选择ok选项。
* I& i; i' X7 V: Z 19.png ' U8 m" n  i" l* b2 p, M
20.png
6 q  X0 n2 E1 n1 K9 L8 S9 ^) \- P4 U% Y" f1 a
进入在线安装界面,选着STM32G0XX Pack,点击Install进行安装。
9 m% y) ~* q, r; X$ I2 E9 m, i4 ~ 21.png
3 t3 H. u+ c( h至此,我们开发板的单片机程序开发环境已经搭建完毕,重启MDK软件就可以使用了。1 W3 _2 `  v0 x$ u3 c; W
' U0 Y4 r  D( a0 j/ D
3.4 ST-Link驱动安装
& y' o' k& b# `# {( C) x4 ^  q( \5 J2 A4 _/ m

5 {3 u+ K' b) w" M1 E; Z9 [前面讲了开发板单片机程序的开发环境的搭建,但是为了将程序烧录到开发板中我们还需要使用仿真器。我们这套开发板选用ST公司的ST-Link V2仿真器进行开发板程序的烧写和仿真,下面介绍ST-Link驱动的安装及环境搭建。
. g+ A3 D- x/ R- r+ W5 I
! o* m% X' D6 y8 o- L. L' s5 N, Z
; k. e; M% Q% F
在ST官网下载ST-Link驱动,
* r, E- x! N" |, [4 I
* V$ v2 N, c5 B% D5 j

! e6 M' y& K7 Chttps://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html' @8 B7 G, N/ T) A5 J& w
; s! x" D0 k# }# \; L+ R6 ?4 x
(驱动有2种:32位电脑系统安装“dpinst_x86”、64位电脑系统安装“dpinst_amd64”)。 ' o! k- q+ l) g1 k
( j  d4 f( K7 o( p
运行对应的驱动,安装ST-Link V2驱动程序。安装路径尽量保持默认路径。5 W% k' Q4 R' x' j: v7 I( l7 |! |1 o
22.png
安装完成后, 将ST-Link通过USB接口连入电脑。打开“设备管理器”。若看到如下图所示,表示驱动安装成功。
7 T: k5 y# c& ]& T 23.png 9 c# W+ n3 G* Q) T
这里提醒 2 点:
% E4 }+ C( f6 Q. h/ l' t( \
5 A* g8 |. k9 D! n' P% [0 T2 h
  w' u" l9 s6 Y; F( u2 ^
1, 各种 windows 版本设备名称和所在设备管理器栏目可能不一样,例如 WIN10 插上STLINK 后显示的是 STM32 STLINK。
% O; J  {0 \" s$ X
) x  ?' G. |3 G
3 B: R! K5 L  g$ |0 Z
2, 如果设备名称旁边显示的是黄色的叹号,请直接点击设备名称,然后在弹出的界面点击更新设备驱动
+ `  ^* ?0 w' @  X1 C; [4 l; `3 |4 c! D
7 Q5 k2 Y/ A9 {# P
至此, ST-Link 驱动已经安装完成。接下来大家只需要在 MDK工程里面配置一下 ST-Link即可。, r' I( h$ a8 _8 w
0 [( V) _8 x; G# N: j/ r

/ g9 ]& p) \- q0 @9 u( r& @
  ?* R! p6 f9 D4 F; O" k: a3 G' h

" [+ Q) Y7 D# |3 y& c- L. Z$ S8 e2 M8 l" l
. I, t- ?" O# F) s
3.5  CH340串口驱动安装; [/ q$ _8 c+ b
# H3 P! D* x" r$ B: P

2 z. u  ^5 t* o' j$ `2 T: M) j* @0 F& n5 ^" o. f! }

4 f6 x+ I1 Y  B* l$ O, y! E; ^$ A0 j/ `+ Y" a" x$ Z* ^2 r, i& O/ u

" y2 i7 S( e- \* \7 g2 A$ _% U互联网搜索下载CH340 串口芯片的驱动! ^. d4 ~# b3 ?3 B+ q
! `5 U1 C8 D) v  J! e+ G) Q: d# d
0 n( c. [: p! K& i
安装方法:打开驱动安装程序点击安装即可。
$ u8 S# e# v; I2 D2 h: a 24.png , a( p! F" j1 G+ ^- ^3 k

$ C. b+ Z8 c7 Q3 r% [: B. E
# d0 B" M9 P2 A4 @- o
注:若安装失败,请先点击卸载,后点击安装。
0 _6 [' ~0 J8 A; Q9 x: \8 }8 _6 e9 `8 b4 ?" M
3.6 串口调试助手的安装与使用# H6 C$ k. R5 @. o6 r" S8 L

0 c# [) i9 o) @/ D
5 l8 C5 ]& o" O4 z- G" {8 G

7 H5 w# M5 p7 d% S工具下载:( z# ^2 j  w: E/ s7 g, o9 \" V
' Z+ Q9 f& H# y: O
$ H0 p' y! U# O
http://www.daxia.com/download/sscom.rar8 D. k- u6 w- k. z5 d

& K6 H2 U) J" \* d安装方法:串口调试助手sscom5.13.1是免安装的,解压出压缩包即可直接使用。* W0 f- L7 V8 G/ o( o8 T( J8 N
25.png + k  Q+ o4 h4 m
根据PC和终端之间的连接,选择正确的串行端口。
1 Z, L+ S6 e! p) y2 ]
) L( }/ I! Y, t+ G9 r5 _

. J8 ?0 c  Y" E3 Y8 `打开电脑的设备管理器,在端口列表可以看到PC与开发板连接的端口号。
* m. h/ N; q: _4 v% O  x 26.png
* @, G+ q, C; ]2 x8 `/ a我这里显示的是COM26,所以要在sscom工具中选择COM26,开发板程序波特率设置为115200,所以我在sscom串口工具中选择115200波特率。
! i* v5 I" G/ b' a" g9 [$ w
0 Y( B! P  v4 f9 j9 M* a4 ]
三、烧写腾讯云IoT定制固件

# g5 ?, L$ @" U) N+ K: j- }8 m" v

# A! G: a# V5 I6 X/ W8 C; s1. 下载固件- |8 q6 U8 V# a/ p) F! l0 u; r7 c
5 E0 I% M: D2 e: O3 m

  {. B) _( T$ {+ z* L0 K7 n腾讯云IoT AT指令是一套针对使用通讯模组(2G/4G/NB/WIFI)接入腾讯云物联平台的定制AT指令集,如果通讯模组实现了该指令集,则设备接入和通讯更为简单,所需代码量更少。ESP8266作为IoT领域使用最广泛的一款WiFi芯片/模组,腾讯云在其通用AT指令基础上,增加了腾讯云IoT AT指令集,形成一个定制的模组固件QCloud_IoT_AT_ESP8266。
0 }+ }5 ^- Z- ^$ i8 @( Y! R# `
' j9 \" T$ Y2 Y; _4 \/ I+ q( C% V
3 `! z  Z$ A* F8 E

3 h6 g/ r; q) ^* _下载链接:https://github.com/tencentyun/qcloud-iot-esp-wifi
% F. k& o5 N) z7 G/ D$ A+ ]' _& y7 k! w( ]3 j7 v+ I" W
; t2 z7 d! [) _# [% \  ^% M7 ]0 q6 `
使用git下载的命令如下:
, y2 W0 {( t0 B5 ?2 ~: G2 r) V9 r2 k9 B) [
) z# ~) s0 x. w' m5 a
git clone https://github.com/tencentyun/qcloud-iot-esp-wifi.git2 ~/ c8 f- n) h1 c1 I; o
  X, n' P0 v$ Y' U7 g: w$ @8 r
$ L" y: f" X/ K' Z  J
下载之后即可在图中圈出的文件夹中看到定制固件:, O: g4 [) r) Y; _4 I
27.png , J1 Q( H7 S3 w9 T$ }2 m
2. 下载烧写工具7 U/ p4 ?8 M% D
2 z8 a) `+ r3 R0 o/ w
7 a7 m; B! U" g" `
使用乐鑫官方下载工具ESPFlashDownloadTool,下载链接如下:
: `& V5 a& A3 l
! z8 Z5 c2 B4 q( y

. H( u% n7 c9 l4 ?0 ohttps://www.espressif.com/zh-hans/support/download/other-tools
! K, B. O8 R" d* [. L! K
, }  `" G2 g$ G! X7 J9 r" v/ y& a! g# I5 W# T5 t4 v" L: _
7 z' ?+ n3 t2 Z$ M0 |5 b/ Q
点击下载Flash 下载工具(ESP8266 & ESP32 & ESP32-S2):9 p' B: `. T0 j9 b$ |
28.png ) {/ |% f  L0 i* P
下载之后解压即可。
1 Z4 L: [# j* j/ n
8 H3 W7 W7 P4 Q3. 固件说明' g) d$ b) }% a

" i7 x2 u: H$ |% L2 S' Z0 U
' e1 L, }( y: A8 a  \
腾讯云IoT定制的AT模组固件适用于所有FLASH大小为2MB或者2MB以上的ESP8266模组。  B* M7 H/ d* p( w/ M& y
0 P, B% u3 D. l: y: Z8 L! _
7 i! J) G/ N' ]+ `) L1 H
AT串口使用UART0,默认的Tx为GPIO1,Rx为GPIO3。但因为ESP8266的UART0 默认会在上电启动期间输出一些打印,如果打印信息影响设备功能,可在上电期间将 U0TXD(GPIO1)、U0RXD(GPIO3) 分别与 U0RTS (GPIO15),U0CTS(GPIO13)进行交换,以屏蔽打印。因此提供两个版本的固件:
+ e5 M' [) x5 `9 W6 X7 B8 ?" d& ~* a% k; O5 e
# M# [* F: A5 O4 R. y+ e3 y# [8 w
- 名称包含UART_1_3的固件串口使用的Tx为GPIO1,Rx为GPIO3。
$ C5 |% r( G; j, _9 w, Q
  P2 M& @! q* y8 l% ~
) r4 h7 J8 L5 U
- 名称包含UART_15_13的固件串口使用的Tx为GPIO15,Rx为GPIO13。4 R: {/ {7 r1 Z& D( f& J9 \, v8 q7 \
2 M  S" ^! G6 v. d9 B- W5 r& V
; P0 u. r: y7 i( Q, s
; w3 X. o# u2 o2 S8 z, J
进入QCloud_IoT_AT_ESP8266_FW,本文中我们使用第一个固件:
7 C( y8 J; e& g1 q4 V5 _! Y( Z* g 29.png
- n& P5 I' j7 s7 P; k+ q; i& B4. 烧写固件
+ U5 Q! q5 Z' T) M6 f5 |7 t. g7 A" d0 N
0 p* y, H2 ~# n, H
4.1. 切换boot选择端子和串口选择端子
9 w; L; |4 l, [8 t$ u; |+ Y
5 M4 o1 l3 {, m! e4 H6 O

% ~1 @. w) F. H% z" a+ T; |① 将开发板上的ESP8266启动引脚配置端子切换到低电平;
& O( {. X- W; r" x/ ?0 D9 |% d* _7 `3 @6 f' b" C6 }

, W5 m, a. _" `② 将开发板上的串口选择端子置于中间,使ESP8266直接与PC串口连接:% X" a! E* u4 O; o9 }
9 J: f/ ~/ ?$ G$ g+ w# m$ z1 G

0 b4 g8 ^! ^% C- ^方法参考下图:! E6 L' z* E6 A" P, m5 `! X' N
30.png 5 X; Q* e) S) q6 @& ?6 d% H
1 O; j, w0 h+ g7 z

4 P/ A, @8 y$ `3 E: ^* I, I/ @. T+ H& G1 ^7 M: `

- f! w& {; j. A$ |2 b4.2. 运行Flash烧写工具
8 ~3 `' P5 W- A! Y4 n+ X5 f; @; S9 D0 P: @- N. \0 P
) c  _4 \2 L. m- W- R; _- x; e) C9 j
双击工具,运行:
  G. r" ?/ ]: v4 E+ U 31.png / `2 y: B& N' ]+ M: k5 R
3 ~6 R% ~( p5 b4 ?9 ^4 S5 B

1 _( u9 ?( o: i; m# L6 @( ~& w6 y4 P: L, [4 v
) Y! r1 h# Y/ m! f
选择开发者模式:; B8 |0 N* M8 L. s) f) w* n; T

0 ?) u( _9 u4 C' x7 j, H* X7 f

5 v" @; Q$ l6 O+ e 32.png
9 Y6 x2 ]4 Q; Q1 o2 C$ H( c9 O

9 }# [% G  }: `4 e2 C& q5 S& s. X, w; T4 Z
4.3. 开始下载
+ u' I& {" j$ X* w8 d# t7 q& e& e; k$ m
+ G! @- L3 d: W9 H$ Y: `
按照图中进行操作:
) [, Q8 U. g/ U2 { 33.png " C4 o) f. d+ x, T4 W1 K) J0 G

# b+ Y7 `, [" D. w  I: |. |

/ o9 a! P1 a/ r& s8 L& r& _
, t, ]7 \& I1 V. i/ `* S" a) X

4 l4 E) z6 S* c: o7 H, j4 F点击下载之后,按下开发板上的复位键,Flash下载工具开始下载:
9 F: u* N9 t8 ~: M( p( ?
/ a: n& O! `2 u4 z1 W7 I

+ D, _* a; ^( [# e+ x 34.png 9 S  y/ w0 p1 ~* a- x& f6 n
0 O8 ^" N8 ~: Q4 N' s) L, _

* A" w. @5 M9 O若没有显示,请检查接线端子是否连接正确。
/ D. I3 U8 d* n$ f: B2 O8 n) A# B% ?3 }2 c) L: r; }: d  o: ?; r
) O! L9 U, i$ `( s6 F% F1 B
4.4. 下载完成- v/ \+ [; @' [' M. l8 [; N0 r

9 B; }% ]8 z0 F# \* X% b
6 B2 B3 E5 A# u
下载完成之后如图:
8 a  @* ~" {* r 35.png 8 I% @, r- c! @. a6 `& {7 n, I

$ `9 j+ d; y4 }  |7 \
. z( @; V4 E. C0 N
+ Q. X5 ^! N2 c0 K  m, n
5 c2 A6 B9 p6 P5 S- R
关闭工具,将boot选择引脚拔下,将串口选择端子恢复默认。; ~" A1 C0 A8 H4 B4 k' h. p

6 C2 J  L/ w4 r
3 g1 ]' ~( W4 G$ a
注意:完成固件下载后,一定切记将跳线端子恢复到默认状态,默认端子怎么短接可以参考前面完整的组装成品图,否则wifi将没法工作,MCU也没法控制wifi。
$ C: t' W' V( u) P1 l7 f( p& y/ k" t; h' F3 C6 D

1 a4 e* N) ?' t* Q% o' X
四、基于TencentOS Tiny接入腾讯云IoT Explorer
, _  V, I0 g- x+ D

( i: r% ^9 m( q' z
2 b; a8 w' N  m; R# C/ |& H
  [7 l! A+ G& ]5 L% Q3 D& h  d. h
基于TencentOS Tiny EVB G0要完成腾讯云IoT Explorer对接,需要完成两个部分的工作。; e& Q- x. r* M9 r& P
8 S/ @) X3 O9 j! [' i) ?$ a
4 K9 u/ y( K$ g$ x0 C
一是:腾讯云IoT explorer 上完成项目、产品、设备创建、参数配置- e- Z# n1 @& X$ [: y

3 |& O" l- i1 ?% V* I$ e. _

3 a$ Y, V5 {) V3 g4 [. n# g9 w二是:基于TencentOS Tiny完成应用开发,向腾讯云上报业务数据。# |' |4 i8 }) e" b

9 F5 \( ?- c) }7 a$ Y, j2 [
8 \3 `9 e* v& j, Y; `

* S" W$ m. a$ b# o+ v: r1. 云端操作步骤, z+ g; R6 |) e4 y
1 w7 b) n3 {; z9 u9 J0 f
1.1. 新建项目
/ k" v  c, V$ I" T8 o! {. B$ ?% }' t) L$ g- w, H5 {

, L2 R/ \" ?" U4 i* h登录腾讯云物联网开发平台* @+ _  J5 Q1 v* ^5 ^2 I
1 a% G; |' G" z

+ I2 Y2 a9 _+ N8 R' t% A4 J" U/ dhttps://cloud.tencent.com/product/iotexplorer; D' u! ~+ Q9 M3 c! @

( |) i9 A5 }1 X# ?! o3 s

& f6 E3 B3 B) S$ E- ^$ D& Z9 E4 y! w点击新建项目,填写项目名称和简介:
6 _8 P! s. T' K" x- E& e' `# k, G 36.png 6 }/ N9 Y+ J7 I+ i# ~  }
2 n' H0 E7 ]( x1 }
1.2. 新建产品
: z, ^) L0 S+ p( ?  z# y4 g
" {' b; T) t- S2 q/ Y

' p: r8 Q# P7 L# ?$ E5 N& h4 ?0 x点击项目名称进入到该项目中,点击新建产品:
) J1 _7 N: ^0 r+ _5 n+ r 37.png
* e/ o2 t; h; B+ Z+ Z8 ?产品新建成功后,可在产品列表页查看到:) U6 m1 J' u( s& |& Y
38.png ) f7 l& s0 `" y9 z- P  ~

: i& @/ f: U' O! b! ^

2 x4 y* i1 }7 U: o1.3. 数据模板
& W( L+ b2 H9 `. r7 C$ a, ~5 }- E0 Y/ M6 V
* G% s5 z/ r$ M1 K& @8 H
进入产品,点击【数据模板】,点击【导入JSON】,导入下面的JSON代码:
8 u1 p5 I! g. w; M; F3 h  B5 @' q

  1. 0 w6 d- R) T$ Z
  2. {
    ' x) X% l) H( H" {- S9 k
  3.   "version": "1.0",
    % I) A7 O' y$ c* p, a
  4.   "profile": {
    4 p: R0 @! A$ e/ G8 }
  5.     "ProductId": "BDDSF87WEA",
    / F8 K6 ^# u# c& g# @
  6.     "CategoryId": "1"% D- S  j& x) X& H% m
  7.   },
    3 b8 S# U8 z8 U  R( e+ o2 q
  8.   "properties": [
    ! o$ s' S! |9 t
  9.     {
    5 h2 `; d, c' K
  10.       "id": "ch20_ppm_value",/ L+ X0 x* z. w2 X7 x9 H( \
  11.       "name": "甲醛浓度值",
    # P& ?7 S7 O9 u* ?& L/ d
  12.       "desc": "",! ?2 h/ g- _# o# j% Q' L
  13.       "mode": "r",
    ' u  ^( f6 h' V, c' }- h2 T
  14.       "define": {
    $ R) N! g* C9 F" L+ G& E/ ~7 Z
  15.         "type": "float",
    & {0 \& A1 F3 T1 {( x3 N) s& k
  16.         "min": "0",
    " z9 @9 [% s" N) n' s
  17.         "max": "2",/ N, h  s1 A! X
  18.         "start": "0",* [5 m0 z4 T9 u* P2 Q( u
  19.         "step": "0.001",
    4 f/ I5 ?) Y" U$ E0 y+ T. N
  20.         "unit": "ppm(mg/m3)"
    3 V' u" u7 b. K9 C: O8 h
  21.       },: K/ o! h/ Z+ g& k3 W
  22.       "required": false/ T0 T+ r. c4 }* P
  23.     }
    , K% K2 T/ ]3 I* r1 k: }% M' b
  24.   ],
    + Q  X9 g1 W. i) j, e1 h
  25.   "events": [],
    " u0 i4 J' A' X6 C
  26.   "actions": []" H) O: r  l3 U" R4 L& @
  27. }
复制代码
导入之后自动根据json文件创建的属性如下:
& l0 V+ m" I3 L( l$ l" z+ b8 z 39.png   x4 O! {* m- R0 I

% _; Q3 n, P* _( }* d5 Y

0 E2 a) p- G- E0 Z" }1 X1.4. 创建设备
3 a( t% X( q! Q; N
' ]  S3 F% G4 t3 L5 R. H6 u
+ U, b6 R: d* K) s! p( m3 w  ~
点击【设备调试】,进入后点击【新建设备】,创建真实设备:0 T* F) [0 ]$ w
40.png 0 @( M9 L- [" k8 B- A% H

5 O3 G( A: w* r
' b( C4 Q, U8 `2 z# H9 b: ^' @/ I
创建成功之后进入设备,查看到产品ID、设备名称、设备秘钥:
  q, v/ b; Z! ~2 ^9 i# r 41.png
1 ]1 Q3 D4 L/ `  e' R* m& H) d+ i' m/ B7 [8 P( c
9 s0 S/ E1 V0 i, K6 i
2. 基于TencentOS Tiny 完成设备侧应用开发
) R/ e' M4 E4 U# E+ f
* k; k! T4 u3 k) ?5 O9 n$ I

* i- N0 P' S2 c2 D进入 7 t8 X4 |3 [; `" u7 s* I

5 B0 o; `  c, Z' U4 ?1 J/ q

" H" K8 A. D) T( p) g: O<TencentOS-tiny\board\TencentOS_tiny_EVB_G0\KEIL\mqtt_iot_explorer_tc_ch20_oled> 目录,打开TencentOS_tiny.uvprojx工程。
, `/ H- J: ]9 Q# S  t
: p  U* w' ?- O 2.1. 修改WIFI接入信息$ t7 b. Q# m9 t9 b4 }6 s* O) g! ]) E

: i& p9 S/ P9 m, b6 {% K

- q6 P% P3 I( o3 I% t- k打开mqtt_iot_explorer_tc_ch20_oled.c文件编辑,修改要接入WIFI的名称和密码(建议使用手机热点,不要有特殊字符):4 e* \8 ?  e$ K5 B
42.png
# q: t# U+ o( x; i$ {" [# z0 |* S1 z* [- i% w9 \- _2 [

0 t& }3 s) D2 ^3 }$ K5 W2.2. 修改云端对接信息8 [# E% p2 u" N4 E# y# @1 K0 B6 S
- L5 [4 P( y1 s8 B0 ?

: l, w3 J- w3 y1 B6 z( O$ [% U7 b同样在此文件宏,修改云端配置信息,使用之前在云端查看的信息替换:9 g- }, u- M2 W* Z% h
43.png 8 |' w  g: f/ O5 a
2.3. 编译工程2 v% z+ b# v/ J- F$ s% e5 b

3 r  `3 o, \* C

( i: J/ ^3 N: g3 D* I点击编译按钮,编译整个工程:" @3 F0 f% p, i  {7 p
44.png 0 d7 M" H. T$ D, x( q
2.4. 下载程序
" N. s% t! B# D6 s$ p
' Y, P3 a- E5 X' {) ~# z; d. a' d
) F* j$ |- `" I' }: I* l7 A8 U; }
点击进入工程配置界面按纽,进入工程配置界面:  M! ^3 e* ~6 c
45.png
9 x! G- o1 c- i  I# v# Y选择Debug选项,进入仿真器设置界面。
5 @) |% A' T$ w( J$ c: p% ?; t 46.png $ v, {7 v- Z6 j
下拉仿真器选择列表,选着ST-Link Debugger并勾选右侧Use,点击Settings进入ST-Link V2仿真器配置界面。
7 i% K. w/ x6 V$ _: Z 47.png
: ], r7 ~) f9 N0 U) p7 t1 _开发板设计的程序烧录方式为SW,此处Unit选择ST-Link/V2,且Port选择SW,并确认右侧框内是否检测出SW设备,点击<确认>保存配置。! ]8 h% B: _3 D. Y
48.png
$ p9 Y% T0 {0 j; r9 ^# U+ J4 I点击确定之后,回到主界面,点击下载按钮:
) Z/ }0 v" e1 ^: C. `; Z5 v7 e 49.png ( d; V# c! e4 y4 A% N( Y7 q2 K
2.5. 使用串口助手查看日志
5 \& |% u! z8 D' c  I+ R2 [2 b
7 S+ f* o: J" K
; W! Q6 I7 z# w1 X0 M
运行sscom软件,打开电脑上开发板对应的串口,比如我选择COM26,点击【打开串口】:
' l0 o0 Q7 f8 x 50.png 1 q) I" ^0 [8 g6 `
按下开发板上的复位键,程序开始运行,即可在串口助手中看到系统运行打印的日志:- I3 R+ m' o6 l8 V9 h/ ^! u# ^8 A
51.png
- l- r  G) O$ r2 |( R2 D- A: r3. 云端平台查看设备数据, @6 }' ~4 o* X! g$ ~
3 x, ~, o0 A$ T3 o% t
8 m. k3 B' d1 D  S
回到腾讯云物联网开发平台,可以看到设备状态变为【在线】:, [3 F! }4 w( `# Y# m# x
52.png
  Y; O- r6 ~: z  S- ]9 r! l% Q点击【设备日志】一栏,可以看到设备上报的甲醛浓度值:
+ T0 i' i& m& D. I' T) I# Q 53.png 8 ]* A2 Y. d, y; }8 ^: y6 v
点击【设备属性】一栏,点击【甲醛浓度值】后的【查看】,即可看到甲醛浓度值的历史数据曲线图:) `  i. A( U: o9 b
54.png , a( }: k4 i+ M

! @: }. v6 C6 Y% I" Y
% v) @" D/ V' R- B5 d2 v1 I2 m
五、腾讯连连小程序操作步骤
; r0 Y/ f3 j) K
1. 添加家庭  ~. s" j6 D2 D1 b
4 N' K; w9 f" X8 [
* o4 g9 I) }2 w* B0 M4 C. T; s
手机端在【微信】搜索【腾讯连连】小程序,首次使用需要进入后点击【我的】->【家庭管理】,添加一个你喜欢的名称即可。
: ]0 U+ E# c! Q( h& Y. F. @/ x4 L3 k7 }9 Z1 J
2. 添加调试设备6 j. P2 }9 Y$ o) K8 p
# o2 x, V2 _+ d6 X/ U
" z" H. A" h# a& Z& s5 y3 @, t
返回【首页】,点击右上角“加号”图标:6 }3 H- v# D1 Q: V! L+ f4 X8 }
55.png
( d: S) W0 @; o9 Y" `) x9 P4 _( L& l2 H& K1 x5 ^
) N* ^- }# d/ }0 w$ d
进入后点击右上角扫码图标:
& R( J* V( T* c3 K 56.png
% T& Y7 [  T0 `, [9 Z/ ~6 T3 m" s! t6 s, u
; C2 o& E* j. o' b$ u( y
在腾讯云物联网开发平台进入【设备调试】,点击对应设备后的【二维码】:
# O+ S  N  E, j% L6 d# F. K3 u 57.png
5 N% I. ]. d: e& {9 ~腾讯连连扫描此二维码即可成功添加设备,添加成功之后如图:6 e. {9 l3 G& C; F& i) u# s8 v1 y! k
58.png : t1 U) G7 L" [$ M; d6 n
点击此设备即可实时查看数据,并下发控制指令:; ?1 f# o/ _0 n, D7 B$ u) o3 r
59.png
( F% i/ j, g  J% t( W- y3. 修改腾讯连连显示面板; G( q! T: M* k' d
( h+ {; E3 ?( _4 c; j
, x6 i/ C" a; l4 o, X* _- e( Q
进入【交互开发】,点击【面板配置】一栏:2 H2 K) r9 f& Y4 g
60.png
, F0 r" ~1 x1 O3 D6 @
7 N7 Y$ H, ^8 c

$ X# Q( a# K4 b/ a8 d% C* Y' E' c在此页面中可以自己根据喜好配置小程序显示面板,如图:
. V$ X) Q% n: L  H2 X. ]
; D+ V" _% x# }; ^1 Z" M0 g. d( S3 H
& x) E( U$ }" R8 ]- [! J2 R
61.png 2 M% O: n/ n+ `2 A0 R3 z
保存之后,在腾讯连连小程序删除设备,重新扫描绑定设备即可生效。1 M2 M3 u9 e: v0 E  _( w6 Y
, z: X! N( V9 m; v; b" K4 N$ n$ x
" }4 w$ P# o. b" D
六、腾讯连连公众号设备告警操作步骤

0 |6 U1 E6 o8 V
$ K: X3 U* B! b7 _

: I, D" z$ K  K
# N$ U% W+ b4 R8 M. |' V
1. 创建数据流
. ?& O4 X. G: V) ?
7 z; \. p+ R7 ^# s$ q

: q- J5 x+ ?; z) p* p点击左侧【数据开发】一栏,点击【新建数据流】:
$ Y5 n! ^$ G) ]$ p! f 62.png
$ ]2 o% u2 e7 W! v% z+ ?: n' x1 m4 u. u
2. 设计数据流
" Y0 `1 }& J) |- I
# V2 }9 P9 K+ {
1 p* F# p4 U. O# c- ]$ I
添加并设置【设备数据】节点:; Q3 n# O" h6 H0 U9 j. B+ J
63.png
: K8 N9 y7 s, x5 b. U添加并设置【过滤节点】:6 S, g2 D! J( {# a% R
64.png 0 n  h$ |$ b+ q' ~/ n
添加并设置【推送节点】:% N# g# d5 P5 X
65.png 2 w6 _0 V/ e, s6 W- Y3 E
) V7 {' n# w3 ^. K5 b4 L# [
. W! k6 v- b: e: u$ M$ o
3. 启动数据流
* T" i/ E) G. {# n/ Z# }2 }) d+ s. A+ Y2 g' }, ^1 h. w

% l' j. E+ j2 _7 V设计完成后,点击【保存按钮】,再点击【启用】:# }" w3 z  m! ]" ^
66.png & }$ L! x2 k" t* B' o+ k6 N( F+ O
4. 关注腾讯连连公众号) w7 N! y, m& u

- O; B; B  v; ]7 g7 f* Y
6 v0 B& N4 G( g
在微信关注【腾讯连连】公众号:
9 \6 y9 s. G! G5 H5 ^+ {+ R5 U, N+ o) T& Z* q: Q
关注后,如果有任何告警消息,即可在公众号接收到。
5 w( U4 @, `$ x- A4 N9 U/ |2 {+ g" G  C
>如果仅仅为了测试告警功能,可以先将告警值设较小的值,比如设为0.070,测试完成之后再恢复国家规定标准0.80。
0 O+ A% \: v4 Z& s- E+ A( U& ?" M/ b  a$ }- l) i: q+ M9 d
# y/ {$ Q2 g1 m, f, Z

+ U$ C) ^) x6 S6 N至此,基于TencentOS Tiny的智能甲醛监测仪制作完成。% ~7 E; z- y- n, L$ q3 \2 @" J
6 ~3 M% K( t5 X+ k% O/ _4 G9 i  J
收藏 评论6 发布时间:2020-11-26 09:24

举报

6个回答
小小超 回答时间:2020-11-26 10:29:55
文章太长了,,安装软件的什么就省略了吧。
STM1024 回答时间:2020-11-26 13:41:31
这个板子是哪来的啊?
一代睡神的崛起 回答时间:2020-11-26 16:16:18
TecentOs是不是很牛逼啊,和日天比起来呢?
STMCU-管管 回答时间:2020-11-27 09:32:23
ts2000 发表于 2020-11-26 10:291 ?, M  r7 ^( `- N% g
文章太长了,,安装软件的什么就省略了吧。

( I. A% X. L3 Y4 M2 h' i1 X确实有点长
STMCU-管管 回答时间:2020-11-27 09:32:47
一代睡神的崛起 发表于 2020-11-26 16:160 v7 {4 `6 e" P+ ]; K. K1 m
TecentOs是不是很牛逼啊,和日天比起来呢?

7 t* p, O- s; W你不是搞过么
一代睡神的崛起 回答时间:2020-11-27 13:59:42
STMCU 发表于 2020-11-27 09:325 R, Y) x# F; ~  U0 a2 R* m  {
你不是搞过么

, T! J& t& K2 E: w, z% `$ }我感觉没赵日天牛逼

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版