Badtunnetermometer del 3 – mjukvara

Detta är tredje delen och den går igenom den mesta av mjukvaran som behövs förutom Grafana, som kommer i nästa del. Syftet med denna del är att installera en lösning för att visualisera graferna som genereras av dina termometrar. Till det kommer vi att använda en Raspberry Pi 4, men det går alldeles utmärkt med Pi 3 eller en vanlig PC med för den delen.

De programvaror som behövs går alldeles säkert att köra på flera distributioner, men jag valde “Raspbian Buster Lite”. Jag ska försöka redogöra för hur dessa skall installeras, vad de används till och hur de kan konfigureras. Men jag vill poängtera att jag inte är en expert, men jag har fått det att fungera. Med stor säkerhet så finns det många saker i min setup som går att göra bättre. Mycket av informationen kommer från https://simonhearne.com/2020/pi-influx-grafana/.

Skärmdump från Grafana som visar lufttryck, luftfuktighet samt två temperaturer nederst. Lufttryck, luftfuktighet och temperatur (gröna grafer) kommer från en BME280 Temperature Humidity Pressure Sensor. Gul graf är temperaturen i tunnan.

Efter att installationen av Raspbian och alla uppdateringar så behövs ytterligare program. Vi börjar att installera InfluxDB, databashanteraren där vår data skall lagras.

wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt update
sudo apt install influxdb
sudo systemctl unmask influxdb
sudo systemctl enable influxdb
sudo systemctl start influxdb

Vi går vidare med att installera Telegraf:

sudo apt-get update
sudo apt-get install telegraf
sudo systemctl enable telegraf

Mosquitto:

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients

Slutligen installerar vi Grafana:

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server

Starta om din Raspberry Pi så att du kan kontrollera att InfluxDB och Grafana startas automatiskt. För att kontrollera kan du använda kommandot “influx” i terminalen samt prova att gå till http://<ip-adress>:3000/login.

Dessutom behöver vi Mosquito; instruktion för att installera på Raspberry Pi finns tillgänglig hos instructables.com.

Telegraf:s konfigurationsfil (etc/telegraf/telegraf.conf) är nästan 6000 rader lång men nästan allt är kommentarer. Följande rader har jag dock lagt till. Under avsnittet “[[inputs.mqtt_consumer]]” (rad 5275) anges adressen till vår MQTT-server, Flespi.io:

servers = ["tcp://mqtt.flespi.io:1883"]

Rad 5279, vi vill prenumerera på allt som kommer till vår feed:

topics = [
     "/feeds/#",
]

Samt rad 5324 där din token ska läggas in, utan radbrytning:

username = "rXCdY9ZVqA2UH  == Använd din egen token == v2aLNwDt9RRV4tXfkJbQx"

Nu är det mesta gjort vad gäller mjukvaran i Raspberry Pi:n. Det går naturligtvis att lösa det på andra sätt om man föredrar det.