项目简介
本项目致力于在 ElGhazala 技术园区部署一个 LoRaWAN 多租户物联网网络。项目包含安装 3 个连接到 ChirpStack 网络服务器的网关,用户可向管理员申请创建租户并成为管理员,进而创建应用程序和添加相关终端设备。该项目面向 Sup'Com 的所有学生、博士生、教师以及合作专业人员。
项目的主要特性和功能
- 多租户支持:允许不同用户创建和管理自己的租户,实现网络资源的隔离和共享。
- 完整的 LoRaWAN 架构:涵盖 LoRaWAN 终端节点、网关、网络服务器、应用服务器等组件,实现端到端的物联网数据传输。
- 数据集成与处理:借助 FIWARE IoT 代理将 LoRaWAN 应用服务器的数据摄入 NGSI 上下文代理,完成数据的解码和转换。
- 数据存储与分析:FIWARE Quantum Leap 订阅上下文代理的新数据通知,以时间序列格式存储历史信息,便于后续分析。
- 可视化展示:通过 Grafana 提供直观的可视化界面,方便用户查看和探索数据。
安装使用步骤(假设用户已经下载了本项目的源码文件)
前提条件
- 一台运行 Linux 操作系统的机器。
- 一台运行 Windows 操作系统的机器用于监控和管理。
- 安装 Docker 版本 23.0.5 和 Docker Compose 版本 2.17.3,详细安装说明见此处。
- 安装 Arduino IDE,详细安装说明见此处。
- 安装 Postman,详细安装说明见此处。
- 安装 Git:
bash sudo apt-get install git
Chirpstack v3 安装
bash
cd chirpstack-docker
git checkout v3
docker compose up
安装成功后,可通过服务器 IP 地址的 8080 端口进行验证。
硬件准备
- 一个 Seeeduino LoRaWana 网关套件,详情见此维基页面。
- 一个 DHT11 温度和湿度传感器。
网关配置
- 进行硬件连接。
- 打开网关终端(通过串口或 SSH),参考Seeeduino 入门部分。
- 配置网关将 LoRaWAN 数据包转发到 ChirpStack 服务器:
bash nano /home/rxhf/risinghf/pktfwd/local_conf.json
将server_address
改为 ChirpStack 服务器的 IP 地址,serv_port_up
和server_port_down
改为 1700,保留gateway_ID
。json { "gateway_conf": { "gateway_ID": "b827ebfffe0e1174", "autoquit_threshold": 5, "server_address": "SERVER_ADDRESS", "serv_port_up": 1700, "serv_port_down": 1700 } }
- 重启网关以应用更改:
bash sudo reboot
将网关添加到 Chirpstack
- 访问 Chirpstack 的 Web UI:
http://192.168.33.69:8080
,使用用户名和密码“admin”登录。 - 添加网络服务器。
- 添加新的服务配置文件。
- 添加新的网关。
- 在仪表盘上验证网关是否处于活动状态。
添加应用程序和设备
- 添加新的设备配置文件,确保勾选 OTAA 模式支持并选择 CayenneLPP 作为编解码器。
- 添加应用程序。
- 使用设备配置文件向创建的应用程序添加设备,生成 Appkey 并获取 DEV EUI。
终端节点设置
- 打开位于
seeeduino_lorawana_end_device/end_node_cayenneLPP_payload_OTAA
的终端节点设备草图。 - 安装所需库和 Seeeduino LoRaWAN 开发板,参考此教程。
- 更改上一步生成的 Appkey。
- 将代码上传到开发板并进行接线。
部署 FIWARE 堆栈
bash
docker compose -f docker/fiware/docker-compose.yml
使用 Portainer Web UI 进行容器管理和可视化,通过 https://192.168.33.69:9443
访问(需创建账户)。导入位于 postman/fiware1.postman_collection.json
的 Postman 工作区。
验证和配置
- 检查 Orion 版本:
bash http://192.168.33.69:1026/version
- 检查 IOT 代理信息:
bash http://192.168.33.69:4041/iot/about
- 向 IOT 代理添加设备:
bash http://192.168.33.69:4041/iot/devices
添加相应的请求头和请求体,确保响应状态码为 201。 - 查看添加的设备:
bash http://192.168.33.69:4041/iot/devices
添加相应的请求头。 - 查看 Orion 上下文代理中的 DHT11 实体:
bash http://192.168.33.69:1026/v2/entities/DHT_001
添加相应的请求头。 - 检查 Quantumleap 版本:
bash http://192.168.33.69:8668/version
- 向 Orion 上下文代理添加订阅:
bash http://192.168.33.69:1026/v2/subscriptions
添加相应的请求头和请求体,确保响应状态码为 201。 - 查看创建的订阅:
bash http://192.168.33.69:1026/v2/subscriptions
添加相应的请求头。 - 查看 Quantumleap 中的记录历史:
bash http://192.168.33.69:8668/v2/entities/DHT_001
添加相应的请求头。
Grafana 可视化
- 访问
http://192.168.33.69:3000
,使用默认凭据admin / admin
登录。 - 添加新的数据源。
- 导入位于
grafana_dashboard
文件夹中的仪表盘。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】