祝衍军 陈俞强
(东莞职业技术学院计算机工程系 东莞 523808)
由于我国建筑材料的质量、建筑行业的管理、标准执行及行业人员环保理念存在着诸多问题,以及室内追求气密性和热绝缘性使得新风量不足造成人体排泄和装修材料释放的有害物体在室内蓄积、浓度升高,造成室内环境污染严重[1~2]。本文针对当前室内环境污染的严峻形势,将室内外环境数据采集与室内现有的各种环境调节设备无缝集成,系统根据采集到的室内外环境数据测算人体舒适度指数,根据人体舒适度指数自动控制对应的环境调节设备,营造一个智能舒适干净的室内环境。
为了充分利用大多数家庭室内现有的环境调节设备,如新风系统、空气净化器、风扇、空调、电动窗帘等,以及兼容新购置的环境调节设备,室内环境采集与智能控制系统采用分层的思路来设计,从下往上分为传感器层、数据采集与设备控制层、系统应用层、环境调节设备层,具体如图1所示。
其中传感器层和数据采集与设备控制层组成了系统的环境采集与智能控制硬件,环境采集与智能控制硬件将采集到的环境数据存储到云平台中或者手机APP中,手机APP作为智能采集与控制硬件的操作界面,用户通过APP配置和控制室内各种环境调节设备,云平台根据用户设置、个人偏好、室内外环境数据计算人体舒适度指数和发送命令给环境采集与智能控制硬件智能调控对应的环境调节设备,使得室内环境变得更舒适。
图1 便携式室内环境管理系统总体架构图
本系统通过环境采集与智能控制硬件采集各种室内环境数据并根据室内环境状况智能控制对应的室内环境调节设备。系统硬件与云服务器之间则只能通过Wi-Fi的方式进行通信和数据传输,手机APP作为硬件的操作界面,为了适应各种情况系统硬件可以通过热点含着Wi-Fi的方式与手机APP进行通信,通信模块采用Wi-Fi芯片ESP8266[3~4],ESP8266 支持 station、AP、station+AP三种模式。如果系统硬件要与云服务器进行通信,则将硬件连接到家里的无线路由器即可;如果系统硬件不需要与云服务器通信,则可以通过热点的方式让手机APP与硬件进行通信。根据市场调研,大部分室内环境调节设备可分为红外家电和Wi-Fi家电控制两类,因此系统硬件与对应的环境调节设备之间通信支持红外和网络两种方式,如果系统硬件需要通过红外控制对应的环境调节设备,系统硬件需要根据环境调节设备对应的品牌和型号获取云服务器上的红外编码,然后通过红外模块发送对应的红外线;如果系统硬件通过网络控制对应的环境调节设备,只需要在APP上设置对应的IP地址和端口号即可。系统硬件通过集成各种环境采集传感器来换取室内环境数据,集成的环境采集器包括PM2.5传感器、温湿度传感器、二氧化碳传感器、甲醛传感器等,为了增加传感器集成和部署的灵活性,系统主控模块与各个传感器之间的通信采用ZigBee,具体硬件逻辑结构图如图2所示。
后台管理系统以云平台的架构来设计与实现,在存储各个硬件设备采集到的大量环境数据基础上,还为管理员提供各种平台运营和管理的功能,具体功能包括会员管理、设备管理、资讯管理、红外码库管理、接口管理、统计分析等功能码库,具体如图3所示。
图3 室内环境采集与智能控制系统云平台功能架构
系统会员分为普通会员和红外码库贡献者两种。普通会员为购买环境采集与智能控制硬件并且注册APP用户的普通用户,只能管理和查看自己的设备及设备采集到的各种环境数据;红外码库贡献者是为云平台贡献平台目前不存在的市场上某种具体品牌及型号的红外码用户,系统根据会员的贡献度来计算该会员在平台上可以获取的红外码库资源。
设备管理给管理员和普通会员提供管理设备的各种功能,包括设备的增删改查、设备的运行状态监控、环境采集与智能控制硬件和对应环境调节设备的关联操作等功能。
资讯管理为管理员提供资讯文章的增删改查操作和周边拥有环境采集与智能控制硬件的商家信息管理,管理员可以在系统上发布各种养生和环境相关的资讯推送给用户,普通用户则可以在APP上实时查看周边商家的室内环境状况。
红外码库管理包括市场上各种红外环境调节设备的品牌管理、型号管理和对应的码库管理、红外贡献者的积分规则及可以获取云平台上已有的红外码库资源权限管理等功能。
接口管理包括云平台采集各个城市的室外环境数据接口、硬件接口、APP访问接口、红外码库开放接口及接口安全认证等各种功能。
统计分析为平台运营者提供各种报表统计和分析功能,让平台运营者可以实时了解各种运营指标,如用户发展情况、终端设备运行状态、系统访问量等。
手机APP作为普通用户与云平台和环境采集与智能控制硬件的连接器,APP为普通用户提供了设备管理和个人信息相关的各种功能,包括我的设备、我的环境、养生资讯、个人中心等功能,方便其随时随地了解室内环境采集与智能控制硬件的运行状态和控制各种环境调节设备,具体功能架构图如图4所示。
图4 室内环境采集与智能控制系统手机APP总体功能图
我的设备包括监测设备和调控设备两种,监测设备为自己购买的环境采集与智能控制硬件;环境调节设备为家中已有且可远程控制的设备,如风扇、空调、电动窗帘、空气净化器等。首先用户按照监测设备添加指南一步一步的将设备添加到系统中,再将对应的环境调节设备添加进去。如果用户想通过系统自动或者手动远程控制调节设备,则需要针对每个监测设备添加和匹配对应的调控设备,达到可以智能调节和控制室内每个房间或者区域的室内环境。
我的环境包括室外环境和室内环境,室外环境展现环境采集与智能控制硬件所在城市的最近一段时间内的室外环境数据,室内环境展现用户已经添加到系统中每个监测设备采集到的室内环境数据。
养生资讯包括资讯推荐和周边环境,资讯推荐为用户智能推荐一些环境和养生相关的文章,周边环境展示用户周边其他用户(主要是商家)愿意共享其检测设备采集的室内环境数据,并且系统针对商家提供对应的服务在线预订和导航等便捷功能。
个人中心提供注册、设置和帮助等功能,用户可以在个人中心中设置各种控制场景模式,如回家、出门等模式。
目前市场上缺乏较好针对设备接入认证和原始数据保护的安全机制,导致病毒、木马、黑客恶意入侵等攻击行为层出不穷,严重影响了云计算服务的应用与发展[5]。提高云服务中前端设备的安全接入和验证识别,成为近年来云计算服务的研究热点之一。针对网络设备的安全接入问题,思科系统公司提出的网络准入控制技术(NAC)[5]、微软提出的网络接入保护技术(NAP)[6]和可信计算组织提出的可信网络连接技术(TNC)[7]等这些技术都是基于IEEE802.1X标准实现的用户与网络认证,不包含接入设备。在数字广播电视中流行使用的有线通用接入卡技术(CAC)是通过读卡器实现网络对终端设备的认证[8],这只能保证终端设备的初始接入认证,但不能保证设备的持久可信性[9~10]。本文针对室内环境采集与智能控制接入设备的特点,使用设备前面一段时间内采集到的动态环境数据作为DES的密钥对需要传输的数据和获取的命令进行加解密来确保设备的接入认证和保证设备的可持续性。
为了应对室内环境采集与智能控制设备的网络异常和断电等异常情况,在每个接入设备上设计了一个可以存储部分环境数据的存储功能,它滚动存储了该设备最近一段时间室内采集到的环境数据,包括最近上传到云服务器的环境数据和未成功上传的环境数据两部分,其中最近上传到云服务器上的环境数据和云服务器存储对应设备对应时间段内的环境数据是完成一致的。因此本文就将接入设备上和云服务器上面完全一致的环境数据作为 DES[11~12]加密的密钥,而这些完全一致的环境数据是根据时间滚动变化的,因此每个设备每次用于数据加密的密钥都是不一样的,从而保证每个接入设备的数据安全传输和接入可持续性认证。密钥计算过程如下所示:
第一步,系统获取接入设备最后一次成功上传数据的时间,根据该时间向前推一个周期取出n个环境数据,然后对其平均获得最近一个周期内该设备采集到的环境数据平均值,具体计算公式如式(1)所示。
其中x、y、z为预先选定设备上集成的不同环境传感器在同一个时间点采集到的环境数据值,如PM2.5、二氧化碳、温湿度等数据。
第二步,在获得最近一个周期内该设备采集到的环境数据平均值后,再给每个环境数据值分配一个权重,最后加权计算获得加密密钥,具体计算公式如式(2)所示。
其中x0、y0、z0为预先选定设备上集成的不同环境传感器在同一个时间点采集到的环境数据平均为对应每个环境数据的计算权重。
图5 接入设备加密过程
由于每个设备中Wi-Fi模块的SSID是唯一的,本文将SSID作为每个设备在系统中的唯一身份标识,设备在和云服务器[13~15]进行通信时首先需要判断是否是第一次接入云服务器,如果是第一次接入云服务器,则采用默认的加密密钥对需要上传的数据进行加密;如果不是第一次接入云服务器,则根据最后一次成功上传数据的时间向前推一个周期取出对应的环境数据值进行平均加权后得到加密密钥,再用该加密密钥对需要上传的数据进行加密,具体加密过程如图5所示。
云服务器对于每个接入设备,首先需要判断该设备是否是第一次接入云服务器,如果是第一次接入,则根据设备的SSID判断该设备是否已经在云服务器中存在,如果存在表示该设备不是第一次接入,拒绝服务;如果不存在,则采用默认的加密密钥对收到的数据进行解密;如果不是第一次接入,则首先根据该设备用于计算密钥对应环境数据的开始时间和结束时间取出云服务器中对应的环境数据值,采用同样的密钥计算方法计算出解密密钥,具体公式如式(1)和式(2)所示,根据解密密钥对加密数据进行解密,具体界面流程图如图6所示。
图6 云服务器解密过程
本文构建了一个通过红外和网络控制室内家电的智能控制系统,该系统可以根据设备所在的室内外环境状况和用户偏好智能控制对应的室内环境调节设备,使得室内环境变得更舒适。系统采用云计算的架构来设计与实现,给出了系统的总体架构设计、系统硬件设计、云服务器设计和手机APP设计,针对云服务器的设备安全接入问题,系统使用动态密钥和DES加密算法来实现设备的安全接入和保证设备认证的可持续性。