Jak si udělat monitoring teploty na Raspberry Pi

06. 08. 2019 | 221 slov

Nechcete přece, aby vám začal Raspberry hořet, že?

V tomto článku si vytvoříme jednoduchý bashový skript, který budeme spouštět cronem a když teplota Raspberry překročí určitou mez, pošle nám o tom email. Je to spíš pro zajímavost, než že by to mělo reálný užitek :)

Odesílání emailů

Nejprve si nainstalujeme ssmtp abychom mohli odesílat emaily:

sudo apt-get install ssmtp sudo apt-get install mailutils

Upravíme konfiguraci. Já například využívám UPC internet, takže mě stačí zadat jejich veřejný, zdarma dostupný SMTP server. Plus hostname, z toho budou emaily chodit. Tuto doménu si pak ve vašem emailu dáte na whitelist aby emaily z Pi nepadaly do spamu.

sudo nano /etc/ssmtp/ssmtp.conf

mailhub=smtp.dkm.cz hostname=vase-domena.cz

Skript pro měření teploty procesoru

Založíme si soubor temperature.sh a jeho obsah bude následovný. Je to pečlivě vypiplaný kus skriptu, který jsem splácal metodou pokus omyl. Bash není má silná stránka.

#!/bin/bash

val=$(vcgencmd measure_temp | egrep -o ‘[0-9]*’ | head -1 | bc -l) max=60

if [ “$val” -gt “$max” ]; then echo “$val” | mail -s “RPI - Teplota” vas@email.cz fi

Dáme mu práva na spouštění:

chmod +x temperature.sh

A můžeme otestovat (doporučuju snížit teplotu třeba na 30 kvůli testování):

sh temperature.sh

Pravidelná kontrola cronem

Budeme jej spouštět cronem každých 5 minut. Editaci cronu spustíme tímto příkazem:

crontab -e

*/5 * * * * sh /home/pi/temperature.sh

Tak a je to :)