基于无线传感网与人机交互管控的智能婴儿车
2022-09-19李明欢谭健枫陈永楷张晓娜
李明欢,彭 剑,谭健枫,陈永楷,张晓娜,唐 瑾
(韶关学院 信息工程学院,广东 韶关 512005)
0 引 言
随着5G技术的不断成熟,物联网技术的应用不断走进千家万户。然而,在婴儿车的智能化方面,通过市场调查发现,没有成型的智能婴儿车商品,人们使用传统婴儿车仍存在各种不便。因此,本文顺应物联网技术的发展和国家新出台的“三孩”政策,设计出一款功能实用、具有创新性、能够提高人们生活效率的智能婴儿车。
1 系统总体设计概述
本系统的总体设计分为硬件系统、软件终端系统以及OneNET云平台三部分,如图1所示。硬件系统的具体形式是各类传感器和电子设备,软件终端系统则是手机APP与微信小程序。在实现婴儿车智能化的过程中,软件终端系统充当着系统的“大脑”,智能控制婴儿车;硬件系统则充当着系统的“手脚”,对婴儿车周边环境的数据进行采集以及响应终端的命令;OneNET云平台则具有数据和命令中转的功能。三个部分相互联系,将数据和命令有组织性、有规划性地进行传输和控制。在此基础上,设计出婴儿车的智能化功能模块,全方位实现婴儿车智能化。
图1 系统总体设计结构
2 硬件系统设计
如图2所示,本系统的硬件设计是基于ARM体系架构的Cortex-M4内核STM32F407微控制器,该控制器拥有主频168 MHz的处理速度和多种外设接口,可以用来驱动各种传感器模块。本设计采用了超声波传感器、温湿度传感器、压力传感器、声音传感器、语音识别模块、摄像头等传感器模块实现婴儿车环境信息的获取,同时应用了嵌入式微控制、GPS定位、自动跟随、GSM全球通信等技术来全面控制LED灯、小风扇、供暖设备、语音播放模块、音乐播放器等相关设备。在此系统中,可视化模块设计成硬件系统的终端,STM32F4微控制器作为硬件系统的逻辑控制部分,而其他硬件模块则作为硬件系统的功能子模块,可视化终端以人机交互的方式控制相应的功能子模块。
图2 硬件设计结构
2.1 夜晚照明模块设计
夜晚照明模块主要采用了光敏传感器对婴儿车周边环境的光强度进行检测。当检测环境光线过暗时,微控制器自动打开LED小灯照明;环境光线适宜时,自动关闭小灯。夜晚照明功能代码如下:
2.2 智能调温模块设计
智能调温模块采用了DHT11温湿度传感器、小风扇、供暖设备。系统预先设定一个适合婴儿健康的温度阈值区间,通过温湿度传感器获取环境温度。当温度超过这个阈值区间的最大值时,微控制器自动打开小风扇进行降温;低于区间的最小值时,自动打开供暖设备进行升温。这两种处理的目的是让婴儿车的温度最终达到预先设定区间的中间值,此时微控制器则自动关闭小风扇和供暖设备。
2.3 智能哄睡及启蒙播音模块设计
智能哄睡及启蒙播音模块主要由电机、MP3模块和声音传感器构成,如图3所示。声音传感器对噪声灵敏度较高,可以很灵敏地检测到婴儿的哭闹声。为了避免干扰,考虑到婴儿的哭闹声一般是持续性的,系统先设定一个变量来存储婴儿哭闹声的时间,用来判断婴儿是否真实哭闹。当哭闹的时间值超过了设定值,微控制器控制MP3模块自动播放娱乐音频,同时启动电机使车身轻轻摇晃,缓解婴儿哭闹的情绪。婴儿需要启蒙时,用户可提前给存储器存取相关的文件,通过终端控制MP3模块打开启蒙音乐、诗词以及成语等启蒙播音功能。
图3 智能哄睡及启蒙播音模块设计
2.4 智能测重模块设计
智能测重模块采用了压力传感器对婴儿体重进行测量,使用HX711模块将体重A/D转换成数值,将该数值传输到微控制器,进而传送到终端,以可视化的方式展现给用户。用户可通过终端下传指令,获取婴儿的体重信息。此模块还可检测婴儿是否在婴儿车里面,判断婴儿是否被抱走等情况。
2.5 遇障提醒模块设计
遇障提醒模块由超声波测距和蜂鸣器报警两部分构成。测距时,微控制器先发送一个大于10 μs的高电平信号来驱动超声波模块,之后超声波模块自动发送40 kHz的方波并检测是否有信号返回,如果有信号返回,Echo引脚发送一个高电平给微控制器。高电平持续的时间是超声波从发射到返回的时间,通过该时间可计算出婴儿车与障碍物的距离。在此之前,系统先设计合适的距离阈值,当婴儿车接近障碍物的距离小于这个阈值时,微控制器则自动打开蜂鸣器报警,提醒用户周围有障碍物,注意危险。遇障提醒功能代码如下:
2.6 上坡助力和下坡减速模块设计
上坡助力和下坡减速模块主要由MPU6050三维角度传感器模块和电机组成,如图4所示。在婴儿车底部安装电机轮子,通过轮子的正反转实现上坡助力和下坡减速功能。在此模块中,MPU6050内部整合了3轴陀螺仪和3轴加速度传感器,并且含有一个第二IC接口,可用于连接外部磁力传感器;并利用自带的DMP数字运动处理器硬件加速引擎,通过主IC接口,向应用端输出完整的9轴融合演算数据。有了DMP后,通过使用InvenSense公司提供的运动处理资料库,实现姿态解算,从而计算出婴儿车与平面的角度。上坡时,当婴儿车与平面的角度超过系统设定的阈值,微控制器则控制电机正转,实现上坡助力,节省人力;下坡时,微控制器控制电机反转,实现下坡减速,防止婴儿车溜车过快造成危险。
图4 上坡助力和下坡减速模块设计
2.7 摄像头监控和拍照模块设计
摄像头监控和拍照模块采用了OV5640摄像头模块,支持输出最大值为500万像素的图像,支持使用VGA时序输出图像数据,输出图像的数据格式支持YUV(422/420)、YCbCr422、RGB565以及JPEG格式,若直接输出JPEG格式的图像时可大大减少数据量,方便网络传输。在此设计中,摄像头作为图像采集器,实时采集婴儿的画面数据,系统将采集到的数据通过微控制器上传到终端显示。终端可下发指令控制OV5640摄像头,完成对婴儿进行拍照和有关画面的监控。
2.8 指纹安全认证模块设计
指纹安全认证的模块主要采用了AS608指纹识别模块和电磁锁模块。AS608指纹模块有丰富的系统资源,可以储存、比对用户的指纹信息。此模块的设计思路:首先在系统录入监护人的指纹信息,当需要锁定婴儿车时,用户可通过终端锁定,除开锁外的其余功能无法使用,同时微控制器控制电磁锁锁住车罩。解锁时,系统需要监护人的指纹认证信息,指纹通过认证方可解锁,否则不解锁,解锁失败超过3次则远程通知监护人婴儿车周围可能存在危险。指纹安全认证流程如图5所示。
图5 指纹安全认证流程
2.9 GPS定位模块设计
GPS定位模块采用了ATK-S1216F8-BD GPS/北斗模块,该模块是一款高性能 GPS/北斗双模定位模块。ATKS1216F8-BD GPS/北斗模块采用UART(串口)方式与外部设备通信,输出的GPS/北斗定位数据采用NMEA-0183协议,控制协议为SkyTraq协议。定位模块将婴儿车的位置信息发送到终端,用户可实时了解婴儿车的地图位置,保障婴儿的安全和防止婴儿车被盗。ATK-S1216F8-BD GPS/北斗模块接线图如图6所示。
图6 ATK-S1216F8-BD GPS/北斗模块接线图
2.10 智慧通知突发状况模块设计
智慧通知突发状况模块主要采用GSM SIM800A无线通信模块。SIM800A是SIMCOM公司的模组方案,可通过串口传输标准的AT命令对模块进行控制,可以提供语音通话、短信广播/彩信、GPRS数据通信等多种功能,同时支持HTTP、TCP/IP等多种协议。当出现婴儿尿床、婴儿车被盗现象或超出监管范围等突发状况时,微控制器则控制SIM800A模块及时自动发送信息提醒监护人,帮助监护人实时了解婴儿的情况和保证婴儿的安全。
2.11 可视化人机交互模块设计
可视化人机交互模块主要借助STEMWIN库和TFTLCD液晶屏来实现。TFTLCD液晶显示屏用于显示功能界面,同时利用电容触摸屏给监护人提供控制婴儿车的相关子功能。设计流程为:首先,初始化TFTLCD液晶显示界面,通过位图显示界面的背景以及各个功能图标;然后,创建父窗口以及子窗口,父窗口主要是显示背景图和功能图标以及接收点击图标的位置信息,而子窗口设有开关两个按钮,用户点击触摸屏,触摸屏将点击位置传送到父窗口,父窗口接收到信息后便进入子窗口,按下开关按钮,子窗口接收信息并控制婴儿车的相关开启或关闭子功能,同时子窗口设有退出功能,方便用户同时控制多个子功能的开关。人机交互设计流程如图7所示。
图7 人机交互设计流程
2.12 婴儿车智慧跟随模块设计
婴儿车智慧跟随模块主要由舵机和摄像头构成。系统通过摄像头将指定监护人的图像信息录入OpenMV模块的内置FLASH中。功能开启后,系统采用了视觉测距原理会自动测出监护人相对于摄像头的距离,当距离超过预先设定的阈值时,微控制器则会控制安装在车轮的舵机带动车轮转动,实现婴儿车跟随监护人前行的功能,小于阈值时舵机自动停止,婴儿车停止前行。
2.13 婴儿车智慧应答模块设计
婴儿车智慧应答模块主要由语音识别模块、语音播报模块构成。实现功能前,先将系统需要应答的话语用语音合成技术软件合成音频文件,系统提前设计好驱动各个功能的相关指令。此功能模块中,语音识别模块获取监护人的声音,识别声音是否为系统的指令,如果是系统的指令,系统则会控制相关功能的开启,同时播放相应的音频文件作为应答信号,如不是系统的指令则不执行任何功能,实现语音AI控制婴儿车。
3 软件终端设计
3.1 微信小程序UI界面设计
微信小程序具有开发成本低、用户认同感好、留存率高的特点,加上框架和组件设计的相对完善,能够实现苹果和安卓的跨平台使用,因此作为智能婴儿车的软件终端特别合适。OneNET云平台能够与婴儿车的ESP8266硬件模块互相通信,微信小程序与OneNET相通后,便能控制婴儿车了。小程序可通过MQTT协议访问OneNET平台并与之通信,接收向云平台发送的硬件数据流和发送命令经云平台中转进而控制硬件。微信小程序登录界面如图8所示。
图8 微信小程序登录界面
小程序需要特定的账号和密码才能登录使用,登录成功后显示的是环境信息页面,界面如图9所示;同时可以跳转到管理控制界面、宝宝信息界面。如图10所示,管理页面有控制婴儿车LED灯、小风扇、供暖设备、摄像头等功能,每一个功能的开关都是单独的数据来源,根据数据为“TRUE”还是“FALSE”来判断打开或关闭,而每一个开关变量的值是全局变量,则可使每个页面都可以调用该开关的值,再通过该值来判断当前显示的状态,每一次跳转页面在页面加载时重新赋值,从而使信息发生变化。后台可通过管理控制的状态来接收当前状态的信息并进行分析,提出最适合婴儿当前情况的建议,让婴儿环境更加舒适。
图9 环境信息界面
图10 管理控制界面
3.2 手机APP设计
考虑到用户使用软件的多样性,主流手机APP应用的开发也应当考虑。手机APP开发的功能与微信小程序大体相同。在开发的功能界面中,可提供用户登录、管理婴儿车的设备、远程监控婴儿车等功能,手机APP通过OneNET云平台中转控制硬件模块以及获取硬件模块采集的数据。具体设计步骤如下:(1)设计用户登录界面、管理设备、远程监控界面;(2)采用HTTP协议连接OneNET云平台;(3)设计控制硬件的指令和获取数据流的对象;(4)采用Get方法获取硬件模块向OneNET云平台发送的数据流,利用Post方法发送指令,通过OneNET中转传到STM32F407微控制器控制硬件;(5)测试。
4 OneNET云平台管控设计
OneNET云平台是中国移动打造的PaaS物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署,为智能硬件、智能家居产品提供完善的物联网解决方案。对于智能婴儿车云端管理设计,OneNET云平台能够很好地支持婴儿车的云端开发。由于OneNET云平台支持HTTP、EDP、TCP、MQTT等多种协议接入硬件设备,在婴儿车的云端管控设计中微控制器则采用ESP8266模块使用MQTT协议连接OneNET云平台,在云平台设计好功能界面后便可全面管控婴儿车。功能界面具体设计步骤如下:(1)前往OneNET控制台采用MQTT协议添加婴儿车产品与设备;(2)硬件ESP8266模块接入OneNET;(3)设计婴儿车应用管理界面;(4)测试硬件上传的数据流和OneNET的下发命令。OneNET平台硬件在线显示、数据流、应用管理界面分别如图11、图12、图13所示。
图11 OneNET硬件在线显示界面
图12 OneNET数据流
图13 应用管理界面
5 结 语
目前,婴儿车主要是实现防震抖动、轻便可折叠、智能刹车等功能,并没有将婴儿车与物联网技术真正地结合起来。此次设计致力于开发一款与现今先进技术相结合的智能婴儿车,将传统婴儿车结合无线传感网和计算机技术,打造一款硬件终端、软件终端、云端可全面管控的智能婴儿车。