📡 LoRaWAN 应用服务器
实战目录
30 章 · 从入门到部署
01
LoRaWAN 概述
基础
LoRa技术原理 · 协议栈架构 · 网络组成:终端、网关、网络服务器、应用服务器
02
应用服务器角色定位
核心
网络位置 · 数据解密/格式转换/业务逻辑 · 与网络服务器交互
03
开发环境搭建
工具
Python 3.9+ · 虚拟环境 · pip/poetry · VS Code/PyCharm配置
04
HTTP 基础回顾
协议
HTTP/HTTPS · 请求方法 · 状态码 · RESTful设计原则
05
Flask 框架入门
框架
Flask安装 · 最小应用 · 路由/视图 · request/response对象
06
RESTful API 设计
规范
资源命名 · URL设计 · 版本控制 · HTTP方法 · 状态码选择
07
数据格式与序列化
数据
JSON详解 · 字典互转 · marshmallow校验与序列化
08
数据库选型与设计
存储
SQLite/PostgreSQL/MySQL · 表结构设计 · ORM选型
09
SQLAlchemy 实战
ORM
模型定义 · Alembic迁移 · CRUD · 会话管理 · 关系映射
10
用户认证与授权
安全
JWT原理 · Flask-JWT-Extended · Token生成/验证 · 权限装饰器
11
设备管理 API
核心接口
设备注册/列表/详情/删除 · POST/GET/DELETE /devices
12
上行数据接收 API
数据流
数据格式定义 · 校验 · 存储 · Webhook/消息队列转发
13
下行指令发送 API
控制
指令格式 · 队列管理 · POST /commands · 状态查询
14
数据查询与过滤 API
检索
时间范围 · 设备筛选 · 分页 · 排序 · 聚合查询
15
数据统计 API
分析
在线率 · 消息数量 · 数据包大小 · 自定义时间段统计
16
告警与通知 API
监控
告警规则 · 触发条件 · 记录查询 · 邮件/短信/Webhook
17
WebSocket 实时推送
实时
WebSocket协议 · Flask-SocketIO · 实时数据推送 · 连接管理
18
消息队列集成
异步
RabbitMQ/Redis · 生产者-消费者 · Celery · 消息持久化
19
日志与监控
运维
日志分级 · ELK/EFK · Prometheus指标 · Grafana可视化
20
API 文档自动生成
文档
Swagger/OpenAPI · Flask-RESTX · 文档自动生成 · 在线测试
21
单元测试
质量
pytest · 测试数据库 · Mock外部依赖 · 覆盖率报告
22
集成测试
验证
API接口测试 · 数据库交互 · 端到端测试 · 环境管理
23
性能优化
调优
查询优化(索引/连接池) · Redis缓存 · 异步 · Gunicorn部署
24
安全加固
防护
HTTPS · SQL注入/XSS防护 · 速率限制 · 输入验证
25
Docker 容器化
部署
Dockerfile · docker-compose · 多阶段构建 · 镜像优化
26
CI/CD 流水线
自动化
GitHub Actions · 自动测试/构建 · 自动部署到服务器
27
LoRaWAN 数据解密
安全
AES-128 · AppSKey/NwkSKey · 数据包解析 · 解密实现
28
多租户架构
架构
租户隔离 · 数据库隔离 · API Key管理 · 路由中间件
29
高可用部署
生产
Nginx负载均衡 · 主从复制 · 无状态设计 · 健康检查
30
项目实战
综合
从零搭建应用服务器 · 对接真实网关 · 百万级设备 · 性能压测