If you have any questions, feel free to create an issue. I won't be able to hand-hold anyone through the setup, but I will be happy to answer simple questions.
This dashboard setup collects data from Helium API and stores it in InfluxDB. Grafana reads the data from InfluxDB and presents it on the dashboard.
This node package collects data from Helium API. It's designed for AWS Lambda but can be run on any machine with Node.js. (If running on a machine with node, use npm start
). This script does a single data collection and, therefore, must be run periodically (e.g., every 10 mins). Some example on how to do that:
The supplied .env.sample
contains necessary environment variables to be defined. Copy this file to .env
and update with your parameters. Note that .env
file is .gitignore
'd.
The setup below assumes a Linux-like environment.
sudo chmod ugo+x /etc/letsencrypt/live/{domain}/
sudo chmod ugo+x /etc/letsencrypt/archive/{domain}/
/etc/influxdb/config.toml
with your configsudo service influxdb start
journalctl -f -u influxdb
INFLUX_BUCKET
env variableinflux restore [path]
sudo setcap 'cap_net_bind_service=+ep' /usr/sbin/grafana-server
/etc/grafana/grafana.ini
with your configsudo grafana-cli plugins install marcusolsson-json-datasource
/var/lib/grafana/grafana.db
sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server
To start on startup:
sudo systemctl enable grafana-server.service