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

【stm8s】分享室内环境无线监控系统-NRF24L01, WIFI-7.23更新

[复制链接]
littlekong 发布时间:2015-7-22 21:23
本帖最后由 littlekong 于 2015-7-23 23:02 编辑 & ^  E$ E) z# l9 t! ^; _) y
- E7 e7 v. {# d% O* ]/ w: z
最近正在做一个基于stm8s103的室内环境无线监控系统,已经接近尾声,先跟大家分享下开发过程。不定期更新。完结后给大家提供源码.(QQ交流群:478737279)
7 \( _" a8 A4 j: [% W- Z5 {1.   项目介绍
框图如下所示,分为以下几个模块:
-       SCU(Sub-Control Unit)子控制单元:对于一个室内环境来说,常常分为若干个区域,例如主卧,次卧,客厅,厨房。由于这些区域是独立且相隔一定距离,所以同样的,我们也需要若干个子控制单元进行监控,然后将环境信息通过无线传送模块传送给主控制器。
-       MCU(Main-Control Unit)主控制单元:它的主要功能是汇总从各SCU传送过来的数据,并且将其汇总,然后通过WIFI将数据传送给电脑。此外我们可以适当地加一些功能,例如异常报警等。
-       Sensor传感器:用于采集室内环境数据,这边我们使用的是DH11温湿度传感器。
-       Wireless Module无线模块:给每个SCU配备的无线模块并不是WIFI之类的网络模块,那样的话成本太大,所以我们这边使用的常用的NRF24L01模块,它的传输距离对于室内环境来说已经够用了。
-       Wifi Module无线模块:MCU会配备一个WIFI模块,用于与PC通信,后续如果有时间,会做一个手机APP。
kuangtu.jpg
接下来,我们定义下开发过程:

; \& n' S( U6 o, c
  
Index
  
Items
Milestone
1
DH11 编程使用
完成DH11模块的编码,能够正常采集到温湿度数据
2
NRF24L01编程使用
完成NRF24L01模块的编码,能够通过它与MCU进行正常通信
3
MCU-RTC实时时钟
MCU具备实时时钟功能,方便记录异常发生时间
4
MCU-WIFI编程使用
MCU能够正常与PC通信
5
MCU-MMI(人机接口)
MCU能通过PC提供人机接口,用户可以通过PC得知当前室内环境状况,并查看告警记录
2.   资源初步规划
由于我们使用的是20脚的stm8s103,所以需要提前规划好管脚的分配,以免到后期才发现不够用。
                              
  
Pin
  
Descriptions
MCU
SCU
1
PD4
Buzzer
Buzzer
2
UART1_TX
UART  communication
Reserved
3
UART1_RX
UART  communication
Reserved
4
NRST
5
PA1
Reserved
Reserved
6
PA2
Reserved
Reserved
7
VSS
8
Vcap
9
Vdd
10
PA3
NRF24L01 IRQ Pin
NRF24L01 IRQ Pin
11
PB5
LED indicator
LED indicator
12
PB4
Reserved
Reserved
13
PC3
NRF24L01 CE Pin
NRF24L01 CE Pin
14
PC4
NRF24L01 CSN Pin
NRF24L01 CSN Pin
15
PC5
NRF24L01 SPI_SCK
NRF24L01 SPI_SCK
16
PC6
NRF24L01 SPI_MOSI
NRF24L01 SPI_MOSI
17
PC7
NRF24L01 SPI_MISO
NRF24L01 SPI_MISO
18
PD1
ST-Link SWIM
ST-Link SWIM
19
PD2-AIN3
Reserved
Reserved
20
PD3-AIN4
Reserved
DHT11_Pin2
+ e) Z1 N$ ~, ~# l5 X
2015.7.23更新:4 v# V2 n9 G+ I  G5 c
3.   DHT11的编程使用
本次课呢,主要给大家讲解下如何让我们的芯片与DHT11芯片通信以获取温湿度信息。
3.1 DHT11 简介
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传
感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高
的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测
温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快
响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的
湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内
部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集
成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使
其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4 针单排引脚
封装。连接方便,特殊封装形式可根据用户需求而提供。

; t8 f! t$ q: w* i image004.png # \' Z8 ^* }; U1 V
DHT11的传输时序大家可以自行上网找寻,这边就懒得贴图了。
- ?- h& }% h; s- v- ?3.2 DHT11 编程
为了方便后续将DHT11的代码移植到不同硬件平台,建议大家在编程的时候多考虑下如何做到模块化,降低与硬件层的耦合度。下面简单解析下本次实践DHT11部分的代码
-      定义硬件接口。要想实现程序的模块化,就需要避免直接使用硬件相关的接口。一个比较简单有效的方法就是通过宏去做个封装。如下所示,如果想将DHT11代码应用于其他芯片,只要替换以下的宏的后半部分即可。例如对于C51来说,你可以直接将他们替换成:
#define SetPin2Low()           P1_7 = 1

  Z) j% d0 I" C4 S
对于STM8S,硬件接口定义如下
image011.png
' M2 p2 Y4 h4 T
-      两个用于通讯过程中的延迟函数
    A.利用timer中断,进行延迟,uwDelayCnt表示延迟的毫秒数
                              
" r, z5 h% y- u
    B.直接用for循环进行10us延迟

( L$ F+ A7 N, y5 L% X9 H1 E; p4 p+ g
-      根据DHT11手册上的通讯时序,进行编码
image014.png
-      检测DHT11是否安装。DHT11的Pin2通过上拉电阻接到3.3V,所以初始状态或者未与芯片通讯时电平为高。所以我们可以此来判断DHT11是否装到了系统上。如果未检测到它安装,则不与它进行通信,以此节约时间。所以我们设定每隔500ms检测一次这个管脚的状态,防止中途用户插上/拔出DHT11传感器或者DHT11损坏。在完善人机接口的时候,我们可以根据DHT_u8DhtInstalled的值来提示用户检测DHT11是否安装。
image015.png
/ t8 V+ `2 y& s- o- T, c; \

% E& L# A2 D; E6 u
收藏 3 评论14 发布时间:2015-7-22 21:23

举报

14个回答
星辰一方 回答时间:2015-7-23 08:45:23
NRF24L01,据说这个模块不好调试,楼主感觉如何?
星辰一方 回答时间:2015-7-23 08:45:37
之前没接触过NRF24L01这个模块……
你好我好大家好! 回答时间:2015-7-23 08:51:37
帮顶              
yanhaijian 回答时间:2015-7-23 09:03:43
呵呵,这个系统的重点在通信协议以及系统整合上面。
JackieLaura 回答时间:2015-7-23 10:08:45
这个还是一个初步的方案吧?室内的SCU为什么不用zigbee自组网来传数据呢?
左岸右岸 回答时间:2015-7-23 11:34:14
zigbee和NRF24L01都很多人用
埃斯提爱慕 回答时间:2015-7-23 12:41:43
提示: 作者被禁止或删除 内容自动屏蔽
littlekong 回答时间:2015-7-23 19:09:18
星辰一方 发表于 2015-7-23 08:45
/ V1 |3 o, N6 x9 X0 dNRF24L01,据说这个模块不好调试,楼主感觉如何?

7 H  L$ O2 |0 ]9 W7 `- Q0 C硬件电路做了简单优化以后,即便用台版的NRF都还挺稳定的
littlekong 回答时间:2015-7-23 19:09:53
JackieLaura 发表于 2015-7-23 10:08& K! y' H4 @5 x3 g
这个还是一个初步的方案吧?室内的SCU为什么不用zigbee自组网来传数据呢?
3 n: X) {8 o; c6 K( r' T/ w
主要是面向学生朋友做的,所以NRF足够了
lyg407 回答时间:2017-3-8 16:20:22
写的不错。
zbber 回答时间:2017-3-8 17:33:01
呵呵,这个系统的重点在通信协议以及系统整合上面
feixiang20 回答时间:2017-5-23 02:15:26
谢谢分享
epochal 回答时间:2017-5-23 07:20:48
谢谢分享!
tomcator 回答时间:2017-7-23 18:46:20
/ P$ v% d, |9 W. M7 n  P; A$ v
谢谢分享,学习学习

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版