嵌入式智慧小屋开放式创新实验平台设计
2023-06-25陆玲霞郑荣濠楼东武于淼
陆玲霞 郑荣濠 楼东武 于淼
摘 要:为使学生更好地理解和掌握物联网在实际生活中的应用,搭建了根据实物尺缩模拟的小屋模型,设计了一种基于物联网云平台的嵌入式智慧小屋开放式创新实验平台。系统以STM32嵌入式主控板为核心,结合多个传感器,控制模型中的模拟家居设备,并通过BC28模块连接至物联网云平台,构建数据通道,实现双向通信,同时设计了Web端应用界面,最终完成了一整套智慧小屋系统,其环境和家居设备信息可供用户在移动端或者PC端实时远程监控。
关键词:智慧小屋;嵌入式系统;开放式创新实验平台
中图分类号:TP212 文献标识码:A 文章编号:2096-4706(2023)07-0161-04
Abstract: In order to help students better understand and acquire the application of the Internet of Things (IoT) in real life, this paper builds a house model according to the scale simulation of the real object and designs an open innovation experimental platform of embedded smart house based on the IoT cloud platform. With STM32 embedded main control board as the core, the system combines multiple sensors to control simulated household equipment in the model, connects to the IoT cloud platform through BC28 module, and constructs data channel to realize two-way communication. The Web terminal application interface is also designed at the same time, then a whole set of smart house system is finally completed. The environment and information of household devices can be remotely monitored by users in real time on mobile terminal or PC terminal.
Keywords: smart house; embedded system; open innovation experimental platform
0 引 言
嵌入式系統发展日新月异,数以万亿计的新设备将接入网络并产生海量数据,人工智能、边缘计算等新技术加速结合,应用于智能家居、智慧城市等多个领域,呈跨界融合、集成创新和规模化发展态势[1-3]。在万物相连的时代背景下,嵌入式系统需实现海量数据的安全传输和资源共享,再结合数据驱动和人工智能算法[4,5],助力解决复杂工程问题。基于此,对嵌入式系统的智能性、可靠性、互联性和高算力等需求日益提升。但目前常规嵌入式实验设备往往存在缺少被控对象和场景应用、技术更新快教学设备不断升级导致成本高和软硬件不开源不利于学生理解内部工作机理等问题,实验教学过程中也存在重软件轻硬件导致软硬件均精通的系统级开发人才紧缺、产学研用未结合和系列课程间存在壁垒导致学生无法融会贯通等问题[6]。
为使学生能在校园里接触到先进的嵌入式、物联网等关键技术,研制一款能激发学生兴趣、支持交叉融合、适用于探究学习和多个场景应用的嵌入式实验平台具有重要意义。因此,以实际生活中的智能家居为载体,基于嵌入式系统,研制出一款适用于《带你玩转物联网》《嵌入式系统》《嵌入式系统设计与实践》等课程内容的智慧小屋开放式创新实验平台。该平台接口资源丰富,除开展大量的基于嵌入式主控板的探究性实验外,结合云、边、端等概念,支持状态监测、数据采集、数据分析、远程控制、数据传输、数据安全等,适用于多个实际应用场景。
1 系统总体设计
本案例旨在搭建一个智慧小屋系统[7],实现空调温度智能控制、光照-窗帘联动夜间模式、入侵报警、烟雾检测报
警、植物自动浇灌等功能,系统整体设计方案如图1所示。该系统分智慧小屋终端系统及物联网云平台两大部分。其中终端部分主要由自制的STM32实验开发板、传感器、电气模拟设备、根据实物进行尺缩模拟的小屋硬件模型和内饰、NB-IoT[8-10]等通信模块五个部分组成,如图2所示。传感器部分包含光敏传感器、可燃气检测传感器、土壤湿度传感器、人体红外线传感器和温湿度传感器5个传感器。传感器直接与主控板STM32相连,完成各项数据的采集之后,将数据送往主控板进行数据分析与保存。电气模拟设备部分选用了步进电机控制窗帘开关、空调、排气扇、水泵、两个LED灯照明、蜂鸣器7个模拟设备。物联网云平台部分通常以阿里云为例做介绍。也鼓励学生探究机智云、华为云等其他平台应用。
多种传感器和模拟设备的数据在STM32主控板上进行预处理,并通过STM32主控板控制本地模拟设备;也可向NB-IoT模块发送AT指令使其连接至阿里云进行数据和指令的上传下达,并实现Web界面实时监控室内情况、钉钉自动推送报警消息等功能。其中NB-IoT模块也可用LoRa通信模块来替换,系统设计灵活。
2 智慧小屋终端设计
智慧小屋模型实物图如图3所示。尺寸大小为420 mm×
390 mm×270 mm,共分为三个房间,左为卧室,内含相关小家具模型、步进电机、光敏传感器、温湿度传感器、红外传感器、LED灯;右为客厅,内含相关小家具模型、排气扇、空调、可燃气检测传感器、LED灯;后为设备间,内含主控板、相关连线、插线板、12 V电源、继电器模块、物联网通信模块,其中蜂鸣器在主控板上;土壤湿度传感器、水泵以及小型盆栽置于小屋模型外部;模型框架的相关材料为绝缘板、亚克力玻璃板、喷漆、包角等其他五金材料。其具体功能实现如图3所示。
2.1 智慧小屋主控板设计
智慧小屋主控为自制的STM32实验板,如图4所示。其包含STM32最小系统、电机与继电器等被控对象、摄像头、各类通信模块和接口等,板上资源丰富、底层开源、可扩展性强。可将智能家居、云服务、物联网、安卓APP开发、视频监控、人机交互、音频控制等应用于此,开展多种开放式创新实验。学生借此作为下位机的核心主控板,完成整个智慧小屋的联动设计。主控板可通过四个通用GPIO口来模拟PWM波,通过控制脉冲个数来精确控制步进电机的转动角度。通过控制PWM波频率来设定恒定或变加速度的步进电机转动速度,从而达到模拟控制拉动窗帘的效果。蜂鸣器接一路GPIO口,当可燃气体浓度超标时发出警报声。LED灯模拟照明,也分别由通用GPIO口控制。排气扇和水泵都是依靠小型直流电机来达到模拟排气和抽水的效果,而微型空调则主要依靠半导体制冷片制冷,这三个模拟设备都是12 V电压驱动,全部由12 V电源供电,主控板通过继电器进行控制,防止电压过大烧坏主控板。
2.2 空调温度智能控制系统
本系统选用的是型号为GY-BM E/P 280的温度传感器,该模块是对BMP280芯片的一种应用封装,是一种专为移动应用设计的绝对气压传感器。模块的温度测量范围为0~65 ℃,分辨率0.1 ℃,误差±0.5 ℃,使用I2C或者SPI通信模式进行通信,本系统选用I2C通信模式进行数据采集。温度采集模块和STM32单片机直接相连,在I2C模式下,引脚SCL传输时钟信号,引脚SDA传输数据信号。考虑到房间模型的大小,空调器件选择半导体制冷器,其中制冷片选择TEC1-12706。工作时将制冷片和散热风扇接至12 V开关电源即可进入工作状态,正常工作时的功率约为50 W。因此,采用继电器控制半导体制冷器的开关,控制信号由控制主板通过IO口下达。
2.3 光照-窗帘联动夜间模式
本系统采用光敏电阻传感器,其工作原理基于光电效应,随着光照强度的升高,电阻值迅速降低。为了更好地对光照做出区分,本系统采用模拟信号即AO口。该模块直接和主控板相连,将采集到的信息传递给主控板。在窗帘控制部分中由于窗帘的长度是固定的,需要保证窗帘的每次开合都能转动固定的角度,所以采用步进电机作为控制电机,用于精确地完成窗帘的升降。本系统选用四线五相电机。窗帘的开关由电机轴进行卷动决定窗帘开关,这样设计方便电机对窗帘进行控制。使用5 V开关电源为步进电机供电,使用STM32的4个IO口直接控制电机的运动方式。
2.4 可燃气检测报警系统
本系统采用MQ-2烟雾气敏传感器,该模块适宜于液化气、苯、烷、酒精、氢气、烟雾等的探测。本系统需要在可燃气体浓度超过阈值后发出警报,因此采用DO口读出模块输出的数字信号。当空气中的可燃气体浓度超标时,输出高电平信号。该模块和控制主板直接相连,将采集到的信息直接传输给控制主板进行数据处理。
2.5 植物自動浇灌系统
本系统将土壤湿度传感器插入土壤检测室内土壤湿度,输出的模拟电压随着土壤湿度升高而增大。浇水部分采用水泵进行植物浇灌。水泵由5 V开关电源直接供电即可进入工作形态。水泵的开关由继电器进行控制,其中控制信号由控制主板的IO发出,供电方式为5 V开关电源直接供电。
3 STM32主控板程序设计
STM32主控板程序应用FreeRTOS操作系统,以多任务函数编写为框架,实现整个系统的联动过程。其主程序流程图如图5所示。在程序编写过程当中,高优先级的任务循环体中必须添加延时函数,否则高优先级任务无限循环,不会执行低优先级任务;另外由于窗帘开关的特殊性,在每一次进行窗帘开关操作后,窗帘的开关量会存储进ROM中,在每一次主控板上电初始化时,会去读取ROM中窗帘开关量,并赋值给窗帘参数,达成掉电记忆窗帘开关效果。硬件驱动程序都另放在专属的.c文件中,当主程序或者其他程序需要时直接调用其中的函数即可,极大简化了主程序的编写,并增加了其可读性和可调试性。
为了达到智能控制的功能,设计有安全模式及自动舒适模式,全部以任务函数体现。其中安全模式中包含三个智能控制功能:当可燃气检测报警器读数超过设定好的阈值时,排气扇、蜂鸣器会自动运转,并且主控板会自动向云端上传信息;当土壤湿度读数低于设定好的阈值时,水泵会自动开始抽水,对小盆栽进行灌溉;当红外传感器检测到有人时,会自动开启蜂鸣器报警,并向云端上传信息。自动舒适模式包含两个智能控制功能,当光敏传感器读数低于设定好的阈值时,卧室的LED灯会自动点亮,并且窗帘会自动关闭;当室内温度高于设定好的高阈值时,空调自动开始制冷,当低于设定好的低阈值时,空调自动关闭。两种智能模式都只能由云端的指令来控制开启或者关闭。此外,如果在开启智能模式时,人为控制其包括的模拟设备,则该智能模式自动关闭。
4 物联网云平台设计与实现结果
STM32主控板通过串口扩展上海移远研发的BC28NB-IoT通信模块上网,并收集小屋内信息传输到云端,首先需要在云端完成配置。本系统选择阿里云云平台,首先需要在云端完成产品的创建,产品创建完成之后,获取设备的三元组。接着创建设备,在添加功能中添加设备的属性,设备的属性即为输送到云端的各种数据。利用串口将AT指令传递给BC28模块,对BC28模块进行初始化和配置。然后把云端设备的三元组复制到阿里云物联平台配置生成相应的MQTT配置参数,在控制主板上输入云端设备的MQTT配置参数,使得设备能够登录阿里云,实现数据上传和下发。将设备连接至云端登录阿里云并且订阅主题,即可将数据发送至云端,数据格式需要遵循阿里云框架进行配置[11-13]。
最后,利用阿里云自带的IoT Studio创建Web可视化界面。在Web界面创建相应的图形界面并与属性一一对应,并做出一定的美化。作为用户,可以直接访问Web界面,对智能家居各个设备的状态进行查看。其实现效果如图6所示。智慧小屋系统的Web应用共分三个界面:首页、客厅和卧室。其中首页上显示的是小屋的基本信息、当前时间和小屋的地理位置。客厅和卧室界面都属于实时监控界面,在上面可以监测到所有传感器的数据并对相应的模拟设备下达指令进行操作。
在该部分,以阿里云做为典型案例介绍,学生主要完成物模型创建、IoT Studio业务服务和Web功能设计、阿里云物联网平台通信等软件设计,智慧小屋检测的仅为环境参数,学生可探究其他物模型来扩展。系统内设备间相互协调,完成运行控制、数据采集和传输、任务执行、信息交互等系列功能。
5 结 论
本文基于物联网通信模块和云服务,设计了一种嵌入式智慧小屋开放式创新实验平台,其集成度高,接口丰富,结构灵活,扩展性强,除此案例外,可通过添加ZigBee、5G、Wi-Fi和LoRa等模块实现物联网资源共享,扭转嵌入式实验平台只作为信息孤岛的现状,探索物联网新场景应用,结合智能家居、边端云、智慧城市等概念,为物联网跨界融合、集成创新和规模化发展做好充分准备。为有效拓宽学生思维,培养其创新与探究能力提供资源保证。通过该平台,可以使学生从底层的嵌入式系统过渡到物联网和数据驱动等相关技术及其行业应用,掌握基本的传感器和多类无线网络技术的应用,熟悉物联网系统的设计与调试过程,结合底层嵌入式设备和嵌入式实时操作系统,使其具备复杂的嵌入式系统项目研发能力,掌握软硬件和算法均精通的系统级开发能力,充分提升学生综合创新能力和解决复杂工程问题的能力。学生通过基于实验平台的自主探究学习,提高创新意识、科学素养、实践精神和团队合作精神。
参考文献:
[1] 朱洪波,杨龙祥,朱琦,等.物联网边缘服务环境的智能协同无线接入网及其关键技术 [J].南京邮电大学学报:自然科学版,2020,40(5):64-77.
[2] 李向阳,喇果彦,向英,等.大云物移智等新技术在电网应用的研究 [J].电力信息与通信技术,2019,17(1):89-93.
[3] 王基策,李意莲,贾岩,等.智能家居安全综述 [J].计算机研究与发展,2018,55(10):2111-2124.
[4] 陈丰乐.我国物联网产业发展现状及在通信行业的应用 [J].现代信息科技,2020,4(12):161-162+165.
[5] WAN J,TANG S,SHU Z,et.al. Software-Defined Industrial Internet of Things in the Context of Industry 4.0 [J].IEEE Sensors Journal,2016,16(20):7373-7380.
[6] 徐慧.以科研项目为支撑的短学期实践教学设计 [J].实验技术与管理,2019,36(9):169-171.
[7] 申赞伟,殳国华,张士文,等.基于STM32的智能家居物联网系统实验设计 [J].实验室研究与探索,2022,41(2):60-63+93.
[8] MIAO Y,LI W,TIAN D,et.al. Narrowband Internet of Things:Simulation and Modeling [J].IEEE Internet of Things Journal,2018,5(4):2304-2314.
[9] 孙彦景,冯甜欣,李松,等.基于NB-IoT的低速率监测物联网应用实验系统 [J].实验技术与管理,2020,37(3):95-98.
[10] 韩琛晔,张微微.基于NB-IoT的智能家居系统设计 [J].物联网技术,2021,11(2):69-71.
[11] KHAN S Z,LE MOULLEC Y,ALAM M M. An NB-IoT-Based Edge-of-Things Framework for Energy-Efficient Image Transfer [J].Sensors,2021,21(17):5929.
[12] KHAN S Z,ALAM M M,LE MOULLEC Y,et.al. An Empirical Modeling for the Baseline Energy Consumption of an NB-IoT Radio Transceiver [J].IEEE Internet of Things Journal,2021,8(19):14756-14772.
[13] 韓凝晖,陈宋宋,张旭东,等.智能家居综合传感装置开放式架构设计 [J].电力信息与通信技术,2020,18(4):104-108.
作者简介:陆玲霞(1982—),女,汉族,浙江余姚人,高级实验师,学院专业实验教学研究中心副主任,博士研究生,研究方向:嵌入式系统、物联网技术等。