手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

基于蓝牙技术的嵌入式信息家电网络系统设计

王雅志; 王绍源| 数据采集处理,ARM9,蓝牙,无线通信| 2010-11-29
1350 收藏
分享到: 
每日精选
热门推荐
【中心议题】
    * 提出了一种基于蓝牙技术的嵌入式信息家电网络系统
    * 给出了实现方案
【解决方案】
    * 处理器采用ARM920T内核处理器S3C2410
    * 网关、家电终端和移动控制终端均采用相同的蓝牙收发模块硬件
    * 选用Linux嵌入式操作系统为软件平台


1
 前 言

随着科技的进步与社会的发展,人们对生活品质的追求也日益提高,传统家用电器已经逐渐无法满足现代家庭的需要。一方面,传统家电无法自动获取外界的信息,形成信息的孤岛;另一方面,不同的家电之间互相独立,无法协同工作。为了解决这些问题,出现了融合现代通信技术和计算机技术,使传统家电智能化并具有网络功能的信息家(Information Electrical Appliance,IEA)。各种信息家电进行有线或无线连接,形成家庭网络,随时随地为家庭成员提供各种与家居生活密切相关的服务。

蓝牙(Bluetooth)技术是一项开放的、全球统一的短距离无线通信协议规范,其目的是取代现有的各种电子设备上的有线接口。目前,家庭联网面临主要问题就是缺乏完整统一的标准,而蓝牙技术的优势在于全球标准的统一,具有互操作性,以及能非常方便地实现快速、灵活、安全、低成本、低功耗的数据和语音通信,因此蓝牙技术在家庭无线网络系统中的发展潜力巨大。应用蓝牙技术,通过无线通信使信息设备之间建立联系。设备可以相互之间自动地进行联络与确认,通过相应的控制软件,不需要用户干预就可以建立连接传输数据。

2 家电信息网络的系统设计

2.1 总体结构

家庭网络代表家庭信息化的一种新理念正越来越多地被人们所关注。家庭网络最终实现每一个电子设备之间的互连,并且与Internet相连。其总体结构如图1所示。

家电信息网络的特点是多元信息处理,包括各类信息的采集、加工、管理、存储、交互等,因此有必要建立一个功能强大的信息处理平台。在智能家庭网络中,家庭网关担当信息处理平台的角色。他一方面完成家庭网络中各种不同通信协议之间的转换和信息共享,以及同外部通信网络之间的数据交换功能;另一方面负责对家庭中各个信息家电的管理和控制。同时,各个信息家电也可通过家庭网关与外部网络相联,实现信息的交互和共享。

家庭主网网关是一个嵌入式设备,具有服务器功能,向家庭内部提供以太网连网方式。

他实现基本功能为:

(1)嵌入式TCP/IP协议栈他负责家庭主网网关和外部Internet网络的通信;

(2)嵌入式Web服务器(WebServer)嵌入式Web服务器是家庭网关面向外部通信网络和远程监控用户的窗口,远程监控用户通过网页以CGI形式改变和控制家庭智能终端的参数和状态;

(3)内部网络协议转换:担负着智能家庭局域网内部各种不同协议子网之间的协议转换工作;

(4)家庭智能控制与管理功能是智能家庭网关的核心,根据远程监控用户的指令对各种不同智能应用终端的参数设置和控制。

家庭控制子网是在家庭网络中包含子网关、移动控制终端、三表三防设备和信息家电终端(Information Appliance,IA)等低速设备的网段。任何家电和设备都能直接或通过子网网关进行连接,实现智能控制和信息交流。

家庭控制子网内部设备的连接有很多方式,可分为有线和无线2大类。有线技术的数据传输速率相对较高,可靠性强,但灵活性差、布线复杂。采用无线通信技术可以免去在家庭内部布线的烦恼,新增的家电设备也可以很方便加入家庭网络之中,从而解决移动设备的联网问题。无线方案主要包括WIFI,HomeRF、蓝牙、红外等,在这些家庭无线联网方案中,蓝牙技术更加适合家庭内部联网技术。这是因为蓝牙技术是作为一种“电缆替代”的技术提出来的,发展到今天已经演化成一种个人信息网络平台:蓝牙适用于在短距离(大约10 m)范围内替代电缆,如果增大发射功率,传输距离可达100 m,基本满足家庭内部使用的需要;抗干扰能力强,可以不对准,可以不在同一房间,链接最大数目可达7,同时区分硬件;蓝牙系统具有连接的普遍性、标准的开放性以及很强的扩展性,可以满足家庭网络中更多的需要。

家庭主网网关和子网网关在物理上可以是同一实体。家庭子网网关主要具有以下功能:给出友好的人机界面:用户可以进入任一个电器的控制选项界面,控制各子网设备,操作简单;管理各种子网设备:当新的设备加入到家庭控制子网网络系统中时,子网网关可以通过添加设备文件来添加新的设备,同时具有删除设备的功能。与各个通信模块进行数据交换:子网网关与各个通信模块之间的通信协议遵从家庭控制子网通信协议。

无线家庭控制子网通信协议的结构如图2所示。其中,UDCP属于应用层协议,其作用是进行整个子网中设备的添加、删除、状态查询、参数配置等系统管理及根据设备描述文件进行控制。UDCP协议为各种家电的管理和控制提供统一的接口,他利用设备文件读取被管理设备的相应信息。用户通过外部网络对信息家电进行控制,实际上就是UDCP层进行透明的数据传输。

2.2 系统设计方案

在作为系统核心的家庭网关中,主网网关和子网网关位于同一个物理平台。图3是本文研制的嵌入式网关的硬件框图,处理器采用ARM920T内核处理器S3C2410,由其控制接口模块和蓝牙收发模块,以使用户可以通过Internet远程访问家庭网络。网关、家电终端和移动控制终端均采用相同的蓝牙收发模块硬件,蓝牙芯片采用英国CSR (Cambridge Silicon Radio)公司的BlueCore2 External。选用Linux嵌入式操作系统为软件平台。

实现在Web服务器上的家电控制功能,系统的网关软件总体结构如图4所示。

逻辑上的主网网关由Web服务器、CGI程序、IAC(Inter-Application Communication,应用间进程)驻留进程组成。Web服务器与CGI程序负责为客户浏览器提供静态、动态的HTTP网页;IAC驻留进程负责接收CGI程序发出的控制命令,并与子网网关主程序交互。该进程在系统启动时,紧跟子网网关主程序启动,在整个网关运行期间一直存在。逻辑上的子网网关由串口驱动模块、虚拟串口驱动模块、TCP/IP/PPP组件、配置管理程序、设备描述文件及注册表、子网网关主程序组成。

 
2.3
 软件的设计与实现

2.3.1 BuleZ在嵌入式Linux中的移植

BuleZ是官方Linux Bluetooth,由主机控制接口(Host Control Interface,HCI)层、Bluetooth协议核心、逻辑链路控制和适配协议、SCO音频层、其他Bluetooth服务、用户空间后台进程以及配置工具组成。

Bluetooth规范支持针对Bluetooth HCI数据分组的UARTUSB传输机制。BlueZ栈对这2个传输机制都支持。BlueZ BNEP(Bluetooth网络封装协议)实现Bluetooth上的以太网仿真,从而使TCP/IP可以直接运行于Bluetooth之上。

Linux下安装BlueZ,必须针对内核版本打补丁,可以在BlueZ官方网站www.bluez.org/patches.html下载相应的补丁文件。本文用的是Linux-2.4.20-8,需要下载patch-2.4.20-mhl8.gz的补丁文件。

首先进入内核子目录,再对该目录下的文件进行补丁安装(一定要在root用户下):

#cd /user/src/linux-2.4.20-8

#gzip-dc./patch-2.4.20-mhl8.gz | patch-pl

然后配置内核文件:

#make menuconfig

配置完选项后,可以编译内核:

#make dep

#make zImage

如果不出错,就可以移植BlueZ的基础库最后安装编

译好的新内核。

2.3.2 主网关程序

IAC是主网关程序的核心和枢纽,负责接收CGI(通用网关接口)程序发出的控制命令以及与子网关应用程序交互。IAC以进程的方式运行,在系统启动时,紧跟子网关应用程序启动,在网关程序运行期间一直存在。

IAC驻留进程与CGI程序之间采用直接内存访问的方式进行通信。在高端RAM中划出两块区间SRV_WBUFCGI_WBUF

CGI程序将控制命令转成UDCP数据报文的形式写入CGI_WBUF,IAC进程驻留进程发送信号SIGUSR1,通知驻留进程有命令到来。IAC驻留进程在SIGUSR1信号处理函数中,CGI_WBUF读取数据并使用UDCP_SendData()将命令发送给子网网关。

IAC驻留进程收到来自子网网关的UDCP数据报文,则将报文信息写入SRV_WBUF,CGI程序读取。

2.3.3 子网网关主程序

子网网关主程序是一个在嵌入式系统上运行的用户态进程,负责蓝牙协议栈消息派送、进行串口、虚拟串口、SocketUDCP、蓝牙协议栈各任务的调度。子网关应用程序工作流程如图5所示。

串口数据处理子模块 当串口有数据时,调用read系统函数读串口数据,并将数据送往HCI传输层处理。

HCI传输层直接和串口打交道,将串口送来的数据打包成相应的HCI包送给上层协议处理,或将上层协议送来的数据写向串口。

Socket数据处理子模块 子网网关程序初始化完毕后就进入主循环,主循环的作用一是为蓝牙协议栈派发信息。二是用select处理蓝牙模块,主网网关,上层来的数据,监听串口、虚拟串口和socket。一旦从串口、虚拟串口和socket设备取得一个事件或数据包就应该停止监听,立即交蓝牙协议栈和UDCP处理。

3 结 语

本文讨论一个基于ARM处理器S3C2410Linux的无线家庭网关的软硬件设计。与其他的家庭网关相比,首先该家庭网关采用蓝牙技术,省掉了布线的麻烦;其次,本系统能随时随地通过浏览器浏览网页,就达到对家电的远程控制,摆脱了传统家电一对一的控制模式,对家电的管理变得更加容易,完全符合当前家电向智能化、信息化、网络化、人性化方向发展的趋势。

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号