这是一个基于ESP32的多功能GPS追踪器项目,具有GPS定位、震动检测、温湿度监测等功能,并支持数据记录和低功耗运行。
- GPS定位和数据记录
- 震动检测和记录
- 温湿度监测(AHT10传感器)
- OLED显示(SSD1306)
- SD卡数据存储
- 低功耗设计
- 5分钟无活动自动进入深度睡眠
- 每分钟自动唤醒记录数据
- 震动检测唤醒
- 数据记录格式:CSV文件,包含时间、位置、高度、卫星数、震动等级、温度、湿度等信息
- ESP32开发板
- NEO-6M GPS模块
- AHT10温湿度传感器
- 震动传感器
- SSD1306 OLED显示屏(128x64)
- Micro SD卡模块
- 3.7V锂电池
- 充电模块(可选)
- VCC -> 3.3V
- GND -> GND
- TX -> GPIO17
- RX -> GPIO16
- VCC -> 3.3V
- GND -> GND
- SCL -> GPIO22
- SDA -> GPIO21
- VCC -> 3.3V
- GND -> GND
- DO -> GPIO34
- VCC -> 3.3V
- GND -> GND
- SCL -> GPIO22
- SDA -> GPIO21
- VCC -> 3.3V
- GND -> GND
- CS -> GPIO5
- MOSI -> GPIO23
- MISO -> GPIO19
- SCK -> GPIO18
- Wire.h
- Adafruit_GFX.h
- Adafruit_SSD1306.h
- TinyGPS++.h
- SD.h
- SPI.h
- esp_sleep.h
- Adafruit_AHTX0.h
-
硬件连接
- 按照接线说明连接各个模块
- 确保GPS模块的备用电池正常工作
- 插入格式化的Micro SD卡
-
软件设置
- 安装所需的Arduino库
- 使用Arduino IDE打开项目
- 选择正确的开发板(ESP32)和端口
- 上传代码
-
运行
- 设备启动后会显示初始化信息
- OLED显示会在5分钟后自动关闭
- 数据会每分钟自动保存到SD卡
- 设备在5分钟无活动后进入深度睡眠
- 震动会立即唤醒设备
数据以CSV格式保存在SD卡中,文件名格式为:data_YYYYMMDD.csv
数据字段:
- Time: 时间 (HH:MM:SS)
- Latitude: 纬度
- Longitude: 经度
- Altitude: 海拔高度 (米)
- Satellites: 卫星数量
- Vibration: 震动等级
- Temperature: 温度 (°C)
- Humidity: 湿度 (%)
设备采用多种低功耗策略:
- 显示屏在启动5分钟后自动关闭
- 5分钟无活动后进入深度睡眠
- 每分钟自动唤醒记录数据
- 支持震动唤醒
-
GPS模块
- 首次定位可能需要较长时间(冷启动)
- 确保GPS模块有良好的卫星信号
- 备用电池确保快速重新定位
-
电源管理
- 建议使用锂电池供电
- 确保电源电压稳定在3.3V-3.7V之间
-
数据存储
- 定期备份SD卡数据
- 建议使用Class 10或更快的SD卡
- 定期检查SD卡剩余空间
-
GPS无法定位
- 检查GPS模块接线
- 确保GPS模块有良好的卫星信号
- 检查备用电池是否正常工作
-
数据无法保存
- 检查SD卡是否正确插入
- 确认SD卡格式为FAT32
- 检查SD卡是否有足够空间
-
设备无法唤醒
- 检查震动传感器接线
- 确认电源电压正常
- 检查深度睡眠配置
开发者巴沙
- 初始版本发布
- 基本功能实现
- 低功耗设计