基于Web版微信与ZigBee网络的智能家居设计
2018-01-25周鼎曹以龙
周鼎 曹以龙
摘 要:针对现有的智能家居操作系统复杂、移植性差、后期维护成本高等缺点,文中提出了一种基于AM3358内核的BeagleBone Black、Web版微信、ZigBee无线组网技术的智能家居监控系统。该系统由作为中央处理器的BBB、Web版微信登录、ZigBee无线传感网络以及各种可携带传感器的终端组成。本系统完成了智能家居的硬件和软件设计,内网由CC2530和各类传感器组建,外网采用Web微信登录机制与内网通信,完成通过协调器对各个终端数据的采集,并能通过Web版微信控制内网节点的状态。实验结果表明,该系统能稳定运行,登录Web版微信便可实现对家居电器设备的控制。
关键词:监控系统;ZigBee;智能家居;Web版微信
中图分类号:TP277 文献标识码:A 文章编号:2095-1302(2018)01-0-03
0 引 言
智能家居以住宅为平台,利用先进的网络通信技术将各种设备有机地结合在一起,实现家居自动一体化,为用户提供高效便捷的家居环境。本设计以BBB作为上位机,外网采用微信个人登录的方式对家居进行控制,内网采用TI公司的CC2530芯片作为无线收发器。终端传感器多次对用户信息进行采集,通过BQ神经网络算法模拟出一种自适应用户习性拟合数据,反馈至BeagleBlack Bone存储,可以通过发送指令控制家居调整至用户需要的设置,从而达到使家居满足用户需求的效果。
1 系统结构设计
1.1 内网组建方式
一般来说,智能家居系统分为内网与外网,内网是用于家庭内部设备与网关通信的网络。本文设计指的是各类传感器与协调器及协调器与BBB之间的通信,无线智能家居内网组建采用ZigBee无线通信方式,不仅功耗低,其成本相对于蓝牙等其他无线技术更低。
1.2 外网的组建
外网是指BBB与以太网的通信,微信登录发送指令与BBB组成的网络。现有的用于远程监控的平台大部分采用微信公众号或者商家自带的App。Web版微信登录方式不仅移植性强,而且相比于公众号更方便、安全、快捷;相比于App控制,后期维护成本更低,且操作简单。
1.3 总体结构设计
系统的总体设计由以下部分构成:Web版微信作为外网登录获取并控制内网信息、BBB开发板作为中央处理器(相当于PC机)、数据中转站的ZigBee协调器以及连接着多个传感器的终端设备。整体系统结构如图1所示。
2 智能家居系统硬件设计
2.1 BeagleBone Black处理器
系统的中央处理器是BeagleBone Black,通常称为BBB,这是一块面向Maker设计的嵌入式Linux开发板,内部采用ARM Cortex-A系列核心的TI处理器。在本系统中,该处理器的作用类似“大脑”,负责数据处理、存储数据、指令转发等一系列工作。
2.2 ZigBee协调器与终端设备设计
ZigBee 模块是组建家庭内网的基本单元。通過ZigBee协调器无线接收的各个终端数据通过串口转发给BBB,ZigBee终端设备则用于直接接收各类传感器的信息并发送给协调器。通过ZigBee模块把家庭内网与互联网连接起来,实现数据的转发。ZigBee模块芯片采用CC2530,通过ZigBee协议栈,为ZigBee通信提供一个完美的解决方案。终端与各类传感器的连接如图2所示。
2.3 电源模块设计
本文设计一共需要两种不同幅值的电压输入,分别是直流5 V和直流3.3 V。其中,5 V电压是由手机电源适配器提供,3.3 V由5 V变换得到。系统中需要采用3.3 V电压给ZigBee芯片、温湿度传感器、光敏传感器模块供电,没有较大的电流需求,只要求电源电压的纹波较低,故本系统采用线性稳压电源模块,通过5 V电源降压得到3.3 V电源。LM1117是一款低压差的线性稳压器,它可以实现5 V到3.3 V电源的转换。3.3V直流电源设计原理如图3所示。
3 智能家居系统软件设计
本文设计采用BBB开发板,以Z-Stack作为网络通信协议,微信作为外网与内网的通信方式。
3.1 ZigBee组网
系统使用IAR systems公司的集成开发环境IAR Embedded Workbench,IAR Embedded Workbench 是一个用于编译和调试嵌入式应用程序的集成开发环境, 支持 C/C++语言。系统使用TI公司的ZigBee协议栈, ZigBee协议栈运行在一个称为OSAL(Operation system Abstraction Layer)的操作系统上,OSAL基于任务调度机制, 其工作原理为:将每个事件都设置一个事件号,根据事件号的优先级,轮换查询事件是否被触发,当事件被触发,调用相应的任务处理程序。在ZigBee网络中有三种设备类型,即Coordinator(协调器),Router(路由),End-Device(终端)。ZigBee网络由一个协调器、多个路由和多个终端组成,将相应的程序烧录到不同的设备上,上电后自动组网。
3.2 协调器节点软件设计
协调器和终端设备在组网时会自动分配给各个节点一个16位的MAC地址,协调器发送命令数据采用点播的方式在外网Web版微信登录后,发送一个指令,BBB接收后通过串口的方式发送给协调器,之后再转发给相应的终端设备。协调器的工作原理流程如图4所示。
3.3 终端节点软件设计
终端节点用于收集各类传感器的数据,当协调器下达命令时,通过终端节点将指令转发至相应的传感器,从而达到控制家庭设备的目的。终端节点使用一块电池供电,其工作流程如图5所示。
3.4 Web版微信登录原理
由于本文外网设计是通过 Web版微信登录控制内网的设备,所以Web版微信登录机制也是软件设计的重要部分。当用户请求登录Web版微信时,微信服务器返回一个会话ID,生成一个随机的二维码,通过扫描二维码来标识当前的登录,微信服务器轮回查询用户手机端是否已经扫描二维码并确认在Web端登录。微信服务器访问登录地址并获取uin、sid、pass_ticket、skey,在后续通信的过程中都会使用到这几个值。登录完成后,服务器通过返回给用户的会话ID对用户进行微信好友以及公众号的信息同步,不断查询是否有消息接收。当接受到一个消息之后,在数据库里查询是否有相关的指令回复,并向发消息的用户回复相应节点的信息。Web版微信登录具体流程如图6所示。
4 智能家居系统远程监控功能测试
外网登录Web版微信后,就可以与内网通信。
图7所示为当发送一个字符时,系统做出回应,默认“.”为起始指令,用户发送”.”,查看是否登录成功。
“.all initial”指令用来初始化内网信息,命令协调器更新网络中节点的数量,如图8所示。
“.all status”命令用以查询各个节点的状态,返回各个终端节点包含的传感器的信息,如图9所示。
图10所示为终端节点重命名功能图,用于对终端节点的重命名,重命名成功后返回成功信息。
通过微信端发送的指令,可以人为地改变设备的状态,待后台回复消息后,更新设备状态,同时也可以查询各终端节点的信息,如图11所示。
输入相应的节点名字与设备名称,返回该传感器测量到的数值,如图12所示。
5 结 语
本文主要对现存的智能家居系统进行了细节展示,搭建了一个微型的智能家居平台,并且运用外网与内网的连接达成了用户对家居的总体控制。通过实验结果可知,所设计系统稳定,各传感器工作正常,并且能顺利实现用户命令的效果。同时,使用Web版微信登录方式,不仅移植性强,相比于公眾号也更方便、安全、快捷,具有较好的实用价值。
参考文献
[1]郑艳华,蔡佳林.一种基于微信平台的智能家居系统[J].物联网技术,2016,6(12):45-47.
[2]孙会民.基于物联网ZigBee技术的智能家居监控系统[J].软件导刊,2015,15(9):97-99.
[3]李泊锋,王亚刚.基于ZigBee无线技术的智能家居系统设计[J].电子科技 ,2016,29(3):86-89.
[4]张景宇,刘汝涛,徐韶,等.基于人工鱼群神经网络的GPS高程拟合研究[J].城市勘测,2017(1):86-90.
[5]邓中祚.智能家居控制系统设计与实现[D].哈尔滨:哈尔滨工业大学,2015.
[6]王泰惠.基于无线网络的智能家居组网研究与实现[D].大连:大连理工大学,2015.
[7]王云岗.基于ZigBee的嵌入式智能家居系统设计[D].绵阳:西南科技大学,2015.
[8]陈淡宁.基于物联网的智能家居环境监测系统的研究[D].长春:吉林大学,2014.
[9]马舟.基于ZigBee协议的智能家居家庭环境监测系统的研究与设计[J].北京:华北电力大学,2014.
[10]聂佰玲,刘亚,李宇,等.基于微信控制的智能家居系统研究与设计[J].山西农经.2016(2):97-98.
[11]王加梁.基于ZigBee技术的智能家居系统的设计与应用[J].电子技术与软件工程,2016(18):34-35.
[12]吴义黄,唐丹宏,郭坤,等.基于微信端的智能家居监控系统的设计与实现[J].电脑知识与技术,2016(11):208-210.