基于NB-IoT的智能家居系统设计

2021-02-25 13:30韩琛晔张微微
物联网技术 2021年2期
关键词:模组智能家居联网

韩琛晔,张微微

(河北工程技术学院,河北 石家庄 050091)

0 引 言

随着科技的进步,万物互联的时代即将到来。伴随着NB-IoT技术带来的物联网的发展,人们对居住条件要求逐步提高,智慧家庭时代即将来临,搭载物联网技术的智能家居将会给大家不一样的体验。目前,智能家居通常采用ZigBee、WiFi、Bluetooth等技术接入网络,但这些技术普遍存在功耗高、接入不方便,网络覆盖范围小等缺点。NB-IoT是由LTE技术发展而来的,是基于蜂窝的窄带物联网技术,其具备覆盖范围广、终端成本低、海量连接等优势,非常适用于物联网中智能家居系统的应用。

基于此,本文设计一种基于NB-IoT技术完成智能家居系统。该系统采用具有NB-IoT功能的BC95-B5芯片、融合嵌入式开发、窄带物联网通信技术、软硬件设计、Android开发以及Huawei OceanConnect云端平台接入技术支持的智能设计方案。实验表明,将NB-IoT技术应用于智能家居控制能够与家居环境高度契合,有效提升智能家居用户体验,应用成本也显著降低。

1 系统总体架构

基于NB-IoT的智能家居系统构建遵循物联网四层架构设计方案的原则,从下往上依次为感知层、网络层、数据层和应用层。系统设计层次结构如图1所示。

图1中:感知层由主控制器、烟雾、温湿度传感器、语音识别模块、光照传感器等组成,各传感器具有数据采集功能,微处理器将采集到的数据进行数据处理和控制;网络层由NB-IoT模块、核心网组成,负责在NB-IoT终端建立传输通道,进行数据传输;数据层选择使用华为云平台,接收从接入网得到的传感器请求内容,使设备接入互联网。应用层通过APP将从云平台获取的数据进行直观的显示和操作。

图1 系统总体架构

2 系统硬件设计

智能家居系统硬件设计主要分为三部分,即微控制器模块设计、NB-IoT通信模块设计和各传感器组模块设计。系统硬件设计框图如图2所示。

图2 系统硬件设计框图

2.1 主控芯片电路设计

考虑到系统要求主控芯片低功耗,具有丰富的接口和模块功能,而低功耗的L系列在可穿戴等领域具有极大优势,因此主控芯片选用STM32L451RCT6。该芯片具有256 KB的ROM,160 KB的RAM等内部资源,引脚数为64;最高工作频率为80 MHz;支持低功耗模式,关机模式下功耗低至22 nA,待机模式下功耗低至106 nA。

2.2 NB-IoT模块电路设计

NB-IoT 无线通信模块设计选用BC95-B5芯片上传家居环境数据。该芯片是移远通信技术公司生产,基于华为海思平台开发的一款物联网通信模块。该芯片内嵌有丰富的网络服务协议栈,具有超低功耗、超高灵敏度的特点。BC95-B5模块与电信运营商相对应支持850 MHz频段,NB-IoT无线通信模块内置SIM卡座并通过外接电源供电。NB-IoT采用蜂窝网络,类似手机通信,需要一个身份的识别与鉴权,因此需要SIM卡电路。物联网SIM卡选用中国电信的4G NB-IoT卡。模组供电电路采用两种控制方式:硬件控制和软件控制。接口电路包括天线部分、复位电路、通信接口和其他接口。

2.3 传感器模块设计

系统采用DHT22温湿度传感器、烟雾传感器MQ-2、LD3320语音模块、BH1750FVI光照传感器以及LED亮度可调灯等模块进行数据采集,获取室内温湿度、烟雾浓度、光照强度、语音信息等数据。

3 系统软件设计

系统软件开发分为四部分:第一部分是底层硬件终端软件开发,第二部分是NB-IoT模组软件设计,第三部分是云平台开发,第四部分是移动终端顶层应用开发(北向应用开发)。其中第一、二部分被称为南向开发,整个系统软件设计首先完成系统初始化(MCU初始化、NB-IoT网络连接初始化、NB-IoT模组初始化),完成初始化之后,系统进行数据上报和命令下发。系统软件总体框架如图3所示。

图3 系统软件总体框架

3.1 底层硬件终端软件设计

主控制器驱动程序及传感器数据采集程序基于Keil MDK5软件开发环境,采用C语言代码进行程序开发。芯片的初始化配置采用了ST意法半导体推出的针对STM32系列芯片的图形化配置软件STM32 Cube MX开发环境。设备上电后,初始化工作完成后需要主程序获取传感器采集的数据,并上报烟雾浓度值、温度值等数据。

3.2 NB-IoT模组软件开发

本设计采用的NB-IoT模组BC95-B5是整个系统的重要组成部分,负责将STM32控制器发送来的传感器数据打包。BC95模块中集成了CoAP服务端和客服端,使用AT(Attention)指令进行网络通信配置。AT指令是NB-IoT模组与STM32主控制器和物联网云平台通信的桥梁。通过AT指令进行入网配置,对接云平台。对接成功后,主控制器MCU的上行数据,通过串口使用AT指令发送给NB-IoT模组上传到云平台解析。下行数据从云平台通过CoAP通信协议发送到NB-IoT模组,NB-IoT模组使用AT指令获取到字符串,微控制器通过串口接收到数据并进行解析。BC95通信模块程序设计可分为BC95初始化、配置CDP服务器、数据发送和数据接收四个部分。

3.3 NB-IoT云平台开发

NB-IoT平台接入开发流程主要分为以下几个步骤:

(1)创建项目;

(2)进行Profile定义;

(3)编解码插件开发与部署。

Profile开发是通过定义Profile,说明设备的基本信息,接入NB-IoT之前必须先进行定义系统终端的设备模型定义,根据设备的实际情况进行各项参数的配置。设置好设备的服务内容后,完成Profile的在线开发。NB-IoT设备与华为云平台之间采用CoAP协议通信,因为NB-IoT硬件终端设备要求超低功耗,所以应用层数据格式采用二进制格式。但是物联网平台与应用侧使用JSON格式进行通信。因此,开发者需要开发编码插件,供物联网平台调用,以完成二进制格式和JSON格式的转换。平台编解码插件开发与部署结果如图4所示。

图4 平台编解码插件开发与部署结果图

3.4 移动终端顶层应用开发

因为设计的家居场景为移动控制类,具有远程控制和移动操作的特点,故在智能手机上使用Java语言进行移动终端APP开发。移动客户端设计了主界面和分界面。其中:主界面用于显示主要的智能家居设备;分界面显示智能家居设备的具体功能和控制按钮灯,主要包括灯光控制、温度检测、烟雾检测和语音助手等。

4 系统测试与调试结果

系统软硬件设计完成后,将设计好的系统终端放在家居环境中进行数据采集;系统上电后,各个模块进行初始化;初始化完成后系统接入网络并对接云平台,对接成功将数据上报。华为云平台可以查看上报的数据,并打开移动客户端对智能家居中的可调灯进行控制,如图5所示;在移动客户端操作界面可以下发命令数据,会在云平台上显示操作记录,如图6所示。

图5 移动客户端功能界面

图6 移动客户端命令下发数据

5 结 语

本文以NB-IoT技术应用为核心研究了智能家居的应用,按照物联网的四层设计开发出了一套智能家居系统。结合嵌入式技术,搭载移远公司BC98-B5通信模块完成了硬件系统设计、传感器收集到的数据通过BC98-B5利用NB-IoT技术将封装的CoAP数据传至华为云平台进行数据解析再推送到开发好的移动客户端,实现了智能家居的智能远程控制。实验表明,该系统连接范围广、突破了传统通信距离和空间障碍限制,能覆盖到家庭的每个区域,并且低成本、低功耗,提升了用户对智能家居的体验。

猜你喜欢
模组智能家居联网
“身联网”等五则
光学薄膜技术及在背光模组中的应用研究
抢占物联网
浅谈石墨烯材料在LED路灯模组中的应用及该模组的设计
基于Zigbee的无线通信技术在智能家居中的应用
关于超薄LED背光模组设计探讨
可再生能源与物联网
得MCU者得物联网天下
一种大面积OLED模组均匀调光技术研究
基于LD3320的智能家居控制