基于NB-IoT的智能家居控制系统的研究*
2020-08-11胡文雅黄东栋
胡文雅 程 莉 黄东栋 曾 宇
(1.武汉工程大学电气信息学院 武汉 430205)
(2.武汉易思达科技有限公司 武汉 430205)
1 引言
早前人们对家居环境及系统的管控都是通过自身感知来作出相应的判断与处理,但人为感知并不能及时准确地创造安全舒适的家居环境。随着物联网技术的发展与成熟,人们生活水平的提高,智能家居设备受到人们的广泛关注,家庭生活中的舒适、安全与方便逐渐成为当下的热点。目前,覆盖窄、功耗大、成本高、连接小等问题是制约智能家居发展的重要因素。
因此,研究一款覆盖广、功耗小、成本低、连接大的智能家居控制系统变得非常必要。2018年山东科技大学设计了一款基于物联网技术的智能家居监控系统,通过ZigBee传感网络采集传感器数据,将采集到的数据汇聚至网关,再通过移动网络发送至服务器[17];2017年安徽理工大学设计了一款基于STM32的家庭智能家居设计,采用2.4GHz射频通信和GPRS移动通信来完成系统的设计[18]。以上研究虽然较最初的家居设备监测完善且方便,但是在功耗、成本、连接和覆盖上仍然存在不足。
本文从智能家居实际需求出发,采用NB-IoT模块和云服务器设计出了一套从底层硬件到上层云平台的控制系统设计方案,很好地解决了上述问题,具有很高的应用价值[5,12]。
2 NB-IoT技术优势与原理
NB-IoT是一个空中接口标准,这个标准主要是在终端与基站eNB之间的约定,与LTE空口标准有许多相似之处。NB-IoT的多址技术,上行采用SC-FDMA,发射功率为43dBm,下行采用OFDM,发射功率为23dBm,调制方式以QPSK和BPSK为主。
NB-IoT相较于其他物联网技术的比较如表1所示,通过对比它的技术优势有:1)超强覆盖,相对于原来的GPRS系统,增加20dB信号增益,通过重复发送,获得时间分级增益,并采用低阶调制方式,提高解调性能,增强覆盖;2)超低功耗,NB-IoT引入了eDRX省电技术和PSM省电模式。在PSM模式下,NB-IoT终端仍旧注册在网,但不接受信令,从而使终端更长时间驻留在深睡眠以达到省电的目的,另外eDRX省电技术延长终端在空闲模式下的睡眠周期,减少信号接收单元不必要的启动,使终端睡眠质量更好,从而功耗更低;3)超低成本,5美元模组成本,简化射频硬件降低协议成本,基带复杂度小;4)超大连接,200kHz小区容量可达100K用户设备,NB-IoT因为基于窄带,上行传输有两种带宽3.75kHz和15kHz可供选择,带宽越小,上行调度颗粒小很多,在同样资源利用情况下,资源的利用率会更高[8,10]。
表1 NB-IoT相较于其他物联网技术的比较
3 系统分层结构设计
从技术架构和功能角度来看,基于NB-IOT的智能家居控制系统的分层结构如图1所示,自底向上分为感知层、传输层和应用层[1]。
图1 系统分层结构图
感知层包括各家居传感器和控制器装置,用以采集家居环境的温湿度,光照度以及烟雾情况,当家居环境超过传感器设置的阈值的时候,控制器将作出相应的而响应。
传输层基于标准物联网通信接口&协议,采用先进的NB-IoT无线通信技术,授权无线频谱资源以及电信级端到端的安全技术,以保障数据接入安全,物联网云平台层拥有丰富的协议适配能力,支持海量多样化终端设备接入,基于统一规约和接口,实现不同类型终端设备的统一接入和管理,以确保互联互通。
应用层是在服务器上运行的家居设备管理平台,管理员可以在PC终端通过Internet经身份验证后进行远程数据查询和控制,还可在手机或平板上安装APP,实现随时随地的信息监测与管理操控[6]。
4 系统硬件结构及电路设计
4.1 系统硬件结构设计
系统硬件结构框图如图2所示。采用STM32F103RCT6芯片作为核心处理器,该信号芯片引脚数为64,芯体尺寸是32位,速度是72MHz,FLASH容量为256KB,SRAM容量为48KB,具有5路串口、7个定时器、7路通用DMA、48个通用IO口[9,11],功能包括:1)接收传感器采集的环境信息,并将处理后的信息发送给NB-IoT模块,然后上传到云平台;2)接收从云平台通过NB-IoT模块转发的家居设备控制命令并下发给相应的控制器。
图2 系统结构框图
NB-IoT模块采用BC95作为射频模组与系统进行数据交互,BC95模块其尺寸仅为19.9*23.6*2.2mm,能满足终端设备对小尺寸模块的需求,采用易于焊接的LCC封装,同时在设计上兼容GSM/GPRS系列的M35模块,方便对产品进行快速、灵活的设计和升级[7],通过850MHz射频天线将家居设备的状态数据直接上传到云平台,接收云平台家具设备的控制命令下发给控制器,控制器作出相应响应[2]。
STM32通过IO控制,设计有友好的人机交互界面,用户在液晶触摸屏上根据提示能够完成相应的操作与设置;另外STM32通过串口通信连接GPS定位器,经过STM32进行优化处理后,系统所在位置经纬度在液晶触摸屏和PC终端显示屏上显示。
4.2 系统硬件电路设计
NB-IOT模块由BC95模块、滤波器天线电路、SIM插座、复位电路和网络指示灯组成。BC95模块硬件电路如图3所示。其中15号引脚为模块复位信号,外接一个1kΩ的上拉电阻,防止线路较长时,产生寄生电容,影响稳定性;53号引脚为射频天线引脚,外接SMA连接器电路;18号引脚为网络指示灯指示网络状态;38号引脚为SIM卡供电电源,39号引脚为SIM卡复位信号,40号引脚为SIM卡数据信号,41号引脚为SIM卡时钟信号。经系统测试与调试,NB-IoT模块电路是行之有效的,很具有参考价值。
家居环境状态信息的采集与响应还需要温湿度传感器、光照度传感器、烟雾传感器以及继电器、蜂鸣器等控制器,还有实现人机交互的液晶显示器。这些外接的GPS定位器、传感器、控制器以及显示器的电路分别如图4~10所示。经系统测试与调试,外接各传感器电路图经测试也都是行的通的。
图3 BC95模块硬件电路图
图4 GPS电路图
图6 烟雾传感器电路图
图7 照度传感器电路图
图8 蜂鸣器电路图
图9 继电器电路图
图10 液晶触摸屏电路图
5 系统软件结构设计
系统软件设计主要包括核心处理器STM32接口程序设计和服务程序设计两部分。STM32接口程序设计主要包括传感器信息采集,控制器IO控制,人机交互界面设计和与NB-IoT模块进行串口通信程序设计,主要完成终端节点采集到的数据顺利传送到云服务器。服务程序设计主要包括网页设计,http服务器搭建,数据库建立,UDP通信控制脚本设计,主要完成把传感器采集的信息写入数据库进行存储分析,如果超过监控阈值则下发控制信息,STM32收到控制消息进行通风报警等操作[15~16]。
5.1 核心处理器STM 32接口程序设计
系统上电后首先对系统进行初始化,插入SIM卡使NB-IoT模块入网,GPS定位开启通过UDP通信将位置信息上报给服务器,IIC总线采集温湿度的值,ADC采集光照度和烟雾值都通过UDP通信将数据信息上报给服务器,NB-IoT模块收到来自服务器下发的控制信息,在液晶触摸屏上显示友好的人机交互界面,用户可直接进行操作。接口主程序流程图如图11所示。
5.2 服务程序设计
服务程序设计主要完成传感器信息的读写,传感器信息在网页上的显示以及控制信息的下发。开启UDP服务器监听的所有端口,将相应端口的传感器信息写入数据库并在网页上进行显示,比较传感器信息和设置的阈值信息,写控制信息到数据库并下发控制命令,控制传感器接收到命令信息后进行相应的跳电和报警响应。服务程序设计的主流程图和网页主流程图如图12和13所示。
图11 接口程序主流程图
6 系统实现
在PC终端通过Internet经身份验证后登录网页监控界面,如图14所示,点击“阈值设置”,设置传感器的最大最小阈值。如表2所示。
图14 网页监控界面
表2 传感器阈值设置
系统硬件如图15所示,上电后LED指示灯亮,按照液晶显示屏提示拨动拨码开关,各传感器进入工作检测状态。在PC终端监控界面点击“传感监控”,实时监测环境温度、湿度、照度、烟雾度以及所在测试位置的经纬度,并将传感器的监测数据显示出来。系统通过所设定的阈值判断环境是否有“异常”情况,若有不在阈值范围的数据系统直接下发控制信息,控制器作出相应响应,在PC终端界面能看到当前控制器的状态。
图15 硬件系统
完成与云平台的对接后,可以对传感器上传数据和下发控制指令进行测试[3~4]。在不同环境下系统测试数据如表3所示。
表3 系统测试数据
通过测试数据可知:家居环境适宜时,各传感器测试数据均在阈值范围内,控制器没有响应;阴雨天环境湿度过高超出阈值蜂鸣器发出报警响应提醒用户收衣服,关窗户等;正午大太阳天环境下光照度超出阈值蜂鸣器发出报警响应提醒用户适当关窗帘营造良好的家居环境;用人造烟雾测试系统烟雾报警可靠性,当烟雾值超标时继电器跳系统发出报警响应提醒用户断电并检查是否有火灾隐情,及时减小或避免不必要的伤害或损失。
通过测试,实现了对家居环境的监测以及提醒用户对家居环境的控制,为家居环境营造安全、舒适的氛围。同时数据上传和指令下发传输时间都小余2s,相较于基于ZigBee技术和GPRS移动通信技术,其响应速度大大提高,基本满足对家居环境的实时控制要求。
7 结语
本文提出了一套从底层硬件到上层云平台的控制系统设计方案,基于NB-IoT的技术优势,很好地解决了当前智能家居环境监测系统存在的覆盖窄、功耗大、成本高、连接小的问题。通过浏览器访问服务器,实现了家居环境温湿度,光照度以及烟雾情况的实时监测与控制。用户可以通过不同的终端,方便快捷地对整个家居系统进行实时监控及家居环境信息的集中管理,体现了智能家居舒适、方便、安全、节能的生活方式。
同时本系统也存在一些不足,系统通过监测环境对超过阈值的情况做出了跳电报警响应,窗户、窗帘,风扇,空调等家具设备还是需人为地去开关。未来希望在此NB-IoT智能家居控制系统的基础上,连接电动窗帘远程开关控制器,风扇转速控制器,空调调节控制器等,通过“一键操作”,真正实现管控所有家居设备的状态。