Skip to content

Repository files navigation

LoRaWAN 调试助手

CI

LoRaWAN 调试助手是一款使用 Python 与 Tkinter 开发的桌面工具,用于管理 The Things Stack / The Things Network V3 资源,并通过串口配置和调试 LoRaWAN 节点。

功能

  • 连接 eu1nam1au1as1 等 TTN 集群。
  • 查询和管理 Application、Gateway 与 End Device。
  • 创建 OTAA / ABP 设备,并在部分失败时执行回滚清理。
  • 支持 EU868、US915、AU915、AS923、CN470 等频段计划。
  • 查看设备原始详情和请求日志。
  • 通过串口发送 AT 指令、配置入网参数并监控节点输出。

环境要求

  • Windows、macOS 或 Linux
  • Python 3.10 或更高版本
  • Python 自带的 Tkinter(部分 Linux 发行版需要单独安装)
  • 若使用串口功能,需要可用的串口设备与驱动
  • 若使用云端管理功能,需要 The Things Stack V3 API Key

快速开始

git clone https://github.com/Jenson-LI/LoRaWAN-debug-assistant.git
cd LoRaWAN-debug-assistant
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python main.py

也可以使用模块入口启动:

python -m ttn_gui

macOS 或 Linux 激活虚拟环境时使用:

source .venv/bin/activate

使用说明

  1. 启动程序后选择 TTN 集群。
  2. 输入具有相应权限的 TTN API Key。
  3. 先使用“测试连接”,再读取或管理资源。
  4. 串口调试前确认端口、波特率和目标设备参数。

Warning

删除 Application、Gateway 或 End Device 会修改云端资源。执行写入或删除操作前,请核对目标和 API Key 权限。

安全说明

  • API Key 仅保存在当前进程内存中,项目不会主动将其写入仓库。
  • 不要把 API Key、设备根密钥、会话密钥或 .env 文件提交到 Git。
  • 建议为 API Key 配置最小必要权限,并定期轮换。
  • 发现安全问题时,请参阅 SECURITY.md

项目结构

.
├── main.py                    # 桌面应用入口
├── requirements.txt           # 运行时依赖
├── pyproject.toml             # 项目与工具配置
├── tests/                     # 基础单元测试
└── ttn_gui/
    ├── api_client.py          # TTN HTTP 客户端
    ├── device_service.py      # 设备业务逻辑
    ├── gui.py                 # 主界面与资源管理
    ├── serial_monitor.py      # 串口监视与 AT 指令
    └── theme.py               # Tkinter 主题

开发与测试

python -m compileall -q main.py ttn_gui tests
python -m unittest discover -s tests -v

提交代码前请阅读 CONTRIBUTING.md

版本

当前版本:1.7.0

About

Python/Tkinter assistant for The Things Stack V3 resource management and LoRaWAN serial debugging.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages