Wetterstationen der Nachbarn abgesaugt

Der chaotische Hauptfaden

Moderatoren: Finger, Sven, TDI, Heaterman, duese

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

Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » So 6. Sep 2020, 19:55

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: 2364
Registriert: Fr 28. Jun 2013, 13:42
Wohnort: einen Schritt über den Abgrund hinaus

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Arndt » So 6. Sep 2020, 21:37

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:

sukram
Beiträge: 804
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von sukram » Mo 7. Sep 2020, 04:20

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: 6024
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » Mo 7. Sep 2020, 07:04

Ich hab den rtl_433 installiert.
Funktioniert prima

Benutzeravatar
video6
Beiträge: 3971
Registriert: Mi 23. Sep 2015, 09:18
Wohnort: Laage bei Rostock

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von video6 » Mo 7. Sep 2020, 07:10

Gibt es dafür auch Windows Programme?
Oder muss es zwingend Linux sein?

inse
Beiträge: 485
Registriert: Mi 14. Aug 2013, 07:20
Wohnort: Mittelbayern

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von inse » Mo 7. Sep 2020, 07:48

Woher kam denn die Magie?
Wer hat die Protokolle entschlüsselt?
Und WIE?

Benutzeravatar
AlexVR6
Beiträge: 503
Registriert: Sa 6. Dez 2014, 14:35
Wohnort: Angelroda

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von AlexVR6 » Mo 7. Sep 2020, 08:10

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: 6024
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » Mo 7. Sep 2020, 08:27

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: 6024
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » 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.?

Online
Benutzeravatar
Chemnitzsurfer
Beiträge: 5455
Registriert: So 11. Aug 2013, 14:10
Wohnort: Chemnitz (OT Hutholz)
Kontaktdaten:

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Chemnitzsurfer » Mo 7. Sep 2020, 08:40

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: 147
Registriert: So 11. Aug 2013, 15:14
Wohnort: Köln

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Stefan » Mo 7. Sep 2020, 09:04

Ein paar mehr Infos wären schön, so ist der Thread fast nutzlos ;)

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

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » Mo 7. Sep 2020, 09:06

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: 6024
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » Mo 7. Sep 2020, 09:14

Ich werde heute Abend mal versuchen einen Twitchkanal aufzumachen, wer interessiert ist kann sich ja mal melden.

sukram
Beiträge: 804
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von sukram » Mo 7. Sep 2020, 09:14

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: 503
Registriert: Sa 6. Dez 2014, 14:35
Wohnort: Angelroda

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von AlexVR6 » Mo 7. Sep 2020, 09:35

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: 4347
Registriert: So 11. Aug 2013, 17:56

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von duese » Mo 7. Sep 2020, 09:39

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: 3971
Registriert: Mi 23. Sep 2015, 09:18
Wohnort: Laage bei Rostock

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von video6 » Mo 7. Sep 2020, 09:59

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: 6024
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » Mo 7. Sep 2020, 11:39

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: 2771
Registriert: Di 20. Jan 2015, 14:59
Wohnort: östlich von Stuttgart

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von RMK » Mo 7. Sep 2020, 13:32

wäre auch stark interessiert, bin aber heut Abend
auf der Autobahn... :-/

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

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » Mo 7. Sep 2020, 13:48

Na, das wird nicht das letzte Mal sein.
Wenn Arndt seinen Stick hat machen wir bestimmt noch weitere Sessions.

andreas6
Beiträge: 2706
Registriert: So 11. Aug 2013, 15:09

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von andreas6 » Mo 7. Sep 2020, 14:16

Hier ist was zum Spielen unter Windows.

MfG. andreas

berferd
Beiträge: 492
Registriert: Mi 3. Apr 2019, 23:45

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von berferd » Mo 7. Sep 2020, 15:41

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: 6024
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » Mo 7. Sep 2020, 16:23

berferd hat geschrieben:
Mo 7. Sep 2020, 15:41
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.
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: 6024
Registriert: So 11. Aug 2013, 18:37

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von Hightech » Mo 7. Sep 2020, 16:26

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: 492
Registriert: Mi 3. Apr 2019, 23:45

Re: Wetterstationen der Nachbarn abgesaugt

Beitrag von berferd » Mo 7. Sep 2020, 17:08

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.

Antworten