项目简介
本项目是基于Arduino的温室监控系统,借助LoRaWAN通信协议,能把温室环境数据(像温度、湿度、气压等)从传感器传输到The Things Network(TTN)。项目涵盖Arduino代码、Docker配置以及JavaScript payload formatter,可实现温室数据的收集、存储与可视化。
项目的主要特性和功能
- 传感器数据收集:利用Arduino代码,从温室环境传感器(例如BME280)采集数据。
- LoRaWAN通信:运用Heltec WiFi LoRa 32(v2)板,通过LoRaWAN协议把传感器数据发送至TTN。
- 数据可视化:采用Grafana可视化工具展示温室环境数据。
- Docker配置:借助Docker容器,配置Telegraf、InfluxDB和Grafana服务,达成数据的收集、存储和可视化。
- JavaScript payload formatter:用JavaScript编写payload formatter,解析和格式化从TTN接收的LoRaWAN数据包。
安装使用步骤
1. 复制项目仓库
将项目代码复制到本地机器。
bash
2. 设置Arduino代码
- 打开
arduino/
目录下的Arduino代码。 - 依据温室传感器和通信设置,修改代码里的参数。
- 把代码上传到Heltec WiFi LoRa 32板。
3. 设置Docker环境
- 进入
backend/
目录。 - 按照
backend/README.md
中的说明,配置并启动Docker容器。 - 确保Telegraf、InfluxDB和Grafana服务正常运行。
4. 测试Arduino代码
- 保证Heltec WiFi LoRa 32板连接到温室传感器。
- 测试传感器数据是否正确发送。
5. 测试后端服务
- 确保Telegraf、InfluxDB和Grafana服务正常运行。
- 测试数据可视化功能,确保Grafana能够正确展示温室环境数据。
6. 调试和优化
根据实际需求,调试和优化代码和服务设置。
注意:此项目的设置和使用需要一定的硬件和软件基础,包含Arduino编程、LoRaWAN通信和Docker容器管理。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】