Wetterstationen der Nachbarn abgesaugt

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

Mit Arndt hab ich heute mal was gebastelt:

Mit einem DVB-T Stick an einem Raspi kann man sich den Betrieb eigener Funk-Außentemperatursensoren sparen, denn die Nachbarn haben sowas ja immer.

Man braucht eigentlich nur einen Raspi und einen DVT-Stick mit RTL-Chipsatz.
Der Stick läuft als SDR und lauscht auf 433MHZ nach allen Protokollen die da durch den Äther schweben.
Das wird von einem Script aufgefangen und als MQTT- JSON über einen MQTT-Broker gehostet.
Über Node-Red wird dann eine Influxdb-Datenbank mit allen Sendern im Umkreis gefüttert und per Grafana Visualisiert.
Klingt kompliziert?
Ist es aber nicht:
Hier der Node-Red Knoten mit dem MQTT Eingang und dem Influxdb-Ausgang:
Bild

So sieht das dann aus, wenn man das in Grafana darstellt:
Bild

Aber im Ernst, es war eine Team-Arbeit, das macht man am besten mit jemand, der das schon mal gemacht hat, dann geht es aber fix und man versteht es auch ganz gut.
Man muss sich nicht groß um die Abfrage der Datenbank kümmern oder die Protokolle verwursteln, das mach die Magie.
Benutzeravatar
Arndt
Beiträge: 2589
Registriert: Fr 28. Jun 2013, 13:42
Wohnort: einen Schritt über den Abgrund hinaus

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Arndt »

Oh ja, das hat wirklich Spaß gemacht, aber ich habe das Gefühl, Du hast mir mehr geholfen, als ich Dir :?

Auf jeden Fall will ich nun auch eine Lüftungsanlage... und der RTL-stick ist auch bestellt... und an die Hühnerklappe muss ich mal... und an den Laser... und Waschmaschine, Trockner, Spülmaschine und E-Auto müssen mit in das Powermanagement integriert werden. Also der Nachmittag hat die Pipeline verlängert :lol:


Mir fehlt echt das Treffen!!!! *schnief* Aber es war sehr schön! Auch wenn meine Frau neben mir stand, als wir gerade von gegneseitiger Befruchtung sprachen.... :o :lol:
Benutzeravatar
sukram
Beiträge: 3063
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von sukram »

Hast du dir dazu "rtl_433" installiert oder selbst einen Dekoder gebaut? Ich habe jetzt etwa ein Jahr einen Sdr Stick am Server hängen, der die UKW/DVB Antenne meiner Hausanlage benutzt. Damit höre ich meine Funksensoren und jede Menge Alarmanlagen, Wettersensoren, Funkschlüssel etc. aus dem Umgebung...

Mittelfristig kommt noch weitere Sticks dazu, um parallel noch andere Funkdienste einzusammeln, z.b. 864-868 MHz, DAB...
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

Ich hab den rtl_433 installiert.
Funktioniert prima
Benutzeravatar
video6
Beiträge: 6794
Registriert: Mi 23. Sep 2015, 09:18
Wohnort: Laage bei Rostock

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von video6 »

Gibt es dafür auch Windows Programme?
Oder muss es zwingend Linux sein?
inse
Beiträge: 832
Registriert: Mi 14. Aug 2013, 07:20
Wohnort: Mittelbayern

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von inse »

Woher kam denn die Magie?
Wer hat die Protokolle entschlüsselt?
Und WIE?
Benutzeravatar
AlexVR6
Beiträge: 539
Registriert: Sa 6. Dez 2014, 14:35
Wohnort: Angelroda

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von AlexVR6 »

Hightech hat geschrieben: Mo 7. Sep 2020, 07:04 Ich hab den rtl_433 installiert.
Funktioniert prima
Das hab ich auch, ich finde aber nur die Reifendrucksensoren meiner Nachbarn....
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

video6 hat geschrieben: Mo 7. Sep 2020, 07:10 Gibt es dafür auch Windows Programme?
Oder muss es zwingend Linux sein?
Da alles was dafür notwendig ist, als Netzwerkdienst läuft, ist das unter Windows wohl kaum ordentlich hin zu bekommen. Betrachten der Grafiken und bedienen von Nodered ist auch unter Windows kein Problem da es im Browser läuft. Ich denke nicht dass es mit Windows möglich ist.
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

inse hat geschrieben: Mo 7. Sep 2020, 07:48 Woher kam denn die Magie?
Wer hat die Protokolle entschlüsselt?
Und WIE?
Die Magie Steckt zu einem Teil in den RTL Treibern und in den Skripten. Für interessierte kann ich gerne mal eine Teamviewer Session machen.

Oder kennt jemand einen Dienst bei dem mehrere Zuschauer einer Präsentation zugucken können.?
Benutzeravatar
Chemnitzsurfer
Beiträge: 7812
Registriert: So 11. Aug 2013, 14:10
Wohnort: Chemnitz (OT Hutholz)
Kontaktdaten:

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Chemnitzsurfer »

Yt/Twitch Livestream und mit Open Broadcaster den Bildschirminhalt übertragen?
Dann kann im Chat von den Zuschauern Fragen gestellt werden und beendete Streams können je nach Einstellung als Video veröffentlicht werden.
Stefan
Beiträge: 380
Registriert: So 11. Aug 2013, 15:14
Wohnort: Köln

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Stefan »

Ein paar mehr Infos wären schön, so ist der Thread fast nutzlos ;)
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

Das ist zu komplex als dass man das hier einfach so in den Thread stecken könnte
Da entstehen bei jedem Satz so viele Fragen, es ist viel zu umständlich.
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

Ich werde heute Abend mal versuchen einen Twitchkanal aufzumachen, wer interessiert ist kann sich ja mal melden.
Benutzeravatar
sukram
Beiträge: 3063
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von sukram »

Grundlage ist das Programm rtl_433 auf einem Linuxrechner mit einem Realtek DVB-T Stick.

Mit diversen Kommandozeilenparametern steuert man den Funktionsumfang des Programms. Wenn ich später am PC bin kann ich mal meine Konfiguration raussuchen.

Prinzipiell kann man viele gängigen 433 MHz Funken empfangen, z.b. die Wetterstationen von Aldi oder den Ventus W132 Windmesser (gibts bei Reichelt), der Temperatur, Luftfeuchte und Wind/Böengeschwindigkeit liefert.

Bei den Wetterstationen muss man aufpassen, die ändern ihre ID jedesmal beim Batteriewechsel - in meiner Konfiguration muss ich nach jedem Wechsel in FHEM erst mal suchen...
Benutzeravatar
AlexVR6
Beiträge: 539
Registriert: Sa 6. Dez 2014, 14:35
Wohnort: Angelroda

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von AlexVR6 »

Hightech hat geschrieben: Mo 7. Sep 2020, 09:14 Ich werde heute Abend mal versuchen einen Twitchkanal aufzumachen, wer interessiert ist kann sich ja mal melden.
Arm heb...
duese
Beiträge: 6059
Registriert: So 11. Aug 2013, 17:56

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von duese »

Hightech hat geschrieben: Mo 7. Sep 2020, 08:30 Oder kennt jemand einen Dienst bei dem mehrere Zuschauer einer Präsentation zugucken können.?
Skype. Darüber haben wir unsere coronabedingt abstandsgebotenen Feuerwehrunterrichte gemacht. Klappt
Benutzeravatar
video6
Beiträge: 6794
Registriert: Mi 23. Sep 2015, 09:18
Wohnort: Laage bei Rostock

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von video6 »

Später mal ich bin grad nicht in der Bastelphase.
Im Kopf zwar immer aber zu viel anderer Kram im wahren Leben.
Stick und Linuxrechner sind zwar da aber keine gute Antenne.
Mit SDR Radio auf Android kann man auch sehr viel machen zumindest lauschen geht super.
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

sukram hat geschrieben: Mo 7. Sep 2020, 09:14
Bei den Wetterstationen muss man aufpassen, die ändern ihre ID jedesmal beim Batteriewechsel - in meiner Konfiguration muss ich nach jedem Wechsel in FHEM erst mal suchen...
Ich muss in dem Fall nur in Grafana den neuen Eintrag in der Datenbank auswählen, der Sensor mit dem neuen Kanal wird automatisch in die Datenbank geschrieben.
Ich muss nur einmal den Sensortyp anlegen in der Magie.
Benutzeravatar
RMK
Beiträge: 5360
Registriert: Di 20. Jan 2015, 14:59
Wohnort: östlich von Stuttgart

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von RMK »

wäre auch stark interessiert, bin aber heut Abend
auf der Autobahn... :-/
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

Na, das wird nicht das letzte Mal sein.
Wenn Arndt seinen Stick hat machen wir bestimmt noch weitere Sessions.
andreas6
Beiträge: 4149
Registriert: So 11. Aug 2013, 15:09

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von andreas6 »

Hier ist was zum Spielen unter Windows.

MfG. andreas
berferd
Beiträge: 1327
Registriert: Mi 3. Apr 2019, 23:45

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von berferd »

Ich finde es (wie schon vor Vorrednern bemerkt) sehr schade, dass es hierzu im Thread keine genaueren Infos gibt.
Ich verstehe, dass nicht jeder Zeit und Lust hat, die Infos in die Tastatur zu klackern, denn das kostet natürlich Zeit und Hirnschmalz, natürlich ist es bequemer da einfach im Livestream mal eine Stunde drüber zu palavern. Allerdings verlagert das den Zeitaufwand nur auf die Empfänger (ein Vielfaches also vom Zeitaufwand des Senders, 1-zu-n-Verhältnis bei n Lesern bzw Zuhörern!), und das finde ich ärgerlich.
Es ist sehr viel langsamer vom Empfänger aufzunehmen als ein geschriebener Text, den man stellenweise auch überfliegen kann, hier also eine Vervielfachung des zeitlichen Aufwands auf Empfängerseite.
Außerdem ist es so nachher nicht mehr durch Suche zu finden (das gleiche Problem tritt bei der Unsitte der minutenlangen Whatsapp-Sprachnachrichten auf).
Über die Benennung der Nodes mit so phantasievollen (aber verschleiernden) Namen wie "Magie" und "Weltherrschaft" schweige ich mich mal aus.

Ich hoffe, dass das nicht einreißt in die Richtung hier im Forum. Eins der Dinge, die ich am Finger-Forum so schätze, ist dass die Leute sich kurz und knackig ausdrücken, ggf. die wesentlichen Hinweise liefern für eigene Recherchen. Wenn wir in Zukunft alle unsere Projekte nur noch "anteasern" und dann auf Nachfrage einen "Handwerker pullen" (aka "puh, das wird teuer"... hier: "puh.. das wird kompliziert.. ich setze mal eine 12-Stündige-Meeting-Session auf.. aaaalso, das ist so.. schon die alten Römer..."), das fände ich so frustrierend wie schade. Es gibt genug Laberei im Web. Warum nicht kurz und knackig dokumentieren? Etwas sourcecode und und ein paar Links zu Doku Dritter sollten ausreichen. Wir befinden uns ja in einem Fachforum.
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

berferd hat geschrieben: Mo 7. Sep 2020, 15:41Warum nicht kurz und knackig dokumentieren? Etwas sourcecode und und ein paar Links zu Doku Dritter sollten ausreichen. Wir befinden uns ja in einem Fachforum.
Wenn es denn so einfach wäre.

Gut, für die Fachleute:
Vorraussetzungen:

Code: Alles auswählen


Raspi 
	+ Debian Buster
	+ Grafana
	+ Datenbank Influxdb
	+ Nodered 
	+ python3
	+ mosquitto
	+ mosquitto-client
	+ paho-mqtt
	+ rtl_433
	+ rtl2mqtt
USB-DVB-T Stick mit RTL Chipsatz.

Software die auf den Raspi soll:

Code: Alles auswählen


#Grafana
wget https://dl.grafana.com/oss/release/grafana_5.4.0_armhf.deb
sudo dpkg -i grafana_5.4.0_armhf.deb
sudo apt-get upgrade
sudo apt --fix-broken install
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server
sudo /bin/systemctl start grafana-server
#Login in port 3000 mit admin/admin, neues Passwort erzeugen.

# InfluxDB
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
lsb_release -a
sudo apt-get install influxdb
sudo nano -c /etc/influxdb/influxdb.conf
#Parameter der Inluxdb einstellen

#RTL-SDR
sudo apt-get install libtool libusb-1.0-0-dev librtlsdr-dev rtl-sdr build-essenti$
https://github.com/merbanan/rtl_433.git
cd rtl_433/
mkdir build
cd build
cmake ..
make
sudo make install

#MQTT
sudo apt install mosquitto
sudo apt install mosquitto_client


#RTL_MQTT
git clone https://github.com/mverleun/RTL433-to-mqtt.git
pip3 install paho-mqtt
sudo pip3 install paho-mqtt
#Keine Installation nötig, nur die .config in /RTL2MQTT/src/ anpassen und die rtl2mqtt.py anpassen.


Nodered-Magie im Funktionsknoten "Magie"
Die sogt dafür das dass JSON-Objekt, welches über den MQTT-Eingangsknoten AussenSensor1 reinkommt, so interpretiert wird, das einmal angelegte Sensoren automatisch in der Influx-Datenbank im Knoten Influxdb-Knoten-Weltherrschaft mitgeschrieben werden, unabhängig von Kanal und ID.

Bsp:
if (msg.payload.model==="Hideki-TS04"){

Ein JSON Objekt sieht so aus:

Code: Alles auswählen

{"time" : "2020-09-07 16:17:48", "model" : "Hideki-TS04", "id" : 7, "channel" : 3, "battery_ok" : 1, "temperature_C" : 21.600, "humidity" : 55, "mic" : "CRC"}
Daraus ziehe ich mit msg.payload.modell das Modell und wenn ich das Modell angelegt habe, dann weise ich den Feldern temperature_C ein Feld Temperatur zu und weise einen Wert zu.

Der Sensor

Code: Alles auswählen

{"time" : "2020-09-07 16:20:49", "model" : "Hideki-Rain", "id" : 0, "channel" : 4, "battery_ok" : 1, "rain_mm" : 315.700, "mic" : "CRC"}
Hat zum Beispiel das Feld rain_mm aber nicht das Feld temperature_C, also würde der Funktionsknoten das Objekt verwefen.

Das muss man machen, sonst verwirft der Funktionsknoten "Magie" das Objekt, wenn da unbekannte Felder enhalten sind. Das parst der schlicht nicht.

Code: Alles auswählen

if (msg.payload.model==="Hideki-TS04"){
msg.payload=[{
    measurement:msg.payload.model+"_"+msg.payload.channel+"_"+msg.payload.id,
    fields:{
        Temperatur:msg.payload.temperature_C,
        Humidity:msg.payload.humidity,
            },
    timestamp: new Date()
}]
return msg;}

if (msg.payload.model==="Hideki-Wind"){
msg.payload=[{
    measurement:msg.payload.model+"_"+msg.payload.channel+"_"+msg.payload.id,
    fields:{
        Temperatur:msg.payload.temperature_C,
        Wind_avg:msg.payload.wind_avg_mi_h,
        Wind_Max:msg.payload.wind_max_mi_h,
            },
    timestamp: new Date()
}]
return msg;}

if (msg.payload.model==="Prologue-TH"){
msg.payload=[{
    measurement:msg.payload.model+"_"+msg.payload.channel+"_"+msg.payload.id,
    fields:{
        Temperatur:msg.payload.temperature_C,
        Humidity:msg.payload.humidity,
            },
    timestamp: new Date()
}]
return msg;}

if (msg.payload.model==="Springfield-Soil"){
msg.payload=[{
    measurement:msg.payload.model+"_"+msg.payload.channel+"_"+msg.payload.id,
    fields:{
        Temperatur:msg.payload.temperature_C,
            },
    timestamp: new Date()
}]
return msg;}

if (msg.payload.model==="Hideki-Rain"){
msg.payload=[{
    measurement:msg.payload.model+"_"+msg.payload.channel+"_"+msg.payload.id,
    fields:{
        Regen:msg.payload.rain_mm,
            },
    timestamp: new Date()
}]
return msg;}

if (msg.payload.model==="GT-WT02"){
msg.payload=[{
    measurement:msg.payload.model+"_"+msg.payload.channel+"_"+msg.payload.id,
    fields:{
        Temparatur:msg.payload.temperature_C,
        Humidity:msg.payload.humidity,
            },
    timestamp: new Date()
}]
return msg;}

Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

berferd hat geschrieben: Mo 7. Sep 2020, 15:41 Über die Benennung der Nodes mit so phantasievollen (aber verschleiernden) Namen wie "Magie" und "Weltherrschaft" schweige ich mich mal aus.
Ich hätte den auch "Funktionsknoten MQTT-JSON-Parser-Influxdb" nennen können, hilft das jemandem weiter?
Es ist eine Blackbox, es ist die Magie da drinnen. Nicht was draußen drauf steht.

Zum Thema, mach mal ne Doku, dich ich mal schnell querlesen kann und alle Infos direkt umsetzen kann.
Klar. Mach ich. Es ändert sich heutzutage alles so schnell, da muss ich die Doku ständig anpassen und schauen ist es debian- Stretch, Buster ? Die Liste ist endlos.

Die Superspezis:
Google:

rtl-433 raspi
rtl-mqtt raspi
Grafana influx nodered mqtt raspi
github, da ist alles sehr schön Beschrieben ein den README.ME

Für jene, die das schon lange mal ausprobieren wollten, den Scheiß aber nicht auf die Reihe kriegen weil es an allen Ecken nicht vorwärts,
geht mache ich einen Livestream oder eine Skype Session um die über die Stolpersteine zu heben!
berferd
Beiträge: 1327
Registriert: Mi 3. Apr 2019, 23:45

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von berferd »

Danke!

Was mir konkret z.B. noch nicht klar ist:
Woher kommt die "Magie"? Ist das nicht auch ein Script oder eine Config irgendwo? Oder ist es KI, d.h. tatsächlich unbekannt was und wie es genau tut? Oder "Magie" weil es schon von den Packages (wie von Dir beschrieben) mitgeliefert wird?
Was ist dieses Script, das Du im ersten Posting mit "Das wird von einem Script aufgefangen" erwähnt hast? Ist das von Dir? Oder Teil der Magie? Wie sieht dieses Script aus?
Wie ist festgelegt, wie die einzelnen Teile des Systems interagieren? Das Node-Red-Diagramm kann es nicht sein, denn da steht quasi nur "Datenquelle - Datenverarbeitung - Datensenke", was ja ohnehin klar ist.

Was mir halt fehlte ist z.B. einfach ein architektureller Überblick a la "kerneltreiber liest vom hw-device, commandline tool gibt das als text aus, das piped man auf der shell in ein Datenbank-Input-Script, im Browser ruft Javascript alle paar Sekunden die Datenbank ab und zeigt das grafisch an" o.ä.. basierend darauf wäre dann auch das Ganze selber zu verstehen und aufzusetzen weit einfacher.
Stefan
Beiträge: 380
Registriert: So 11. Aug 2013, 15:14
Wohnort: Köln

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Stefan »

Danke Hightech für die detallierten Infos.

Nun verstehe ich/wir schon viel besser was du gemacht hast und können bei Bedarf in den jeweiligen Dokus nachschlagen ;).

Selbstverständlich würde ich mich auch über ein Vorstellung deines/eures Projektes in Form eines Videos oder Livestreams sehr freuen!

PS: Verdammt, jetzt überlege ich mir wieder ein RTL-Stick zu bestellen. Ggf. ein orijinal RTL SDR V3? Dabei habe ich damals mein mit LNA ausgebautets SDR an Axel? auf dem Treffen verkauft, weil es bei mir nur herum gelegen hat :lol:. @Axel, hast du den ggf. noch? :)
berferd
Beiträge: 1327
Registriert: Mi 3. Apr 2019, 23:45

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von berferd »

Hier übrigens ne etwas einfachere Lösung (hat hier 5 Minuten gedauert) für die ersten Schritte, läuft auch auf normalen Linux-PCs:
https://blog.unixweb.de/433-mhz-aussent ... -auslesen/

Packages installieren, rtl_433 bauen wie beschrieben, RTL-SDR-Stick anstecken, commandline-Tool starten mit

Code: Alles auswählen

rtl_433 -G 4
Schon werden die Wetterstationen (und diverse Reifen-Sensoren) angezeigt.

Wer mehr Bequemlichkeit und Grafik will, kann das Ganze dann noch an den mosquitto_pub prozess pipen auf der commandline, dann folgt der ganze Mechanismus wie beschrieben mit magischen Nodes, kleinen Elfen, Deamonen usw usf.. :lol:
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

berferd hat geschrieben: Mo 7. Sep 2020, 17:08 Danke!
Was mir konkret z.B. noch nicht klar ist
Der rtl_433 "Treiber" kümmert sich um den DVB-T Stick und stellt decodierte 433Mhz Daten von den Geräten, die er kennt, zur Verfügung:

Code: Alles auswählen

pi@raspi200:~/systemdienste $ rtl_433
rtl_433 version 20.02-137-g1c0ac48 branch master at 202008302143 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/home/pi/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Registered 135 out of 164 device decoding protocols [ 1-4 8 11-12 15-17 19-21 23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 151-161 163-164 ]
Detached kernel driver
Found Rafael Micro R820T tuner
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Sample rate set to 250000 S/s.
Tuner gain set to Auto.
Tuned to 433.920MHz.
Allocating 15 zero-copy buffers
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-09-07 17:31:15
model     : GT-WT02      ID Code   : 20
Channel   : 2            Battery   : 1             Temperature: 21.7 C       Humidity  : 42 %          Button    : 0             Integrity : CHECKSUM
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-09-07 17:31:15
model     : Springfield-Soil                       SID       : 20
Channel   : 2            Battery   : 1             Transmit  : AUTO          Temperature: 21.7 C       Moisture  : 5             Button    : 0             Integrity : CHECKSUM
Der Befehl
rtl_433 -F json
bringt den Treiber dazu, json Objekte auszuwerfen

Code: Alles auswählen

{"time" : "2020-09-07 17:34:15", "model" : "Prologue-TH", "subtype" : 5, "id" : 187, "channel" : 1, "battery_ok" : 1, "temperature_C" : 19.600, "humidity" : 26, "button" : 0}
{"time" : "2020-09-07 17:34:17", "model" : "Hideki-TS04", "id" : 4, "channel" : 1, "battery_ok" : 1, "temperature_C" : 21.100, "humidity" : 54, "mic" : "CRC"}
{"time" : "2020-09-07 17:34:17", "model" : "Hideki-TS04", "id" : 4, "channel" : 1, "battery_ok" : 1, "temperature_C" : 21.100, "humidity" : 54, "mic" : "CRC"}

Dann gibt es eine Software, die die JSON -Objekte per MQTT an den MQTT-Broker schickt,
das ist das rtl2mqtt.py script.
Das wird in der config.py angepasst, das es den MQTT-Boker kennt, entweder den localhost oder hat der Raspi an dem der DVB-T Stick hängt.

config.py

Code: Alles auswählen

# Config section
# Uncomment these lines if your MQTT server requires authentication
#MQTT_USER="mqtt-user"
#MQTT_PASS="mqtt-password"
MQTT_HOST="192.168.1.200"
MQTT_PORT=1883
MQTT_TOPIC="sensors/rtl_433"
MQTT_QOS=0
# End config section
In der rtl2mqtt.py wird beim erkennen des Stings time dann das JSON-Objekt welches time enthält an den MQTT-Brocker gesendet.
Von dem MQTT-Broker holt sich dann Nodered alles was das topic sensors/rtl-433/ hat, das Topic gibt man in der config.py an.

Warum der Aufwand mit dem MQTT-Broker?
Das ist hilfreich wenn der Raspi mit dem DVB-T Stick unter dem Dach hängt und der Server mit der Datenbank im Keller oder im Internet steht.
Dann sendet der Raspi mittels MQTT die Daten an den MQTT Broker irgenwo und kann dann von überall und von jedem Ort gelesen werden.

Also es kann also so sein, das der Raspi mit dem Stick auf dem Dachboden steht und die Daten an den Broker im Internet sendet, weil man da einen Server1 hat. Dann kann man mit Nodered auf dem Server2 die Daten von Server1 "abonieren" und in die Datenbank auf dem ServerKeller speichern. Die Darstellung der Daten kann dann auch wieder der Server1 im Internet manchen.
Diese verknotung macht man dann mit Nodered. Der Server auf welchem Nodered läuft hat aber nicht unbedingt was mit dem ServerKeller zu tun auf dem die Datenbank läuft.

In meinem Beispiel läuft alles auf dem Raspi.


rtl2mqtt.py

Code: Alles auswählen

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import subprocess
import sys
import time
import paho.mqtt.client as mqtt
import os
import json

from config import *
subtopic=" "
rtl_433_cmd = "/usr/local/bin/rtl_433  -F json" # linux

# Define MQTT event callbacks
def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))

def on_disconnect(client, userdata, rc):
    if rc != 0:
        print("Unexpected disconnection.")

def on_message(client, obj, msg):
    print(msg.topic + " " + str(msg.qos) + " " + str(msg.payload))

def on_publish(client, obj, mid):
    print("mid: " + str(mid))

def on_subscribe(client, obj, mid, granted_qos):
    print("Subscribed: " + str(mid) + " " + str(granted_qos))

def on_log(client, obj, level, string):
    print(string)

# Setup MQTT connection

mqttc = mqtt.Client()
# Assign event callbacks
#mqttc.on_message = on_message
mqttc.on_connect = on_connect
#mqttc.on_publish = on_publish
#mqttc.on_subscribe = on_subscribe
mqttc.on_disconnect = on_disconnect

# Uncomment to enable debug messages
#mqttc.on_log = on_log

# Uncomment the next line if your MQTT server requires authentication
#mqttc.username_pw_set(MQTT_USER, password=MQTT_PASS)
mqttc.connect(MQTT_HOST, MQTT_PORT, 60)

mqttc.loop_start()

# Start RTL433 listener
rtl433_proc = subprocess.Popen(rtl_433_cmd.split(),stdout=subprocess.PIPE,stderr=subprocess.STDOUT,universal_newlines=True)


while True:
    try:
        for line in iter(rtl433_proc.stdout.readline, '\n'):
            if "time" in line:
                mqttc.publish(MQTT_TOPIC, payload=line,qos=MQTT_QOS)
               except KeyboardInterrupt:
        raise
    except:
       print ("Fehler")        # report error and proceed

Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

BTW:
Twich , youtube Stream, big blue butten usw klappt nicht mein "Breitband"Internet reicht nicht!

Was geht ist evtl skype und ich kann screenshots oder codeschnipsel werfen.
Oder wenn jemand wirklich gerade seinen Aufbau liegen hat und es klemmt, machen wir ne skype-teamviever session.
xanakind
Beiträge: 12538
Registriert: So 11. Aug 2013, 21:55

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von xanakind »

--Bitte--
benutze doch endlich mal die Edit Funktion.
Diese ständigen Doppelpοst´s hintereinander sind unnötig und stören den lesefluss :(
Zuletzt geändert von xanakind am Sa 23. Okt 2021, 00:51, insgesamt 1-mal geändert.
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

xanakind hat geschrieben: Mo 7. Sep 2020, 18:00 --Bitte--
benutze doch endlich mal die Edit Funktion.
Diese ständigen Doppelpost hintereinander sind unnötig und stören den lesefluss :(
Geht das allen so? Mir ist noch nie was aufgefallen. Ich hab den neuesten Beitrag immer ganz oben, und sehe dann was weiter unten was ich ggF verpasst habe und rolle dann nur soweit runter wie ich es noch nicht gelesen habe.
Und wenn jemand 25 Posts hintereinander abgesetzt hat, und?

Ich bitte um Aufklärung.
Benutzeravatar
sukram
Beiträge: 3063
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von sukram »

rtl_433 kann übrigens auch direkt mqtt ansprechen, damit habe ich das an meinen Fhem Server angehängt. Ich komme heute leider nicht mehr dazu, mehr Details zu posten, muss in 4h wieder auf Arbeit :roll:
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

Das ist ja klasse!
Dann kann ich mit die rtl2mqtt.py sparen!
Der Befehl
rtl_433 -F "mqtt://192.168.1.200:1883,user=1,pass=1,events"
bläst mir das ja direkt raus. Das muss man nur einmal als systemd service anlegen und fertig.
Dann nur noch die rtl_433.conf irgendwo im /etc/ anpassen.
Benutzeravatar
Arndt
Beiträge: 2589
Registriert: Fr 28. Jun 2013, 13:42
Wohnort: einen Schritt über den Abgrund hinaus

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Arndt »

Manmanman, da geht man mal arbeiten und dann geht hier die Welt unter :?
Sorry Boris, dass ich Dich heute habe "sitzen" lassen...
Sobald der Stick bei mir läuft, kann ich auch mal YT-Video mit OBS machen, quasi ein walktrhough mit Erläuterungen.

Dann fällt uns auch bestimmt noch was ein um neue Sensoren automatisch mit an Influx zu schicken.


Aber grundsätzlich bin ich bei Hightech, es ist sogar absolut tötlich etwas halbherzig zu dokumentieren! Da ist dann halt ein bischen Geduld nicht zuviel verlangt!
Hangele ich mich an einem Tutorial entlang und bleibe irgendwo stecken, bin ich gefrustet und die Webseite mit diesem Tutorial ist für mich gestorben.
Wenn man einmal versucht sich das schnodderige JSON-Zeug auf den originalen "Doku"-Seiten zu begreifen, ist hinterher reif für die Klapse.....
So soll der Faden hier schonmal nicht enden!
bastelbjoern
Beiträge: 605
Registriert: So 12. Okt 2014, 22:46

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von bastelbjoern »

Hightech hat geschrieben: Mo 7. Sep 2020, 08:30
inse hat geschrieben: Mo 7. Sep 2020, 07:48 Woher kam denn die Magie?
Wer hat die Protokolle entschlüsselt?
Und WIE?
Die Magie Steckt zu einem Teil in den RTL Treibern und in den Skripten. Für interessierte kann ich gerne mal eine Teamviewer Session machen.

Oder kennt jemand einen Dienst bei dem mehrere Zuschauer einer Präsentation zugucken können.?
zoom.us
wenn nicht die Bezahlvariante genommen wird dann nur 40 min. von der offenen Variante fällt mir der Name gerade nicht ein aber da gibt es hier im Forum 2 Server vom.
Benutzeravatar
Sunset
Beiträge: 1498
Registriert: Fr 6. Dez 2013, 15:19

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Sunset »

Hightech hat geschrieben: Mo 7. Sep 2020, 08:30 Oder kennt jemand einen Dienst bei dem mehrere Zuschauer einer Präsentation zugucken können.?
Edudip, ist teuer, aber es gibt eine kostenlose Testphase.
Benutzeravatar
Fritzler
Beiträge: 12579
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Fritzler »

Man könnt ja mal Nextcloud Talk ausprobieren?
Dann kann ich da mal meine Serverinstanz austesten.
Nur hab ich selber weder cam noch Headset.

Wobei, irgendwo im keller liegt vllt noch die sackalte Lego Mindstorms cam mit integriertem Mic :mrgreen:
Hightech, haste Dönerstag Abend (ab 20 Uhr?) mal Zeit zum Testen?
Mehr als nen Browser brauchste eigentlich ned.
Heute hab ich ne Lötfahne :lol:

Klingt auch recht vielversprechend:
Neu in Talk 9
- Sehen Sie sich die neue Kachel- und Sprecheransicht an
- Sie können jetzt Dateien direkt von Ihrem Gerät in den Chat hochladen und per Drag'n'Drop übertragen.
- Geteilte Dateien werden jetzt direkt in der Chat-Ansicht mit den Betrachteranwendungen geöffnet
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

Fritzler hat geschrieben: Di 8. Sep 2020, 08:46 Man könnt ja mal Nextcloud Talk ausprobieren?
Ja, das teste ich mal.
Benutzeravatar
Hightech
Beiträge: 11306
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech »

Es ist ja geradezu Öde:
mit dem Befehl

Code: Alles auswählen

rtl_433 -F influx://192.168.1.200:8086/write?db=temperatur
wirft das Programm rtl_433 die Sensordaten DIREKT in die influxdb.

Influxdb

Code: Alles auswählen

> SELECT *FROM  "Hideki-TS04"
name: Hideki-TS04
time                Humidity Temperatur battery_ok channel humidity id mic temperature_C
----                -------- ---------- ---------- ------- -------- -- --- -------------
1599577696017375848                     1          1       65       4  CRC 18.299999
1599577697590035361                     1          1       65       4  CRC 18.299999
1599577709647898278                     1          3       80       7  CRC 19
1599577711220801175                     1          3       80       7  CRC 19
In Grafana kann man dann nach Kanal und id filtern, keine Node-Red Magie erforderlich.

Code: Alles auswählen

SELECT mean("temperature_C") FROM "Hideki-TS04" WHERE ("channel" = '1' AND "id" = '4') AND $timeFilter GROUP BY time($__interval) fill(none)
Außer man möchte die Daten weiter verwursten und noch was steuern damit, aber da kann man ja die Daten aus Influx wieder rausziehen.
Wobei es schon schön ist, in Grafana die Daten eines speziellen Sensor inclusive der ID und Channel auswählen zu können, also z.B Hideki-TS04_3_1


Weiß jemand wie ich in Grafana den Regensesor ordentlich darstelle?
Der Regensensor zählt immer weiter, ich möchte aber die letzte Stunde und Tage und Wochen.

Z.b kommt, wenn es trocken ist immer der Wert 317mm, wenn es dann regnet wird der immer nur erhöht, jetzt möchte ich die relative Änderung der letzten Stunde anzeigen, wie mache ich sowas in der Datenbankabfrage?
Benutzeravatar
Fritzler
Beiträge: 12579
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Fritzler »

Das mit dem Nextcloud Talk lief ja schonmal ganz gut, wenn mein Laptop nicht auf einmal Lust gehabt hätte kein Audio mehr zu haben.
Bei Hightech ist das DSL etwas schwachbrüstig, wodurch Bildschirmfreigaben auf das jeweilige Fenster (SSH/CodeEditor) eingegrenzt werden müssen.
Die Frage ist wieviele Leute er dann bespaßen kann, weil Nextcloud Talk eben PeerToPeer ist.
Also bei insgesamt 5 Leuten brauch er 4 Upstreams.

Was noch zu testen wäre sind öffentliche Links zu einem Talk, damit nicht jeder auch einen eigenen Account braucht.
Sowie ein Projekt anlegen und öffentlich schalten, damit Sourcen/Configs abgesaugt werden können.
Aber erstmal den Sound aufm Laptop reparieren.
Antworten