基于C 语言的智能家居监控系统设计和实现

2022-08-17 09:17宋蕊
电子制作 2022年14期
关键词:串口网关智能家居

宋蕊

(黄河水利职业技术学院 电气工程学院,河南开封,475004)

随着人们生活水平的不断提升,对家居生活各方面功能也提出越来越高的要求,信息技术被广泛应用于人们生活的方方面面,尤其近年来应运而生的物联网技术,更是一步步改变了人们理想的智能家居生活方式[1]。智能家居运用先进无线通信技术、计算机技术、传感器技术、网络技术,有机结合生活相关家居设备,实现集中管理创造舒适度较高的智能居住环境。作为一个新兴产业,有着巨大的消费市场潜力,智能家居系统早在欧美等发达地区有比较成熟的技术经验,可是国内智能家居系统依然处于发展阶段,将从实际出发提出基于C 语言的智能家居监控系统研发思路,这对于我国智能家居市场的未来技术发展有重大意义。

1 总体设计方案

■1.1 设计思路

智能家居监控系统具备低能耗、智能化的技术特点,包括宽带上网、设备监控、远程管理功能,通过基于家庭网关搭建嵌入式Linux 操作系统软件平台,利用以太网与WiFi接口满足智能家居监控联网需求,在ZigBee 技术下采集家居设备相关信息,搭建数据库统一管理设备信息,设计相应功能模块响应用户家居设备管理功能[2]。

■1.2 系统架构

根据上述分析智能家居监控系统的设计功能需求思路,图1 为本次设计该系统的总架构,包括家庭网关、家庭内部控制网络、家庭内部数据网络、家庭外部网络。系统的核心组成为家庭网关,经串口连接ZigBee 协调器,能够运用ZigBee 技术构建家庭内部控制网络,与各家居设备相连接,经USB 口与无线通信模块相连接,与外部无线网相接实现远程监控[3]。

图1 系统总体方案框图

■1.3 系统模块划分

本次设计总体方案中,所要实现重中之重即家庭控制网络与家庭网关,通过网关各模块实现家庭控制网络各功能,所以设计家庭网关作为本次设计的重点工作。利用网关ZigBee 协调器完成系统软件设计,负责智能控制家居设备与信息上报功能,那么家庭网关就要负责信息处理模块及时处理网关上报具体信息,达到有线、无线拨号模块,搭设Web 服务器、数据库,划分系统包括用户登录、设备查询、设备控制、设备添加、注销模块以上几部分,实现智能家居监控系统的远程管理功能[4]。

2 系统硬件设计

本次系统设计智能家居控制系统的硬件结构(见图2),包括以下模块:

图2 家庭网关硬件结构图

■2.1 处理器模块

在智能家居监控系统家庭网关硬件设计中,处理器模块作为重点设计内容,由于考虑到系统功能复杂性,家庭网关需要满足监控需求的同时,后续还要向综合平台方向发展,因此本次设计选用OMAP3530 双核处理器,此处理器有着功能低、性能高的技术优势,具备了高级数字信号处理技术,600Hz处理内核、图形引擎与视频加速器,还可以为系统研发人员提供完善软件开发外设平台[5]。

■2.2 WCDMA 无线通信模块

为了达到本次设计该智能家居监控系统的家庭网关无线接入,经USB 接口连接处理器芯片,并选用目前在无线通信网络制式中最高通信速率的SIM5218A 模块,能够成功集成GSM、WCDMA、GPRS、EDGE 解决方案套片。不仅可以支持传统操作指令控制监控系统各功能模块,还可以实现USB 接口、SIM 卡、UART 异步串口等联网、语音控制、数据等功能[6]。

■2.3 ZigBee 协调器模块

ZigBee 技术作为继Bluetooth 之后提出的无线传感器网络新技术,具备了低功耗、短距离、低成本的应用优势,有自己的无线电标准,能够在多个微小传感器之间实现信息的相互协调传递,基于ZigBee 联盟开发通信标准,能够实现多达65000 个无线节点组成无线网络平台[7]。应用本次智能家居监控系统中,可以经串口连接处理器芯片,实现无线控制网络组网,提供设备各节点与网关通信。

■2.4 交换机模块

该模块可以实现连接各家居设备同步上网,选用IP175D交换芯片,集成6端口IP交换控制器、以太网收发器、RMII 接口[8],有着强大的QoS 功能,可以实现流量策略与灵活队列调度,能够支持端口和标签VLAN,在防火墙、路由器、IGMP、IEEE802.1Q 等场合。

3 系统软件设计

根据上述系统设计总思路,系统软件设计核心关键在于家庭网关、宽带联网、远程管理、无线控制等家居设备智能控制。选用嵌入式Linux 操作系统开发平台,C 编程语言基础上,构造家庭网关软件方案,该嵌入式平台的分层结构,其中UBoot、XLoader 实现初始化硬件设备,建立内存空间映射图,为实时调用操作系统做好准备。操作系统Linux内核应当支持USB、串口、以太网驱动。在应用层负责系统可实现的业务,根据系统功能需求实现拨号、设备信息处理、远程管理、数据库各功能模块。底层驱动以UBoot、XLoader、以太网、串口实现,应用层的软件功能模块。

■3.1 用户登录

远程用户想要远程管理智能家居,经互联网、Web 浏览器方式登录家庭网关,所需用户授权,经用户登录模块向远程用户发送登录界面,发送包括用户名与密码信息的登录请求,网关服务器在对用户信息分辨后响应登陆请求,在数据库内查询用户名与登录密码的正确与否,正确就同意,错误就拒绝。

■3.2 设备控制

设备控制包括处理器设备控制模块及协调器设备控制模块两个子模块,在家庭网关内可以和设备控制响应模块共同控制家居设备,这也作为无线控制设计中的关键所在。用户在请求远程控制家居设备时,网关处理器设备执行控制程序,对用户的家居设备控制请求进行解析,以用户的控制请求内容为依据,在网关数据库内查找设备控制的相关信息,对控制需求的合法性与设备ID 号仔细检查,生成控制指令并向网关串口发送控制指令。网关ZigBee 协调器设备控制程序,经串口利用无线网发送所接收设备控制指令,各自ZigBee 节点接收指令,起动设备控制程序,向各家居设备发送完成编译处理的控制指令,经空中接口将各ZigBee 节点的执行情况反馈至ZigBee 协调器。向网关处理器经串行口发送智能家居的控制结果,各网关处理器设备信息上报响应程序,对串口实时监测在数据库内写入控制结果信息。之后Web 服务器可以向远程用户发送控制结果信息,这样即可在浏览器界面远程看到控制结果。

■3.3 设备查询

该功能模块主要负责对用户向网关发送查询请求的实时接收,向数据库转发此请求,之后数据库可以向设备查询模块反馈家居设备的目前信息与状态信息,经Web 服务器转发给远程用户,能够让用户远程了解智能家居设备的具体运行情况。例如用户可以远程调用监控摄像头对家中儿童、老人的情况实时查看,或者查看照明设备、空调等设备状态情况。控制结果信息同时通过 Web 服务器分发给远程用户,远程用户将就会在浏览器界面上看到控制的结果。

■3.4 设备注销

此模块主要实现了智能家居控制网络拆除其中某个设备时,可以在系统中删除该设备的相关数据库信息,经Web 浏览器人机接口界面发起设备注销请求,网关服务器即可执行此程序,向数据库发送设备查询指令,在数据库内删除此设备,向用户反馈查询删除结果。

■3.5 注册信息响应

此模块主要经ZigBee 控制网络所发来的设备注册信息执行功能,具体过程为处理器注册信息响应模块、协调器注册信息响应模块,通过触发这两模块响应,均经无限控制网络设备注册模块,将注册信息成功发送至网关。此模块的详细过程为:设备开机并定期注册更新,这时家居设备可以经ZigBee 端节点,执行设备注册程序向ZigBee 协调器发送自身注册信息。之后成功启动ZigBee 协调器的注册信息响应程度,经串行口可以向家庭网关处理器发送注册信息。然后经家庭网关处理器执行注册信息响应程序,可以对串口数据实时读取,这时可以发现此串口信息是否作为设备注册信息,如果确认则在网关服务器存储信息,这样用户即可应用智能家居系统实时查看管理设备。

■3.6 信息上报响应模块

在此系统信息上报响应模块中,主要实现了处理器设备信息上报响应功能,与协调器设备信息上报响应功能,以这两个功能模块执行响应操作,可以成功向网关发送设备状态更改信息。具体过程为:在改变设备发送状态情况下,家居设备可以经ZigBee 端节点相关设备信息,将自身状态信息向ZigBee 协调器中上报程序,并经串行口向家庭网关处理器发送设备状态信息。家庭网关处理器设备信息的上报响应程序,可以对串口数据实时读取,一旦发现此串口信息更改设备状态相关信息,可以在网关服务器数据库中存储设备状态信息。

■3.7 拨号模块

拨号模块包括两种:有线拨号模块、无线拨号模块。其中有线拨号模块本文采用的是交叉编译已有的有线拨号软件,来完成有线拨号功能,在此就不做详细的设计。而无线拨号模块是通过编写拨号脚本。来建立家庭网关、5G 网络、Internet 之间的连接。

4 系统实现

开发嵌入式Linux 系统一般经过以下过程:建立交叉编译环境、配置编译内核、系统引导程序BootLoader、建立根文件系统。通过在此平台生成可执行代码,本文采用C语言编程,在PC 端完成代码编译,经调试器下载至目标平台中调试运行,那么在开发嵌入式系统前,就要安装负责指定操作系统的PC 端为宿主机,设计相应C 编程语言完成操作系统安装,其中一段C 编程语言示例如下:

在该系统C 编程语言调试阶段,均基于SD 卡上完成,所以设计FAT、EXT32,在各区分别拷贝C 编程语言程序,分区支持系统功能即通过C 编程语言搭建智能家居控制系统软件平台。

5 结语

总而言之,本次完成基于C 语言的智能家居监控系统设计,实现了用户登录、设备查询、设备控制、设备添加、注销模块等功能模块,采用C 语言编程,在PC 端完成代码编译,经调试器下载至目标平台中调试运行,实现家庭网关能够同步智能家居的监控信息,在系统数据库内存入此类状态监控信息。

猜你喜欢
串口网关智能家居
专题《面向智能家居的理论与实践创新》
智能燃气表物联网运行体系网关技术研究
基于FPGA的工业TSN融合网关设计
基于ARM架构的工业物联网网关研究与实现
智能家居行业仍无“独角兽”
智能家居产业现状和发展趋势
MCS—51单片机中的多串口通讯技术的应用
智能家居未来感初体验
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断