基于STM32的数据通信智能安全婴儿车设计

2018-08-21 10:26刘斌琨刘海涛
科技与创新 2018年16期
关键词:手机软件婴儿车警报

刘斌琨,刘海涛

(合肥工业大学 电气与自动化工程学院,安徽 合肥 236000)

随着二胎政策的开放,新生儿数量逐年增多,使得新生儿在家庭中处于更重要的位置,安全问题也日益严峻。传统的婴儿车只是一个出行代步工具,并不能为婴儿提供较全面的安全保障,即婴儿被人带走时婴儿车无法做出任何相关反应。当今时代控制技术的发展日新月异,各种设备都走上了智能化道路,婴儿车也应走向智能。但是智能婴儿车在国外的发展倾向于对婴儿生命体征的监测,比如血压、体温、身高、体重等方面,国内的智能婴儿车则倾向于避震便携等方面。智能安全防护领域依旧是一片空白,因此,人们对一款能提供一系列安全措施的智能婴儿车的渴望越来越急切。

图1 整体设计的框图

1 系统整体设计

1.1 系统硬件设计

智能婴儿车采用嵌入式设计,可以实现包括温湿度检测、位置定位、误抱抓拍、越界检测和报警等功能。用户可通过手机软件远程监控或控制某些功能的开启和关闭。当系统检测到婴儿被非监护人抱走时,系统会启动摄像头对其抓拍,同时发出警报,手机会接收到抓拍的照片并振动弹出提示框“婴儿被抱走”。当婴儿车与监护人之间的距离超出一定范围时,婴儿车自身会报警,并且手机也会收到报警讯息,除非通过手机软件关闭报警或者婴儿车与监护人之间的距离恢复到安全值,否则婴儿车会一直报警。当监护人把婴儿交给不会使用手机的长辈看管时,可暂时关闭距离报警功能,同时能在手机软件界面上实时查看婴儿车的位置。

智能安全婴儿车的供电电源是只需提供5 V电压,并且能驱动两片单片机,因此,电源体积小、质量轻,不会造成额外的质量负担,保证了婴儿车的便携性。且整个电路装置用金属屏蔽网包裹,减少了电磁辐射,避免对婴儿身体健康发育造成影响。

整体设计如图1所示。

1.1.1 温湿度采集

温湿度传感器选型为DHT11,可检测温度和湿度。将传感器贴于婴儿车底部,用于检测车内温度和湿度,并实时地将数据传送给STM32(2),当STM32(1)收到来自手机的温度命令字时,STM32(1)通过串口1向STM32(2)发送请求,STM32(2)则将读取到的温湿度值回传给STM32(1)。STM32(1)将接收到的温湿度通过WIFI模块发送给手机。

1.1.2 压力检测

压力传感器选型为HX711,其单个压力传感器测量上限设置为25 kg。三个压力传感器呈三角形摆放在婴儿车底部,目的是更可靠地采集车内质量,防止婴儿翻身等活动造成单个压力传感器测量值不准确。根据物理学原理,STM32(2)将三个压力传感器检测到的数值相加得出最终的结果。当检测质量超过4 kg时,单片机程序中的标志变量Flag1置1,认为此时婴儿位于车内;当检测质量低于1.5 kg时,认为婴儿此时不在车内,此时判断Flag1是否为1,如果为1,则说明婴儿之前位于车内,现在婴儿被人抱走,婴儿车发出警报并拍照,标志变量Flag1清零,否则继续检测。

1.1.3 指纹识别

指纹模块选型为AS608。单片机程序内标志变量Flag2默认值为0,当监护人想要抱起婴儿时,可先进行指纹识别,单片机会对Flag2的值进行判断,Flag2为1时拒绝进行指纹识别,Flag2为0时允许进行指纹识别,识别成功后Flag2置1,这段逻辑是为了防止多次识别。指纹识别成功后系统动作为关闭报警功能,压力传感器则正常工作,当压力传感器检测的数值骤降时即婴儿被抱起,报警系统不响应,Flag2置0,最后报警功能恢复正常。AS608可存储300枚指纹,响应时间小于0.3 s,认假率小于0.001%,性能足以满足婴儿车的需求。

1.1.4 距离报警

距离报警通过检测蓝牙是否连接来实现,蓝牙选型为HC05。HC05在空旷地带的理论通讯距离为10 m,但经检测一般情况下其通讯距离在5 m左右。手机和单片机都在监测蓝牙连接状态,当婴儿车与监护人的距离超过5 m时,蓝牙连接就会断开,手机和单片机同时报警,且单片机的警报只有当接收到来自手机发送的警报解除信号或者蓝牙重新连接上时才会解除。其目的在于有人推走婴儿车后,婴儿车会一直警报,引起监护人和其他路人的注意,能够及时发现婴儿车被推走。在推走距离不是很远时,可通过警报声追踪嫌疑人。

1.1.5 位置定位

位置定位通过S1216北斗+GPS双定位模块来实现,其天线放置在婴儿车的把手上。S1216与单片机STM32之间通过串口3交换数据,串口3的波特率设置为38 400,刷新频率为5 Hz。北斗+GPS具有更高的精度,其定位精度为2.5 mCEP。当监护人想要查看婴儿车位置时可通过手机软件将命令字中GPS位置1发送给单片机,STM(1)接收到命令字完成解析后,将经纬坐标通过WIFI模块回传给手机。因为传送字长的关系,手机软件上显示小数点后四位,这已经能满足基本需求。

1.1.6 数据通信

数据通信依赖于WIFI模块ESP8266来实现。单片机与手机之间的数据传输都必须通过ESP8266完成。ES8266接收到6位手机命令字后,通过串口2传送给STM32(1),STM32(1)对6位命令字进行解析,不同的位对应不同的功能,根据不同的命令字执行不同的功能。ESP8266设置的波特率为115 200,传输速率约为8.5 KB/S,在数据量不大时,可以实现实时传输。

1.1.7 报警系统

报警系统由蜂鸣器和摄像头组成,摄像头选用OV2640。其像素为200万,经实验验证,抓拍的照片可以分辨人的面貌特征,抓拍反应时间小于1 s,能够在较短的时间内对压力警报做出反应。报警系统被压力传感器触发时蜂鸣器动作,OV2640抓拍抱起人员,手机软件弹出“婴儿被抱起”的窗口并持续振动。抓拍照片存放在STM32(2)携带的内存卡里,同时STM32(2)通过STM32(1)发送到手机。报警系统被蓝牙触发时蜂鸣器动作,手机软件弹出“婴儿超出距离”的窗口并持续振动。 STM32(1)流程图和STM32(2)流程图如图2和图3所示。

图2 STM32(1)流程图

图3 STM32(2)流程图

1.2 系统软件设计

软件通过发送命令字控制系统,命令字一共6位。功能如下。对应指示表如表1所示。

表1 对应指示表

第0位:控制GPS,为0时手机软件不接收经纬坐标,为1时接收经纬坐标。

第1位:控制DHT11,为0时手机软件不接收温湿度值,为1时接收温湿度值。

第2位:控制指纹模块,为0时指纹模块正常工作,为1时指纹模块禁用。

第3位:控制蓝牙,为0时禁用距离报警,为1时开启距离报警并且启动手机蓝牙。

第4位:控制压力传感器,为0时压力传感器正常工作,为1时压力传感器禁用。

第5位:解除警报,默认为0,允许单片机发出警报,手机收到警报时置1关闭系统警报。

软件识别区分来自单片机回传的数据依赖于回传数据前的标识符,比如“TEM|”表示温度,“"HUM|”表示湿度,“"BJ|”则表示警报,“WD|N”表示北纬,“JD|E”表示东经。

图4 软件主界面

图5 软件功能界面

软件主界面如图4所示,软件功能界面如图5所示。

2 结束语

本款基于STM32的智能安全婴儿车可以较全面地为婴儿提供防护,各功能通过软件开启或关闭,更加人性化。该设计的不足之处在于利用ESP8266进行数据通信必须有可供连接的WIFI,这就极大地限制了这款智能安全婴儿车的应用,以及抓拍时不能连拍,一旦照片模糊,就无法识别嫌疑人,后期发展方向则是采用物联网的新一代标准NB-Iot进行数据传输,从而摆脱对WIFI无线网络的依赖,加快数据传送速率,优化算法,提高摄像头反应速度的同时,使摄像头能够完成连拍多张照片的任务。

猜你喜欢
手机软件婴儿车警报
撞狗
基于北斗三号的人防警报控制系统及应用
我给老爸上课
告诉你猫开不开心的手机软件
假期终结者
七巧拼拼乐
是谁的责任?
学习类手机软件岂能“藏污纳垢”
拉响夏日警报定格无痕迹美肌
手机旅游软件对大学生出行的影响研究