项目简介
本项目是基于Arduino和Kafka的天气数据采集与分析系统。借助Arduino设备采集天气传感器数据,通过REST API将数据传输至Kafka消息队列,再将数据存储到InfluxDB,最后用Grafana进行可视化展示,未来还会支持将数据存于PostgreSQL以开展长期数据分析。
项目的主要特性和功能
- 数据采集:采用ESP32 MicroMod处理器和Sparkfun Weather MicroMod板采集天气数据,可采集电池电压、温度、湿度、紫外线、风速和降雨量等信息。
- 数据传输:通过REST API把采集的数据传输到Kafka消息队列,使用Docker Compose进行容器化部署,简化系统搭建。
- 数据存储与可视化:数据存储在InfluxDB中,利用Grafana实现实时数据可视化,未来计划支持将数据存于PostgreSQL用于长期数据分析。
安装使用步骤
- Arduino设置:打开Arduino文件夹中的
Preferences
代码,填写WiFi的SSID和密码后上传到ESP32;再上传WeatherStation
项目到ESP32,设备会自动从EEPROM读取WiFi信息。 - Docker设置:编辑
docker-compose.yml
文件,将STATION_URL
设置为天气站的IP地址或URL;运行docker-compose up -d
启动所有容器,开始数据采集。 - 数据可视化:使用Grafana连接到InfluxDB,配置仪表盘展示天气数据。
按照上述步骤,可快速搭建并运行本项目,实现天气数据的实时采集、传输、存储和可视化。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】