基于智能家居网络系统的通信协议实现

2014-04-21 09:05刘德新刘俊
深圳信息职业技术学院学报 2014年3期
关键词:通信协议网络系统字节

刘德新,刘俊

(深圳信息职业技术学院电子与通信学院,广东 深圳 518172)

基于智能家居网络系统的通信协议实现

刘德新,刘俊

(深圳信息职业技术学院电子与通信学院,广东 深圳 518172)

智能家居网络系统正逐步进入家庭,而智能控制器及终端之间通信协议选择是实现智能家居的关键。本文阐述了智能家居网络系统的组成,提出基于通信协议的智能家居实现方案,并详细阐述了该协议实现方法及其代码,对智能家居控制系统开发与实践具有一定意义。

智能家居;智能控制器;通信协议;代码实现

近年来,随着计算机技术、嵌入式系统技术、网络通讯技术与传感器技术的发展,智能家居网络系统逐渐步入家庭,给家庭带来前所未有的便利。智能家居网络系统通常由智能家居控制器和众多终端组成。而在智能家居系统中,实现相关终端与智能控制器之间、智能控制器与智能控制器之间的稳定、快速通信是至关重要的,它需要灵活性强、扩展性强的通信协议。

1 智能家居网络系统

一般典型家居通常由门庭、客厅、餐厅、厨房、卫生间、卧室、阳台等组成。实现智能家居就必须对家居的各个组成部分实现智能控制。下面以门庭、客厅智能家居网络系统进行简单说明。

门庭通常必须实现门禁、灯控、网络与红外探测、智能电网等功能。因此,该部分应对应设置电控锁、灯控多功能面板、红外探测器与网络摄像头、智能电度表灯终端,以及实现中控的门庭智能家居控制器。

客厅需要实现灯光调节、湿度温度测量、空调与电视电量测量与监控、网络与红外探测、烟火灾探测,以及方便的操作平台,需采用多功能面板、节能灯、排气扇、智能调光开关、智能光强及温湿度计、智能插座、烟火灾探测器及红外探测器等终端以及对应的智能家居控制器。

图1 智能家居系统组成Fig.1 Home Furnishing intelligent system

门庭与客厅之间的连接如图1。

通过全面实现门庭、客厅、餐厅、厨房、卫生间、卧室、阳台等的智能家居控制系统及其联网,能实现家庭安全防护系统、网络业务服务和家庭自动化系统,实现全面的智能安全防护、便利通讯服务以及舒适的智能控制居住环境。

2 智能家居网络系统通信协议选择

正如前述,智能家居网络系统是由智能家居控制器和许多终端组成。而在智能家居网络系统中,智能家居控制器和一些终端控制器(如智能插座、多功能面板等)均采用各种单片机来完成,单片机的串行接口可以完成智能家居控制器和各个终端之间的通信。

串行口通信的方式有多种。计算机与单片机一对一通信,只需要在计算机与单片机之间增加一个电平转换芯片即可完成,一般简单协议就能适合这种通信方式。而实现智能家居网络系统的网络方法,可以采用以太网和RS485方式,也可以采用无线网络实现。本文介绍一种应用比较广泛、灵活性强、扩展性强的通信协议。

RS485通信方式传输距离可以达到1200米,还可以作为一对多的主从通信方式,特别适合作为智能家居网络系统的通信协议。作为主控机(智能家居控制器),可以是计算机或稍复杂的单片机系统;分机或终端一般是单片机系统,如图2所示。其中主机可以是计算机或由单片机构成的较为复杂的系统,终端机1……N一般是由单片机系统构成。他们之间通过RS485实现通信。

图2 由通信协议组成的网络系统Fig.2 The network system composed by communication protocol

3 智能家居网络系统通信协议实现

智能家居网络系统通信协议的基本格式如下:

通信头巴克码地址字命令字长度字信息字校验码结束码

其中:

(1)通信头占1~8个字节,表示本次通信的开始,可以使用除00H和FFH以外的十六进制代码作为通信头,例如:用2个字节5AH,0A5H作为通信头。

(2)巴克码占1个字节,且一般固定为72H。因为通信头的长度有时不确定时,可以用此字节表示通信头的结束,若通信头的长度固定时,则可以考虑不用此码。如果采用72H作为巴克码,则通信头就不能使用72H。

(3)地址字占1~2个字节,表示主控机连接的各终端的地址。其中各终端的地址不能相同,只有终端接收到地址是本机地址码时,主机发来的命令本终端机才根据相应的命令来处理。如果地址字占1个字节,所以主控机连接的终端最多可达256个,但一般将00H和FFH作为广播地址。如果地址字占1个字节,所以主控机连接的终端最多可达65536个。

(4)命令字占1~2个字节,表示主机发给各终端机的命令,各命令的含义一般代表一定的意义。

(5)长度字占1~2个字节,表示接收信息的长度,本协议各条命令的长度是不等长的,具体长度由此字来确定,如果是1个字节,则最长不能超过252字节。长度字的长度是从地址字开始到信息字结束之间所有字节的字节数。

(6)信息字占的字节数不确定,一般根据相应的命令来确定,但每帧信息位的字节数不超过252个字节(如果长度字为1个字节),信息字根据不同的命令也可以一个字节都没有。

(7)校验码占2个字节,校验码的字节是从地址字开始,到信息字结束之间所有字节的字节数。校验可以采用最简单的和校验,也可以采用较为先进的CRC校验。如果采用和校验,则从地址字开始,到信息字结束之间所有字节采用不进位的和,另一个字节则是第一个字节的反码,CRC校验有专门书籍介绍。

(8)结束码占1个字节,通常用一个字节来表示通信的结束。此码在有长度字的情况下可以考虑不用。

例如:

5AH,A5H 72H 01H 02H 03H 06H,F9H

其中,5AH,A5H是作为通信头,当接收方收到此头时表示通信的开始;72H是巴克码表示通信头的结束;01H是表示一号终端将接收此命令;02H表示是对一号终端发送的2号命令,具体是什么命令,必须在通信前约定好;03H是长度字,因为没有信息字,所以长度就是03H,本命令无信息字;校验采用和校验方式,01H+02H+ 03H=06H,就是和校验的第一个字节,另一个字节是将06H按位取反为F9H。

接收方接收到命令后,应该根据不同命令对发送方进行应答。接收方应答方式有两种,一是接收正确应答ACK,一是接收错误应答NAK。ACK和NAK的数据格式分别为:

ACK的通信格式:

通信头巴克码地址字命令字06H06H06H06H,,,

NAK的通信格式:

,,,通信头巴克码地址字命令字15H15H15H15H

其中,通信头、巴克码、地址字、命令字与发送方发送的字节完全相同。

当发送方收到ACK时,表示此次通信成功,可以发送新的命令。当发送方收到NAK时,表示此次发送失败,这是要求重新发送刚才的命令,在发送方重新发送后,若接收方仍然应答NAK,则继续发送。若有一次发送方接收到ACK,则表示通信成功,就可以发送新的命令。若一直应答NAK,则发送方最多发7次,并提示错误信息。

若发送方发送完数据后无任何应答,例如通信故障中的通信线断开等现象发生时,此时发送方延迟一段时间后再发送,但最多7次,7次后都无应答,则给出错误提示。

发送方的命令若是要求接收方传送数据,则接收方接收到此命令后,将应该传送的数据打包并传送。因为数据格式的限制,有可能一包数据传送不完,此时需多包传送。多包传送时,在信息字的第一个字节为包数,当包数为0FFH时,表示是最后一包。当原发送方接收到数据包后,应该根据接收的正确与否,应答ACK或者是NAK。

在写此通信协议程序之前,必须根据需要,将所有的命令事先约定好。在智能家居网络系统中,首先要将不同的终端编号,终端号彼此不能相同,接着需要制定具体实现的协议,例如:将1号命令设置为灯亮,2号命令设置为灯灭,3号命令设置为灯的延时时间等。

下面是接收和发送数据的程序,其中发送数据包采用查询方式,接收数据包采用中断方式。建议接收数据时一般采用中断。

//发送整个数据包,发送数据先准备在一个假设的数组recbuf中。

4 结论

本协议是基于CanBUS总线的应用,是在CanBUS基础上的简化版本,是经过反复实践,最早应用于电力载波网络系统中,后应用于RS485网络中,现经过改进后应用于智能家居控制系统中。

智能家居控制系统能有效提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。随着该系统的逐渐完善,相信不久的将来会成为家居的必然选择。而智能家居控制器与终端之间连接的通信协议决定了智能家居的性能。本文通过分析智能家居控制系统中的一种重要通信协议,并详细阐述了该协议实现的要素及其代码实现,对智能家居控制系统具有参考作用。

(References)

[1]浙江求是科技有限公司.QS-iHome-II智能电子产品系统工程实施(培训讲义)[Z].2014-4-27.Zhejiang Truth Technology co.,Ltd.Engineering implementation of intelligent electronic products system QS-iHome-II(training handouts)[Z].2014-4-27.(in Chinese)

[2]马忠梅等.单片机的C语言应用程序设计[M].北京航天航空大学出版社出版,2013-1-1 MA Zhongmei.MCU's C programming design[M].BeiJing.BeiHang University Press.2014-1-1(in Chinese)

[3]www.stcmcu.com/datasheet/stc/sTC-AD-PDF/ STC12C5A60S2-english.pdf

[4]周润景等 编著.基于PROTEUS的电路及单片机设计与仿真(第2版)[M].北京:航空航天大学出版社出版.2010.1 Zhou RunJing.Circuit and Single Chip Computer Design and Simulation Based on PROTEUS[M].Beijing:Beihang University Press,2010.1(in Chinese)

[5]www.st.com/wb/er/catalog/mmc/FM141/SC1169

The implement of communication protocol based on intelligent home furnishing network system

LIU Dexin,LIU Jun
(Dept.of Electronics and Communications Technology,Shenzhen Institute of Information Technology,Shenzhen 518172,P.R.China)

Intelligent Home Furnishing network system is gradually entering the family,and communication protocol selection between the intelligent controller and terminal is the key to realize the intelligent Home Furnishing.This paper describes the composition of intelligent Home Furnishing network system,puts forward the implementation scheme for intelligent Home Furnishing based on communication protocol,and expounds the realization method and code of the protocol,.the work of the intelligent Home Furnishing control system development and practice has a certain significance.

intelligent home furnishing;the intelligent controller;communication protocol;realization of the code

TN915.04

:A

1672-6332(2014)03-0062-04

【责任编辑:高潮】

2014-09-07

刘德新(1965-),男(汉),湖北荆洲人,硕士,高级工程师。主要研究方向:单片机应用。E-mail:liudx@sziit.com.cn

猜你喜欢
通信协议网络系统字节
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
基于Z-Stack通信协议栈的红外地温采集电路设计
简谈MC7字节码
基于DEMATEL-ISM的军事通信网络系统结构分析
高速公路网络系统配置浅析
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介
纯电动客车的CAN网络系统设计与开发