
基于STM32控制的GPS定位及GPRS数据传输(含程序源码)-电路设计
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目采用STM32微控制器实现GPS定位与GPRS数据传输功能,并提供完整的硬件电路图和软件源代码。适合嵌入式系统开发学习参考。
一个使用STM32控制的GPS与GPRS程序设计如下:GPS模块采用ublox品牌的产品,而GPRS则选用SIM800E模块。整个系统的主要功能是在每隔几分钟(间隔时间由服务器设定,默认为5分钟)将定位结果数据发送到服务器中,并根据服务器返回的信息调整设置参数。
两个通信模块分别连接STM32的两组串口端子:GPS和GPRS各占一组,通过这两组接口与主控芯片进行信息交换。系统采用锂电池供电方式,确保设备在户外也能长时间稳定运行。此外,在STM32与GSM之间还设有电源开关(POWERKEY)以及用于监测模块工作状态的引脚。
具体到电路设计上:GPS模块除了连接串口RXD、TXD之外,还有一个IO端口用来驱动P型MOS管控制其供电情况;而SIM800E则在非数据传输期间进入休眠模式以节省电量。实际测试表明,在使用1000mAh锂电池的情况下,系统能够在每5分钟发送一次定位信息的前提下持续运行约120小时。
为了进一步降低功耗:工作状态下采用12MHz晶振且不启用PLL,确保STM32的电流消耗保持在大约10mA以下;而GPS模块仅在其执行定位任务时供电,在完成相应操作后立即切断电源。对于GSM部分而言,则是在发送数据期间维持正常状态,其余时间则切换至休眠模式以减少电量损耗。
计时方面:原本考虑使用RTC进行精确控制但由于担心批量生产中可能出现问题,最终决定采用STM32内置的HSI振荡器,并通过512分频后得到约15KHz左右的工作频率来实现定时功能。当达到预设时间(如5分钟)触发模块开始新一轮定位操作时,此时CPU的实际工作电流约为500uA。
数据传输方面:GPRS设备将直接向网络上的HTTP服务器发送GET请求,并在URL参数中携带待上传的数据信息;随后根据接收到来自服务器的反馈来调整后续的操作设置。按照每五分钟一次的信息传递频率计算,在一个月内大约需要消耗不到3MB的流量,相较于短信方式显得更为经济实惠。
该系统可广泛应用于机动车、电动车或其电池防盗领域,并且总体成本控制在100多元人民币左右,对于移动通信服务商提供的半年期30M至50M流量套餐来说则具有较高的性价比。
全部评论 (0)


