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

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

[复制链接]
STMCU小助手 发布时间:2021-11-13 23:00
抗击疫情取得阶段性胜利,PCB板也做好了,今天就把这个项目贴出来吧。1 O- t8 l6 }/ l" o  z: _( o) H: d2 s

* i2 o. s" r; N整体概述
, c, Y& G) h/ |) M7 }: U* e7 u首先看看整体的,我们做了一个1+3的温湿度采集器,一个主模块(Zigbee的Coordinator)接在电脑上,另外3个独立的板子,采集了温湿度数据上报到主模块。
/ o+ T# T* q) d7 C5 J% Z" J& _" o/ t- d! s9 I4 X& P
20200225172534104.jpg

0 U1 w/ r: W" ~1 m/ U: i/ ?
: z$ ~9 `  |9 Y' D& i- R* V# [
20200225172633518.jpg
' y( r2 K% P) Q% k8 `. b
% ^0 Y0 c8 X5 C7 B2 L$ v1 C
20200225172718433.jpg

2 K3 O& x( K3 N5 g* R/ b0 `. t+ t% j( ^( b( h  `9 V# Q
单片机板子上有一个拨码开关,其中1,2是有用的,组合可以设置成4种模式:+ T( n2 X  [$ e1 s
1-OFF,2-OFF:将DRF1609H设置成Router,等待Modbus指令上报数据
) K; J1 B2 N+ N' y" F1-ON,2-OFF:将将DRF1609H设置成End Device,等待Modbus指令上报数据
. {/ L; ~4 @, K6 N0 A2 E" W1-ON,2-OFF:将将DRF1609H设置成End Device,主动上报数据$ D) Y! H- N6 n/ i2 R: G
1-ON,2-ON:将将DRF1609H设置成End Device,主动上报数据,低功耗模式7 o& X5 i1 S8 N. {$ n( Y

6 q6 |: V' w# ^- X5 H, ]Modbus上报数据:
2 ?0 c+ @1 r7 ]* ^+ w单片机板子上已经内置了Modbus协议,2条指令,分别是写地址、读数据。
0 b$ W# H; S6 Z3 @3 e" U1 p, F* Y9 p% U; P
1,写地址指令:+ a0 i8 R! ^- ?% v: B
FE:从机地址(0xFE为万能地址,对所有的板子有效)
+ ?# J: i  Y% g) _9 ^( t06:写指令码, [/ p' e1 H- u; U1 }7 J
00 01:写数据的地址(本项目中,只有写从机地址这一个功能,只有0x0001有效)* L  M% z3 m; c
00 01:写入的从机地址6 s- }4 D' P/ T; f$ \
0D C5:CRC-16校验码
! e- u9 S' x+ y8 h1 i% T: \9 @( [3 ^" q& }; W8 h
下面是从机1-10的写地址指令,可以直接取用。
. I8 x3 i0 j3 c3 U) G* h# }* q- M1 G
  1. FE 06 00 01 00 01 0D C53 Q; u+ M$ [  j: l* e7 ~5 i3 J
  2. FE 06 00 01 00 02 4D C40 Z9 I6 ]8 O; d4 X- ]. i7 B
  3. FE 06 00 01 00 03 8C 04
    9 P$ c) O2 @- j
  4. FE 06 00 01 00 04 CD C6- K- p6 W* c9 O' D) m
  5. FE 06 00 01 00 05 0C 063 d2 O+ n& F5 z0 U  j' h
  6. FE 06 00 01 00 06 4C 076 |. a; l0 d$ c- m! P
  7. FE 06 00 01 00 07 8D C7
    2 f4 T+ f' n( U, e
  8. FE 06 00 01 00 08 CD C3- F* G1 s: _8 K3 n+ a7 Y
  9. FE 06 00 01 00 09 0C 03: S, P' D" ^/ [
  10. FE 06 00 01 00 0A 4C 02
复制代码
( e( @8 ~4 U# s/ d6 H% R0 @
写地址是通过主模块(串口调试助手),无线对单片机板子修改:. N% d/ Q1 [! r5 e% Q
20200225174120444.jpg

( B8 L% m; ^7 x+ H* a* K
( m3 @" n' _( s; l1 n* I( S+ K$ q2,读数据指令:
$ r2 V+ `. l+ c7 T# t% r7 e读数据可以使用标准的Modbus软件,如ModbusPoll,设置如下所示:0 e0 O: u( p# J6 r) b# a8 t

$ }+ |9 F( P- m* T  K2 i
20200225174437942.jpg
5 l2 ^( m( ?* T1 f; E

6 D+ L9 Z% Z" s$ ^. C( c
20200225174451209.jpg

) I% y- x, r5 c+ E2 @* x
/ @! i$ [# J$ K, z, U8 b9 C# y3个板子一起读数据的截图:
$ R* _7 {2 ?8 V8 y. a9 N* j3 X8 L" F( }
20200225174631651.jpg
* J0 X3 |5 _8 d& @4 h) U4 J
/ {# A0 |- d1 S  T
低功耗上报数据:
0 V! @& C( I8 i- m, I$ ^在模式拨码开关设置成:1-ON,2-ON,单片机首先给DRF1609H模块设置成End Device,然后启动低功耗模式,低功耗模式下,10秒上报一次数据,2个5号电池,可以使用一年。
5 `! ?: v  d9 u" J& g. @" X( D$ w. ?9 A& \, M2 i
20200225175144437.jpg
6 g3 J! N8 Q5 K/ ^  T
: k" E  `8 H  j* ~- U/ B
20200225175202691.jpg

9 C+ U% B4 i3 d- L7 O" B
) }- \, @  h+ L测试Zigbee模块:
. ~+ Z4 P) s  v) c. a. D9 ?$ B这个项目的通讯采用的是Zigbee模块,主要考虑以下几点:
+ }5 F1 T) T8 J/ H( c1,Zigbee不依赖于外部网络或设备,如WIFI或GPRS,不需要额外增加东西,同时安装也比较简单,至少不需要TCP/IP等网络知识;8 F1 T" t8 P# ~& F( m3 I+ }, N- Y
2,相对于433M的模块,Zigbee通讯要快很多,如果采集的点比较多,这个优势就很明显了,昨天看一个资料,说LoRa,如果要容纳500点上报数据,则要求每个点至少间隔1小时上报一次,每次最多10个字节,而在我们这个项目中,如果是500个点,每个点的上报间隔只要100秒(即每个点预留200MS的时隙即可),每次10个字节。
- F8 u. I7 W2 i+ A; A3,Zigbee的自动路由,在工业现场,有些采集点可能放在锅炉底下、铁柜子里面,等等,由于Zigbee的自动路由,可以在旁边再放一个Router模块,这样,数据就可以自动路由出来,这也是Zigbee的优势之一。
! m. z# D' Z3 n; H( G) _' l3 F; f" {
厂家配套的软件,可以读取Zigbee的网络拓扑,还是很方便的:
1 s! p! P& W  T( I6 s# A! a; `% }6 U. ?4 o; N
2020022518040649.jpg

4 W. T" y6 N8 `5 C
* _  B& ~" x- Y2 T5 P! N0 G6 L
20200225180416122.jpg
% l, T- {7 O) F$ F3 s
, w8 u3 g1 r" w; R

1 ]0 b' d9 q& b( ]# `
2 Q7 {) c0 b/ i+ }; y/ @" S3 O
赞 收藏 评论0 发布时间:2021-11-13 23:00

举报

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