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

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

[复制链接]
STMCU小助手 发布时间:2021-11-13 23:00
抗击疫情取得阶段性胜利,PCB板也做好了,今天就把这个项目贴出来吧。  _+ K1 }" F5 R

: X/ {. h& m) e2 w4 V6 m/ j3 W整体概述$ E, f2 w2 T4 d" }
首先看看整体的,我们做了一个1+3的温湿度采集器,一个主模块(Zigbee的Coordinator)接在电脑上,另外3个独立的板子,采集了温湿度数据上报到主模块。$ A1 Z, k8 F( n$ d: R5 m2 Z1 u- ]
4 c9 s  h: ]7 v8 \5 s, ^% S$ A* a
20200225172534104.jpg

; B: J& ]5 F+ D6 a. b$ K8 a" o& H! C7 c0 |& _1 p" g" K5 r
20200225172633518.jpg

  u/ Y: b/ Z9 ~5 w; c, B( V. S7 E: X* }1 \8 ]7 @. m/ c, ]9 N2 R
20200225172718433.jpg
  k4 A! s% L6 d$ E! w: `6 y( h" I

  t( X9 u* _+ }# w7 [4 |' U单片机板子上有一个拨码开关,其中1,2是有用的,组合可以设置成4种模式:$ `" Y6 u) ~) A
1-OFF,2-OFF:将DRF1609H设置成Router,等待Modbus指令上报数据2 u9 [1 ~, o% N4 g. U0 Q; h
1-ON,2-OFF:将将DRF1609H设置成End Device,等待Modbus指令上报数据) C- ]( d5 O4 n& |% I* K
1-ON,2-OFF:将将DRF1609H设置成End Device,主动上报数据
! g2 b7 v! s( z1-ON,2-ON:将将DRF1609H设置成End Device,主动上报数据,低功耗模式, Q8 r4 h  u7 d# {; v: q
9 M% u' j7 z& W' \. P% p
Modbus上报数据:& ^) o' p# S- b2 L
单片机板子上已经内置了Modbus协议,2条指令,分别是写地址、读数据。
! p9 O$ f& ~" }, P
( j6 U" u6 m( J" U- w1,写地址指令:
: I$ ?8 o- ?" Q! ~+ E' AFE:从机地址(0xFE为万能地址,对所有的板子有效)
3 |/ ?+ \7 q# }) V5 W- I" D06:写指令码
# L$ i( G# n2 b; U" k6 [00 01:写数据的地址(本项目中,只有写从机地址这一个功能,只有0x0001有效)+ l0 b0 X$ c4 g$ q, {; y
00 01:写入的从机地址8 w  X: K# g, b& x) {! \$ A
0D C5:CRC-16校验码
8 b# S/ |6 J! ~
( w3 F" X5 A3 E2 h! K! M$ j' X下面是从机1-10的写地址指令,可以直接取用。
: S. _2 z( v1 W- y- C' H3 ?
  1. FE 06 00 01 00 01 0D C5
    + Z) j! |) a9 M+ E& x
  2. FE 06 00 01 00 02 4D C4& y- E: O3 L/ V" }) C! h( i9 R' V
  3. FE 06 00 01 00 03 8C 04" T5 K& ^, I: D' K( h. j2 W
  4. FE 06 00 01 00 04 CD C69 O0 I! S' F! Z, U* P
  5. FE 06 00 01 00 05 0C 06$ V$ C+ R$ U( w/ j( J
  6. FE 06 00 01 00 06 4C 07
    3 d3 ~9 X7 N  x- f5 R
  7. FE 06 00 01 00 07 8D C7
    0 {/ ]6 C; a5 S) d* x/ {7 }
  8. FE 06 00 01 00 08 CD C3
    $ }" P  q/ m8 W1 u! q
  9. FE 06 00 01 00 09 0C 03% O6 A3 c$ L% ^( V7 w  h
  10. FE 06 00 01 00 0A 4C 02
复制代码
% O+ @9 q: T7 J( E+ d
写地址是通过主模块(串口调试助手),无线对单片机板子修改:
% h, z! |' q; m1 K
20200225174120444.jpg

! N1 ?6 C* i3 x! O9 X
2 C* f9 t. U$ H2,读数据指令:9 l( N* d6 C" a. c5 v' O
读数据可以使用标准的Modbus软件,如ModbusPoll,设置如下所示:. D; o, Y& V' j7 V
6 h% t. i, s. t4 y, ~' X& B8 G. X
20200225174437942.jpg
; Q  Y: b/ ]+ A! J, T

( x9 I  ]' }# ?( D
20200225174451209.jpg

5 a# M/ Y0 e6 r0 N, ~& w
. c1 `: |! g5 O; V: W. {3 c9 x  S3个板子一起读数据的截图:" P6 y8 G8 u; u/ ]; A% I% I
% m* [/ F4 c" T+ f5 L
20200225174631651.jpg

0 B( e2 h8 h2 G( m! X" R0 {. A* B, s: N
低功耗上报数据:0 X, [8 e; z9 s. c
在模式拨码开关设置成:1-ON,2-ON,单片机首先给DRF1609H模块设置成End Device,然后启动低功耗模式,低功耗模式下,10秒上报一次数据,2个5号电池,可以使用一年。
2 o* e0 s  n$ H1 f- @
3 s2 x  y2 d- e0 j* p
20200225175144437.jpg

, {' ]" @5 h  q" M9 \! `2 W* U# w) a1 L& Z
20200225175202691.jpg

1 R. @3 n; t" o! @- B3 [4 I! V
2 D9 w! |( s" K2 n4 \0 U测试Zigbee模块:
# G' v/ G- B- D* a这个项目的通讯采用的是Zigbee模块,主要考虑以下几点:: W+ Y& m; u, X$ f5 W2 u1 n
1,Zigbee不依赖于外部网络或设备,如WIFI或GPRS,不需要额外增加东西,同时安装也比较简单,至少不需要TCP/IP等网络知识;) Y5 T3 m8 K8 _% v) o3 ~
2,相对于433M的模块,Zigbee通讯要快很多,如果采集的点比较多,这个优势就很明显了,昨天看一个资料,说LoRa,如果要容纳500点上报数据,则要求每个点至少间隔1小时上报一次,每次最多10个字节,而在我们这个项目中,如果是500个点,每个点的上报间隔只要100秒(即每个点预留200MS的时隙即可),每次10个字节。1 K# U7 F2 y' u8 n, a' i
3,Zigbee的自动路由,在工业现场,有些采集点可能放在锅炉底下、铁柜子里面,等等,由于Zigbee的自动路由,可以在旁边再放一个Router模块,这样,数据就可以自动路由出来,这也是Zigbee的优势之一。+ T( s% {, ]7 [2 a$ i  X- f
' J, V/ I$ j/ H8 C
厂家配套的软件,可以读取Zigbee的网络拓扑,还是很方便的:/ i7 D2 a9 w4 K7 w& R8 Q3 Z

5 B/ R$ d" G# w/ g. n
2020022518040649.jpg
/ K1 s; A; q* g- d) A

- ]* E* K: j( Y8 _
20200225180416122.jpg

, k( {% b" e, M4 T6 w2 o: I; |4 Y9 v% t/ r- \/ D
9 k2 x2 w8 H' H
7 \3 ]3 w' p1 r+ ~
收藏 评论0 发布时间:2021-11-13 23:00

举报

0个回答

所属标签

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