嵌入式智能家居监控系统的设计与实现

发布者:SerendipityDawn最新更新时间:2016-12-02 来源: eefocus关键字:智能家居  监控系统 手机看文章 扫描二维码
随时随地手机看文章

 1 引言

      随着家庭网络研究的兴起,如何设计一种集家电管理、协议转换和家庭网络监控为一体的家庭网关,实现家用电器的网络化、智能化和远程控制,已成为当前研究的热点。

      本文以CGI原理为基础,以嵌入式数据库为后台,用软件编程的方法实现用户、Web服务器以及网关应用程序之间的动态交互,提出了-一种新的基于SIP协议和嵌入式数据库实现家居远程监测和控制的解决方案。

     2   总体方案

      本系统包括信息家电、智能家庭网关和远程监控端三个主要模块。信息家电被作为SIP的智能终端接入家庭网关,以SIP消息形式向后者发送网络标识申请帧和设备描述文件,完成注册;家庭网关基于SIP网络服务器和Web服务器,一方面实现对信息家电的认证和管理,另一方面为远程监控端提供服务;用户可通过PC浏览器和基于SIP用户代理的监控软件两种方式实现对信息家电的远程监控。其整体结构如图1所示。

      在家庭网关硬件平台的设计过程中,本文采用模块化的方法,以中央处理单元为中心,

      设计其他相关功能模块。软件设计方面,基于ARM7TDMI核的微处理器移植了嵌入式操作系统uCLinux,为实现SIP协议栈提供底层软件支持。基于SIP协议栈完成SIP网络服务器,实现了信息家电的注册、认证和管理。并通过移植Boa Web服务器和SQLite数据库到uCLinux系统中,以CGI原理为基础实现动态Web技术。

嵌入式智能家居监控系统的设计与实现 - qmz8682008 - 齐明智的博客

                图1 嵌入式智能家居监控系统整体结构图          图 2 家庭网关硬件平台结构设计

      3   嵌入式数据库在监控系统中的应用

      在嵌入式远程监控系统中,需对大量的实时数据进行采集和处理,多样化的数据存储和管理需要一个后台数据库来支撑。由于嵌入式系统软硬件资源都有限,传统的企业数据库如Oracle、Sybase等明显臃肿,很难发挥作用,因此,本文选用了小型的开源嵌入式数据库SQLite,并针对家庭网关ARM-uCLinux平台对其进行移植、裁减和应用。

      3.1   SQLite在ARM-uCLinux上的实现

      SQLite是用C语言编写的开源嵌入式数据库引擎,占用资源非常低,在嵌入式设备中,只需要几百K的内存就够了[1]。它能够支持Windows/Linux等主流操作系统,其处理速度甚至令开源世界著名的数据库管理系统Mysql、PostgreSQL望尘莫及[2]。SQLite 对SQL92 标准的支持包括索引、限制、触发和查看,支持原子的、一致的、独立和持久的(ACID)事务。

      SQLite在ARM-uCLinux上的主要移植步骤如下:

      (1) 下载并解压软件包至uCLinux-dist/user目录下;

      tar zxvf sqlite-2.8.16.tar.gz –C uCLinux-dist/user/

      (2) 参照uClinux-dist/Documentation/Adding-User-Apps-HOWTO文档;

      添加SQLite作为uCLinux的一个用户应用程序

      (3) 针对ARM-uCLinux修改SQLite;

      修改sqlite/src/os.c、sqlite/src/shell.c等文件

      并以sqlite/Makefile.linux-gcc文件为蓝本,写一个合适的Makefile

      (4) 依次运行make dep;make lib_only;make user_only;make romfs;make image

      即在uClinux-dist/images下编译生成了包含有sqlite的romfs文件系统。

      (5) 下载romfs到ARM-uCLinux的可读写目录,运行sqlite即可。

      3.2 SQLite的C程序设计

      嵌入式数据库SQLite与操作系统和具体应用集成在一起,无须独立运行的数据库引擎,它由程序直接调用相应的API函数去实现对数据的存取操作。其中有三个核心API函数。sqlite_open()和sqlite_close()分别打开和关闭嵌入式数据库文件即建立和释放SQLite引擎,而sqlite_exec()可以执行SQL语句并获得结果,通过自行编写回调函数可进一步对执行结果进行处理。

      本系统通过现场总线由实时数据采集、处理模块按照用户设定的控制参数(如A/D采样频率等),对信息家电信号进行采集和数字滤波,然后调要API函数将数据存入SQLite数据库。SQLite对设备信息进行管理,并且支持查询、修改等功能。

      4 SIP协议在家庭网关中的应用分析

      SIP(Session Initiation Protocol)是由IETF(Internet 工程任务组)于1999年提出的基于IP网络实现实时通信应用的一种信令协议[3]。它结构简单、易于扩展,提供良好的QoS支持。虽然主要为IP网络设计,但它也可以在ATM、帧中继等承载网中工作,是下一代网络VoIP的重要解决方案。

     4.1   家庭网关中SIP各组件的功能设计

     SIP协议包含两类组件:用户代理(User Agent)和网络服务器(Network Server)。用户代理完成呼叫的发起和接收;网络服务器主要为用户代理提供注册、认证和路由等服务,它又分为代理服务器、重定位服务器和注册服务器。

     本系统中各网络服务器的功能设计如下:

     (1)注册服务器接受用户代理(信息家电)的注册(REGISTER)请求,在SQLite中动态建立家电的逻辑地址和其当前联系地址之间的对应关系。从而不论在何处,都可以通过唯一的逻辑地址进行通讯,实现对家电移动性的支持。返回状态码为200的成功响应,完成信息家电的注册。

     (2)重定位服务器提供地址解析服务,功能类似于DNS,用于在需要时(如信息家电位置改变、实现负荷分担等)构造一个重定向响应消息,将新的目标地址返回给监控程序。

     (3)代理服务器类似于HTTP的Proxy和SMTP的MTA(Message Transfer Agent),负责接收用户代理(监控软件)发来的请求,根据网络策略将请求发给相应的信息家电,并根据收到的应答对监控端做出响应。

     4.2 SIP协议栈的实现

     SIP协议栈oSIP是第一个自由软件项目,使用标准c编写,结构简单而小巧,速度特别快,支持线程安全,可以开发注册服务器、代理服务器和用户代理等[4]。oSIP开发库主要是在uCLinux上实现SIP协议的语法解析和状态机分析,为实现SIP服务器提供开发接口。

     本文设计的SIP协议栈在oSIP开发库的基础上进行了修改和二次开发,主要包括两个方面的内容:状态机模块和语法解析器模块。前者完成对某个事务(注册过程,呼叫过程等)的状态记录,并在特定状态下触发相应的事件。后者主要完成对SIP消息结构和URL结构的剖析。下面是家庭网关接受信息家电注册的部分源代码:

     (1) 初始化oSIP栈:                             Int osip_global_init();

     (2) 包含SIP有限状态机API的库文件:          #include

     (3) 包含SIP语法分析API的库文件:           #include

     (4) 部分函数声明

     void osip_setcb_rcvinvite();       /* 信息家电向SIP服务器发送请求 */

     void osip_setcb_rcvregister();      /* SIP服务器完成信息家电的注册 */

     void osip_setcb_rcvack();         /* SIP服务器向信息家点发送应答 */

      5   基于SQLite和SIP的家庭网关的设计

     作为智能家居的核心设施,家庭网关的设计显得尤为重要。它为信息家电提供一个统一的平台,通过该平台能实现信息家电之间或信息家电与远程控制端之间的互连和信息交换。

     5.1 硬件平台的设计与操作系统的选取

     32位ARM嵌入式微处理器具有高性能、低功耗的特性,已被广泛应用于消费电子产品、无线通信和网络通信等领域,极其适合于对成本和功耗要求较苛刻的应用场合[5]。

     因此,本文选取了一款三星公司生产的基于ARM7TDMI核的16/32位RISC嵌入式微处理器S3C44B0X。并以此为中心,设计了其它功能模块:FLASH接口模块、SDRAM接口模块、网络接口模块以及其它外围辅助电路模块诸如时钟电路、复位电路等。如图2所示。

     uCLinux在Linux的基础上添加了对没有MMU的微处理器的支持[6],所以它一方面继承了Linux的大部分优点:例如稳定性、各种网络协议栈的支持以及不同类型的文件系统支持等等;另一方面,它广泛地应用于嵌入式领域,内核精简(一般小于512k),并支持很多常用的嵌入式微控制器系列。正是出于对多任务控制、网络功能和可移植性等方面的考虑,本设计选用嵌入式操作系统uClinux,并完成在ARM微处理器上的移植。

      5.2 Web服务器和嵌入式数据库的应用

     Boa是一个单任务的http服务器,源代码开放、性能高,支持认证,支持CGI。目前,uCLinux中已包含了boa的源代码,因此在uCLinux中实现Boa非常简单,只需要在boa.conf 和mime.types 文件中修改网页存放的路径以及CGI程序存放的目录。

     SQLite中存放每个家电的基本信息、参数值以及状态信息等,这些信息不但反映了各种参数的历史状态,而且也是管理、决策的重要信息来源,在需要的时候通过对嵌入式数据库的访问实现对信息家电的信息检索和远程监控。数据管理是远程监控系统非常重要的部分。

     本系统中SIP网络服务器在SQLite中动态建立家电的逻辑地址和其当前联系地址之间的对应关系,完成信息家电的注册。用户可通过浏览器访问家庭网关中的Web Server,并把参数提交给Web Server接收,Web Server再把此参数传递给CGI程序解析,CGI调入SQLite中家庭网关各种状态参数,将结果转化为web浏览器能识别的格式,作为Http应答消息回送到客户端,从而实现对信息家电的设置和信息交互。

      6 总结

     信息家电和家庭网络的迅猛发展、家庭网关技术的进步,必将为我们目前的家居生活带来新的惊喜。

     ARM、uCLinux、SQLite的结合,体现了嵌入式的特点,提高了家庭网关的性能;标准SIP协议的使用,既解决了当前家电设备所存在的管理、命名和移动等一系列问题,也使远程控制程序设计者不必关心家庭网关的实现细节,只需要按照SIP协议的规范和智能家庭网络中的信息家电进行交互,这样就增加了家庭网关的通用性,简化和拓展了智能家庭网络的应用。希望能给远程监控系统的研究提供一些参考


关键字:智能家居  监控系统 引用地址:嵌入式智能家居监控系统的设计与实现

上一篇:S3C2410的RTC驱动分析
下一篇:S3C2410 LCD 驱动程序移植及GUI程序编写

推荐阅读最新更新时间:2024-03-16 15:22

管家机器人:新智能家居时代的核心驱动力
  据外媒《华盛顿邮报》最新消息报道称,曾经的“ipod之父”托尼·法德尔(TonyFadell)已经辞去了NestCEO的职位。Nest曾一度被业内认为是智能家居革命的先驱,Fadell的离开引发了业内种种关于智能家居行业的唱衰言论与猜测,但是智能家居市场的广阔前景,依然值得期待。   最新的市场研究数据显示,2015年美国智能家居市场规模为97亿美元,是全球智能家居市场规模最大的国家。我国去年智能家居市场规模达403.40亿元,同比增长41%,预计到2018年,我国智能家居市场规模将达到1300亿元。这串数据足以表明,智能家居的未来,将是一面广阔的蓝海。   与此同时,另一个预计在未来几年将会有重大突破的行业就是机器人。据权威
[机器人]
基于ARM的智能家居远程控制系统设计
  随着互联网技术和信息通信技术向普通家庭生活的不断普及,如何将消费电子、计算机和通信融为一体,已成为人们非常关心的一个问题。智能家电网络管理系统能够实现家用电器的网络化、智能化管理。通过该系统将家中的网络电器与互联网和GPRS网络相连,这样无论何时何地,用户都可以通过该系统远程操纵家用电器。本文主要讨论智能家居远程控制系统的设计与实现。    智能家居系统的总体结构   智能家居远程控制系统的核心部分是一个嵌入式Web服务器,系统集有线和无线Web服务器于一体,用户可以利用办公室的PC或者手机登录家中的Web服务器,在通过用户名和密码验证后,便可以查看并控制家用电器;系统带有LCD和键盘,具有良好的人机界面;用户还可以通过键
[嵌入式]
Z-Wave发展进一步加速,宣布年中里程碑成就
据美国市场研究机构Markets and Markets发表的一份新研究报告显示,到2020年,智能家居行业的市场规模有望达到586.8亿美元。目前,诸如安防和智能锁等细分市场正推动着整个智能家居市场增长,Z-Wave联盟在这些细分市场中的渗透率已超过90%,且还在不断壮大针对消费者和制造商的Z-Wave智能家居生态系统。   2015年第一季度是Z-Wave发展破纪录的季度。Sigma Designs宣布,截止2015年第一季度末已交付4000万部Z-Wave物联网设备。伴随着越来越多的制造商、集成商、安装商以及设备供应商加盟,Z-Wave联盟的成员企业数量较去年同期增长了30%,成员企业名单再增75个正式成员。今年从Smar
[嵌入式]
智能家居竞争激烈,小型初创公司生存艰难
2018年 智能家居 行业动作频频,消息不断。   国际上,3月,亚马逊斥资十亿美金收购智能门铃初创公司Ring;6月,谷歌宣布与法国零售连锁巨头家乐福组建合资公司,随后向中国电商京东投资5.5亿美元,宣布未来将通过家乐福和京东渠道销售智能音箱和语音助手等商品;8月初,苹果加入智能家居网状网络标准Thread Group,成为该机构的董事会成员;8月15日,三星推出智能家居IoT平台,发布新一代三星AI智能助手Bixby和智能家居战略。   国内,中兴、华为、小米、海尔、格力、美的、长虹等多家通讯设备公司和家电制造企业,先后投入到智能家居红海战;雄心勃勃的阿里巴巴作为电子商务公司,也不断研发智能家居产品。智能家居自2015年火热以
[嵌入式]
机场监控系统与应用系统的集成设计
机场的应用系统众多,而有不少系统要与安防监控系统进行信息交互,因此在系统建设时,必须尽早明确集成需求。由于安防系统一般为专用网络,与其他系统连接需设置防火墙,因此系统间尽可能传递控制信号,而视频流数据尽量不穿越防火墙。 与报警系统集成 仅仅依靠视频监控系统是一种被动的监控,而通过与报警的集成,可以提高视频监控系统的应用与管理效率。报警分为内部报警和外部报警两部分。 常见的内部报警主要包括监控系统的视频保护报警,移动侦测报警等,视频保护报警可以提供视频丢失报警、镜头遮挡报警、镜头移位报警、聚焦模糊报警等功能,恰当地使用视频保护报警可以更好地进行系统维护。而通过移动侦测的设防,可以在降低监控系统对存储资源占用
[安防电子]
CAN总线在张紧器驱动监控系统中的应用
  铺管船用张紧器是海底油气管道铺设的关键配套设备,由夹紧系统、驱动系统、监控系统组成,我国从上世纪 90年代开始铺管船用张紧器的研究, 1998年完成胜利油田滩海铺管船用张紧器项目,2007年开始深水铺管张紧器的研究。张紧器驱动系统由上下两套履带驱动系统组成,在滩海铺管船用张紧器中,采用上下两履带各用两个液压马达驱动的方式来输送管线,但深水铺管的张紧力远远大于滩海铺管所需的张紧力,若采用液压马达驱动,则进出油管直径较大,由泵站到马达的管路设计、布置难度大。相对而言,电机安装方便、控制方式简单,所以采用四个交流伺服电机代替液压马达驱动张紧器。张紧器在工作过程中上下履带同步运动,并确保管线的张力在一定范围内,这就要求监控系统对交流伺
[嵌入式]
基于Linux的视频监控系统构建方法
目前,嵌入式系统在视频监控中的应用越来越广泛。伴随着网络的强大功能,视频监控更侧重网络监控方案,要求体积小、远程化、成本低、功耗小、操作界面人性化等。本系统基于嵌入式Linux 平台上利用USB 摄像头采集视频图像,通过视频图像压缩及结合网络进行视频图像传输,使远程监控成为可能。 1 系统概述 视频图像监控系统由4 部分组成, 分别为视频图像采集、视频图像处理、视频图像传输、视频图像显示。视频图像采集部分由数字摄像头、USB 通道和嵌入式处理器构成、视频图像处理主要是视频图像压缩,由算法实现、视频图像传输主要利用视频服务器来实现、视频图像显示主要是在远程的主机上实现视频图像的浏览、保存和处理等,Linux 主机上由应用程序实现,
[单片机]
基于Linux的视频<font color='red'>监控系统</font>构建方法
动力环境监控系统现状及在电源维护中的作用
 随着通信行业新业务、新技术的广泛应用,运营商的网络建设规模和容量越来越大,网络安全运行的风险也在加大。这就对通信电源的稳定性和安全性提出了更高的要求,通信电源在保障整个网络稳定运行中的作用也越来越重要。在此背景下进一步提高通信电源的维护管理水平,更好地保障网络的安全势在必行。   近年来各大运营商都相继引入了动力及环境监控系统从而实现了电源维护工作管理的“集中化、标准化、信息化、智能化”,并且以集中化提高生产效益,以标准化降低维护成本,以信息化、智能化提供数据支撑及共享,从而实现提高效率、降低成本,增强企业竞争力的目的。但是由于动力及环境监控系统的发展历史还比较短,还需要充分认识到动力及环境监控系统的优点和不足才能充分发挥其作用。
[电源管理]
动力环境<font color='red'>监控系统</font>现状及在电源维护中的作用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved