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

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

[复制链接]
STMCU-管管 发布时间:2020-11-26 09:24
一、基于TencentOS Tiny的智能甲醛监测仪  e% g9 @! x: e6 ?% T% z
9 A1 B2 h% P8 Q: C  c& x
. V$ N( u2 v& y9 {

5 f. V3 a8 V& d0 o4 M+ Y" P
8 G! ^) r9 P7 ^8 n; Y$ B
甲醛是室内一项非常重要的指标,对眼、鼻、喉的黏膜有强烈的刺激作用,最普遍的症状就是眼睛受刺激和头痛,严重的可引起过敏性皮炎和哮喘。由于新房装修场景对甲醛监测的需求越来越多,拥有一台准确、性价比高、稳定的智能甲醛监测仪能给大家的健康生活带来一份便利,今天小编就来教大家如何基于STM32G0开发板+ESP8266 WiFi + TencentOS Tiny物联网操作系统,来自制一个智能甲醛监测仪。! B6 ^* c6 G8 _/ S. `
% P0 ]( Z2 m: U
本项目制作的甲醛监测仪可以实时的检测室内甲醛浓度,在OLED屏幕上显示具体数值,同时还可以将数据实时上报到腾讯云物联网开发平台IoT Explorer,用户可以在“腾讯连连”小程序实时查看数据,并通过公众号及时接收告警信息。  n) |& `4 y& y6 g" b0 H9 g3 |
9 x# E  ]. R  \" r5 |" c- I3 h
本项目所需要的物品清单有:' ?+ e" k( p) v, M

' r% Y; ~2 J/ V6 j+ ~# JTOS_EVB_G0开发板 x 1
5 g4 ^1 E, e% ~- U4 x5 z. A3 N英国 Dart 甲醛传感器 x 1
4 P. s6 L4 S7 O$ b! @1 J) ]E53甲醛传感器底板 x 1) C) o: ~0 g$ D5 @
1.png 0 L5 A4 s$ s, i4 k
成品组装图(安装各接插件时,请务必参考成品图,不要弄错方向,否则可能烧坏MCU)
$ A' l; p. q3 c; |# Q7 b& ? 2.png
# S+ F- r7 L+ w( j3 b好啦~接下来开始我们的制作!
9 S# E2 `8 j5 q9 N6 E
9 k3 U1 {/ s/ }3 N6 }+ Z4 \
; o& S; h! t+ E! j
) C2 f4 {  \+ w* E7 q
9 G4 m, `8 W. F( I3 y* Q
' H3 M* Z1 A8 S
3 z. ^0 ~  y7 w' _
二、TOS EVB G0开发板介绍

. A6 T* z- }% t9 j: W

+ }* M7 g7 C4 @, U
$ a8 o, g5 G; S* l' O 1. 开发板特性
) q* [8 C. \- ^1 ]4 k3 P
, A% k6 B9 N$ }! x; K

! t; Q0 S3 P% oTOS_EVB_G0 开发板是由腾讯TencentOS-tiny团队设计的一款物联网开发板,板载资源如下:7 L: o+ w1 B1 F: A& ^
3.png 8 y' D( _4 Y6 \8 l8 o
- 主控芯片采用STM32G070RB,Flash空间仅有128KB、RAM空间仅有20KB;3 c& }' {/ V5 u$ w' e: Q. X/ G; y
- 板载腾讯云定制固件版ESP8266 WIFI模组;% L4 M4 z* ^  W& \5 ]& K# A
- 板载E53传感器标准接口,方便连接各种E53传感器;$ r% _$ Z. l4 K3 _" c* {
- 板载0.91'OLED显示屏幕;0 }& M, b' k' m/ |
- 板载8MB SPI Flash,可用于固件升级;5 ]$ z, E# ~) S) c# s* G( y
- 板载CH340 转串口连接,可以使用一根USB线连接至电脑,查看串口日志;
, Q% H( W- G6 _* r' p' ^: s8 C; G* Q" c3 b; V  F, c- _1 q
2. 开发板硬件电路详解% d  z9 x& w, X( T# _0 Y; l/ K0 {

; a" Q+ o" J' r# u2.1. 最小系统电路8 o$ m( w: C0 i

7 m# c" B# S' `2 C
1 A0 @* t4 U6 h4 f6 j& y
最小系统部分由电源电路、时钟电路、Boot电路、复位电路、下载电路组成:
/ P: i1 v# n! _ 4.png
- V" C  v  f! Q2 v8 R$ l) w2.2. WIFI电路
- A5 I! J  \" s) _; z1 v% @0 l5 I& z0 @& C0 t9 [1 \

+ j( y4 P! t1 B" t) XWIFI部分包括ESP8266 WIFI模组供电电路、串口通信电路:4 I8 P, |$ C( z; y6 V
5.png 8 C+ O: d8 p; L8 B7 t2 a

& P8 e' j  [1 H6 e3 O7 f% Z/ J0 V
! \, x' ~7 \4 Y, z* f( E1 S
2.3. E53扩展接口电路1 \1 k4 e/ I/ q  z" N; z
. @3 Z, w: @( R. D
* x) J+ z* E+ U; t9 R3 h
E53扩展接口是由物联网俱乐部定义的标准接口,供外部传感器连接,包括:一个串口、一个SPI接口、一个IIC接口、四个普通GPIO口、一个ADC模拟采集接口,一个DAC模拟输出接口,如图:8 e' @% R% I& F: n/ W$ Q( S
6.png ! t! y3 C# F5 m* i( \
  g6 b' x( @  `5 J( s
2.4. USB转串口电路
$ T: t" Q  _, u; `( _5 }& [  O) `4 R. G: [& U
1 e' P' j9 D. V( d! K: g; Q1 Z
USB转串口电路将串口信息转换为USB口信号,使得开发板可以直接通过USB线连接至PC,在PC上使用串口助手查看日志:4 H1 P7 Z) \9 ?, ?0 D
7.png 1 J6 N" {9 `0 r- i+ K
2.5. OLED显示屏幕电路/ k# k- c/ R( U

; s7 g0 o1 x7 w

. ~8 n% j; f! q; F( mOLED屏幕部分包括OLED供电部分和通信部分:" J6 `/ Z7 r5 x3 s! x' w. G! ^' S
8.png % A* N0 |5 J3 c0 p3 Y: q
* x/ q: I: g9 T
2.6. 连接Micor USB线. \$ _& ^  b4 A) z7 z, d
9.png
6 k/ U1 B' M6 K) Q* ]6 G$ T4 w' c% C% s3 N# v
2.7. 连接ST-Link下载器
2 ]) R  G1 x0 T; D5 k9 b, f2 z
6 a. f. E6 E: f. I* C( Q! g0 ?7 A
1 n- i- w3 q1 _4 V  F1 h% D; X$ k8 a
开发板3v3---> STlink  3.3V
. J* L' ]+ i# X( Y开发板DIO---> STlink  SWDIO
( Q. s2 ~* {) N- F. h开发板CLK---> STlink  SWCLK
) `' E, H" V' l6 r6 Y) s开发板GND---> STlink  GND
$ s2 l: z$ C3 W- `/ p8 Q9 T6 I6 }# d% c6 J

* }: t# N; A( \8 o8 q) c请大家参考下图进行连接,千万不要接反接错,以免烧掉MCU
3 L; B9 @; r1 Y0 d
2 a8 ^7 |  e  @- d

5 P$ _8 c  i8 x8 R1 t, b 10.png
6 x1 C1 \8 ~5 b  F2 P; W
+ x' v% ?1 V3 M- W0 ~
) C4 o9 }; h1 t
( a8 B1 R! j0 W! F5 P) l0 B
3. 开发板软件环境准备6 C7 W3 }% C7 x
! p! K4 i5 K7 o1 \( N  M
3.1 MDK软件介绍4 z# [: Z# u  c

6 r8 m: ~( A6 iMDK 即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%。. {* R+ a+ O# v* `" X6 ?5 c4 |

, H5 F+ b: @0 a. \Keil公司开发的ARM开发工具MDK,是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。* _# W0 \6 m$ A5 W, N1 Y9 H! b
- u2 V5 X- b! X2 l& V9 G
3.2 MDK安装
2 T1 a# x$ p. Z& e4 [9 Q' {! Z
0 r; t& p# p1 k5 J7 i; d* H8 e) g
! D! P3 ^0 M6 j* ]8 Y
7 g! y5 E) r* y+ @  J1 M2 b9 a
登录MDK官网,下载MDK5软件,下载地址:) b2 H. H& P* ^; G1 E6 a4 E
  _4 K( _$ i( g( S3 L

9 A( D, @; @# e( H# e( c/ x3 Xhttp://www2.keil.com/mdk5  
* i7 y3 S; B" q& c) J6 t- R6 D+ _# j
+ ?1 d6 D) ~2 q& |( K- }
8 Y7 l& a  j" N
或者 https://www.keil.com/download/product/+ }  i. \8 Q3 k* w2 {" P# @
! [# r& ^9 Z. s5 Q
下载的版本最好在5.24以上,本开发教程以5.24版本为例,双击MDK524应用程序文件,点击next>>。4 L! E) Y5 k- |9 a7 }" K
11.png : Q. Z9 }2 y$ i
打上 I agree前面的勾勾,即是同意一些安装协议。点击next>>。
$ @! b! V7 |( M6 B2 ~# _0 k1 \; d! S, v 12.png   e  P1 t" }2 f, I# z9 y* l
选择安装路径,可以默认也可以安装在我们自己建立的文件夹下。点击next>>。' c8 S- F3 v. L& y% k" D
13.png
2 |% k% d4 c* Y& Q% M2 E  r3 g
; e1 Z2 `% ~4 V5 }; }$ h这里填写的是我们的一些信息,填写完整后,继续next>>。" K+ M% Z2 Y' M0 h/ l. p5 g7 q
14.png
4 l) @7 a/ E+ L# A! @0 b8 K1 v3 x* @3 O9 A
然后等待安装完成即可。
, P- q1 \; D8 ] 15.png " `7 p+ }8 P! C0 n4 @

( m) Q4 ?3 O5 Q6 K9 Z- w* U1 N安装完成,点击Finish。* @; @8 w2 [+ j7 M" F
16.png $ W% s2 M7 T9 p4 H) X; m

% S/ F2 }2 c1 H( q& Y6 e然后会跳出来这个界面,这个我们后面再讲,先点OK,把弹框都叉掉。
* V+ O+ H* Z) \1 {% Z! U 17.png
5 u2 J! \  g# }9 U+ t1 E6 \3 R# z$ N* I) [
激活MDK,导入License,激活MDK后便可使用了。6 Y. q- E6 c, J+ x# n9 w. P, t
18.png
: I$ k9 p: H% B; t$ X( V' b# z$ w$ Y( q- B$ x
5 p) z" x* w, H
特别提示:一定要输入License激活MDK软件,建议购买正版License。
  R" v) d) Q6 C% F# g& C* V, n' w- @6 D$ R  r: Y5 W( `7 u
3.3 PACK安装* D+ {. g3 a2 q$ Q: O; ~
, I( p/ N$ d) o$ `+ O
, p3 p2 w  B+ @' Y! @1 R
安装完MDK后,我们需要安装开发套件中单片机型号对应的Pack。
5 V" i; U+ J1 Q; R% ?1 g% x& k; V$ M. b. s% F" x

/ S/ q9 ?2 j; e+ L) Q0 G( V+ p安装方式一  
# L* Q" T- v8 x4 r4 P
; U) A8 q- |" j6 {: V
* s" Q- J. k6 O5 @
登录官网:http://www.keil.com/dd2/pack/ ) V3 P+ B/ ~6 p8 u& n
/ k% r% c6 R; }& ?. U, C
' F$ X! U# e/ ]' t
下载Keil.STM32G0xx_DFP.x.x.x.pack 后安装。
2 F( t  b1 p" J8 h- m6 u/ Q' D+ R% g8 \& ^* b9 f: h
安装方式二  MDK软件上在线安装" r( ~. b/ O2 ~& `9 [3 k2 x9 X

6 f/ H0 Z. ~% H打开软件,在导航栏打开Pack安装界面,然后选择ok选项。: T5 N& n" x- K! M0 E" `* u( W
19.png
7 [8 \1 `7 Z+ R7 {+ C 20.png
! ^$ j9 R) s3 [* T: O( H' H; K  L$ H3 P, j; F
进入在线安装界面,选着STM32G0XX Pack,点击Install进行安装。  i9 F) p! a1 l4 j, G
21.png 1 e2 D- x# \+ I1 P% J/ d+ y6 v
至此,我们开发板的单片机程序开发环境已经搭建完毕,重启MDK软件就可以使用了。
: m/ g$ C3 B1 _. _8 H! Z" Z6 s5 i7 ~% G9 H% x2 Y
3.4 ST-Link驱动安装
! R  E9 N; A1 L3 v6 G0 s/ k' p3 g
0 K, Y6 }, w5 t, m) S( T% N# K5 z& d
7 Y2 V, _9 p9 A9 z
前面讲了开发板单片机程序的开发环境的搭建,但是为了将程序烧录到开发板中我们还需要使用仿真器。我们这套开发板选用ST公司的ST-Link V2仿真器进行开发板程序的烧写和仿真,下面介绍ST-Link驱动的安装及环境搭建。  O" D, d1 O4 y' g, o. w7 x! {: N

7 s5 U7 {9 E% z; s
/ ?- M5 W. o8 P6 Q2 s) B
在ST官网下载ST-Link驱动,
6 E; P: g# ^: t5 M' y# H* p5 ~6 W0 y- c$ y

% B1 m+ D4 e9 Z1 }https://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html, C! B  X% A2 a' M7 ]& b: H
1 ^! H9 e- Y/ x6 u
(驱动有2种:32位电脑系统安装“dpinst_x86”、64位电脑系统安装“dpinst_amd64”)。
. a; t) e$ H1 x0 u9 X- ^- Z) _- L; G, a4 Q5 }, j! r5 M9 B3 v. W& s6 B
运行对应的驱动,安装ST-Link V2驱动程序。安装路径尽量保持默认路径。3 p+ J% b( S; ~$ @7 Y
22.png
安装完成后, 将ST-Link通过USB接口连入电脑。打开“设备管理器”。若看到如下图所示,表示驱动安装成功。2 h. f5 G+ C# }9 T0 E
23.png
. E9 ^' I- x4 r# s这里提醒 2 点:
8 [' i3 Y9 g- h/ \( M
. s4 V, B/ ^/ I+ D8 ^. k

8 s6 K& {" F) B" T1, 各种 windows 版本设备名称和所在设备管理器栏目可能不一样,例如 WIN10 插上STLINK 后显示的是 STM32 STLINK。
9 w# q6 D0 e. L
- k) D) `: N' C2 c& R

6 g9 i/ Z* `! f% y2, 如果设备名称旁边显示的是黄色的叹号,请直接点击设备名称,然后在弹出的界面点击更新设备驱动
' e/ Y6 B2 p# s. I
8 l; O) J, ]9 z2 c" N/ x. W
6 x& [6 `! X) Y" E; L- ]
至此, ST-Link 驱动已经安装完成。接下来大家只需要在 MDK工程里面配置一下 ST-Link即可。
5 L1 M2 N4 b$ w
+ T7 t# Z; e1 P
  u( H0 }: U. t0 P& x) K
$ N2 R: m/ l; y! \

8 S; ^3 ^# r, R$ k. V+ R8 D5 W8 J
7 S7 D& s3 u5 H

) z! }3 j( @9 `3 s  ^$ z3.5  CH340串口驱动安装
/ L8 {, U* l+ q. R+ _, Q' {5 z; V' C, [, \! g5 E

: \" q( K: ?: n, M! ~2 U9 v& a7 t0 J9 _0 `

% r2 h" h, i+ k4 [6 x+ u: L0 [& C1 ?" v$ j7 X

. P  _; H" S+ A# M& `3 G- X$ K互联网搜索下载CH340 串口芯片的驱动
( K  \+ [( ]- y& l5 C- w7 i0 m$ j# [' k6 l
. U" J/ _5 l9 D: t
安装方法:打开驱动安装程序点击安装即可。$ k# p. A7 o+ [9 |! H8 q. r
24.png - ?0 q6 m+ D' p

6 f) d1 V% W) ~2 j
& H1 a' Y4 F& F( b* G# w
注:若安装失败,请先点击卸载,后点击安装。9 q; y7 M6 y6 V8 f" Q! N# n
3 V' w6 `4 P$ \# ?/ a4 d7 t7 a4 g
3.6 串口调试助手的安装与使用) q& c  i2 E! t

: V! F: b8 ]; ]; ?3 J+ a
: b, B+ y+ x$ J, F7 s& j3 T' `* |5 x+ r

. C7 k& n1 \; M0 T工具下载:( g+ c9 W" ]8 \: S. q" F( Z9 Y( e
$ W. L$ |8 A, S9 C% Z

9 h) A9 \) ^# rhttp://www.daxia.com/download/sscom.rar
2 A, h2 [3 ?% M+ k% [
1 i5 }- k6 o! \3 ?1 ^. P$ W; n安装方法:串口调试助手sscom5.13.1是免安装的,解压出压缩包即可直接使用。% g' V9 W1 k& ]7 _- H! q: t$ U
25.png
" R8 ~# J! j) K) q+ j3 K  u. P根据PC和终端之间的连接,选择正确的串行端口。! {9 x0 q& A# c- x) f5 g( U7 n; T: S; `
, ?) N+ W8 R: M/ i6 t
2 S+ K4 X3 ?, n: G  H, ]% w0 ?/ L# o
打开电脑的设备管理器,在端口列表可以看到PC与开发板连接的端口号。
! K5 O* E+ S& K; t  k0 A 26.png
, y% N, W2 \+ h. e0 c" J我这里显示的是COM26,所以要在sscom工具中选择COM26,开发板程序波特率设置为115200,所以我在sscom串口工具中选择115200波特率。
. F8 w. v0 s& F! ]! B
2 r9 Q8 f; }' U0 y
三、烧写腾讯云IoT定制固件
$ d4 x& x6 z- R) s! v! p

$ c# D4 y, t; L# C* L# N8 s1. 下载固件
4 a# i5 F5 J3 P0 i5 O# t" b* @, G: j
3 E3 S4 O9 J; F6 i6 D& m+ C
腾讯云IoT AT指令是一套针对使用通讯模组(2G/4G/NB/WIFI)接入腾讯云物联平台的定制AT指令集,如果通讯模组实现了该指令集,则设备接入和通讯更为简单,所需代码量更少。ESP8266作为IoT领域使用最广泛的一款WiFi芯片/模组,腾讯云在其通用AT指令基础上,增加了腾讯云IoT AT指令集,形成一个定制的模组固件QCloud_IoT_AT_ESP8266。% t, |% K7 G9 ]# [$ h

# d" h8 E- [8 [$ V8 z, L4 j
3 }9 c- i+ N: X- W/ u# i
# r" J1 E6 h" q* S5 e
下载链接:https://github.com/tencentyun/qcloud-iot-esp-wifi7 `$ O3 i' P3 w/ \: _. H! N$ t
- _; G4 Z$ b/ e# H3 s, L

' O3 R4 U- {" ~: N, t" E使用git下载的命令如下:! V0 d" O5 `) T$ a1 C2 v: N
( _; l0 K( a* V$ T( H
4 y$ U9 x3 S% a3 D7 A3 `& V" h$ _2 ~
git clone https://github.com/tencentyun/qcloud-iot-esp-wifi.git: S& o$ f6 }4 Y1 L9 C1 e& O6 V- q

1 Q( b. }- }4 V4 B

* x' b* E" |5 I6 L# Z' |7 Y: M下载之后即可在图中圈出的文件夹中看到定制固件:; t& s$ J, u& y- a* f
27.png 9 n8 ]3 p- Z! w
2. 下载烧写工具- A! S% ]9 I5 {5 K2 [+ y
% A  V& O3 ^* }; P, E" |' Q

$ a4 n/ b* h5 ]  ]9 A# o+ [, e使用乐鑫官方下载工具ESPFlashDownloadTool,下载链接如下:9 F8 V8 i( b* o6 j5 S: _; o
: L  {& X& B1 T
% ?! G3 B; C, K6 u
https://www.espressif.com/zh-hans/support/download/other-tools  N2 \* S8 d2 G& z
# F7 `9 Y6 e, V% y: x* f
: T+ c8 L3 N( o) ~
6 r4 n- T* B4 |3 P
点击下载Flash 下载工具(ESP8266 & ESP32 & ESP32-S2):' z8 A+ |: ~* g9 v( ?, n& M
28.png
0 s2 {, l; X; e下载之后解压即可。* z9 g1 f1 C6 g; ?7 l) L

% K8 x3 Z$ M  ^# r; X3. 固件说明. k5 c) Z% v  [8 }; ^& K- u$ I% ^

1 ^* S7 ]8 h: t: f+ K% U/ N

" `: j" g+ V5 o9 a; G腾讯云IoT定制的AT模组固件适用于所有FLASH大小为2MB或者2MB以上的ESP8266模组。
; E7 d, i9 i. s" [3 ]5 b0 e- C7 C4 P8 x( K7 ?6 n3 F  I

4 O7 f, U+ \! lAT串口使用UART0,默认的Tx为GPIO1,Rx为GPIO3。但因为ESP8266的UART0 默认会在上电启动期间输出一些打印,如果打印信息影响设备功能,可在上电期间将 U0TXD(GPIO1)、U0RXD(GPIO3) 分别与 U0RTS (GPIO15),U0CTS(GPIO13)进行交换,以屏蔽打印。因此提供两个版本的固件:
# ^& N( I+ j: m/ s3 e
  |8 H/ l* X1 I' [

" ]7 ~  ~" U3 T. y- 名称包含UART_1_3的固件串口使用的Tx为GPIO1,Rx为GPIO3。
) o7 o: W* S6 y! I8 M5 a( m- q$ E& G; J4 x

) C2 m) s; Y( e/ v! T7 j" N; q9 A- 名称包含UART_15_13的固件串口使用的Tx为GPIO15,Rx为GPIO13。
# n' S5 z1 I: _6 I5 T
8 z+ N- M1 n2 A  h
  C, h$ a+ S9 _& ]- |
9 v: [% e, q8 U3 x
进入QCloud_IoT_AT_ESP8266_FW,本文中我们使用第一个固件:
! t, z$ W$ u3 x. a: K$ M! W7 M2 H 29.png
" M. z5 B. g  J, t7 Z4. 烧写固件
0 h7 b( @/ K/ ~: C) p. J. N
! [# k7 l- I0 T0 k( z5 [% o- t

0 x% B9 G3 \. c2 M  a& G2 r% A4.1. 切换boot选择端子和串口选择端子/ A+ H, U  C1 m+ v1 \. n: S
0 _" Z) P6 _- d0 r+ O, Q
) w( T/ x5 ]4 d( r, k+ H
① 将开发板上的ESP8266启动引脚配置端子切换到低电平;4 u" V& p; o* w& ^1 [' m

- M2 d* ^' T) I/ w2 U3 T
9 p6 E" t8 o8 q& P
② 将开发板上的串口选择端子置于中间,使ESP8266直接与PC串口连接:
3 o; z9 t9 i, U4 b9 f+ m, r' O1 F) a1 k/ o1 h6 h  x

+ c; J( [1 [$ N, R1 d3 T方法参考下图:
7 N# u+ \  D. i0 P, x 30.png
& k8 G% w" ^: A; [0 @7 I
+ V" t" a  n+ l3 a" R: T5 {( ?
! w9 [4 _8 M; i4 D

& C1 u  y+ V6 y
: B/ ~1 t  A5 `7 z& t3 o2 G
4.2. 运行Flash烧写工具
7 ~- S7 w; s0 d1 Q/ i$ {) p$ e# k" {; v$ y8 M' J
* d# R# O0 z; e' H# Q" _( F
双击工具,运行:
9 C! B" E: ~9 u 31.png
8 T0 i" t% u" _6 o! r6 O. |) |1 ?" {) j5 K( a7 }1 V1 G5 X6 u

4 d( j8 k+ j+ D) y- R$ C# x0 j( s: y) H

( q  k0 Q3 h( q1 {: m  _/ p# T3 ]选择开发者模式:
" x3 H& [8 N8 T% W) k1 t. N2 I' B8 L7 q6 _' @9 X! Y! `
( v( m& n/ [# z- [$ b; B' P- X$ i
32.png
* i/ r2 h: s$ I8 i0 M# z: i: M3 T8 }6 X& `! }2 U
" f8 }4 ?! h0 G

$ G! W2 F. N0 k' v, G8 Z4.3. 开始下载0 a1 x. N3 U) O& H; |
7 T2 b$ I, R1 Q$ U$ {; i' |9 f2 G
+ P' M5 L# ?) e5 }
按照图中进行操作:
* K* `% p1 e0 `! F' G2 C8 O 33.png
/ N, n; ?# f( W$ U* W
/ g! I& g% m8 ]1 h' w3 L
5 H7 N# N( M9 o3 v4 G7 @

! M$ z! o1 t$ f  w+ v7 @
# P! |5 y1 E: s/ ^6 c( \- r
点击下载之后,按下开发板上的复位键,Flash下载工具开始下载:) x* E' W$ M+ j6 o! m) ~
- ^2 ]3 A/ F. {8 i3 Y8 }& [5 X' n6 A2 j

5 q" f8 _& g) l  B7 N8 t$ L  ^ 34.png
& N# [2 a; g" u1 m" @1 D
! g  _+ G! J& J

# |3 n; v# g9 g6 y若没有显示,请检查接线端子是否连接正确。
5 P6 \2 j4 o' o. y" k9 r2 F; w8 }6 u. b1 j+ R; E% K
. V3 K2 o. Q% _8 L( F2 p' s7 S
4.4. 下载完成7 B: w: B0 g* j1 c9 q, q; F, U

3 i: ^/ ?5 b  N* L

  a3 u( k8 L9 d" a' c8 t' M8 j' m" R下载完成之后如图:9 x9 X: D: c7 f+ Q% L
35.png + K5 o+ |7 C, e4 p) Z( `

7 ]4 u* q& ]" i* f+ o8 J( {
+ B, B4 Z4 J& O* b

3 z9 l9 n2 K; F# X& m2 U

2 [# |% B, H% k! U$ f& q3 M! G关闭工具,将boot选择引脚拔下,将串口选择端子恢复默认。& Q. x2 E4 A' |2 b

/ k% B' r6 \. o; j5 j
" b: c$ K5 j; I0 P$ g7 v
注意:完成固件下载后,一定切记将跳线端子恢复到默认状态,默认端子怎么短接可以参考前面完整的组装成品图,否则wifi将没法工作,MCU也没法控制wifi。( i" L8 h, K3 {3 w6 t% p

1 x9 P, m5 q# s, o

" c* L0 i- ~0 T' ?, @9 V) w& b, u. a
四、基于TencentOS Tiny接入腾讯云IoT Explorer
, o% [0 X: D, j1 I: ]% T( H

4 g/ r6 i9 z0 ]9 i6 w$ m5 i2 W7 @# Q% Q! z6 y
4 @8 Z# h5 A$ C5 |
基于TencentOS Tiny EVB G0要完成腾讯云IoT Explorer对接,需要完成两个部分的工作。8 d) O1 b% \% \4 P5 n

) F" v$ v* b$ y2 R0 L
) f9 |& U4 h! U; M0 q: V1 i
一是:腾讯云IoT explorer 上完成项目、产品、设备创建、参数配置
( x/ ]0 ]! U8 V: N9 ?9 B- E0 e, T+ @& X- c8 o2 i% r% H: ~) ?

6 e! u4 b- K, i- E二是:基于TencentOS Tiny完成应用开发,向腾讯云上报业务数据。, ]3 l* e" r0 p2 I! `1 x/ M
5 G- `/ t- c/ N# b$ |6 S

9 P! `+ \" N4 {* I
. ], a4 W0 H) ^8 h
1. 云端操作步骤
- \# f( D8 \/ N6 @
0 V$ m  ]3 |, U7 ]% z: z. ^# O1.1. 新建项目
3 N/ h& s- B% z0 m5 n3 [! f2 h- K% S$ @: v& m9 q0 u- @. M
' p9 R7 j) c- h
登录腾讯云物联网开发平台
0 ^8 i  u- r2 J( ?4 d6 ^1 Y- N
/ k* w! M# z* {  V  W
) A- r0 \  r2 `
https://cloud.tencent.com/product/iotexplorer, l1 l3 i- R' R  U5 m

4 b, ~3 v! @! |+ v& ^* j
; ~) \$ f0 P: r7 F  v
点击新建项目,填写项目名称和简介:/ ^$ E; |8 I5 O8 ~3 S! `
36.png
9 j6 {# P; r8 X, f
1 T7 r) @8 c3 z/ L1.2. 新建产品
" g( w1 K7 i  n; h- q6 H  I* h; v0 }( o- h" z" C/ y. e

" G( U6 r0 i/ I' A2 C点击项目名称进入到该项目中,点击新建产品:* b. V" I' Y/ R
37.png
) r8 H9 x% f9 s$ g1 j, Y1 P6 J产品新建成功后,可在产品列表页查看到:
5 m6 A4 c; {3 T" G% Y+ M 38.png % f$ b: p# w2 D* I! k
$ P0 ?% b) U4 s! M8 t, Q
& L& P" d$ i0 ]  w) T9 A) u& N
1.3. 数据模板
& v3 H% _! A+ w! Q; C6 X
( C; x) Z/ Z' r1 M4 S) k) ~/ H# @
& |; g( m$ ]2 h" j$ J! e) Y7 b- y
进入产品,点击【数据模板】,点击【导入JSON】,导入下面的JSON代码:
7 P$ f7 D+ }4 h5 X9 M

  1. / v7 [$ O$ ]) a( h$ |$ k
  2. {
    0 m; i! P- P9 p% j( I
  3.   "version": "1.0",6 b0 d. z8 ]/ g6 j. y
  4.   "profile": {
    9 i1 L$ B# q* a
  5.     "ProductId": "BDDSF87WEA",* c* d/ N! u* Z
  6.     "CategoryId": "1"+ U3 ^2 Q. ?, {) y$ c  S
  7.   },
    . o) L7 ?% D6 _
  8.   "properties": [
    ' _+ f: I6 M! B' X' A2 n7 k
  9.     {0 u# V' @5 S2 F  N& S7 _+ @
  10.       "id": "ch20_ppm_value",1 D3 E# S; Q( ~. b$ U
  11.       "name": "甲醛浓度值",2 J: A* A3 X, T; @
  12.       "desc": "",' X' k0 g" H9 |
  13.       "mode": "r",8 i$ d" ^* {6 m" \% N
  14.       "define": {
    + v4 u' t) w  R, J! J( S
  15.         "type": "float",
    # }& f$ R- f6 V6 U
  16.         "min": "0",- E1 ?- e4 P/ h3 ^! `7 M8 [- f: x
  17.         "max": "2",: k: T* R  M; j6 y3 g; d
  18.         "start": "0",
    4 @/ n8 W7 y. p% A) F" u
  19.         "step": "0.001",( g9 i7 O$ U2 a; M2 X7 M3 R
  20.         "unit": "ppm(mg/m3)"# @, t: Q) _! @7 X
  21.       },% p- d* R( V3 m/ j  y& U
  22.       "required": false3 q% h* V/ n8 o( o6 B" h
  23.     }, I0 ]( j" b, t' Z/ ~+ B( U
  24.   ],
    6 ~$ @( g- D- z7 P& V$ |% {9 [5 i
  25.   "events": [],5 L8 d0 T9 B4 z$ J( r
  26.   "actions": []
      z) k/ j! l& P8 Y
  27. }
复制代码
导入之后自动根据json文件创建的属性如下:
1 w* C4 B/ {- B' B& ^+ a 39.png
" Z# g# ?6 ]; n  \; ]- S
* Y5 ]- H9 B# V4 e+ ~

; }4 c0 f" i/ e' r0 q* O1.4. 创建设备% }% d5 i# |9 y6 g0 n+ }  U1 V

) a- f  G$ @* I. i! f
/ [4 |0 H7 U6 m9 Z5 A
点击【设备调试】,进入后点击【新建设备】,创建真实设备:
! b. N$ \8 A! u; B 40.png
9 a) j6 q8 h8 S
! @0 y) y9 Z% O: y

, @% M# X( h6 X8 S1 R! \创建成功之后进入设备,查看到产品ID、设备名称、设备秘钥:
5 o) f( k& {. _& W 41.png : n' J) v3 y/ `7 c  N

) X* N9 _4 \6 ]1 p* t- k, w

8 ~+ Y# G, D, ?9 r2. 基于TencentOS Tiny 完成设备侧应用开发
9 f# u. \7 u, ]& [5 `( u$ e. q% j1 a+ }

' S8 s5 l; U. \4 L  l/ r进入 . o! p# O4 Y7 M) G

( }4 J; d; o0 I
+ b! M6 a3 A: C* `5 p: C2 m
<TencentOS-tiny\board\TencentOS_tiny_EVB_G0\KEIL\mqtt_iot_explorer_tc_ch20_oled> 目录,打开TencentOS_tiny.uvprojx工程。0 H% P, y1 q+ V3 e/ ?4 }) d

' k5 D) ]4 W# z9 i2 J& ]1 M" R0 H2 L 2.1. 修改WIFI接入信息
' w0 j. N( V2 J
# A$ D- l5 y8 Q/ M

' l6 q0 a$ H8 a0 e打开mqtt_iot_explorer_tc_ch20_oled.c文件编辑,修改要接入WIFI的名称和密码(建议使用手机热点,不要有特殊字符):3 x% f* ~+ k" p, [
42.png 1 o! j/ I  N* F5 A2 L
3 `1 y: z) f, y) F( x

' b/ Y  K* x( {2.2. 修改云端对接信息8 t, x0 d# m: J& a  @2 U& J

1 T# N" Q# Z2 @9 _- g/ p
2 t7 L! }( b8 M. V
同样在此文件宏,修改云端配置信息,使用之前在云端查看的信息替换:$ y6 e% P$ C. ^$ v
43.png * ~0 q* a: Q* {6 Z, B
2.3. 编译工程
, ^2 I% C7 Z  x3 @$ O; b* g9 _! a9 v4 b2 `; v0 p/ K/ i" u+ ^% j# `

' P# E0 U* x- t; h, I; g点击编译按钮,编译整个工程:% r6 D7 k4 r1 `6 s' x* U7 U
44.png
) K) h" B' g& b( p0 Z2.4. 下载程序
$ O% k# R' K0 o  y6 g" v) A+ j! j
5 X0 I- y9 m  e3 }/ G
3 V: _: d+ h8 b  m8 ^- _4 g
点击进入工程配置界面按纽,进入工程配置界面:
3 C' `8 c+ e5 v6 D# e2 n( K 45.png
" F4 t$ }* y  L9 j选择Debug选项,进入仿真器设置界面。, E! r4 [) [& e. s
46.png
; F5 v% ]. F* C9 ]; h, x$ U1 U7 h下拉仿真器选择列表,选着ST-Link Debugger并勾选右侧Use,点击Settings进入ST-Link V2仿真器配置界面。  b# B! T. [/ D5 K3 j# z) J
47.png
3 k5 V) Q1 a$ I; T' @: l4 o  A开发板设计的程序烧录方式为SW,此处Unit选择ST-Link/V2,且Port选择SW,并确认右侧框内是否检测出SW设备,点击<确认>保存配置。
$ R, n* ^  B8 c( x* O3 p  S+ _ 48.png
0 `) ^9 i# k) d0 b& P点击确定之后,回到主界面,点击下载按钮:
  R, @: L3 p) A 49.png
% `! E  ~% J, Z/ w. J2.5. 使用串口助手查看日志0 d" h8 N# M( N% p6 ]
2 U6 A. |! T: ~1 `

: f2 g  n1 Z* F' v6 F* l5 @4 H; h运行sscom软件,打开电脑上开发板对应的串口,比如我选择COM26,点击【打开串口】:, b$ s) o' g( P. i' `8 y
50.png
/ k& r3 N( L; a$ r按下开发板上的复位键,程序开始运行,即可在串口助手中看到系统运行打印的日志:: [4 G* p/ A5 A
51.png
/ e8 Z- f& K" `: m) Q9 k+ ]; O3. 云端平台查看设备数据
2 e; x; e( b) H3 H' ]: u0 i( b( Q
& t4 ?6 L8 u& ^' {' A% P
2 o9 Z4 \9 _0 m1 B+ R
回到腾讯云物联网开发平台,可以看到设备状态变为【在线】:. n. w7 V. k, G6 u. T# @6 H2 |& }
52.png & L3 i) j0 S& E5 c+ U5 H3 A0 ?0 L( B
点击【设备日志】一栏,可以看到设备上报的甲醛浓度值:+ T1 t. f. y1 j+ E2 u: o6 T! N
53.png $ M9 O9 w' o3 u( R% j
点击【设备属性】一栏,点击【甲醛浓度值】后的【查看】,即可看到甲醛浓度值的历史数据曲线图:
$ k# ~& `2 P7 F  m+ R 54.png
3 h! Z/ n  w$ F/ K/ @$ a  D
3 k& c: G' e& ]/ I) r+ f

- U. U, \  W% i/ [- z
五、腾讯连连小程序操作步骤

: a  {; @0 d  d0 q8 t8 @1. 添加家庭* N) j' D% G6 b9 H9 [$ v

, @+ F2 N5 ?- @/ \
* A/ p: r1 Q$ p( ?1 G
手机端在【微信】搜索【腾讯连连】小程序,首次使用需要进入后点击【我的】->【家庭管理】,添加一个你喜欢的名称即可。7 P9 v( A" J' P# M) J' T: a  a" ]
! z; z0 ~2 |, r3 V) y6 ]
2. 添加调试设备
$ ?" f3 K/ G! ]6 Q) d: d. H' {: T. t; K, i6 w. M6 P5 V/ i3 c

3 A7 y, G9 W  w7 V2 C7 L5 J返回【首页】,点击右上角“加号”图标:, @6 H, M. j0 F3 J
55.png
% o8 ^8 e: H7 {" y, B; G" @2 o3 s" F$ d/ |4 F

* J3 D( V4 y0 k6 x# o9 T; L进入后点击右上角扫码图标:2 y# _8 y: q% t& I0 Q) M* t! m
56.png
  B9 d7 O, ?4 Y' t
% `' e  z$ |# Q$ m

% k% b1 j. e4 f7 Q在腾讯云物联网开发平台进入【设备调试】,点击对应设备后的【二维码】:8 t  I3 R: P" @1 D' S, M) _
57.png
% \: t& J4 {6 w7 \  o& f3 C腾讯连连扫描此二维码即可成功添加设备,添加成功之后如图:; h0 m; y% C6 N( R) |8 J7 m
58.png 8 _. I% }* V/ ]9 I, ?
点击此设备即可实时查看数据,并下发控制指令:1 e" @' \6 H3 W
59.png
( W+ t& g) S5 ?, g* A3. 修改腾讯连连显示面板5 ^. a  e" p- p# u! J

" d4 S, e8 i. p
% j6 ~+ C9 \* _+ ~- K" [
进入【交互开发】,点击【面板配置】一栏:3 F+ {0 v. {6 z! W. H
60.png ) m5 o- h) D$ }! A9 N
: M1 O$ ]: @7 g. r  J' _9 s5 |+ o

( ]' D" ]8 |/ y1 W* d) h在此页面中可以自己根据喜好配置小程序显示面板,如图:
+ a+ }" V/ i' ?3 ?3 x! i; u+ H+ H7 I8 j4 I% d. U& _, _

% Q/ Y( V$ Z& `) ] 61.png & [3 D+ K1 o# a" U# f2 a
保存之后,在腾讯连连小程序删除设备,重新扫描绑定设备即可生效。
. \% ~% l) R# T/ [/ y9 Q; }! m) L) |- d* ?4 m/ S. {( A" n
) }; J+ z$ X( m; ?; t0 a9 p
六、腾讯连连公众号设备告警操作步骤

" @4 ?7 N  n' Q, W1 `, S; X
6 R! i; k, ~* C. P9 M
1 t: `5 [' E$ E  u

. D& A( ^  n  R7 h: _' S) Q1. 创建数据流
& J, `1 b( V2 s$ ^0 E5 c. j5 `
" T$ h. X* Z8 j3 U1 E) x+ H7 w8 d: z
9 _# S6 t  _' h  H
点击左侧【数据开发】一栏,点击【新建数据流】:, j$ S  l& ]: t) e9 v
62.png . Q9 u, ]( n0 f  J$ I
, U- A5 \  t1 v% Y1 l
2. 设计数据流7 F3 p. c5 o" o9 R

5 m) I6 \0 x3 T7 z: l+ d

- v- I9 U" |. r8 T9 O6 R7 S6 r' I添加并设置【设备数据】节点:
1 F+ s1 y! s6 _) R 63.png , M* G6 J) B  m
添加并设置【过滤节点】:7 X" R* M. A: e! ^$ X  ^
64.png $ d2 b) j/ }3 Q
添加并设置【推送节点】:9 y4 m# X3 I& {5 L* G$ d
65.png
: w- b9 e6 ]( E$ j' U5 \; v+ F6 W! Y! K2 K+ U- Y) ?' k

1 z: _) w( j) G+ `8 \3 h, {0 q( P( Y3. 启动数据流
; T2 \; c' ~; A! K4 m9 l, t  C3 _2 w) f: X+ l, o

  X3 h& S5 n; ?' {设计完成后,点击【保存按钮】,再点击【启用】:0 M! w: j; F0 ]8 i' S
66.png
. ^5 ]9 f5 m$ J! Q4. 关注腾讯连连公众号: K* _1 v- b3 S4 _( W
- _& v3 ]# V1 z" ]* K
# n" S0 W$ J* B4 t( }% P2 `
在微信关注【腾讯连连】公众号:
) E5 o. Q$ d' }( q" k6 |! L! p# c9 b( u  F$ ^
关注后,如果有任何告警消息,即可在公众号接收到。
7 O% Z6 v5 f  ]5 K8 U% u" E5 E7 R$ @# E3 v5 h9 `
>如果仅仅为了测试告警功能,可以先将告警值设较小的值,比如设为0.070,测试完成之后再恢复国家规定标准0.80。, p( s" T) T  a- R4 I* `
. V* C, x1 e% g" ]$ L
. D  c9 K/ M3 ]' K. t

  w1 ?" O- q' i# a# ]7 j至此,基于TencentOS Tiny的智能甲醛监测仪制作完成。
& c+ [  a* ~" V) Y" S$ _5 D; h4 n" J- X1 ?7 y& P9 U
赞 收藏 评论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:29
7 k9 d3 e) y! A文章太长了,,安装软件的什么就省略了吧。

' u0 C$ g4 B6 [- |( d确实有点长
STMCU-管管 回答时间:2020-11-27 09:32:47
一代睡神的崛起 发表于 2020-11-26 16:16
8 T; ~; @6 J: L9 {* XTecentOs是不是很牛逼啊,和日天比起来呢?
" P  s+ Y$ r) H4 M  F  I
你不是搞过么
一代睡神的崛起 回答时间:2020-11-27 13:59:42
STMCU 发表于 2020-11-27 09:32( U; n( H& n% ^% l# M
你不是搞过么

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