Hi!
In diesem Thread könnt ihr nachlesen, wie ihr die Funksignale eures Maverick BBQ Thermometers am Raspberry auslesen könnt!
Ein Eingriff am Maverick ist nicht nötig, sodass ihr euer Gerät nicht kaputtmachen könnt .
Vorab: Ich setze bei dem Howto eine gewisse Grundkenntnis voraus.
Folgende Themen werde ich in diesem Howto nicht behandeln: initiale Einrichtung das Raspberries, Einrichtung von wiringPI, GPIO PIN Verteilung.
1. Anschluss des 433 MHz Receivers
Zum Einsatz kommt dieser Receiver:
http://www.amazon.de/Aukru-Superregeneration-Transmitter-Modul-receiver-module-433M-Empfänger-Modul/dp/B00OLI93IC/ref=sr_1_1?ie=UTF8&qid=1427028249&sr=8-1&keywords=433+mhz+receiver
Damit der Receiver funktionieren kann, muss dieser zunächst an den RPi angeschlossen werden (am einfachsten geht es mit Breadboard jumper Kabeln). Dies erfolgt über 3 Kabel: VCC, GND, DATA.
VCC sollte an den 3.3V GPIO Port, GND an einen Ground Port, Data geht an einen offenen GPIO Port. In meinem Setup wurde der GPIO PIN 4(BCM Nummerierung) verwendet.
Auf dem Receiver sind die Eingänge beschriftet, sodass ziemlich schnell deutlich werden sollte wo was angeschlossen werden sollte.
1.1 Antenne
Hier kann eine Kuferdraht mit 17,3 cm länge (sollte eingehalten werden) an den ANT Anschluss gelötet werden. Bei mir hat dies die Entfernung auf 2 M erhöht.
2. Einrichtung des Programms
Zunächst muss die Datei aus dem Anhang (maverick.c) in ein Verzeichnis auf dem PI kopiert werden.
Befindet sich die Datei auf dem Pi, kann diese mithilfe eines Editor bearbeitet werden, um den GPIO Port (BCM Bezeichnung verwenden!) anzupassen an dem sich der DATA Pin des Empfängers befindet.
#define PIN 4
In dem Programm können weitere Parameter zum debuggen aktiviert werden, die zunächst aussen vor gelassen werden. Interessant ist es, wie das Programm in anderen Umgebungen läuft bzw. ob das Script so übernommen werden kann.
2.1 Kompilieren des Programms
Ist der GPIO Pin gesetzt, muss das Programm nun noch kompiliert werden.
Dies erfolgt mit gcc. Desweiteren muss wiringpi installiert sein, damit bestimmte Funktionen genutzt werden können.
http://wiringpi.com/download-and-install/
gcc lässt sich mit sudo apt-get install gcc installieren.
Dann in das Verzeichnis mit der Datei maverick.c wechseln und folgenden Befehl ausführen:
gcc maverick.c -o maverick -lwiringPi
Der Prozess sollte ohne Rückmeldung durchlaufen.
Anschließend befindet sich im Ordner eine ausführbare Datei maverick.
Diese Datei muss nun im Hintergrund ausgeführt werden und schreibt ein Logfile, aus dem man die Temperatur entnehmen kann:
sudo ./maverick > maverick.log 2>&1 &
Wird die Datei nicht im Hintergrund, sondern im Vordergrund ausgeführt, nimmt die Ausgabe des Programms eine zu hohe Auslastung an und sorgt dafür, dass das Programm nicht korrekt laufen kann.
In der Logdatei kann man nun die Temperatur sehen:
Preamble detected @5451565
Byte 1:0xAA @1156605436 (5451573)
Byte 2:0x99 @1156609507 (5451577)
Byte 3:0x95 @1156613468 (5451581)
Byte 4:0x59 @1156617447 (5451585)
Byte 5:0x95 @1156621421 (5451589)
Byte 6:0x99 @1156625398 (5451593)
Byte 7:0x59 @1156629384 (5451597)
Byte 8:0x59 @1156633342 (5451601)
Byte 9:0x95 @1156637322 (5451605)
Probe 1:20 Probe 2:20 @1156637338
An dieser Stelle lasse ich offen was man mit diesem Logfile alles anstellen kann . Wer sich maverick.c ein wenig genauer ansieht, wird sehen, dass es auch Parameter gibt, um die Werte in eine HTML Datei zu schreiben.
Bei Fragen einfach Fragen .
Viele Grüße
Der_Gute
In diesem Thread könnt ihr nachlesen, wie ihr die Funksignale eures Maverick BBQ Thermometers am Raspberry auslesen könnt!
Ein Eingriff am Maverick ist nicht nötig, sodass ihr euer Gerät nicht kaputtmachen könnt .
Vorab: Ich setze bei dem Howto eine gewisse Grundkenntnis voraus.
Folgende Themen werde ich in diesem Howto nicht behandeln: initiale Einrichtung das Raspberries, Einrichtung von wiringPI, GPIO PIN Verteilung.
1. Anschluss des 433 MHz Receivers
Zum Einsatz kommt dieser Receiver:
http://www.amazon.de/Aukru-Superregeneration-Transmitter-Modul-receiver-module-433M-Empfänger-Modul/dp/B00OLI93IC/ref=sr_1_1?ie=UTF8&qid=1427028249&sr=8-1&keywords=433+mhz+receiver
Damit der Receiver funktionieren kann, muss dieser zunächst an den RPi angeschlossen werden (am einfachsten geht es mit Breadboard jumper Kabeln). Dies erfolgt über 3 Kabel: VCC, GND, DATA.
VCC sollte an den 3.3V GPIO Port, GND an einen Ground Port, Data geht an einen offenen GPIO Port. In meinem Setup wurde der GPIO PIN 4(BCM Nummerierung) verwendet.
Auf dem Receiver sind die Eingänge beschriftet, sodass ziemlich schnell deutlich werden sollte wo was angeschlossen werden sollte.
1.1 Antenne
Hier kann eine Kuferdraht mit 17,3 cm länge (sollte eingehalten werden) an den ANT Anschluss gelötet werden. Bei mir hat dies die Entfernung auf 2 M erhöht.
2. Einrichtung des Programms
Zunächst muss die Datei aus dem Anhang (maverick.c) in ein Verzeichnis auf dem PI kopiert werden.
Befindet sich die Datei auf dem Pi, kann diese mithilfe eines Editor bearbeitet werden, um den GPIO Port (BCM Bezeichnung verwenden!) anzupassen an dem sich der DATA Pin des Empfängers befindet.
#define PIN 4
In dem Programm können weitere Parameter zum debuggen aktiviert werden, die zunächst aussen vor gelassen werden. Interessant ist es, wie das Programm in anderen Umgebungen läuft bzw. ob das Script so übernommen werden kann.
2.1 Kompilieren des Programms
Ist der GPIO Pin gesetzt, muss das Programm nun noch kompiliert werden.
Dies erfolgt mit gcc. Desweiteren muss wiringpi installiert sein, damit bestimmte Funktionen genutzt werden können.
http://wiringpi.com/download-and-install/
gcc lässt sich mit sudo apt-get install gcc installieren.
Dann in das Verzeichnis mit der Datei maverick.c wechseln und folgenden Befehl ausführen:
gcc maverick.c -o maverick -lwiringPi
Der Prozess sollte ohne Rückmeldung durchlaufen.
Anschließend befindet sich im Ordner eine ausführbare Datei maverick.
Diese Datei muss nun im Hintergrund ausgeführt werden und schreibt ein Logfile, aus dem man die Temperatur entnehmen kann:
sudo ./maverick > maverick.log 2>&1 &
Wird die Datei nicht im Hintergrund, sondern im Vordergrund ausgeführt, nimmt die Ausgabe des Programms eine zu hohe Auslastung an und sorgt dafür, dass das Programm nicht korrekt laufen kann.
In der Logdatei kann man nun die Temperatur sehen:
Preamble detected @5451565
Byte 1:0xAA @1156605436 (5451573)
Byte 2:0x99 @1156609507 (5451577)
Byte 3:0x95 @1156613468 (5451581)
Byte 4:0x59 @1156617447 (5451585)
Byte 5:0x95 @1156621421 (5451589)
Byte 6:0x99 @1156625398 (5451593)
Byte 7:0x59 @1156629384 (5451597)
Byte 8:0x59 @1156633342 (5451601)
Byte 9:0x95 @1156637322 (5451605)
Probe 1:20 Probe 2:20 @1156637338
An dieser Stelle lasse ich offen was man mit diesem Logfile alles anstellen kann . Wer sich maverick.c ein wenig genauer ansieht, wird sehen, dass es auch Parameter gibt, um die Werte in eine HTML Datei zu schreiben.
Bei Fragen einfach Fragen .
Viele Grüße
Der_Gute