您好, 访客   登录/注册

基于STM32儿童定位服的设计

来源:用户上传      作者:王乐乐 刘茜 朱江

  摘要:设计的定位服是基于现在的儿童走失或被拐的社会背景、研究现状和研究意义的基础上。本设计是基于STM32单片机的双重定位服,用户可实时查看人所在位置以及运动状态,在设定的条件下有权限对人进行追踪。定位服主要由以下几部分模块组成:感知层、控制层、网络传输层。定位服的服务器采用Centos腾讯云服务器。硬件开发平台使用KeilMDK5集成开发环境。
  关键词: 定位服; 远程监控; GPS定位; 基站定位
  【Abstract】 The design of positioning clothing is based on the social background, research status and significance of the children who have been lost or abducted. This design is a dual positioning clothing based on the STM32 single-chip microcomputer. The user can view the person's location and movement status in real time, and has the authority to track the person under the set conditions. The positioning service is mainly composed of the following modules: perception layer, control layer, and network transmission layer. The positioning server uses Centos Tencent Cloud Server. The hardware development platform uses KeilMDK5 integrated development environment.
  【Key words】  positioning clothes; remote monitoring; GPS positioning; base station positioning
  0 引 言
  眾所周知,儿童年龄小,辨别能力和认识事物的能力普遍较差,如果一个人在室外的话则容易走丢,而如何找回走失儿童则已成为一个重要问题[1]。仅仅凭借有限的安全教育往往很难解决实际问题,因此安全教育一定要和智能技术、手段结合在一起,家长最好要能够及时获知儿童在室外所处的位置,并随时了解儿童的活动状态,这样才能够提高儿童活动的安全性,有效防止儿童出现走失的现象。研究指出,如果可以将这种智能化的信息定位技术的元件安装在孩子的服装上,那么就能够开发出新的儿童服饰。本文主要探讨智能定位功能在服装设计中的应用。
  1 特色与创新
  1.1 功能特色
  通过对定位服的设计,实现了位置信息数据和儿童运动状态的实时采集、传输、存储和信息的发布,为用户提供便利。关于本项目设计的定位服特色,可做整体阐述如下。
  (1)本系统使用腾讯云服务器,CentOs系统,公网IP地址,学生价位,费用较低,运行稳定,适合长期租赁使用。
  (2)工作节点使用了GPS定位,GPS定位技术运用成熟广泛,方便发布地理位置,传送经纬度信息。
  (3)使用了GPRS与服务器通信,2.5 G基站覆盖面广且信号强,费用低,封装有协议栈。
  (4)网关控制选用了STM32F103ZE63芯片作为MCU,该芯片超低功耗低,性能稳定,运算速度快,片内资源丰富,中断源较多,拥有方便高效的开发环境,使用相当灵活。
  1.2 项目创新概述
  本项目系统使用成本较低,单片机扩展GPS和GPRS模块技术应用广泛成熟,开发风险低;其次,对传统单一定位服装进行信息化改造,可对信号不好区域实时定位,实时掌握儿童情况;再者,本项目使用百度地图开放平台,通过接口接入,可以实时以图形化形式显示儿童的位置,直观便捷;另外,使用基于腾讯云的平台搭建LAMP服务器,设计数据存储与提供服务,安全稳定,费用低。
  2 系统分析
  2.1 全系统架构
  整个定位服系统架构如图1所示,主要分为硬件和软件两大部分。其中,客户端界面采用Mockplus设计,服务器服务程序采用基于PHP语言的高性能框架WorkerMan来开发,定位服硬件底层程序基于C语言,使用Keiluvison4平台开发。
  定位服的主控系统拟采用低功耗单片机STM32F103ZE63设计。位置信息采用GPS模块或GPRS模块采集,研究选用的是市面上已经成熟的GPS和GPRS集成芯片USR-GM3P,通过串口与单片机进行通信。单片机系统通过扩展的、USR-GM3P模块与服务器通信,当与服务器建立长连接后可实时上传位置和开关状态等信息。客户端系统拟采用百度地图开放接口来进行图形化显示。
  2.2 系统终端软件设计
  系统软件设计主要包括初始化模块、数据处理模块、通信模块。考虑到GPS比GSM定位准确,研究定位时以GPS定位为主、以GSM定位为辅。定位服终端处在GPS盲点区域(如车库、林荫道等)无法定位时利用GSM进行定位。主程序流程如图2所示。
  主要是完成开机上电后对MCU、液晶显示模块、AC120OEM板的初始化工作。对于MCU要设置其串口工作模式、中断工作模式和波特率;对于液晶显示模块要设置开机画面和显示模式;对于AC120OEM板需要设置波特率成功完成串口通讯。
  2.3 模块交互分析与数据格式设计   模块交互分析如图3所示。本设计从下到上分为硬件模块、服务器部分和客户端部分。硬件交互主要有:传感模块与STM32F103ZE63之间的交互、联网模块与单片机之间的交互和通信模块与单片机的交互[2]。
   为了规范通信格式,使各模块与单片机命令和通讯合理有序。研究中设计了相应的数据格式。数据格式字段分为头、分隔符、定位命令、结束符等等。每一条信息或命令都有唯一的标志头,这是为了严格区分开来,如使用重复的帧头,则会给单片机或接收服务器接收带来不必要的麻烦,可能会造成混乱;每一条也都有结束符,该结束符为前面所有字符的ASCLL码异或值。而数据格式也主要分为2部分,即:单片机接收来自服务器的信息和服务器接收来自单片机的信息。具体数据格式设计见表1~表5。
  2.4 硬件端模块设计分析
  硬件端模块设计如图4所示。整个硬件端模块主要分为5个部分:时钟模块、USR-GM3P模块(细分为GPS和GPRS模块)、数据处理模块以及本机通信模块。对此可做阐释分述如下。
   (1)时钟模块。主要为单片机提供精准的时钟服务,为各节拍处理提供时钟信号,包括定时器服务和延时服务。
  (2)GPS模块。提供定位服务,一上电就开启定位功能,此后以心跳包的方式每隔30 s向单片机串口发送一次推荐定位信息帧,之后由单片机按规定格式进行封装与解析。
  (3)GPRS模块。提供与服务器的通信服务,模块上电后,第一时间尝试与服务器的TCP连接,此后便可以接收来自服务器的各种指令或将单片机所采集相关信息上传至服务器[3];另外,在GPS定位失败的情况下,可以用查询的方式获取基站定位,以弥补位置信息空白。
  (4)数据处理模块。主要是负责处理从GPS-OEM板接收的数据、从键盘输入的数据。AC120OEM板的输出语句的新频率为1 Hz,为了保证数据传输的可靠性和实时性,提高MCU的利用率,采用中断方式接收而非查询方式[4]。
  (5)通信模块。主要是处理键盘输入和显示模块操作。在GPS-OEM板的初始化配置过程中,需要根据实际需求配置OEM板的语句设置,另外还将完成MCU与液晶模块之间的数据通信和处理。
  3 功能设计
  系统功能模块如图5所示。硬件系统主要有STM32F103ZE63单片机、GPS、GPRS、液晶显示模块、人服对话模块、串口通信部分及电源部分等。这里拟展开研究论述如下。
  3.1 信息感知功能设计
  3.1.1 位置信息感知
  系统使用USR-GM3P模块来感知位置信息,实现GPS定位、导航与授时。GPS定位信息類型分为GPGSV(可见卫星信息)、GPGLL(地理定位信息)、GPRMC(推荐最小定位信息)等,本产品选用的USR-GM3P的GPS返回信息类型为GPRMC推荐最小定位信息,这是目前使用最为广泛的GPS定位信息类型,直观简洁,解析起来也较为容易。
  一旦启用GPS功能之后,GPRMC信息就会每隔30 s被采集到并反馈到单片机通信的串口,单片机接收之后为了数据简洁明了,单片机中断处理只解析整个GPRMC信息的第二字段的定位状态信息[4]、第三字段的纬度信息以及第五字段的经度信息,信息解析完毕后封装成帧再通过串口发送,由GPRS模块上传至服务器。
  3.1.2 基站定位信息感知
  USR-GM3P支持LBS查询指令的基站定位功能,无论是哪家运营商的手机卡都可以通过相应网络获取到USR-GM3P的大体位置,定位精度一般在100 m左右,用来弥补GPS定位受天气、高楼、位置等等影响。基站定位信息是通过AT指令获取,本设计使用串口AT指令进行查询,即在需要时从网络透传模式切换到指令模式,然后单片机向串口发送AT+LBS?查询命令,USR-GM3P获取后,随即做出反馈。查询基站定位指令为AT+LBS,返回值为+LBS:LAC=00000,CID=00000。
  其中LocationAreaCode(LAC)为地区区域码,也就是用来划分SIM卡彼时所在区域的;CellTowerID(CID)CellID则代表移动基站。LAC码、CID码是基站定位的必要参数,这两者缺一不可,否则不能进行基站定位。
  当研究获取到查询的地区区域码与移动基站代码后,只要使用获取的数据就可以去相应的网站换算对应的地理位置坐标,本次仿真实验的结果为:LAC=21069,CID=35697,此后进入http://www.gpsspg.com/bs.htm网址进行对应的换算。文中研究得到的查询定位结果如图6所示。
   与GPS传输定位信息类似,基站定位信息被单片机获取过后经封装,再由GPRS发送至上位机,只是具体位置解析将由上位机来运行完成。
  3.1.3 网络透传模式
  网络透传模式如图7所示。USR-GM3P支持网络透传模式,在此模式下,模块可以使能Socket,与服务器建立起TCP长连接,就可以实现通信功能,解决了数据的转发与存储问题。透传即意味着终端设备往串口设备写入什么数据,GM3P就原封不动上传什么数据打包发送给服务器,不需要其他的加工转换,使用起来相当方便。该模块也可以接受来自服务器的下发的数据,并会将信息转发至单片机的串口设备,由终端设备选择接收解析和执行。在实际使用中,还发现USR-GM3P模块会自动保存上一次的设置信息,断电再上电或复位后就无需重新设置成网络透传模式,因此只需要进行一次设置即可。指令设置与解释详见如下。
   (1)设置工作模式为网络透传模式。即:
  AT+WKMOD=”NET”
  (2)使能socketA。即:
  AT+SOCKAEN=”on”
  (3)设置socketA为TCP客户端,本文的服务器地址为123.206.116.81,服务器映射端口号为2345。即:   AT+SOCKA=”TCP”,”123.206.116.81”,2345
  (4)发送保存指令,发送之后模块会自动保存和重启。即:
  AT+S
  3.2 GPRS设计与传输数据
  通用无线分组业务(General Packet Radio System,GPRS),因为介于2代与3代之间,是通常俗称的2.5G。在GPRS前提下,用户可以在很短的时间内缩短呼叫建立时间,“永远在线”的状态几乎可以做到。使用GPRS联网通讯时,前后分为3个阶段,也就是:GPRS附着阶段、PDP上下文激活阶段和WAP应用的接入阶段。选用GPRS通讯而不使用4G通讯的原因在于[5],首先4G信号基站在某些偏远地区信号未能覆盖,而2.5G信号基站已经推广多年,覆盖率很高,基本不会出现掉线情况;其次,就是本项目设计数据传输量并不是很大,2.5G足以担负数据传输任务;还有就是相对而言2.5G与4G相比,费用相当便宜。该模块所使用的USR-GM3P是有人物联网推出的GPRS产品[6],用户只需要通过参考手册进行简单的设置便可轻易实现GPRS联网与数据传输,应用场景多,使用十分灵活。GPRS模块通讯过程如图8所示。
  3.3 电路原理设计
  (1)原理图简述。硬件电路原理如图9所示。电路分模块设计,主要有供电模块、升压模块、降压[CM(22]模块、串口模块、SIM卡模块、USR-GM3P模块[7],为系统提供通信与电力,确保系统能够正常运转。
   (2)主要功能描述。USR-GM3P模块是核心,该模块集成GPS定位功能与GPRS功能,通过简单的配置辅以指令设置达到与服务器通信并且实时定位的目的,在实际测试中发现该模块某些功能可以脱离单片机独立运行,只要使用前对其进行设置,例如配置成网络透传模式和心跳包,供电后将会自动与服务器建立TCP连接,并且按设置的时间定时发送已设置的心跳包内容,换言之就是仅需一次配置后即无需每次由单片机发送指令进行配置,这也减少了进入临时指令模式的次数,从而可以减轻单片机的负担以及提高稳定性。
   与此同时,系统由7.4 V电源供电,但是电磁锁需要12 V左右的电压脉冲方可将锁打开,电压大于这个范围则会烧坏电磁锁,电压过低会导致开锁失败。因此选用高效率的SX1308升压芯片,具体是通过调整反馈分压电阻来确保输出电压达到12 V左右,输出电压公式为:
  Vout=Vref*(1+R3/R2).[JY](1)
   此外,還有降压模块将7.4 V降到3 V左右供单片机和USR-GM3P以及SIM卡等使用,限于篇幅,本文不做过多阐述。
  3.4 单片机程序处理流程设计
  单片机程序处理流程如图10所示。首先,模块供电以后,单片机时钟启动,定时器、串口等设备初始化,与此同时USR-GM3P主动尝试与服务器建立TCP连接,连接失败则尝试重新连接,直到连接成功为止。连接后,模块其余部分初始化也已经完成。单片机此时向上位机发送该锁具独有的编号信息,编号信息只发一次即可。随即,单片机向串口发送指定命令,USR-GM3P接收后将进入临时指令模式,网络透传模式挂起,再启动GPS定位功能,延时3 s左右立即返回透传模式。此后每隔30 s USR-GM3P就会将采集到GPRMC推荐定位信息帧向单片机串口写入,由单片机接收后解析并封装上传;在因为特定原因导致GPS定位失败的情况下,单片机控制USR-GM3P切换到指令模式,以查询的方式获取基站定位信息,由单片机解析封装后经透传模式上传。在接收到来自服务器指令时,单片机解析完成后,依据不同的操作指令执行相应的操作,每次操作结束后,单片机向上反馈该执行结果。
  4 结束语
  在将智能定位巧妙地运用于儿童服装设计的过程中,服装作为整个造型设计的载体,再加入元件进行定位和补充。儿童穿上这种衣服,家长可以随时知道儿童活动情况和所在的具体位置,并有效地消除外界的环境对儿童造成的各类伤害,同时也能够有效防止儿童走失这一情况的发生。由于GPS定位准确,GSM网络覆盖广、无盲点,故该终端首选使用GPS定位,当GPS无法定位时,启动GSM网络定位对服装终端进行定位,可克服单纯GPS定位或GSM定位的缺点,且成本较低。实践证明,本定位终端可以在城市高楼区、林荫道、车库内等因GPS卫星信号丢失而无法定位的地方启用GSM网络定位,从而提高定位的稳定性。这是一个能提供实时、准确、交互信息的系统,基本可实现准确且无盲点的定位,保障定位的效果。
  参考文献
  [1] 葛英颖,艾秀玲. 论智能定位功能性童装设计应用[J]. 艺术评鉴,2018(3):164.
  [2]周永宏,王月红. 基于stm32的自动定位识别弹药抛射机器人硬件设计[J]. 科技风,2019(21):100.
  [3]沈翔. 基于硬件TCP/IP协议的物联网网关设计[J].  物联网技术,2019,9(10):35.
  [4]路朋,谢丽蓉,毛增闯,等. 基于GPS和GPRS数据传输系统研究与设计[J].  实验室研究与探索,2016,35(4):111.
  [5]王明旭. 4G-LTE移动通信技术的运用[J]. 电子技术与软件工程,2019(18):10.
  [6]邹娟平. 物联网在智慧物流的研究与运用[J]. 南方农机,2019,50(21):52.
  [7]孙海洋. GM3P核心板在油气储运中的应用与实现[J]. 仪器仪表用户,2018,25(11):26.
转载注明来源:https://www.xzbu.com/8/view-15265581.htm