Auswerten eines 433MHz Temperatursensors mit pilight

 

Was wir benötigen:

71Wz-aGbLzL._SL1500_

Aukru 433 MHz Funk- Sende und Empfänger Modul Superregeneration Wireless Transmitter-Modul Einbrecher Alarm 433M receiver module Burglar Alarm für Arduino Raspberry pi

(Amazon: LINK)

61u9VeUQJIL._SL1291_

PEARL Funk-Außensensor für Wetterstation

(Amazon: LINK)

Verkabelung des Senders/Empfängers:

Verkabelung Sender Modul (nicht für das Auslesen notwendig)
DATA: Pin 11 auf dem Raspberry Pi
VCC: Pin 1 auf dem Raspberry Pi (+3,3V)
GND: Pin 6 auf dem Raspberry (GND)

Verkabelung Empfänger
DATA: Pin 12 auf dem Raspberry
VCC: Pin 2 auf dem Raspberry Pi (+5V)
GND: Pin 6 auf dem Raspberry (GND)

 

Installation PILIGHT:
sudo nano /etc/apt/sources.list
deb http://apt.pilight.org/ stable main
sudo wget -O - http://apt.pilight.org/pilight.key | sudo apt-key add -
sudo apt-get -y update
sudo apt-get -y install pilight

 

Grundkonfiguration PILIGHT:
sudo nano /etc/pilight/config.json

hier werden folgende Einstellungen getroffen:

{
        "devices": {},
        "rules": {},
        "gui": {},
        "settings": {
                "log-level": 4,
                "pid-file": "/var/run/pilight.pid",
                "log-file": "/var/log/pilight.log",
                "send-repeats": 10,
                "receive-repeats": 1,
                "webserver-enable": 1,
                "webserver-root": "/usr/local/share/pilight/",
                "webserver-port": 5001,
                "webserver-cache": 1,
                "firmware-update": 0
        },
        "hardware": {
                "433gpio": {
                        "sender": 1,
                        "receiver": 0
                }
        },
        "registry": {
                "pilight": {
                        "version": {
                                "current": "5.0"
                        }
                }
        }

Die Einstellungen ,,sender“ und ,,receiver“ müssen geändert werden und an eure Pinbelegung angepasst werden.

(0 entspricht Pin 11 und 1 entspricht PIN 12, laut WiringX Pinbelegung)

 

Abfrage:

Um die Abfrage des Temperatursensors zu ermöglichen, habe ich ein  Script geschrieben, das nach der ID des Sensors (diese kann mit „pilight-receive“ herausgefunden werden) filtert und die Ergebnisse dann in den Dateien „/tmp/Temperatur“ und „/tmp/HUM“ speichert.

Abfragescript  (SHELL) Speicherort:“/root/auswerte“:
#!/bin/sh
dienst=`ps -aux |grep pilight-receive|wc -l`
if [ "$dienst" -le 1 ]
then
pilight-receive > /tmp/r-log 2>&1 &
echo Dienst wurde neu gestartet
fi

te=`cat /tmp/r-log |grep 1288 -a --text -C 2|tail -n2|awk '{ print $2; }'|sed 's/,//g'`
TEMP=`echo $te |awk '{print $1}'` > /tmp/Temperatur
HUM=`echo $te |awk '{print $2}'` >/tmp/HUM

//echo $TEMP
//echo $HUM

echo 0 > /tmp/r-log

 

Das Script muss nun mit „chmod 777 /root/auswerte“ ausführbar gemacht werden.

Um das Script nun regelmäßig aus zu führen muss ein cronjob angelegt werden.

crontab -r“ zum anlegen des cronjobs:
*/2 * * * * /root/auswerte

 

Die Ergebnisse werden nun alle 2 Minuten in die beiden Dateien geschrieben.