littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于Arduino的GPS LoRa追踪系统

项目简介

本项目借助LoRa无线通信技术和GPS模块,实现对目标位置的实时追踪。系统由硬件设备、Arduino代码以及Web应用三部分构成,硬件负责数据采集与传输,Arduino代码用于驱动硬件,Web应用为用户提供直观的位置信息展示。

项目的主要特性和功能

  1. 硬件采用Adafruit Feather M0搭配GPS模块,通过LoRa无线通信,锂电池供电,便于携带使用。
  2. Tracker端采集GPS数据,经LoRa传至Gateway端,Gateway端将数据上传到MongoDB云数据库。
  3. 基于Node.js和Next.js开发的Web应用,可实时展示目标GPS位置信息,支持用户查看和分析数据。
  4. Gateway端代码支持扩展,可简单复制粘贴代码增加支持的Tracker数量。
  5. Vercel部署的Web应用能实时更新,代码修改后立即触发重新部署。

安装使用步骤

硬件设置

  1. 购买组件:Adafruit Feather M0、Adafruit Flora Wearable Ultimate GPS模块和锂电池。
  2. 制作PCB:导出并下载gerber文件用于打印或订购,将组件焊接到电路板。
  3. 3D打印:打印主外壳和盖子,用M3螺栓和螺母固定组件。

软件设置

Tracker端

  1. 下载安装Arduino IDE。
  2. 打开“LoraTrackerNode_PowerSaving.ino”文件。
  3. 安装Adafruit SAMD Boards包,选择Adafruit Feather M0开发板。
  4. 连接Tracker到电脑,选对COM端口。
  5. 修改代码中的时区差、ping间隔和Tracker ID。
  6. 点击上传烧录代码。

Gateway端

  1. 下载安装Arduino IDE。
  2. 打开“LoraGateway_PowerSaving.ino”文件。
  3. 连接Gateway到MongoDB,创建配置POST和GET Webhook,复制URL到代码。
  4. 安装ESP32包,选择T - Beam开发板。
  5. 连接T - Beam到电脑,选对COM端口。
  6. 输入WiFi的SSID和密码。
  7. 点击上传烧录代码。

Web应用

  1. 下载安装最新的Node.js LTS版本。
  2. 初始化MongoDB集群和Google Maps API密钥,配置到代码。
  3. 打开命令提示符,进入项目目录,运行“npm run dev”下载依赖并启动项目。
  4. 浏览器访问“http://localhost:3000”查看项目。

增加支持的Tracker数量

  1. 打开“LoraGateway_PowerSaving.ino”文件。
  2. 创建新的ping间隔变量。
  3. 在“void loop()”函数中复制粘贴相应“else if”语句。
  4. 保存文件,重新烧录代码到Gateway。
  5. 设置新的Tracker并烧录代码。

Web应用部署

  1. 将项目代码推送到选定仓库。
  2. 访问“https://vercel.com/new”,连接仓库导入项目。
  3. 命名项目,保持基本配置不变。
  4. 添加环境变量“MONGODB_URI”并设为MongoDB连接字符串。
  5. 检查无误后点击部署。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】