智能家居网关是相关功能设备接入智能家居网络的关键设备。鉴于KNX已成为智能楼宇领域唯一的国际标准,综合网络通信技术和嵌入式技术,提出了基于KNX总线的智能家居网关设计方案,阐述了主控制器、KNX模块、以太网接口和无线通信接口的设计与实现过程。 Smart home gateway is the key equipment of the related function devices to access the smart home network. As the KNX bus has become the unique international standard in the field of Intelligent Building, integrating network communication technology and embedded technology, the design of smart home gateway based on KNX bus is presented and the design and implementation of the main controller, the KNX module, the Ethernet interface and wireless communication interface are elaborated.
王光伟1,卢胜利2,庞党峰2,武荣荣1
1天津职业技术师范大学电子工程学院,天津
2天津职业技术师范大学工程实训中心,天津
收稿日期:2015年11月4日;录用日期:2015年11月26日;发布日期:2015年12月8日
智能家居网关是相关功能设备接入智能家居网络的关键设备。鉴于KNX已成为智能楼宇领域唯一的国际标准,综合网络通信技术和嵌入式技术,提出了基于KNX总线的智能家居网关设计方案,阐述了主控制器、KNX模块、以太网接口和无线通信接口的设计与实现过程。
关键词 :智能家居,KNX总线,嵌入式系统,主控制器,网关
智能家居起源于国外,在国内已有十几年的发展时间了。目前智能家居行业尚无统一的国际国内标准,生产智能家居产品的厂商各自为政,执行着各异的协议端口[
KNX是家居和楼宇控制领域唯一的开放式国际标准[
现场总线技术的引入促使智能家居控制系统向网络化方向快速发展,智能信息处理与智能控制也成为构建智能家居网络系统的关键技术[
智能家居网关是家庭内部网络与外部以太网和各种无线网络交换信息的中转站,网关硬件平台主要由ARM9S3C2440主控制器、以太网接口、KNX模块和无线网通信模块组成。
图1. 基于KNX总线的智能家居网关组成示意图
主控制器是智能家居网关的核心,其主要功能是与KNX模块进行通信,管理KNX网络终端家居设备,完成家庭网络和KNX家居网络之间的信息交互等。所设计的系统选择三星公司的S3C2440微处理器(ARM9系列),S3C2440可扩展LCD显示器、USB接口、触摸屏以及多个UART,为智能家居网关硬件设计提供了很好的硬件支持。智能家居网关硬件设计主要就是利用S3C2440微处理器的扩展功能,设计KNX模块接口电路、以太网接口电路、无线通信接口电路等。
以太网接口的功能是将主控制器连接到以太网上,以方便用户的远程控制管理。DM9000与S3C2440的连接如图2所示。该模块不仅要实现KNX智能家居网关主控制器与以太网的数据通信,而且要能支持高速的突发数据转移和突发的访问量。由于S3C2440已集成了一个10/100 Mb自适应的以太网MAC控制器,大大简化了以太网模块的设计[
KNX模块的功能是将KNX智能家居网络与主控制器相连实现主控制器与KNX智能家居网络的通信。所设计的系统KNX模块选用西门子公司的TP-UART-IC,TP-UART-IC是针对双绞线设计的通用异步收发器,TP-UART-IC为UART提供多种服务完成主控制器与KNX智能家居网络的通信,通过TP-UART-IC传感器、执行器、微处理制器等连接到KNX总线上实现数据收发。TP-UART-IC与KNX总线、S3C2440连接如图3所示。TP-UART-IC主要特性:TP-UART-IC由UATR数字接口和模拟电路接口组成;通过设置引脚TSTIN,可以配置9600 bps或者19,200 bps的传输波特率;掉电时SAVE引脚通知微处理器进行处理;TP-UART-IC提供的服务主要有:复位服务、请求通信状态服务、应答服务、数据服务。
图2. DM9000与S3C2440的连接示意图
图3. TP-UART-IC与KNX总线、S3C2440连接示意图
无线网模块不仅要实现KNX智能家居网关主控制器与无线网络的数据通信,而且要能支持并发访问。无线通信模块选用TP-LINK公司的USB无线网卡TL-WN721N。利用主控制器S32440和TL-WN721N搭建无线AP,无线AP的覆盖范围广,支持多用户接入,同时具有很强的信号收发能力,家庭环境中的各种智能终端通过无线AP与KNX智能家居网络通信,这样即能够避免布线的麻烦,同时既节省成本,又能迅速的搭建起无线控制网络。
网关主控制器S3C2440支持Linux,winCE等多种嵌入式操作系统[
主控制器软件流程如图5所示。主控制器启动之后,首先完成软硬件的初始化,同时打开串口和开启网络服务,程序分为两个分支,第一个分支处理串口数据,也就是从KNX家居网络传来的数据,KNX家居网络传来的数据存储至SD卡和NandFlash中的本地数据库;第二个分支处理网络数据,网络数据包括控制、设置、查询请求,根据相应的请求进行相应的处理。
TP-UART-IC通信程序步骤如下:
1) 打开串口,判断串口是否打开正常。
2) 上行模块的主要功能是接收并处理来自KNX家居网络的数据信息,对KNX报文数据进行正确性分析,而后交由S3C2440处理。
3) 下行模块在接收到S3C2440要传送到KNX智能家居网络的后,首先验证报文数据包的正确性,验证正确后,KNX报文数据包经串口发送给TP-UART-IC。
主控制器与以太网通信步骤如下:
1) 创建socket通信套接字。
图4. 主控制软件层次架构
图5. 主控制器软件流程图
2) 调用connect系统调用向服务器发出通信连接请求。
3) 服务器端和客服端的通信连接成功建立后,调用send和recv系统调用交互接收和发送服务器端、客服端数据。
4) 数据处理分为两部分,一部分接收以太网数据,将来自以太网的数据送S3C2440,一部分是发送以太网数据,将来自S3C2440的数据发送到以太网上。
主控制器与无线网络之间的通信步骤如下:主控制器与无线网络通信连接建立后,通过socket系统调用建立TCP/IP通信连接,通信过程这里不再详述。在客户端与服务器端通信过程中利用线程池技术解决大量智能终端并发访问,服务器资源有限的问题[
智能家居是目前国内外的研究热点,具有广阔的应用前景,而智能家居网关作为智能家居网络与外部有线、无线网络通信的桥梁,在整个智能家居系统中起着重要作用。基于KNX总线的智能家居网关以S3C2440微处理器为核心、利用嵌入式Linux技术,采用KNX模块TP-UART-IC、以太网适配器DM9000设计完成,实现KNX智能家居网络与以太网和多种无线网络的数据通信,从而实现智能家居设备的远程控制、信息查询等。
王光伟,卢胜利,庞党峰,武荣荣. 基于KNX总线的智能家居网关The Design of Smart Home Gateway Based on KNX Bus[J]. 无线通信, 2015, 05(06): 105-110. http://dx.doi.org/10.12677/HJWC.2015.56015