Forum: HF, Funk und Felder 433 MHz Funktechnik Sensorik


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thomas_Gast (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

da ich bisher keine passenden Informationen gefunden habe
hoffe ich daß jemand hier unkompliziert mit einer Idee
helfen kann.

Bei Ebay findet man einige Schalter-Module im 433Mhz Bereich
mit jeweils einem Sender (mit z. B. 4 Tastern) und einem
Empfänger, oder auch Module mit Signalübertragung, jedoch
alles nach meinem Verständnis immer in einer eins zu eins
Verbindung, das heißt, ein Sender und ein Empfänger.

Gibt es einen einfachen, störungssicheren Weg um z. B.
mit einem Empfänger mehrere Sender auszuwerten, z. B.
wenn die Temperatur an unterschiedlichen Orten gemessen
werden soll oder Windgeschwindigkeiten oder einfache
Zustände (an/aus).
Natürlich alles im Sende- und Empfangsbereich, nur
halt nicht mit Leitungen verlegt.

Bluetooth möchte ich nicht verwenden da ich glaube, daß
die Verbindung oder der Verbindungsaufbau mit den einzelnen
Modulen das eher komplizierter macht (vor allem für mich).

Wifi wäre zwar noch eine interessante Möglickeit,
aber für mich immer noch recht schwierig.

Reifendrucksensoren oder Rauchmelder mit Funk funktionieren
doch nach einem ähnlichen Prinzip?!

Doch trotz ausgiebiger Suche im Netz oder Ebay habe
ich kein "Kit" oder ähnliches gefunden das ich nutzen könnte.

Vielen Dank im Voraus

von Joachim S. (oyo)


Bewertung
0 lesenswert
nicht lesenswert
Wenn ich Dich richtig verstehe, suchst Du einen 433MHz-Empfänger, der 
idealerweise ohne zusätzliche Software direkt ab Werk in der Lage ist, 
jedes x-beliebige 433MHz-Funkprotokoll zu empfangen und dekodieren?

Sowas wirst Du wohl eher nicht finden. :-(

Was Du aber z.B. machen kannst:
Einen SDR(Software Defined Radio)-geeigneten DVB-T-Stick mit 
RT2832U-Chipsatz kaufen und an einen Computer anschliessen, und dann auf 
dem Computer die Software rtl_433 laufen lassen, die zumindest in der 
Lage ist, eine ganze Reihe von 433MHz-Protokollen zu dekodieren:
https://github.com/merbanan/rtl_433

von Thomas_Gast (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Joachim,

und danke für Deine Antwort,

es müsste nicht ein x-beliebiger Sender zu einem
universalen Empfänger sein,
es würde ja genügen, wenn Empfänger und Sender
aufeinander abgestimmt sind, aber die Anzahl
der Sender jedenfalls mehr als einer ist, wobei
man in der Anzahl schon etwas flexiebel sein könnte.

Das mit dem RT2832U ist ein interessanter Ansatz und
bin schon dabei mich da zu informieren, schöner wäre
natürlich eine einfachere Hardwarelösung.

von Joachim S. (oyo)


Bewertung
0 lesenswert
nicht lesenswert
Eine reine Hardware-Lösung, um mit einem einzigen Empfänger die Daten 
mehrerer 433MHz-Sender zu empfangen, wirst Du denke ich nur finden, 
solange sämtliche 433MHz-Sender das gleiche Funkprotokoll benutzen; dann 
findest Du möglicherweise einen Decoder-IC für genau dieses 
Funkprotokoll, der Dir dann die empfangenen Daten von sämtlichen 
433MHz-Sendern in Empfangsreichweite ausgibt, die genau dieses Protokoll 
benutzen.

Sobald jedoch mehrere 433MHz-Funkprotokolle verwendet werden (z.B. 
Aussen-Temperatur/-Luftfeuchtigkeit-Sensor von der Funk-Wetterstation 
aus dem Discounter + 433MHz-Funk-Rauchmelder + Sender um Funksteckdosen 
ein-/auszuschalten) muss wohl irgendein software-basierter 
Multi-Protokoll-Decoder zum Zuge kommen, der zufällig alle verwendeten 
433MHz-Protokolle unterstützt.

Auf normalen Computern lässt sich sowas halt mit der Software-Lösung 
rtl_433 erreichen. Wenn ich diese Software laufen lasse um zu schauen, 
was die 433MHz-Sender in meiner Nachbarschaft so senden, dann gibt die 
Software z.B. folgende Beispieldaten im JSON-Format aus:
1
{"time" : "2017-01-26 12:53:33", "model" : "HIDEKI TS04 sensor", "rc" : 9, "channel" : 1, "battery" : "OK", "temperature_C" : 15.200, "humidity" : 8}
2
{"time" : "2017-01-26 12:53:46", "model" : "Esperanza EWS", "id" : 3, "channel" : 1, "temperature_C" : -4.778, "humidity" : 6}
3
{"time" : "2017-01-26 12:53:46", "model" : "Kedsum Temperature & Humidity Sensor", "channel" : 1, "temperature_C" : 0.556, "humidity" : 54}
4
{"time" : "2017-01-26 12:53:53", "model" : "LaCrosse TX Sensor", "id" : 101, "temperature_C" : 9.300}
5
{"time" : "2017-01-26 12:54:12", "model" : "LaCrosse TX Sensor", "id" : 109, "temperature_C" : 2.200}
6
{"time" : "2017-01-26 12:54:14", "model" : "LaCrosse TX Sensor", "id" : 109, "humidity" : 22.000}
7
{"time" : "2017-01-26 12:54:15", "model" : "HIDEKI TS04 sensor", "rc" : 9, "channel" : 1, "battery" : "OK", "temperature_C" : 15.300, "humidity" : 8}
8
{"time" : "2017-01-26 12:54:21", "device" : "Akhan 100F14 remote keyless entry", "id" : 266565, "data" : "0x1 (Lock)"}

von Thomas_Gast (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Joachim,

was Du im ersten Absatz geschrieben hast
wäre genau das was ich suche, einheitliche Sender
die sozusagen als Schnittstelle dienen, einen
Empfänger, der das alles aufnimmt, wie man das
von den China-Modulen kennt, nur habe ich nirgends
etwas gefunden in der Form
"ein Empfängermodul mit x möglichen Sendermodule"

Ich werde das mit dem rtl_433 weiter verfolgen und
auch das mit dem Decoder-IC,
Du hast mich da auf den richtigen Weg gebracht,
vielen Dank

von B.A. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas_Gast schrieb:
> ich bisher keine passenden Informationen gefunden habe

Was willst du eigentlich machen ?
Wie groß ist die Reichweite die ein Sender überbrücken muss ?

Mit dem nRF24L01+ kommt man im freien bis zu 100m weit.  Haus vielleicht 
durch zwei Wände.

von mhi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist ja, das du (oder der Hersteller)jedem Sender eine ID 
geben musst, damit der Empfänger weiß von wem er die Daten empfangen 
hat.

von Gerhard O. (gerhard_)


Bewertung
0 lesenswert
nicht lesenswert
In einem Älteren Circuit Cellar Artikel beschrieb der Author ein 433 MHz 
Sensor System für die Erfassung des Status von bis zu 20 Mausefallen. 
Der Source Code ist erhältlich. Ich portierte damals das Design von 
HC908 auf PIC. Es funktionierte sehr zuverläßig. Die spezielle Art des 
Protokolls war ausgelegt um Kollisionen zwischen simultanen Sendungen 
einzelner Sender zu mitigieren. Ich verwendete damals die 418MHz 
billigen Tx/rx Module von Linx.

Die drahtlosen Daten müssen mittels Software dekodiert werden. Der 
Gebrauch des UARTS ist nicht möglich. Die Daten werden mit 
unterschiedlichen Bit Breiten kodiert. Die einfache Natur der Empfänger 
macht es notwendig auch einen Preamble zur Einspielung(Training) des Bit 
Slice Detektors zu senden.
Ohne Signale bekommst Du am RX Datenausgang nur eine Random Daten 
Sequenz die die Dekodierungssoftware erkennen muß. Deshalb ist hier das 
Protokoll sehr kritisch und anwendungspezifisch. Wie der Artikel 
beschreibt löst Alberto alle Probleme und kann schlecht hin als Referenz 
Design für einache HF Datenprotokolle angesehen werden.

Man könnte auch noch Error Correction Bits wie von Hamming einfügen. Das 
ist ziemlich einfach.

Ich baute mir auf dieser Grundlage ein einfaches Sensor System (64-bit) 
mit Analog und Digitalen Eingängen mit einem 12F684 PIC. Die Batterien 
der Sender halten bei einstündlicher Status Sendung 1-2 Jahre.

Beitrag "Re: Projekt Maus"

http://faculty.petra.ac.id/resmana/private/circuit-cellar/Wireless%20Monitoring%20System.pdf

http://web.tiscali.it/riccibitti/

Vielleicht hilft Dir das weiter.

: Bearbeitet durch User
von Andreas (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi Thomas,

du könntest ZigBee Xbee Module verwenden.
Die gibt es mit 868MHz und 2,4GHz. Das tolle an den Modulen ist, dass 
man sich mit dem Funkprotokoll und dem Chip darauf nicht 
auseinandersetzen muss. Diese Module besitzen eine UART Schnittstelle. 
D. h. einfach Daten per UART in das Modul schieben und es kommmt bei 
allen anderen Modulen in Reichweite per UART wieder raus.

Das kann man mit Hilfe eines Mikrocontrollers leicht auswerten und dann 
entsprechend etwas schalten, regeln oder anzeigen.


Gruß
Andreas

von Thomas_Gast (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Hallo und danke an euch alle,

ich habe jetzt gute unterschiedliche Ansätze
die mir sehr weiterhelfen, ich werde mir alle
genauer ansehen, da werde ich wohl einige Zeit dransitzen
da ich nicht so routiniert bin wie ihr

ihr seid klasse :)

von Chef de boeuf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
443_rtl liefert oft false positives, imo ist es totaler Müll, der 
Empfang mit SDR ist auch schlechter als mit dem passenden Modul, stabil 
läuft das auch nicht sonderlich, eher Glückssache und die SDR-Sticks 
fressen recht viel Strom.

Am einfachsten tust du dir wenn du die billig-ASK-Module auf ebay kaufts
und mit VirtualWire + Arduino deine Daten überträgst. Das ist robust und 
basiert rein auf Software du musst dich nicht mit den Interna 
intelligenterer Module auseinandersetzen, das ist am Anfang ziemlich 
aufwendig auch wenn es fertige Libs dafür gibt, man muss trotzdem viel 
Hintergrundwissen über den Chip/Modul haben und jeder hat so seine 
Macken, der ein ein leicht anderers SPI-Timing, der andere gilt als 
kompatibel mit Modell x ist er aber nicht 100%,...

XBee ist viel zu teuer und Overkill, die Module zu klobig.

Der Hinweis dass Serial nicht via Air geht ist auch falsch, es gibt 
dutzende Lösungen um gängige Funkmodule wie z.B. den nRF24L01(+) als 
transparentes Serialdevice anzusprechen. Auf ebay gibts entspr. Adapter 
für 1.30€, ich habe selber welche im Einsatz.

von Thomas_Gast (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo

und danke für die rege Teilnahme,
anscheinend scheint wohl der
nRF24L01(+)
die beste Lösung zu sein
so jedenfalls auch mein eigener
bisheriger Eindruck

:)

von Chef de boeuf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die nRF24L01* arbeiten aber auf 2.xGHz, nicht im 433MHz-Bereich.

Ich weiss jetzt nicht was du genau vor hast:
Eigene Sender für Temp, Wind,... bauen oder vorhandene, kommerzielle 
'anzapfen'? Letzteres geht mit einem Modul wie dem nRF24L01(+) nicht, 
der hat eine feste Protokollengine oder es passt schon mit der Frequenz 
nicht weil er nur im falschen Band arbeitet (433 vs 2.4GHz).

Wenn du eigene Sender bauen willst für jeweils, Temp, Wind,... geht das 
auch mit den 433MHz ASK-Modulen die es als reine Sender oder Empfänger 
gibt.
Du hast dann halt 5 Sender davon und einen Empfänger, du willst ja eh 
nur in eine Richtung kommunizioeren.
Alle senden auf der selben Frequenz, jeder sendet eine Kennung mit und 
den Wert (Temp, Fechte, whatever). So kannst du sie auseinanderhalten, 
wenn mal zwei zur selben Zeit senden gibts mal ne Kollision (eher 
unwahrscheinlich und kann man durch verschiedene Sendeintervalle 
praktisch ausmerzen), was auch aber auch nicht schlimm ist.

Als Transportprotokoll nimmst du VirtualWire, das einfach zu benutzen 
und musst dich nicht mit der Konfiguration der nRFs, SPI,... oder 
entspr. Libs rumschlagen, die teilweise gar nicht alle Features des nRF 
implementiert haben.

Die RS/TX-Teile brauchen nur einen Pin an einem MC, der nRF  SPI: SS, 
SCK, MISO, MOSI, + evt. IRQ (geht auch ohne ist dann langsamer, für dein 
Szenarion irrelevant). In den TX kann man auch iirc mit bis zu 12V 
reinballern, das erhöht gleich mal die Reichweite enorm, wenn die 
Verhältniss es erfordern, da kann kein nRF mithalten auch nicht die 
gepimpten Varianten die es auf ebay extra PA und Schraubantenne gibt.
433 geht auch besser durch Wände, 2.4GHz-Band ist durch WLAN je nach 
Wohngebiet oder wo du das einsetzt verseucht, da musst du erst mal 
mühsam freie Kanäle suche wo dein nRF durchkommt. Ich habe das Problem 
hier dass manche nRFs abends nicht mehr erreichbar sind weil alles WLAN 
in der Umgebung nutzt. Habe schon mehrmals die Frequenzen gewechselt, es 
ist einfach ziemlich dicht zu gewissen Zeit. Auf 433 ist zwar auch viel 
los aber nur Funkthermos, Garagentoröffner.... die stören nicht

von Thomas_Gast (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo

wieder ein interessanter Gesichtspunkt

Was ich gerne möchte ist nicht sehr spektakulär
aber wenn der Ansatz gut ist wäre es ja ausbaufähig.
Zunächst möchte ich nur Temperaturen im Außenbereich und
Gewächshaus anzeigen und da hier ein Mäuseproblem
ist, will ich auch nicht jedes mal die Fallen kontrollieren.

Da alles offen zugänglich ist würde ich auch gern das mit
einem Bewegungssensor kombinieren.

Das wäre praktisch da das alles dann in eine einzelne
Anzeige zusammenlaufen würde.

Allerdings hat Joachim gezeigt, daß das von jedem
auslesbar ist und somit vielleicht auch manipulierbar?

Klar, daß das für so eine Anwendung nicht relevant ist,
aber mir geht es auch um die Ausbaufähigkeit.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas_Gast schrieb:
> Allerdings hat Joachim gezeigt, daß das von jedem
> auslesbar ist und somit vielleicht auch manipulierbar?

Das kommt auf deine gewählte Kodierung und Verschlüsselung an.

von Thomas_Gast (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Irgendwie hatte ich gehofft
daß das einfacher wäre,
(Baukastenprinzip, einfache existierende Projekte
die man leicht anpassen kann)
ich bin ja kein Profi :D
da werde ich wohl echt eine Zeit lang
dransitzen *g

danke an alle ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.