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

【经验分享】STM32G031无线温湿度仪开源项目 -8,项目成果及全部资料下载

[复制链接]
STMCU小助手 发布时间:2021-11-13 23:00
抗击疫情取得阶段性胜利,PCB板也做好了,今天就把这个项目贴出来吧。
3 k# d( J  U7 _/ {( I" h: i
" u5 B. X3 u% L. n! x% B整体概述  g+ m& @; V5 k" J
首先看看整体的,我们做了一个1+3的温湿度采集器,一个主模块(Zigbee的Coordinator)接在电脑上,另外3个独立的板子,采集了温湿度数据上报到主模块。# d3 N: H8 {6 o( Q, s2 m# S
2 g* V4 h. x' W  K* e
20200225172534104.jpg
6 O$ M& S8 O  \* h8 V1 t4 C$ P
( ?" B" S+ s( ?
20200225172633518.jpg
& N# a, y% S5 @! M1 @  z2 {- T

0 ~1 l) Q3 U0 v; Q
20200225172718433.jpg
$ W3 I3 x# l& h% _

. L  H6 i. z8 `4 m! J5 J单片机板子上有一个拨码开关,其中1,2是有用的,组合可以设置成4种模式:
2 D& j' Y" `) Z: S' q4 q, W1-OFF,2-OFF:将DRF1609H设置成Router,等待Modbus指令上报数据
' n0 d: k4 k/ m1 l; |" ]# I1-ON,2-OFF:将将DRF1609H设置成End Device,等待Modbus指令上报数据, N; r- a# `+ ~, |3 _# G. h
1-ON,2-OFF:将将DRF1609H设置成End Device,主动上报数据* y7 ]% E2 `. g- F7 R+ `. u
1-ON,2-ON:将将DRF1609H设置成End Device,主动上报数据,低功耗模式
/ g/ L7 z/ _4 M4 h9 v4 p5 h2 T% a- L; L; z% ^
Modbus上报数据:
+ A7 q1 I; g/ R7 h% \单片机板子上已经内置了Modbus协议,2条指令,分别是写地址、读数据。; ?1 y7 j2 E( a9 ~" \( p
* m7 q2 I6 G2 z
1,写地址指令:  Z4 d3 K6 ^. C+ f
FE:从机地址(0xFE为万能地址,对所有的板子有效)
6 e$ Q1 R' K, O' K06:写指令码/ m1 E. t0 V1 t  Y
00 01:写数据的地址(本项目中,只有写从机地址这一个功能,只有0x0001有效)' {- l$ a% Y, y: h
00 01:写入的从机地址
' u  G) m% I" W1 M8 W0D C5:CRC-16校验码1 z2 C, b. ^$ q( N& e1 }: U+ t& L, N

$ h) L6 o" C$ V下面是从机1-10的写地址指令,可以直接取用。; D8 ~- O- k2 w1 I  ^
  1. FE 06 00 01 00 01 0D C5) {& J, z6 P/ }) a2 Y0 C. ]
  2. FE 06 00 01 00 02 4D C4$ R5 ^4 B) _( R3 n' R
  3. FE 06 00 01 00 03 8C 04% J% A+ t* M* M  g* a3 C  u
  4. FE 06 00 01 00 04 CD C6  Y3 u/ Y5 i9 F6 u; a5 l' S
  5. FE 06 00 01 00 05 0C 061 l! a$ B( v$ v1 B
  6. FE 06 00 01 00 06 4C 07
    2 j3 F0 H% ~2 h3 S
  7. FE 06 00 01 00 07 8D C7$ R6 l$ N6 g8 Z" M0 Q
  8. FE 06 00 01 00 08 CD C3
    - b; s6 z4 q$ ?- P
  9. FE 06 00 01 00 09 0C 03/ m% g/ W( [  R# @; w7 b, c
  10. FE 06 00 01 00 0A 4C 02
复制代码

9 J$ }) T1 f, p+ O6 s写地址是通过主模块(串口调试助手),无线对单片机板子修改:& `" J, o8 u0 n- y( u; t3 W* l  ]
20200225174120444.jpg

0 N' a4 }* f2 ?
4 R, r, _2 }3 h+ y, }2,读数据指令:
5 Z5 E3 E% R9 `/ \/ {, J读数据可以使用标准的Modbus软件,如ModbusPoll,设置如下所示:
) z& o4 f+ ]# _2 g& [
  O2 V  b. V. `1 ?
20200225174437942.jpg
: v$ T/ r7 N  T

) D. s% j' T0 ~
20200225174451209.jpg

! D4 Z0 Y6 {) a" u% r8 a1 t, {, t
* Z2 {4 D" o6 q! ~, W7 e3个板子一起读数据的截图:
# W: W$ y: ]2 G, K% E
0 Y. o1 j" ?. D
20200225174631651.jpg
2 q2 J+ l2 U. p% ^- h; P+ y
3 [( X7 L+ E! i! d; ]& G4 ?, R1 r5 d
低功耗上报数据:
, i6 O/ P- R* H7 m在模式拨码开关设置成:1-ON,2-ON,单片机首先给DRF1609H模块设置成End Device,然后启动低功耗模式,低功耗模式下,10秒上报一次数据,2个5号电池,可以使用一年。
" ~1 k# h) D3 Z9 M7 D2 {. _$ s% L* `* w4 ]6 v. s) o
20200225175144437.jpg
+ [- M% V& D0 m7 v8 P  B3 T( K; `

* T% h2 ?' D1 d7 m
20200225175202691.jpg
2 j! k4 {3 j# F

) E  O& k) C' {- e+ G测试Zigbee模块:
8 i8 O( F. y4 Y% H) d/ ~2 `1 S这个项目的通讯采用的是Zigbee模块,主要考虑以下几点:
4 I9 B7 p/ i. O1 k" Y1,Zigbee不依赖于外部网络或设备,如WIFI或GPRS,不需要额外增加东西,同时安装也比较简单,至少不需要TCP/IP等网络知识;. E- _- A( I6 X5 ^1 E# F; C
2,相对于433M的模块,Zigbee通讯要快很多,如果采集的点比较多,这个优势就很明显了,昨天看一个资料,说LoRa,如果要容纳500点上报数据,则要求每个点至少间隔1小时上报一次,每次最多10个字节,而在我们这个项目中,如果是500个点,每个点的上报间隔只要100秒(即每个点预留200MS的时隙即可),每次10个字节。7 N6 _$ C, {( a& h: r  D
3,Zigbee的自动路由,在工业现场,有些采集点可能放在锅炉底下、铁柜子里面,等等,由于Zigbee的自动路由,可以在旁边再放一个Router模块,这样,数据就可以自动路由出来,这也是Zigbee的优势之一。
/ O, L+ C1 ~# ]' r/ a$ R$ ~- F" G6 D% s! h! [9 v- F! I- o$ n2 h
厂家配套的软件,可以读取Zigbee的网络拓扑,还是很方便的:7 o: X5 L* @$ W% ~3 c2 C3 c
. p; W' ^0 t# G; l* H
2020022518040649.jpg
  C# m6 a3 U: d! }" t* x# b
' F2 k* n+ y- @7 X9 n
20200225180416122.jpg

+ ^/ Q( k5 a) {* r, R- R- U; e# |8 P. e
) U' D: W' i/ @2 `1 V. k* O0 K
& i2 C" }; M/ h; h
收藏 评论0 发布时间:2021-11-13 23:00

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版