Skip to content
yan616810Public

About

GPS+LoRa handheld device

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

融合多传感器的户外防失联手持设备

设备外观图

一、项目简介

这是一款面向户外活动的 STM32F103 手持终端。设备将 GPS、气压计、地磁传感器、RTC 实时时钟、OLED 单色显示屏和 LoRa 无线通信模块集成在一起,用于查看自身位置与环境信息,并在没有蜂窝网络覆盖的野外环境下与其他同组网设备共享位置、辅助保持联络。

设备通过 GPS 获取经纬度、海拔、速度和时间信息;通过 BMP280 获取温度与气压;通过 QMC6309 获取磁场数据并计算经过磁偏角修正的地理航向。自定义LoRa协议最多维护 16 个节点,本机在 GPS 定位有效时约每 5 秒广播一次位置,接收节点会根据最近数据判断在线状态,并计算其他节点相对于本机的方位和距离。

二、主要功能

  • 自身定位:显示 GPS 经纬度、海拔、速度、卫星信息,并在全球缩略图上标记当前位置。
  • 环境感知:显示温度和气压,可利用气压信息辅助判断相对高度变化。
  • 电子罗盘:读取 QMC6309 地磁数据,结合 WMM 磁偏角模型修正航向,显示 0~359 度方位。
  • 时间保持:使用 GPS 时间同步 RTC,在 GPS 暂时不可用时使用内部RTC继续提供设备时间。
  • LoRa 组网:广播本机位置并接收其他节点的位置,支持最多 16 个节点的在线状态管理。
  • 节点辅助指引:在互联界面查看周围节点分布、选中节点的详细位置,并显示该节点相对本机的方位和距离。
  • 串口文本通信:通过板上CH340与手机串口软件交互,手机向设备发送文本,设备通过LoRa将信息广播到其他LoRa节点;输入以回车结束的文本即可通过LoRa广播;收到的文本会转发到串口端在手机串口软件显示接收文本。
  • 本地操作:通过按键切换主页、GPS、指南针、互联、消息、设置和关机等界面。

三、使用场景

  • 徒步、露营、穿越等户外活动中的小组位置共享。
  • 山区、森林或其他移动网络覆盖较弱区域的短距离协同联络。
  • 多台设备之间查看队友方位和距离,降低队伍分散后失联的风险。
  • 户外测向、位置记录和温度、气压等基础环境信息采集。

LoRa 通信依赖各设备使用一致的无线模块参数和应用层协议。设备当前发送位置的前提是GPS已经获得有效定位;GPS无数据时,界面会明确提示无GPS信号,避免将无效坐标作为有效位置广播。

四、功能说明

1. 家主页

设备的主界面,集中显示当前日期、星期和时间,以及卫星数量、LoRa 在线节点数量、电池电量、温度和气压等状态信息,是设备启动后的主要信息总览页。

家主页

2. 自身位置全球缩略图

以全球缩略图作为背景,在 GPS 定位有效时标出本机所在位置。该界面适合快速确认当前所处的大致区域;GPS 无效时会显示无数据提示。

自身位置全球缩略图

3. 自身位置详细信息

以文本形式显示本机 GPS 详细数据,包括纬度、经度、GPS 海拔、移动速度和磁偏角,便于读取精确数值和检查定位状态。

自身位置详细信息

4. 菜单切换

展示通过按键打开的界面切换菜单。用户可以在主页、GPS 信息、指南针、LoRa 位置互联、消息、设置、关于和关机等功能之间切换。

菜单切换

5. 罗盘

显示 QMC6309 测得并经过磁偏角修正的航向。圆形罗盘标出东南西北方向,同时显示当前角度和对应的方位文字,用于户外辨别行进方向。

罗盘

6. 周围节点缩略图

LoRa 互联界面的节点总览。设备根据收到的其他节点的经纬度,计算其相对于本机的方位和距离,并以缩略图中的节点标记显示周围在线成员分布。

周围节点缩略图

7. 选定一个节点显示详细信息

在节点总览中选中某个在线节点后,界面显示该节点的详细信息,并给出相对本机的方位角和距离。该界面还提供进入辅助导航显示的入口,方便用户朝选定队友方向移动。

选定一个节点显示详细信息

8. 串口连接手机互相发送文本

展示通过串口连接外部终端进行文本通信的使用方式。电脑或手机串口工具输入文本并以回车结束后,设备将文本封装为 LoRa 消息帧广播;其他设备收到后可通过串口输出带有 [MSG] 标记的消息内容。

串口连接手机互相发送文本

五、硬件改进日志

2026/1/24

1.测试第一版硬件

2026/2/22

1.第二版硬件可以正常通过主控编程的引脚进行开关机控制;

六、外部工具

  1. 3轴磁力计校准python脚本:https://github.com/yan616810/Three-axis_Magnetometer_Calibration
  2. 12864 OLED屏幕的PC模拟器:https://github.com/yan616810/u8g2_PC_Simulator

About

GPS+LoRa handheld device

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages