TTGO T-Beam TTN Tracker 项目教程
1. 项目的目录结构及介绍
ttgo-tbeam-ttn-tracker/
├── LICENSE
├── README.md
├── include/
│ └── config.h
├── lib/
│ ├── MCCI_LoRaWAN_LMIC_library/
│ ├── SSD1306/
│ └── TinyGPSPlus/
├── src/
│ ├── config.h
│ ├── main.cpp
│ └── ttn-abp.cpp
└── platformio.ini
- LICENSE: 项目的许可证文件。
- README.md: 项目的说明文档。
- include/: 包含项目所需的头文件。
- lib/: 包含项目依赖的库文件,如 MCCI_LoRaWAN_LMIC_library、SSD1306 和 TinyGPSPlus。
- src/: 包含项目的源代码文件,如
main.cpp
和ttn-abp.cpp
。 - platformio.ini: 项目的配置文件,用于 PlatformIO 构建系统。
2. 项目的启动文件介绍
项目的启动文件是 src/main.cpp
。这个文件包含了项目的主要逻辑和初始化代码。以下是 main.cpp
的主要内容:
#include <Arduino.h>
#include <config.h>
#include <ttn-abp.h>
#include <TinyGPS++.h>
#include <SSD1306.h>
void setup() {
// 初始化代码
}
void loop() {
// 主循环代码
}
- setup(): 初始化硬件和库,设置 LoRaWAN 连接参数。
- loop(): 主循环,处理 GPS 数据和发送 LoRaWAN 消息。
3. 项目的配置文件介绍
项目的配置文件主要有两个:include/config.h
和 src/config.h
。
include/config.h
这个文件包含了项目的全局配置参数,如 LoRaWAN 的频率和设备地址等。
#ifndef CONFIG_H
#define CONFIG_H
// LoRaWAN 频率
#define CFG_us915 1
// 设备地址
#define devAddr 0x260116F8
// 网络会话密钥
#define nwkSKey {0x15, 0xB1, 0xD0, 0xEF, 0xA4, 0x63, 0xDF, 0xBE, 0x86, 0x89, 0xFC, 0x8B, 0xF8, 0x9D, 0x8C, 0x9A}
// 应用会话密钥
#define appSKey {0xD7, 0x2C, 0x78, 0x75, 0x8C, 0x37, 0xAB, 0x16, 0x80, 0xDC, 0x22, 0xB9, 0x75, 0x14, 0x8B, 0x12}
#endif
src/config.h
这个文件包含了项目的具体配置参数,如 GPS 和 OLED 显示的引脚配置。
#ifndef CONFIG_H
#define CONFIG_H
// GPS 引脚配置
#define GPS_RX_PIN 12
#define GPS_TX_PIN 15
// OLED 显示引脚配置
#define OLED_SDA 4
#define OLED_SCL 15
#define OLED_RST 16
#endif
通过这些配置文件,用户可以轻松地修改项目的参数,以适应不同的硬件和网络环境。