基于zigbee和gprs的智能开关项目总结

zigbee协议栈

CC2530最小系统模块

CC2530是用于2.4-GHz、IEEE802.15.4、Zigbee和RF4CE应用的一个真正的片上系统解决方案。CC2530结合了领先的RF收发器的优良性能,业界标准的增强型8051CPU,系统内可编程闪存,8-KBRAM和许多其它强大的功能。CC2530有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB的闪存。CC2530F256结合了德州仪器的业界领先的黄金单元Zigbee协议栈(Z-Stack™),提供了一个强大和完整的Zigbee解决方案。

网关主程序:

网关主程序设计的流程为:系统上电,协议栈和外设开始初始化,初始化完成Zigbee开始组网,组网完成后网关开始查询消息,若有消息进来判断是否为串口消息若为串口消息说明这是用户客户端有命令传来,之后解析命令给相关节点发送命令,若为节点信息,则将节点消息发送给服务器。

子节点程序

子节点程序设计的流程为:系统上电,协议栈和外设开始初始化,初始化完成Zigbee开始组网,组网完成后网关开始查询消息,若有消息进来判断是否为协调器消息,若为协调器消息则回应协调器的响应并执行相关命令操作,若为其他节点消息则转发此消息给协调器并等待协调器的回应。

Zigbee+GPRS联网程序分析:

http://blog.csdn.net/gogomusic/article/details/53020357

GPRS 模块

电源接口:支持5V~18V(建议使用9V1A 电源)

PC端通信:串口

通信端:TCP协议

DS18B20

技术性能:

1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

2)测温范围 -55℃~+125℃

3)测量结果以9~12位数字量方式串行传送

配置寄存器

配置寄存器是配置不同的位数来确定温度和数字的转化。

可以知道R1,R0是温度的决定位,由R1,R0的不同组合可以配置为9位,10位,11位,12位的温度显示。四种配置的分辨率分别为0.5℃,0.25℃,0.125℃和0.0625℃,出厂时以配置为12位。

温度的读取

DS18B20在出厂时以配置为12位,读取温度时共读取16位,前5个位为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。温度为正时读取方法为:将16进制数转换成10进制即可。温度为负时读取方法为:将16进制取反后加1,再转换成10进制即可。例:0550H = +85 度,FC90H = -55 度

操作时序:

https://baike.baidu.com/item/DS18B20/10295269?fr=aladdin

DHT11

这里写图片描述

串行接口(单线双向):

DATA 用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分。

一次完整的数据传输为40bit,高位先出。
数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.

具体操作时序请看附件。

MQ-2烟雾传感器

输出形式:
a 模拟量电压输出
​ b 数字开关量输出(0 和1)
这里写图片描述

模块在无上述气体影响或者气体浓度未超过设定阈值时,数字接口DO 口输出高电平,模拟接口A0 电压基本为0v 左右,当气体影响超过设定阈值时,模块数字接口D0 输出低电平,模拟接口A0 输出的电压会随着气体的影响慢慢增大;

猜你喜欢

转载自blog.csdn.net/gogomusic/article/details/79350010