littlebot
Published on 2025-04-02 / 0 Visits
0

【源码】基于Arduino和Kafka的天气数据采集与分析系统

项目简介

本项目是基于Arduino和Kafka的天气数据采集与分析系统。借助Arduino设备采集天气传感器数据,通过REST API将数据传输至Kafka消息队列,再将数据存储到InfluxDB,最后用Grafana进行可视化展示,未来还会支持将数据存于PostgreSQL以开展长期数据分析。

项目的主要特性和功能

  1. 数据采集:采用ESP32 MicroMod处理器和Sparkfun Weather MicroMod板采集天气数据,可采集电池电压、温度、湿度、紫外线、风速和降雨量等信息。
  2. 数据传输:通过REST API把采集的数据传输到Kafka消息队列,使用Docker Compose进行容器化部署,简化系统搭建。
  3. 数据存储与可视化:数据存储在InfluxDB中,利用Grafana实现实时数据可视化,未来计划支持将数据存于PostgreSQL用于长期数据分析。

安装使用步骤

  1. Arduino设置:打开Arduino文件夹中的Preferences代码,填写WiFi的SSID和密码后上传到ESP32;再上传WeatherStation项目到ESP32,设备会自动从EEPROM读取WiFi信息。
  2. Docker设置:编辑docker-compose.yml文件,将STATION_URL设置为天气站的IP地址或URL;运行docker-compose up -d启动所有容器,开始数据采集。
  3. 数据可视化:使用Grafana连接到InfluxDB,配置仪表盘展示天气数据。

按照上述步骤,可快速搭建并运行本项目,实现天气数据的实时采集、传输、存储和可视化。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】