基于STM32的智能儿童防丢书包设计
扫描二维码
随时随地手机看文章
引 言
随着社会复杂度及生活节奏的加快,儿童走失和被拐卖事件时有发生,这种现象刺痛了我们的心[1]。
目前,市面上儿童防丢书包稀少,常见的产品都是智能儿童防丢器,主要包括智能手环、电话手表等。前者价格便宜, 但功能简单;后者只能称为缩小版的电话,且价格高昂[2]。此外, 家长周末经常带着孩子外出玩耍,一不留神,小孩就有可能走丢[3]。本文针对市面上现有产品的缺陷,设计了一款儿童防丢书包。该设计主要包括终端和主控端两部分。主控端即为家长的手机,书包终端通过安装STM32F103VET6,SIM808 模块以及蓝牙模块实现相关功能。
本文设计的儿童防丢书包主要包含亲子游玩模式与远程监控模式。第一种模式由家长打开手机预先安装好的App, 连接终端装置上的蓝牙,按下键 1选择亲子游玩模式。当装置(儿童位置)距离主控端手机(家长位置)小于10m(即一般蓝牙的通信距离),装置和手机端都不会报警提示。但若超出10m的范围,则蓝牙断开,装置上的蜂鸣器报警,并通过SIM808模块以短信形式将经纬度信息发送到家长手机上,且手机 App也将会进行声音报警。第二种模式是家长在孩子出门前按下键 2,即可通过拨打电话获悉装置所在经纬度,并通过地图查询孩子的具体位置。
1 系统硬件设计
1.1 系统总体设计
系统基于STM32 平台设计,主要包括电源模块、蓝牙模块、蜂鸣器模块、SIM808 模块、手机终端。系统结构框图如图 1 所示。
STM32 模块作为整个装置的 心脏 ,用于控制系统的正常运行;电源模块用来给系统供电,是保障系统正常运行的前提;蜂鸣器用来发声报警,提醒家长 ;GPRS 模块用来实现与主控制端之间的通信,其上设有GPS 模块接口,用于连接GPS 模块,能够实时定位系统位置。
1.2 蓝牙模块设计
蓝牙模块采用HC-06 模块实现。该模块是一块从机模块,在未建立蓝牙连接时支持通过 AT 指令设置波特率、名称、配对密码等参数,还具有掉电保存功能。蓝牙连接后自动切换到透传模式。该模块的理论通信距离为 10 m。使用前需要配置波特率、名称、配对密码等参数。
蓝牙模块的功能是判断终端装置(儿童位置)与主控端手机(家长位置)的距离是否小于 10 m。STM32 通过调用固件库函数读取蓝牙状态输出脚 state 的输出电平。高电平表示连接,低电平表示断开。根据 STM32 读取该引脚的电平值并判断蓝牙是否连接,从而决定是否启动蜂鸣器报警提醒家长。
1.3 GPRS模块设计
GPRS 模块采用SIM808 模块。该模块是高性能工业级GSM/GPRS 四频芯片,集成了 GPS 和蓝牙功能。除了可以实现电话语音、SMS(短信、彩信)、GPRS 数据传输外,还具有GPS 定位等功能。使用该模块之前在程序中通过编写AT 指令对其进行配置。
GPRS 模块的功能是实现主控制端与终端之间的通信, 并通过GPS 模块进行实时定位。触发报警时,STM32 将采集的经纬度信息通过GPRS 模块以短信形式发送给主控制端。
2 系统软件设计
2.1 系统主程序设计
系统程序流程图如图2 所示。该系统主要采用C 语言编程, 在Keil5 平台上实现。流程实现如下所示:
(1) 书包上的装置启动后,其上的 STM32单片机开始进行初始化;
(2) STM32扫描两个按键 1、2的状态来决定执行哪种模式。当执行第一种模式时,单片机开始检测蓝牙连接状态, 若连接则程序通过while函数停留在当前指令上;若断开,则开启蜂鸣器报警提醒,并将SIM808 模块传来的经纬度信息经解析后,在中断中通过 SIM808模块以短信形式发送给主控制端,每 10s发送一次。当执行第二种模式时,则家长通过打电话来触发中断程序,在中断中发送经纬度到主控制端,只发送一次。发送完毕后,回到模式二程序的初始位置,等待中断指令被再次触发。
2.2 主控制端App设计
主控制端 App 设计基于 Android 4.0 及以上的操作系统, 所用开发工具是使用广泛的、跨平台的 Eclipse 集成开发环境。 软件程序设计架构流程如图 3 所示。
2.2.1 主控制端App 程序设计
在Eclipse 集成开发环境下,设置手机界面时应新建一个Android 项目工程。在创建时需要注意以下几点:
(1) 一个 Activity就是一个类,且该类继承 Activity;
(2)当一个Activity首次运行显示在手机上时就会调用Oncreate 复写方法;
(3) 任何一个Activity都需要在AndroidManifest.xml中配置。
(4) 操作蓝牙时FF0C首先应在AndroidManifest. xml 中 加 入 权 限;<uses-permissionandroid:name= android.permission.BLUETOOTH_ADMIN/><uses-permissionandroid :name =android.permission. BLUETOOTH/>
(5) 手机界面的 Textiew文本控件和Button按钮等控件在Activity中添加。
2.2.2 App界面
App 界面如图 4 所示。
图 4 App 界 面
本软件必须要运行在Android 4.0 及以上操作系统,打开App,点击连接蓝牙,App 会弹出启动蓝牙的请求界面,点击允许便可进行蓝牙连接。
3 系统测试结果
设计好系统软硬件后,将终端装置固定在书包内进行测试。打开手机 App,连接蓝牙,按下按键 1,装置不报警。将手机端的蓝牙断开,装置上的蜂鸣器响起,装置报警。手机端开始接收来自装置的经纬度信息,每 10 s 接收一次。复位装置,按下按键 2,拨打电话,手机收到来自GPRS 模块发送的经纬度信息,拨打一次便接收一次信息。
4 结 语
该防丢书包弥补了传统书包使用功能单一的缺陷,在其基础上融入了实时定位功能,不仅具有实用性和可靠性,更为现有儿童防丢装置的产品设计提供了一定参考 [4]。