论文部分内容阅读
摘要:本文是在充分研究了CC1100无线通讯、MC55的AT命令和AT89S52单片机的前提下,运用数字电路设计、uCOS、控制理论等相关知识,提出了一个能在实际的家居中对家电进行远程控制的一种解决方案。该方案通过GSM网络发送控制命令到主控模块,主控模块收到命令后进行相应的处理并发送到对应的终端模块,终端模块进行电器的控制。本文给出了该方案的实现方法。
关键词:智能家居;CC1100;GSM网络;uCOS
中图分类号:TN915.5文献标识码:A文章编号:1009-3044(2008)27-2092-02
A Kind of Intelligent Home Controlling System Based on CC1100 and GSM
LI Hai-rong1, FANG Zhong-chun1,2
(1.Practice and Training Center, Inner Mongolia University of Science and Technology,Baotou 014010, China;2.School of Information Engineering, University of Science and Technology Beijing, Beijing 100083, China)
Abstract: Through deeply research and analysis of CC1100 wireless communication,, AT commands of MC55 and AT89S52 , a new concept called DIDBS (Distributed Intelligent Database System) is put forward, which is used for realizing man-man, man-computer, computer-computer coordinated operation in man-computer society. Then its conceptual model and systemic architecture are expatiated on. Based on this, this paper not only studies coordinated mechanism and its implementation model of DIDBS but also puts forward coordinated strategies.
Key words:intelligent home;CC1100;GSM;UCOS
1 引言
随着电信和互联网新技术的发展,数字化家居控制系统的出现使得人们可以通过手机或者互联网在任何时候、任意地点对家中的任意电器或设备(电视、电饭煲、电磁炉、热水器、电灯、音响、DVD录像机、窗户窗帘等)进行远程控制,如:可以通过手机短信发送命令提前打开空调,开启电饭煲煮米饭等,从而极大地方便了人们的生活。本文设计的系统应用短距离无线通讯技术,使得在不改变家中任何家电的使用情况(如:线路布局等)
下,能够对电器或设备进行远程控制,自由增加和取消终端控制模块。
2 系统的总体结构
该系统主要由主控模块和终端控制模块两部分组成,这两种模块使用的控制芯片是AT89S52单片机。
2.1 主控模块
主控模块是该控制系统的核心部分,它负责接收用户通过手机发送的命令并把命令发送给对应的终端控制模块,其结构如图1所示。
MC55是GSM模块,负责接收用户通过手机发送的命令;功能键主要进行模块功能设置,如:启用和停用某个终端模块的控制、设置短信控制命令的格式等;CC1100用于家中的主控模块和终端模块的短距离无线通讯;AT24C02是使用I2C总线通讯访问的EEPROM,用于保存用户的设置信息。
2.2 终端控制模块
终端控制模块主要用于控制各个电器的开关以及获取控制对象的状态(如通过土壤湿度传感器获取花盆中土壤的湿度,以便决定是否浇水),其用法简单,只需通过该模块转接用电器的电源即可,终端控制模块结构如图2所示。
土壤湿度传感器用于智能浇花模块中探测土壤的湿度以便提示用户浇水或自动浇水;继电器用于控制用电器的供电系统;CC1100用于与主控模块通讯;AT24C02用于保存用户对终端控制模块的设置,如:模块的地址、是否自动浇花以及某些控制对象的伐值,以便智能地控制对象;功能键用于对终端模块进行设置。
3 系统的工作过程
该系统的使用比较简单,其正常工作过程如下:
1)该系统工作时,首先应该启动主控模块,这时主控模块就会等待终端模块注册。通过终端模块的注册主控模块才知道终端控制模块的地址(设备ID,用于唯一标志终端模块),终端模块的地址获取的方法是:
a. 用户通过功能键设置
用户通过功能键设置地址时,该模块会重新用新地址注册,主控模块会检查新地址是否被其它终端模块占用,如果地址被其它终端模块占用那么注册失败,主控模块给终端模块发送失败的错误代码标志地址占用,终端模块提示用户更换地址或保持不便;如果地址没有被其它终端模块占用,那么注册成功,主控模块给终端模块发送注册成功,然后主控模块删除原来该终端模块注册的地址,终端模块把新地址保存于EEPROM中。
b. 主控模块自动分配
如果用户通过功能键选择自动分配终端模块地址,那么主控模块就会从1到254中找到一个没有被其它终端模块使用的地址并发送给该终端模块。
为了使用方便,终端模块在首次启动时是处于自动获取设备地址的方式,终端模块在没有分配到实际地址时,它用地址为0和主控模块进行通讯,用过0地址通讯就能为终端设置一个非0的有效地址。考虑到系统的稳定性,终端模块在注册时都会检测系统中是否存在地址冲突,如果有,那么提示用户设置地址,如果在1分钟没有设置地址主控模块会给终端分配一个有效地址。终端模块上都有一个4位的8段数码管可以显示设备地址、进行功能设置时显示功能号以及终端出错时显示错误号。
2)当终端模块在主控模块上注册后,用户就可以通过手机短信发送控制命令控制终端模块,从而控制终端模块操作的电器设备。
4 系统的硬件构成
系统主要由单片机AT89S52、传感器单元电路、固态继电器控制电路(控制具体的电器设备)、GSM模块(MC55)电路、CC1100接口电路、AT24C02接口电路组成。
1)传感器单元电路
该系统使用的传感器是DX-S2型土壤水分传感器,它是根据频域反射仪(FDR)原理研制的高精度土壤水分测量仪器。FDR原理是国际上土壤湿度采集所采用的最成熟实用技术之一,也是国家土壤墒情监测规范认可的土壤含水率监测技术,它通过测出被测土壤的介电常数,并根据土壤容积含水率与土壤介电常数之间的非线性关系推导出土壤的容积含水率和重量含水率。其精度误差不超过2%,工作电压4.5~5.5V直流电,输出0~2.5V模拟信号。系统中使用了一个8位的AD芯片用于采集传感器的输出电压,数据直接从P0口读取,从而得知土壤的湿度以便于决定是否给花浇水。该电路单元是可拆卸的,因为在该系统的终端模块中只有浇花模块才使用。
2)固态继电器控制电路
该接口电路单元主要用于控制电器设备。固态继电器与电磁继电器相比,具有工作可靠、寿命长、无火花、抗干扰能力强、开关速度快、能与集成电路兼容等优点。由于考虑到单片机的驱动能力较小,所以在设计继电器控制电路时,运用了一个三极管设计驱动电路。在控制电路中,输出的开关量信号一般都需要锁存,以便于使受控设备在下一次输出的开关量到来之前,一直收到本次开关量的控制,所以控制继电器用P1.0口。
3)GSM模块电路
该接口电路主要用于借助GSM网络和手机通讯。GSM模块与单片机的串行数据接口相连接,通过串行口给模块发送AT命令。
4)CC1100电路
该接口电路用于主控模块和终端模块之间的短距离无线通讯,从而不用改变任何家电的使用情况。CC1100的主要引脚与单片机的连接关系是:SCLK和P1.1连接,SI和P1.2连接,SO和P1.3连接。
5)AT24C02接口电路
AT24C02主要用于保存模块的配置信息。它通过SDA(串行数据线)及SCL(串行时钟线)两根线分别与单片机的P3.5和P3.6相连,并分别接上4.7k的上拉电阻。
5 系统的软件设计
该系统的软件设计运用Keil C51开发工具,并运用uCOS嵌入式实时操作系统,从而使得代码模块化,使得代码的复用性得到增强。该系统设计到的操作系统任务主要有:DoCommandTask(处理命令的任务),SMRecvSndTask(短信息的收发任务),CC1100Task(无线通讯任务),MainTask(主任务)。
DoCommandTask 主要处理无线通讯缓冲区中收到的数据,把数据解析成对应的地址,操作码,控制类型等。并根据这些信息进行电器的控制、地址的保存、返回信息源请求的数据等。
SMRecvSndTask 主要是主控模块用于接收和发送短信息的任务。该任务收到短信息并解析短信息的数据,把解析完的内容放入无线通讯的命令发送缓冲区或根据用户的短消息控制命令采取相应的动作,如:请求某个终端的状态,那么主控模块向对应终端发送请求状态的命令,终端返回状态后,主控模块就把状态通过短信的方式发送给用户手机。
CC1100Task 无线通讯任务。主要用于接收和发送短距离无线通讯数据,并把接收的数据放入接收缓冲区中以便于DoCommandTask任务处理。
MainTask 主任务。用于初始化外围设备和启动其它任务,如:GSM模块、CC1100和AD芯片等。
该系统的软件设计使用嵌入式实时操作系统使得系统的运行效率提高,由于任务的运行是并行的,从而大大简化了程序设计。如果不使用操作系统,往往需要使用全局结构变量分阶段运行程序片段,这将增加程序设计的复杂度。
6 结论
根据上述的步骤设计的智能家居控制系统在实际应用中取得了较好的效果,特别是浇花模块的智能性体现得较好,设置自动浇花后,系统会根据用户事先设置的土壤湿度情况进行自动浇花,浇花的相关信息也能根据用户的设置发送或不发送短信息到用户的手机。该系统的不足之处是电器的控制不够彻底,因为不能获得各种电器的具体状态,如空调设置的温度、电磁炉现在的温度,不过只要根据具体的电器进行有针对性的设计终端模块也能得到部分解决。
本文的创新点如下:
1)智能自适应浇花模块,该模块能够根据其它模块的设置自动调节自己的参数。
2)高安全的无线通讯,CC1100通讯安全性较高,在此基础上又对数据包进行了加密。
参考文献:
[1] 杨金岩,郑应强,张振仁.8051单片机数据传输接口扩展技术与应用实例[M].北京:人民邮电出版社,2005.
[2] 王幸之,王雷,钟爱琴,王闪.单片机应用系统电磁干扰与抗干扰技术[M].北京:北京航空航天大学出版社,2006.
[3] 李文仲,段朝玉. 短距离无线数据通信入门与实战[M].北京:北京航空航天大学出版社,2006.
[4] 马学文,朱名日. X-10在智能家居应用中干扰问题的研究[J].电子器件,2004(2),261-263.
关键词:智能家居;CC1100;GSM网络;uCOS
中图分类号:TN915.5文献标识码:A文章编号:1009-3044(2008)27-2092-02
A Kind of Intelligent Home Controlling System Based on CC1100 and GSM
LI Hai-rong1, FANG Zhong-chun1,2
(1.Practice and Training Center, Inner Mongolia University of Science and Technology,Baotou 014010, China;2.School of Information Engineering, University of Science and Technology Beijing, Beijing 100083, China)
Abstract: Through deeply research and analysis of CC1100 wireless communication,, AT commands of MC55 and AT89S52 , a new concept called DIDBS (Distributed Intelligent Database System) is put forward, which is used for realizing man-man, man-computer, computer-computer coordinated operation in man-computer society. Then its conceptual model and systemic architecture are expatiated on. Based on this, this paper not only studies coordinated mechanism and its implementation model of DIDBS but also puts forward coordinated strategies.
Key words:intelligent home;CC1100;GSM;UCOS
1 引言
随着电信和互联网新技术的发展,数字化家居控制系统的出现使得人们可以通过手机或者互联网在任何时候、任意地点对家中的任意电器或设备(电视、电饭煲、电磁炉、热水器、电灯、音响、DVD录像机、窗户窗帘等)进行远程控制,如:可以通过手机短信发送命令提前打开空调,开启电饭煲煮米饭等,从而极大地方便了人们的生活。本文设计的系统应用短距离无线通讯技术,使得在不改变家中任何家电的使用情况(如:线路布局等)
下,能够对电器或设备进行远程控制,自由增加和取消终端控制模块。
2 系统的总体结构
该系统主要由主控模块和终端控制模块两部分组成,这两种模块使用的控制芯片是AT89S52单片机。
2.1 主控模块
主控模块是该控制系统的核心部分,它负责接收用户通过手机发送的命令并把命令发送给对应的终端控制模块,其结构如图1所示。
MC55是GSM模块,负责接收用户通过手机发送的命令;功能键主要进行模块功能设置,如:启用和停用某个终端模块的控制、设置短信控制命令的格式等;CC1100用于家中的主控模块和终端模块的短距离无线通讯;AT24C02是使用I2C总线通讯访问的EEPROM,用于保存用户的设置信息。
2.2 终端控制模块
终端控制模块主要用于控制各个电器的开关以及获取控制对象的状态(如通过土壤湿度传感器获取花盆中土壤的湿度,以便决定是否浇水),其用法简单,只需通过该模块转接用电器的电源即可,终端控制模块结构如图2所示。
土壤湿度传感器用于智能浇花模块中探测土壤的湿度以便提示用户浇水或自动浇水;继电器用于控制用电器的供电系统;CC1100用于与主控模块通讯;AT24C02用于保存用户对终端控制模块的设置,如:模块的地址、是否自动浇花以及某些控制对象的伐值,以便智能地控制对象;功能键用于对终端模块进行设置。
3 系统的工作过程
该系统的使用比较简单,其正常工作过程如下:
1)该系统工作时,首先应该启动主控模块,这时主控模块就会等待终端模块注册。通过终端模块的注册主控模块才知道终端控制模块的地址(设备ID,用于唯一标志终端模块),终端模块的地址获取的方法是:
a. 用户通过功能键设置
用户通过功能键设置地址时,该模块会重新用新地址注册,主控模块会检查新地址是否被其它终端模块占用,如果地址被其它终端模块占用那么注册失败,主控模块给终端模块发送失败的错误代码标志地址占用,终端模块提示用户更换地址或保持不便;如果地址没有被其它终端模块占用,那么注册成功,主控模块给终端模块发送注册成功,然后主控模块删除原来该终端模块注册的地址,终端模块把新地址保存于EEPROM中。
b. 主控模块自动分配
如果用户通过功能键选择自动分配终端模块地址,那么主控模块就会从1到254中找到一个没有被其它终端模块使用的地址并发送给该终端模块。
为了使用方便,终端模块在首次启动时是处于自动获取设备地址的方式,终端模块在没有分配到实际地址时,它用地址为0和主控模块进行通讯,用过0地址通讯就能为终端设置一个非0的有效地址。考虑到系统的稳定性,终端模块在注册时都会检测系统中是否存在地址冲突,如果有,那么提示用户设置地址,如果在1分钟没有设置地址主控模块会给终端分配一个有效地址。终端模块上都有一个4位的8段数码管可以显示设备地址、进行功能设置时显示功能号以及终端出错时显示错误号。
2)当终端模块在主控模块上注册后,用户就可以通过手机短信发送控制命令控制终端模块,从而控制终端模块操作的电器设备。
4 系统的硬件构成
系统主要由单片机AT89S52、传感器单元电路、固态继电器控制电路(控制具体的电器设备)、GSM模块(MC55)电路、CC1100接口电路、AT24C02接口电路组成。
1)传感器单元电路
该系统使用的传感器是DX-S2型土壤水分传感器,它是根据频域反射仪(FDR)原理研制的高精度土壤水分测量仪器。FDR原理是国际上土壤湿度采集所采用的最成熟实用技术之一,也是国家土壤墒情监测规范认可的土壤含水率监测技术,它通过测出被测土壤的介电常数,并根据土壤容积含水率与土壤介电常数之间的非线性关系推导出土壤的容积含水率和重量含水率。其精度误差不超过2%,工作电压4.5~5.5V直流电,输出0~2.5V模拟信号。系统中使用了一个8位的AD芯片用于采集传感器的输出电压,数据直接从P0口读取,从而得知土壤的湿度以便于决定是否给花浇水。该电路单元是可拆卸的,因为在该系统的终端模块中只有浇花模块才使用。
2)固态继电器控制电路
该接口电路单元主要用于控制电器设备。固态继电器与电磁继电器相比,具有工作可靠、寿命长、无火花、抗干扰能力强、开关速度快、能与集成电路兼容等优点。由于考虑到单片机的驱动能力较小,所以在设计继电器控制电路时,运用了一个三极管设计驱动电路。在控制电路中,输出的开关量信号一般都需要锁存,以便于使受控设备在下一次输出的开关量到来之前,一直收到本次开关量的控制,所以控制继电器用P1.0口。
3)GSM模块电路
该接口电路主要用于借助GSM网络和手机通讯。GSM模块与单片机的串行数据接口相连接,通过串行口给模块发送AT命令。
4)CC1100电路
该接口电路用于主控模块和终端模块之间的短距离无线通讯,从而不用改变任何家电的使用情况。CC1100的主要引脚与单片机的连接关系是:SCLK和P1.1连接,SI和P1.2连接,SO和P1.3连接。
5)AT24C02接口电路
AT24C02主要用于保存模块的配置信息。它通过SDA(串行数据线)及SCL(串行时钟线)两根线分别与单片机的P3.5和P3.6相连,并分别接上4.7k的上拉电阻。
5 系统的软件设计
该系统的软件设计运用Keil C51开发工具,并运用uCOS嵌入式实时操作系统,从而使得代码模块化,使得代码的复用性得到增强。该系统设计到的操作系统任务主要有:DoCommandTask(处理命令的任务),SMRecvSndTask(短信息的收发任务),CC1100Task(无线通讯任务),MainTask(主任务)。
DoCommandTask 主要处理无线通讯缓冲区中收到的数据,把数据解析成对应的地址,操作码,控制类型等。并根据这些信息进行电器的控制、地址的保存、返回信息源请求的数据等。
SMRecvSndTask 主要是主控模块用于接收和发送短信息的任务。该任务收到短信息并解析短信息的数据,把解析完的内容放入无线通讯的命令发送缓冲区或根据用户的短消息控制命令采取相应的动作,如:请求某个终端的状态,那么主控模块向对应终端发送请求状态的命令,终端返回状态后,主控模块就把状态通过短信的方式发送给用户手机。
CC1100Task 无线通讯任务。主要用于接收和发送短距离无线通讯数据,并把接收的数据放入接收缓冲区中以便于DoCommandTask任务处理。
MainTask 主任务。用于初始化外围设备和启动其它任务,如:GSM模块、CC1100和AD芯片等。
该系统的软件设计使用嵌入式实时操作系统使得系统的运行效率提高,由于任务的运行是并行的,从而大大简化了程序设计。如果不使用操作系统,往往需要使用全局结构变量分阶段运行程序片段,这将增加程序设计的复杂度。
6 结论
根据上述的步骤设计的智能家居控制系统在实际应用中取得了较好的效果,特别是浇花模块的智能性体现得较好,设置自动浇花后,系统会根据用户事先设置的土壤湿度情况进行自动浇花,浇花的相关信息也能根据用户的设置发送或不发送短信息到用户的手机。该系统的不足之处是电器的控制不够彻底,因为不能获得各种电器的具体状态,如空调设置的温度、电磁炉现在的温度,不过只要根据具体的电器进行有针对性的设计终端模块也能得到部分解决。
本文的创新点如下:
1)智能自适应浇花模块,该模块能够根据其它模块的设置自动调节自己的参数。
2)高安全的无线通讯,CC1100通讯安全性较高,在此基础上又对数据包进行了加密。
参考文献:
[1] 杨金岩,郑应强,张振仁.8051单片机数据传输接口扩展技术与应用实例[M].北京:人民邮电出版社,2005.
[2] 王幸之,王雷,钟爱琴,王闪.单片机应用系统电磁干扰与抗干扰技术[M].北京:北京航空航天大学出版社,2006.
[3] 李文仲,段朝玉. 短距离无线数据通信入门与实战[M].北京:北京航空航天大学出版社,2006.
[4] 马学文,朱名日. X-10在智能家居应用中干扰问题的研究[J].电子器件,2004(2),261-263.