摘要: 为了设计一种智能型可远程控制的家居监控系统,采用2. 4GHz 模块nRF24L01,通过单片机内部程序控制,完成了无线微控制网络的构建,并通过程序控制,实现了智能化控制家电,通过AT 指令控制TC35 模块,实现了通过移动终端远程控制家电的功能。本文介绍内容包括系统总体结构、2. 4GHz 无线微控制网络的构建、TC35 模块和红外学习遥控的应用,重点介绍系统总体结构及无线微控制网络的构建。该系统组网、安装方便,能智能化的自动控制家用电器,可通过移动电话远程控制家用电器的运转。
0 引言
现代社会的手机使用已经极其普遍,通过手机给用户反馈信息要比通过电脑网络直接有效且实时性高。智能家居行业在近几年得到了较快的发展,智能家居系统也在逐渐成为一个新兴的研究领域。随着2. 4GHz 频段器件应用的普遍化,2. 4GHz 频段的高通讯速率和可兼容性正引起人们的重视,比起其它组网方式,采用2. 4GHz 通信正逐步成为家电类产品无线通信发展的趋势。
由于红外传输是一项比较成熟且成本低廉的无线传输技术,因此,目前的家电几乎都采用了红外遥控。由于红外遥控的编码方式不同,使用学习型红外遥控能达到对不同家电产品都通用的目的。本文介绍一种以2. 4GHz 无线微控制网络为基础,通过TC35 的短信接口和学习型红外遥控器组成的智能家居监控系统。
1 系统设计
通常的智能家居系统中使用的控制网络组网方案有普通的有线传输方式和无线传输两种。有线传输方式依靠电缆连接,虽然连接稳定且速率高,但由于需要布置专用线缆,便利性不高。无线传输方式中,有315MHz 和2. 4GHz 几个频段,315MHz 频段带宽窄且易受干扰,不便采用,而2. 4GHz 频段中,又包含蓝牙、ZigBee 等几种协议且互不兼容,蓝牙和Zig-Bee 技术成本高,且协议开销大,综合考虑,本设计采用NORDIC 公司的2. 4GHz 射频收发器件nRF24L01来提供数据交互以组建无线微网络[3 - 5].
本系统是通过控制nRF24L01 模块而构成星型结构的无线微控制网络,以主控机为微网络的中央控制节点,主控机通过微网络控制多个作为执行节点和测量节点的从机,主控机接收处理各从机发来的信息,并将控制信号发往各从机以执行相关控制。星型结构的网络管理和控制方便,延迟时间短,可靠性高。
系统总体结构如图1 所示。
图1 系统整体结构框图
1. 1 主控机设计
主控机的控制芯片使用STC89C52RC 单片机,无线模块选用NORDIC 公司2. 4GHz 单片射频收发芯片nRF24L01,它内嵌NORDIC - Enhanced Shock Burst协议,内置链路层,可实现点对点或是1 对6 无线通信,单片机通过SPI 方式与之通信。选用的TC35 是Siemens 公司AT 指令操作的GSM 模块,系统通过nRF24L01 接受各分机发来的信息并处理,将控制信号发往各个分机,并通过Philips 串行通讯方式的PCD8544 液晶PCD8544,可显示3 行8 列汉字来实现用户界面,并通过GSM 给用户提供远程操作接口。
使用DALLAS 公司的时钟电路DS1302 作为系统实时时钟,用以提供时间。
主机通过I /O 口与STC89C52RC 进行通讯来实现GSM 模块的控制。STC89C52RC 通过接收来自GSM 模块的数据并处理后传至STC89C58RD +,STC89C58RD +发送的指令经过STC89C52RC 处理后由STC89C52RC 控制GSM 模块把信息告知用户。主控机硬件结构框图如图2 所示。
图2 主控机硬件结构框图
如图3 所示,当主控机上电时,单片机STC89C52RC 首先对各器件进行初始化,初始化完成后,进入主软件部分,若有按键按下则执行相关的按键处理,读取时间和温度,判断是否有需要处理的定时任务并处理,同时查询nRF24L01 看是否收到来自从机的信息,在处理相关数据后,操作液晶屏显示相关信息。
图3 主控机软件流程图
1. 2 从机设计
图4 从机的控制芯片使用STC12C2052AD,通过SPI 口与nRF24L01 通信,并通过继电器和红外学习遥控控制各家电,温度传感器使用DALLAS 公司的单总线温度传感器DS18B20,红外入侵检测使用市面上常见的以BISS0001 为处理芯片的红外热释电传感器模块。可燃气体传感器使用MQ - 2 传感器,传感电路输出的模拟电压值通过单片机STC12C2052AD 内置AD 进行转换。
图4 从机电路原理图
2 系统主要模块设计
2. 1 无线移动通信模块设计
本系统借用了GSM 通讯模块的SMS( Short MessageService) 短信息服务模式,系统采用了Siemeils公司TC35 无线通讯模块,模块提供AT 指令接口,支持文本和PDU 模式的短消息。通过串口发送AT 指令就可以控制GSM 模块发送信息到指定的移动终端,并且监听GSM 模块是否收到新短信。
在操作TC35 模块时,首先发送初始化指令AT&F 进行初始化,然后通过指令AT + CMGF 选择为文本模式并发送查询指令进行网络状态查询和信息接收查询。若需要发送信息,则通过对应指令依次写入信息中心号码、目的手机号码和短信内容进行发送。图5 为TC35 收发短信工作流程图。
信息发送的程序片段如下:
init_serialcom( ) ; / /初始化串口
AT_RST( ) ; / /格式化指令
AT_CREG( ) / /网络状态查询指令
AT_CSCA( ) ; / /写信息中心号
AT_CMGS( ) ; / /写目的手机号
ATDATA( ) ; / /写信息内容
图5 GSM 模块软件设计框图
2. 2 无线通信模块设计
nRF24L01 和单片机相连的有6 根控制和数据信号线,分别为CSN、SCK、MOSI、MISO、IRQ 和CE。
CSN 为器件片选端,CSK、MISO 和MOSI 构成SPI 口,IRQ 为中断,CE 为模式控制。
nRF24L01 可选择的收发模式有Enhanced Shock-Burst 收发模式、ShockBurst 收发模式和直接收发模式三种。本设计中采用Enhanced ShockBurst 收发模式。
nRF24L01 具体的操作流程如图6 所示。
图6 nRF24L01 操作流程
在软件部分进入其他程序运行前,对nRF24L01进行初始化,配置器件的自动重发次数、通信频率、发射功率和接收增益等参数。
操作nRF24L01 时,首先通过CE 口将nRF24L01的CE 拉低使其进入待机状态,写Tx 和Rx 节点地址,若为发送则写TX_FIFO,通过CE 和寄存器PWR_UP、PRIM_RX 确定转换的模式。若是发送,则等待发送完成中断后推出,若为接收,则等待接受中断然后读出接收的数据为避免多个无线模块之间发生冲突,主控机和多个从机分别采用不同的地址,每个从机只跟主控机进行数据收发通信,由主控机作为信息的中继和控制中心,形成一个以主控机为中央节点的微控制网络。
2. 3 系统自主学习功能设计
红外学习遥控使用HX1838 型通用一体化红外接收头作为红外编码接收器件,红外发射管使用台湾亿光的IR333 - A.
红外学习遥控由单片机进行脉宽采样并记录,由单片机产生38kHz 的载波,经过缓冲放大后通过红外发射管发射出去。红外脉宽的采样采用一体化红外接收头接收,通过单片机定时器测量脉宽,然后将脉宽信息写入EEPROM 存储,发送编码时,由单片机产生38kHz 的载波,脉宽调制后经过缓冲放大后通过红外发射管发射出去。为此,红外学习遥控器由STC12C2052AD 单片机作为控制芯片,STC12C2052AD 内部集成了10k 的EEPROM 用以存储红外编码,定时器的溢出可作为时钟由I /O 口输出作为38kHz 载波。
红外学习遥控的编码存储采用EEPROM 存储,由于单片机内置EEPROM 的擦除速度较慢,若在接收时擦除扇区速度太慢,且易出错。存储时采用地址存储扇区和数据存储扇区配合的方式存储,个扇区作为地址存储扇区,用以存储各编码的存储扇区数,数据存储扇区用来存储各编码的内容。数据存储部分,采用当前扇区和备用扇区切换的方式存储,学习编码时,先将备用扇区内的内容擦除,将新的编码写入备用扇区,当红外编码学习完后,通过修改地址存储扇区的内容将当前扇区指向新写好的编码所在扇区,而备用扇区则指向之前的扇区。
3 结束语
实验表明,该系统是可行的,该监控系统能智能化的自动控制家内电器,可通过移动电话远程控制家里电器的运转。由于使用2. 4GHz 无线方式组网,安装方便。
由于采用51 单片机作为微控制器,系统反应速度较慢,且在通过nRF24L01 进行2. 4GHz 通信组网时,未使用跳频方式工作,若在同时有其他2. 4GHz频段通信存在时易产生干扰而造成兼容性问题。考虑采用cortex - m3 内核的低成本ARM 处理器作为主控机的微处理器,在成本增加不多的情况下提升系统性能,在通过nRF24L01 进行2. 4GHz 通信组网时,采用跳频方式进行通信,减少受干扰的几率,增强兼容性。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。