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

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

[复制链接]
STMCU小助手 发布时间:2021-11-13 23:00
抗击疫情取得阶段性胜利,PCB板也做好了,今天就把这个项目贴出来吧。
' p, v! \5 I6 y6 z7 k
9 ~. \6 R" |" y/ g4 U& W- @1 K3 q整体概述! _! @; j8 D" w" v
首先看看整体的,我们做了一个1+3的温湿度采集器,一个主模块(Zigbee的Coordinator)接在电脑上,另外3个独立的板子,采集了温湿度数据上报到主模块。
% ^/ v0 [) l) T1 r! ~' H. E0 B& o% b
20200225172534104.jpg

; Z+ p# c" p& ~! I4 f( [) D& d: H8 z) B( r( H
20200225172633518.jpg
2 m! n0 o  \+ L# L, [) Y) S
- w. [& q) X* a4 U$ q) @) t9 @
20200225172718433.jpg
* ~6 k) S+ u7 }4 f
; w/ h$ @9 ^; O2 ]0 y
单片机板子上有一个拨码开关,其中1,2是有用的,组合可以设置成4种模式:
: |9 c. t$ L0 f1-OFF,2-OFF:将DRF1609H设置成Router,等待Modbus指令上报数据
1 c& i6 j. Z. q3 \4 W6 N1-ON,2-OFF:将将DRF1609H设置成End Device,等待Modbus指令上报数据
9 X$ q; c; M4 o5 F1-ON,2-OFF:将将DRF1609H设置成End Device,主动上报数据/ i/ f7 t" a3 I. Y9 j, }" \) g& Z
1-ON,2-ON:将将DRF1609H设置成End Device,主动上报数据,低功耗模式( H/ w, p) L4 S' G
8 M' _# B0 \* G0 [- U, D2 i
Modbus上报数据:) j+ r- K  M& d' s+ x" |
单片机板子上已经内置了Modbus协议,2条指令,分别是写地址、读数据。
, \3 G& N5 j' V% W
; `& S  D6 [  b1,写地址指令:
( a4 K0 y% a" L0 s; p8 E  ^FE:从机地址(0xFE为万能地址,对所有的板子有效)3 Y3 c3 ~  b# ]7 U1 s
06:写指令码
5 C# i* Y# w2 D* @, D00 01:写数据的地址(本项目中,只有写从机地址这一个功能,只有0x0001有效)! x/ j- B$ h$ q7 B: o/ f
00 01:写入的从机地址' S6 h5 \* E& Q/ s9 @: b  N& L" j
0D C5:CRC-16校验码0 F$ s) T; m5 p$ ^

+ i3 O5 b9 Q+ ]- Z1 ]下面是从机1-10的写地址指令,可以直接取用。
5 K, |0 q% s8 h5 @6 `* R
  1. FE 06 00 01 00 01 0D C5) }  F" X8 }1 N
  2. FE 06 00 01 00 02 4D C4
    9 v: x5 p, F/ ]; z9 [) C
  3. FE 06 00 01 00 03 8C 04
    6 Z! l/ J. d4 r: d+ k0 y: J' P
  4. FE 06 00 01 00 04 CD C6  A0 o+ G2 |, p+ O
  5. FE 06 00 01 00 05 0C 06
    * w# o$ \# ^) N
  6. FE 06 00 01 00 06 4C 07
    6 e$ l' L" q+ i" _" P. _0 m7 p
  7. FE 06 00 01 00 07 8D C7! g; w" [! T# t9 N2 _5 [: O6 T
  8. FE 06 00 01 00 08 CD C3( q2 r: r8 w/ M7 ~" D( s6 s
  9. FE 06 00 01 00 09 0C 03- T' l$ j: Y9 H3 F& w/ U
  10. FE 06 00 01 00 0A 4C 02
复制代码
1 n/ J4 w" q% h( t5 u# K9 A
写地址是通过主模块(串口调试助手),无线对单片机板子修改:8 l: t; W  Q; ?2 V3 W& N
20200225174120444.jpg

; V. [. ^, O( ?' {+ c5 d3 T: H4 q" y) w5 o
2,读数据指令:! W* k5 o6 {3 }, O
读数据可以使用标准的Modbus软件,如ModbusPoll,设置如下所示:
% C1 E' \4 @- Q; h, k
5 H; H0 Y5 j4 o4 a. {3 S
20200225174437942.jpg
) S8 X; F+ V! t; Y+ W

9 b- y/ `  i% T- M; l6 a
20200225174451209.jpg

8 X3 M( b$ x, h( L9 T! W2 F$ N: m  q
2 d+ @  u7 n$ e" w- F3个板子一起读数据的截图:
4 F/ _- T1 _, u
/ F6 Z3 |& A( S% n
20200225174631651.jpg

6 v" j7 G; ^' `  X! H5 L  C4 ^- E" _& }5 x
低功耗上报数据:$ K4 I& y4 \4 ~% t+ N' w3 w
在模式拨码开关设置成:1-ON,2-ON,单片机首先给DRF1609H模块设置成End Device,然后启动低功耗模式,低功耗模式下,10秒上报一次数据,2个5号电池,可以使用一年。' Y! Q. n3 j6 u1 `, o( M# p7 g

" y  L5 f4 s5 o8 [# w7 p* ]6 g# v2 w. k
20200225175144437.jpg
3 K; }8 p+ w6 b- ]6 @2 b. s5 o

! N7 n- C2 \* R+ K7 @5 z' f1 _* b- F
20200225175202691.jpg

3 @( B+ E9 J8 a6 q
# h/ g* q7 b8 t! y9 o/ ^测试Zigbee模块:2 ?8 E1 r. U2 i& v  ?* Q# H
这个项目的通讯采用的是Zigbee模块,主要考虑以下几点:5 V) g) M) }7 n" s! J
1,Zigbee不依赖于外部网络或设备,如WIFI或GPRS,不需要额外增加东西,同时安装也比较简单,至少不需要TCP/IP等网络知识;
( u' Z# G) o2 s$ [# w2,相对于433M的模块,Zigbee通讯要快很多,如果采集的点比较多,这个优势就很明显了,昨天看一个资料,说LoRa,如果要容纳500点上报数据,则要求每个点至少间隔1小时上报一次,每次最多10个字节,而在我们这个项目中,如果是500个点,每个点的上报间隔只要100秒(即每个点预留200MS的时隙即可),每次10个字节。' w( Q, y$ q/ ^7 y7 i: Y- N
3,Zigbee的自动路由,在工业现场,有些采集点可能放在锅炉底下、铁柜子里面,等等,由于Zigbee的自动路由,可以在旁边再放一个Router模块,这样,数据就可以自动路由出来,这也是Zigbee的优势之一。; D, M9 u* K+ ?; o5 X8 q8 G- G

5 j; N. p4 [2 ^3 S8 F厂家配套的软件,可以读取Zigbee的网络拓扑,还是很方便的:
0 S5 T% M6 i1 p
5 g& z7 X6 z' y* H1 C; G3 |6 |
2020022518040649.jpg
/ s) N7 \$ J3 |1 d" o) c

" Q4 ^  h" J  x: `: P
20200225180416122.jpg
% g% ]" e/ ~7 M$ P
( w9 p6 d# y8 Y1 r. x( ^) i
2 u! j" e+ d( [5 y: E0 W) r( q! f9 q4 L
9 H  ?& g8 ]! M6 e/ K6 Q/ g
收藏 评论0 发布时间:2021-11-13 23:00

举报

0个回答

所属标签

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