内容提要
本文介绍了使用STM32F103C8T6微控制器、GPS模块和DTU构建小型GPS发布器的方法,通过MQTT over SSL传输GPS数据。该项目旨在帮助初学者创建自己的GPS模块,以便在机器人上跟踪位置。文章还介绍了硬件连接和指示灯的使用,以及STM32程序中的逻辑流程。最后,通过室外位置准确性测试,比较了GPS模块和苹果手表的性能。
延伸解读
为何要自建GPS发布器
市面上多数GPS产品不支持SSL加密,也无法将定位数据上传到自定义平台。对于需要数据安全和定制格式的场景,例如户外机器人位置跟踪,自建发布器能提供更灵活的解决方案。本文基于STM32F103C8T6、GPS模块和DTU,通过MQTT over SSL传输数据,适合初学者动手实现。
硬件连接与状态指示
GPS和DTU的电源线均接5V USB电源带;GPS的TX/RX接STM32的PA10/PA9,DTU的TX/RX接PA3/PA2。GPS模块的PPS灯在收到信号后闪烁,DTU的NETWORK灯在4G传输数据时快速闪烁。注意DTU长时间户外使用可能过热,需留意散热。
GPS模块配置要点
使用u-center配置串口频率、发布频率和消息类型,仅启用GPRMC消息以打包数据。通过命令行发送指令禁用其他NMEA消息,并设置波特率为115200、5Hz模式,最后保存设置。这能减少数据量,提高传输效率。
室外定位精度实测
在建筑区、开放区及室内外混合区域测试,与Apple Watch Ultra 2对比。GPS模块在长直线和开放区域更准确,初始定位偏差大但等待后收敛。对三角形反射表面敏感,可能导致持续漂移。室内外切换时会出现短暂中断,但整体轨迹更贴合实际。
Q&A
如何使用STM32F103C8T6微控制器构建GPS数据发布器?
可以通过连接GPS模块和DTU,使用MQTT over SSL传输GPS数据来构建GPS数据发布器。
这个GPS数据发布器的主要用途是什么?
该GPS数据发布器主要用于帮助初学者在机器人上跟踪位置。
在构建GPS发布器时需要哪些硬件?
所需硬件包括STM32F103C8T6微控制器、GPS模块、DTU和USB电源带。
如何配置GPS模块的串口频率?
使用u-center配置GPS模块的串口频率和消息类型,并通过命令行禁用不必要的消息。
GPS模块在不同环境下的定位准确性如何?
GPS模块在长直线和开放区域的表现更为准确,但在初始定位阶段可能会出现较大偏差。
DTU模块的配置需要哪些步骤?
需要使用YunDTU配置工具设置MQTT代理配置,并重启设备以应用设置。