项目简介
本项目借助LoRa无线通信技术和GPS模块,实现对目标位置的实时追踪。系统由硬件设备、Arduino代码以及Web应用三部分构成,硬件负责数据采集与传输,Arduino代码用于驱动硬件,Web应用为用户提供直观的位置信息展示。
项目的主要特性和功能
- 硬件采用Adafruit Feather M0搭配GPS模块,通过LoRa无线通信,锂电池供电,便于携带使用。
- Tracker端采集GPS数据,经LoRa传至Gateway端,Gateway端将数据上传到MongoDB云数据库。
- 基于Node.js和Next.js开发的Web应用,可实时展示目标GPS位置信息,支持用户查看和分析数据。
- Gateway端代码支持扩展,可简单复制粘贴代码增加支持的Tracker数量。
- Vercel部署的Web应用能实时更新,代码修改后立即触发重新部署。
安装使用步骤
硬件设置
- 购买组件:Adafruit Feather M0、Adafruit Flora Wearable Ultimate GPS模块和锂电池。
- 制作PCB:导出并下载gerber文件用于打印或订购,将组件焊接到电路板。
- 3D打印:打印主外壳和盖子,用M3螺栓和螺母固定组件。
软件设置
Tracker端
- 下载安装Arduino IDE。
- 打开“LoraTrackerNode_PowerSaving.ino”文件。
- 安装Adafruit SAMD Boards包,选择Adafruit Feather M0开发板。
- 连接Tracker到电脑,选对COM端口。
- 修改代码中的时区差、ping间隔和Tracker ID。
- 点击上传烧录代码。
Gateway端
- 下载安装Arduino IDE。
- 打开“LoraGateway_PowerSaving.ino”文件。
- 连接Gateway到MongoDB,创建配置POST和GET Webhook,复制URL到代码。
- 安装ESP32包,选择T - Beam开发板。
- 连接T - Beam到电脑,选对COM端口。
- 输入WiFi的SSID和密码。
- 点击上传烧录代码。
Web应用
- 下载安装最新的Node.js LTS版本。
- 初始化MongoDB集群和Google Maps API密钥,配置到代码。
- 打开命令提示符,进入项目目录,运行“npm run dev”下载依赖并启动项目。
- 浏览器访问“http://localhost:3000”查看项目。
增加支持的Tracker数量
- 打开“LoraGateway_PowerSaving.ino”文件。
- 创建新的ping间隔变量。
- 在“void loop()”函数中复制粘贴相应“else if”语句。
- 保存文件,重新烧录代码到Gateway。
- 设置新的Tracker并烧录代码。
Web应用部署
- 将项目代码推送到选定仓库。
- 访问“https://vercel.com/new”,连接仓库导入项目。
- 命名项目,保持基本配置不变。
- 添加环境变量“MONGODB_URI”并设为MongoDB连接字符串。
- 检查无误后点击部署。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】