Skip to content

changs/weather_playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

Simple solution for getting weather info from BME280 sensor, connected to Arduino Nano RP2040 Connect, pushing it to a MQTT broker (RabbitMQ MQTT) and getting that data to InfluxDB via Telegraf subscribing to MQTT.

Overview

Overview Diagram Grafana

Setup

docker run -d --hostname rabbithost --name rabbit-name rabbitmq:3
docker run -d --hostname rabbit-chg --name rabbit-mgmt -p 8080:15672 -p 1883:1883  rabbit-management-chg:latest
docker run -d --name=influxdb -p 8086:8086 -v  /tmp/testdata/influx:/root/.influxdb2 influxdb:2.0
docker run -d -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro telegraf
docker run -d -p 3000:3000 grafana/grafana-enterprise

You need a InfluxDB API token, here is a description how to get one.

Sample Flex query you can use in Grafana.

from(bucket: "pico")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "weather")
  |> filter(fn: (r) => r["_field"] == "temp")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> yield(name: "mean")

To Do

  • Move docker configuration to docker compose
  • Add Arduino wiring sketch
  • Connect Grafana to InfluxDB
  • Refactor weather_sensor code
    • Use a JSON object instead of string

About

Learning how to do iot.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages