黄文准 赵宝辉 秦凡
摘 要:针对市场上书包功能单一的问题,文中设计了一款新型儿童智能防丢书包,能够更好地满足人们的需求。书包上的防丢装置采用STM32F103VET6作为主控制器,SIM808模块作为收发系统,蓝牙模块作为距离判断系统。家长可通过蓝牙是否连接来判断儿童是否在距离家长10 m范围内。此外,主控制端可以对装置进行实时定位,并通过SIM808模块将经纬度信息以短信形式发送至主控制端。
关键词:智能防丢书包;蓝牙;SIM808模块;STM32F103VET6
中图分类号:TP311 文献标识码:A 文章编号:2095-1302(2017)09-00-02
0 引 言
随着社会复杂度及生活节奏的加快,儿童走失和被拐卖事件时有发生,这种现象刺痛了我们的心[1]。
目前,市面上儿童防丢书包稀少,常见的产品都是智能儿童防丢器,主要包括智能手环、电话手表等。前者价格便宜,但功能简单;后者只能称为缩小版的电话,且价格高昂[2]。此外,家长周末经常带着孩子外出玩耍,一不留神,小孩就有可能走丢[3]。本文针对市面上现有产品的缺陷,设计了一款儿童防丢书包。该设计主要包括终端和主控端两部分。主控端即为家长的手机,书包终端通过安装STM32F103VET6,SIM808模块以及蓝牙模块实现相关功能。
本文设计的儿童防丢书包主要包含亲子游玩模式与远程监控模式。第一种模式由家长打开手机预先安装好的App,连接终端装置上的蓝牙,按下键1选择亲子游玩模式。当装置(儿童位置)距离主控端手机(家长位置)小于10 m(即一般蓝牙的通信距离),装置和手机端都不会报警提示。但若超出10 m的范围,则蓝牙断开,装置上的蜂鸣器报警,并通过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模块以短信形式发送给主控制端,每10 s发送一次。当执行第二种模式时,则家长通过打电话来触发中断程序,在中断中发送经纬度到主控制端,只发送一次。发送完毕后,回到模式二程序的初始位置,等待中断指令被再次触发。
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中加入权限;
(5)手机界面的Textiew文本控件和Button按钮等控件在Activity中添加。
2.2.2 App界面
App界面如图4所示。
本软件必须要运行在Android 4.0及以上操作系统,打开App,点击连接蓝牙,App会弹出启动蓝牙的请求界面,点击允许便可进行蓝牙连接。
3 系统测试结果
设计好系统软硬件后,将终端装置固定在书包内进行测试。打开手机App,连接蓝牙,按下按键1,装置不报警。将手机端的蓝牙断开,装置上的蜂鸣器响起,装置报警。手机端开始接收来自装置的经纬度信息,每10 s接收一次。复位装置,按下按键2,拨打电话,手机收到来自GPRS模块发送的经纬度信息,拨打一次便接收一次信息。
4 结 语
该防丢书包弥补了传统书包使用功能单一的缺陷,在其基础上融入了实时定位功能,不仅具有实用性和可靠性,更为现有儿童防丢装置的产品设计提供了一定参考[4]。
参考文献
[1]张燕,吴玲,林建波.Android系统中GPS定位监护系统的设计[J].物联网技术,2016,6(11):46-48.
[2]贺婷.基于SIM900A儿童防丢器终端设计[J].电子技术,2015 (11):32-34.
[3]郭亮,余祖龙,赵广山.一种新型防丢器的设计[J].科技资讯,2011(34):1.
[4]王闯,霍雯博.基于STC89C52的无线电子防丢器的设计[J].无线互联科技,2015(1):81-82.
[5]钱玉斐,宋宇飞.基于嵌入式的智能手表设计[J].物联网技术,2016,6(11):108-109.
[6]张敏,王宁,刘赛.基于STM32防丢器的设计与实现[J].电子技术与软件工程,2016(8):100-101.
[7]贺婷.基于SIM900A儿童防丢器终端设计[J].电脑与电信,2015 (11):32-34.
[8]崔小玲,侯思祖,张璇,等.基于STM32的智能终端的设计与实现[J].电力系统通信,2012,33(5):76-79.