This is an old revision of the document!
Table of Contents
First steps with your NIG
What you will need
- A browser
- Your personal URL
- Your personal node-red username and password
- Your personal grafana username and password
How it works
All NIG-Environments (N=nodered, I=influxdb, g=grafana) are running in Docker-Containers on the eolab-server. Only the nodered UI and the grafana UI are accessible from the outside. Internally both services can access the influxdb. Probably you will not know what each service is so you can just read on and we will explain what they are and why you need them.
What is node-red
Node-RED is a UI programming tool for writing code with just graphical blocks. With this, you can easily wire together hardware devices with APIs and other online services. Node-RED is all about flows. A flow is really what it says it is. The data flows from an entry point (like MQTT or HTTP) to an endpoint. On the way, you can modify, compare it with other data, or do whatever you want to do with it. The endpoint could also be an outgoing MQTT-Message or HTTP-Request. In our case, you will probably want to save it permanently in the given influx database and later display it in some way (that is what grafana is for).
What is grafana
Grafana describes itself as the
The analytics platform for all your metrics
With grafana, you can query the data from the database and show it off in graphs. You can also create alerts. So when you want to get a notifications when let's say a value gets above a certain threshold, grafana can do that for you. You can find more information here:
What is influxdb
Influxdb is a time series database that is really good designed for IoT applications. It can handle very high write and read loads. It's very easy to use because the used InfluxQL query language is somewhat close to SQL. But you can learn more about it here:
Connecting all Services with influxdb (only setup shown)
All groups only have one admin user. Both for Node-RED and Grafana. When someone changes the password, please inform the other people in your group about it!