该项目已不再维护。
🚘 带TTGO-T-Beam的汽车GPS追踪器
ESP32 + GPS + LoRa + GSM (可选)
这是一个基于**TTGO T-Beam** ESP32开发板的Arduino项目,该开发板内置LoRa芯片。 Cayenne后端提供了非常好的网页可视化,并且还提供免费的Android/iPhone应用程序,你可以在那里查看你的汽车位置和室内气候。 该项目使用Cayenne低功耗负载数据包格式来传输GPS坐标和一些汽车的室内气候数据。 它具有自适应数据包率,这意味着当汽车移动时,追踪器开始"突发"发送数据包以尽可能精确地更新轨迹。 myDevices Cayenne for LoRa 连接是通过The Things Network LoRaWAN云实现的。
你可以在这里找到关于Cayenne低功耗负载(LPP)的文档。
我会尽力详细描述整个项目设置。
1. 后端设置
- 如果你还没有,注册The Things Network账户
- 在TTN 应用控制台创建新应用
- 为你的新TTN应用添加一个新设备,并选择ABP激活方法
- 将网络会话密钥、应用会话密钥和设备地址插入Arduino项目中的
config.h
文件 - 将草图上传到你的开发板,你可以使用Arduino ESP32板
Heltec_WIFI_LoRa_32
对T-Beam进行编程 - 在你的TTN应用中,在有效载荷格式部分选择
Cayenne LPP
- 在集成部分,选择
Cayenne
- 填写进程ID(选择你喜欢的任何名称),选择默认访问密钥,然后点击添加集成
- 登录myDevices Cayenne,在顶部点击
+
并输入项目名称 - 点击添加新->设备/小部件->LoRa->The Things Network->Cayenne LPP
- 选择你的名称并填写DevEUI(从TTN控制台复制设备EUI)。然后选择激活模式->已注册,追踪->此设备移动。点击添加设备。
- 如果你的追踪器已经向TTN发送了任何数据,你将看到一堆数据字段。你可以将它们拖到你的Cayenne项目中。
- 将Cayenne移动应用安装到你的Android/iPhone上。
就是这样 😃
Cayenne截图
当TTN和Cayenne接收到数据时,它看起来会是这样的。
Cayenne数据字段
- 完成这些步骤后,你将在Cayenne仪表板中看到这些数据字段:
注意:在GPS字段中,还有GPS海拔信息可用。
可选字段,你可以在程序中选择发送它们:
- 模拟输入(5):电池电压(单位:伏特)
- 模拟输入(6):如果追踪器正在移动,此字段为GPS速度,单位为km/h
- 模拟输入(7):GPS模块当前"看到"的卫星数量
- 模拟输入(8):根据气压计算的追踪器近似海拔
2. 接线
⚠️ 你需要将T-Beam上标记为Lora1
的LoRa DIO1
引脚连接到33号引脚 - 这样ESP32就可以读取LoRa模块的输出。
你也可以选择将Lora2
输出连接到GPIO 32
,但这里不需要。
将BME/BMP280模块的SDA
线连接到TTGO的21号引脚,SCL
连接到22号引脚。
如果你想要更可靠的数据线(如果线路比较长),你可以在SDA和SCL线上添加上拉电阻。
2.2k到10k的任何值都可以。
模块的VCC
连接到3V3
,GND
连接到GND
。
3. 所需库
- ESP32 Core for Arduino(通过开发板管理器安装)
- TinyGPS++
- CayenneLPP
- BME280-I2C-ESP32
- 安装此库后删除/卸载原始的Adafruit BME280库,否则会造成冲突!
- Arduino-LMIC
更新config.h
如果你还没有更新,请使用你自己的TTN密钥 - ABP认证
TTN密钥
这些是你需要从TTN控制台获取的密钥(黄色标记)。
硬件
- TTGO-T-Beam
- ESP32 + GPS + LoRa
- A6 GSM/GPRS模块 (正在进行中,尚未实现!)
- 用于没有LoRaWAN覆盖的地方 - 通过短信发送Google Maps位置链接
- BME/BMP280模块
- 用于报告温度、湿度和大气压力
- 已在草图中完全实现并正常工作
参考
TTGO-T-Beam 规格
ESP32
ESP32版本 REV1
WiFi
蓝牙
4MB闪存
3D天线
LORA
工作电压: 1.8 ~ 3.7v
可接受电流: 10 ~ 14mA
发射电流: 120mA @ +20dBm
90mA @ +17dBm
29mA @ +13dBm
工作频率: 433MHz / 868MHz / 915MHz
发射功率: +20dBm
接收灵敏度: -139dBm @ LoRa & 62.5 KHz & SF=12 & 146bps
-136dBm @ LoRa & 125 KHz & SF=12 & 293bps
-118dBm @ LoRa & 125 KHz & SF=6 & 9380bps
-123dBm @ FSK & 5 KHz & 1.2Kbps
频率误差: +/-15KHz
FIFO空间: 64 字节
数据速率: 1.2K ~ 300Kbps @ FSK
0.018K ~ 37.5Kbps @ LoRa
调制模式: FSK, GFSK, MSK, GMSK, LoRa TM, OOK
接口形式: SPI
休眠电流: 0.2uA @ 睡眠
1.5uA @ 空闲
工作温度: -40°C - +85°C
数字RSSI功能
自动频率校正
自动增益控制
RF唤醒功能
低电压检测和温度传感器
快速唤醒和频率跳变
高度可配置的数据包处理程序
GPS
GPS模块NEO-6M,3V-5V电源通用
具有陶瓷天线的模块,信号超强
保存配置参数数据EEPROM
带数据备份电池
有LED信号指示灯
默认波特率:9600
电源
IP5306 2A电池电源管理IC
LED,蓝色 - 用户可控
LED,红色 - GPS 1PPS
LED,红/绿 - 电池充电/电源开启
按钮,复位开关
按钮,用户可读
开关,电源开启/电池充电
USB
CP2104-GMR
TTGO T-Beam 引脚图
第一个原型
待办事项
- A6 GSM模块尚未实现
- 我将在某天添加这个"备用"通信功能
- 通过WiFi AP添加串行终端控制台
- 用于查看输出和调试消息(WebSockets?)
进一步改进
欢迎您以任何方式为这个项目做出贡献。(提交问题、错误报告、分叉并改进...) 非常感谢您的建议和反馈。
致谢
- 感谢DeuxVis的Lora-TTNMapper-T-Beam项目,它为这个项目提供了灵感
- 非常感谢我亲爱的妻子帮助我们买了一辆新车😃 我爱你,Evka。❤️