Luftdaten-Viewer Grafana for VMM#
This walkthrough builds upon the baseline documentation about setting up Luftdatenpumpe with Grafana, and is a guideline for VMM to visualize the data feed of IRCELINE.
Setup#
Let all processing happen on network “IRCELINE”:
export LDP_NETWORK=irceline
LDI network#
Create dashboard with map and table panels for LDI Belgium:
luftdatenpumpe grafana --kind=dashboard --name=map \
--variables=tsdbDatasource=luftdaten_info,sensorNetwork=ldi,mapCenterLatitude=50.82502,mapCenterLongitude=4.46045,initialZoom=7,jsonUrl=/public/data/json/ldi-stations.json,autoPanLabels=false \
--fields=pm2-5=P2,pm10=P1 \
| http --session=grafana POST $GRAFANA_URL/api/dashboards/db
IRCELINE network#
# Define Grafana instance and login.
export GRAFANA_URL=http://localhost:3000
http --session=grafana $GRAFANA_URL --auth=admin:admin
Create datasource:
# Create data source object for "vmm @ InfluxDB".
luftdatenpumpe grafana --kind=datasource --name=influxdb \
--variables=tsdbDatasource=vmm \
| http --session=grafana POST $GRAFANA_URL/api/datasources
Create dashboard with graph panel:
luftdatenpumpe grafana --kind=dashboard --name=trend \
--variables=tsdbDatasource=vmm,sensorNetwork=irceline,timeRefresh=1h \
--fields=pm1=particulate-matter-1-m,pm2-5=particulate-matter-2-5-m,pm10=particulate-matter-10-m \
| http --session=grafana POST $GRAFANA_URL/api/dashboards/db
Export station metadata from RDBMS database (PostgreSQL) to JSON file for Panodata Map Panel:
stationsfile=/var/lib/grafana/data/json/vmm-stations.json
# macOS: stationsfile=/usr/local/var/lib/grafana/data/json/vmm-stations.json
luftdatenpumpe stations --source=postgresql://luftdatenpumpe@localhost/weatherbase --target=json.flex+stream://sys.stdout --target-fieldmap='key=station_id|str,name=sos_feature_and_id' > $stationsfile
Create dashboard with map and table panels for IRCELINE:
luftdatenpumpe grafana --kind=dashboard --name=map \
--variables=tsdbDatasource=vmm,sensorNetwork=irceline,timeFromOffset=120m,timeRefresh=1h,mapCenterLatitude=50.82502,mapCenterLongitude=4.46045,initialZoom=7,jsonUrl=/public/data/json/vmm-stations.json,autoPanLabels=false \
--fields=pm1=particulate-matter-1-m,pm2-5=particulate-matter-2-5-m,pm10=particulate-matter-10-m \
| http --session=grafana POST $GRAFANA_URL/api/dashboards/db