Hallo Leute, ich wollte mich mal in das Thema 433Mhz einarbeiten. Aktuell habe ich hier ein: HM-R433 Modul: RF FM-Empfänger FSK 433MHz -109dBm 2,5-5VDC HOPE MICROELECTRONICS https://www.ebay.de/itm/195190454635 FSK, weil ich später mal Sensoren auslesen möchte die FSK moduliert senden. Wenn ich das Teil einfach mal an einen UART am PC anschliesse, sehe ich warsch den Datenstrom den das Teil empfängt? Ist das einfach Rauschen, was ich da sehe???
Welle 🧐 S. schrieb: > Ist das einfach Rauschen, was ich da sehe??? So isses. Im Ausgang liegt ein Komparator, der ohne Signal das Rauschen digitalisiert. U.a. ist das die Herausforderung, wenn man einen Dekoder dafür programmiert. Der muss Datentelegramm und Unsinn gut voneinander trennen.
Welle 🧐 S. schrieb: > Ist das einfach Rauschen, was ich da sehe??? Klares "vielleicht ja". Könnten auch Daten von jemand anders sein, der die Frequenz und eine Modulation benutzt, die dein Empfänger so dekodiert. Gibt es bei dem Modul keinen Squelch? > https://www.ebay.de/itm/195190454635 Da hat wohl jemand gut zugeschlagen oder habe ich etwas überlesen? https://www.tme.eu/de/details/hm-r433/rf-module/hope-microelectronics/
Hallo Wolfgang, ja beim Preis hab ich gepennt. Andere Daten denke ich nicht, sitze im tief im Keller :) Ja, Squelch ... keine Ahnung wie man den Ansteuern könnte?! Das Datenblatt ist sehr dünn. https://www.rcscomponents.com/datasheets/HM-Tferfgerghe.pdf
Welle 🧐 S. schrieb: > Ja, Squelch ... keine Ahnung wie man den Ansteuern könnte?! Der hat keine Rauschsperre. Das muss dann die Software erledigen.
Mal weiter gespielt. Ich habe hier einen Sensor liegen, der sendet seine
ID, welche ich sauber mit einem SDR und RTL_433 empfangen kann.
> 7bc364 <
Der RTL_433 Decoder macht folgendes:
1 | https://github.com/merbanan/rtl_433/blob/master/src/devices/tpms_renault.c |
2 | id = b[5] << 16 | b[4] << 8 | b[3]; // little-endian |
3 | sprintf(id_str, "%06x", id); |
Wenn ich 7bc364 Binär darstelle: 01111011 11000011 01100100 Sollte ich diese Bitfolge dann an dem HM-R433 so empfangen können?
:
Bearbeitet durch User
Es haben sich schon viele Leute eingebildet dass sie einfach mit diesen Modulen senderseitig auf einen Schalter drücken können und dieses aktivierte Signal dann genau so beim Empfänger ankommt. Damit soll man dann "fernsteuern" können. Dass es über- haupt nicht einfach ist zeigt beispielhaft ein Thread wo jemand einfach ein serielles Signal per Funk übertragen will: Beitrag "433Mhz Funkmodule am ATMega8" Irgendwann sieht man dann doch ein dass es nicht ganz so einfach gehen kann. Nur damit hier nicht die Diskussion von vorne los geht ....
Die Hersteller dieser Sender kennen ja die Problematik und senden deswegen am Anfang eines Telegrammes eine sogen. Präambel, die als Einleitung dient und im Empfänger erkannt wird und die Dekodierung des folgenden Datentelegrammes einleitet. Viele der Hope Module sind daher recht einfach zu paaren, weil sie die Dekodierung der Präambel selber vornehmen (RFM01/02 z.B.) Umso komplizierter ist es dann, mit solchen Modulen die Aussendungen anderer Produkte zu empfangen, weil man dann alles 'zu Fuß' machen muss und damit dem auswertenden MC die ganze Aufgabe aufdrückt.
:
Bearbeitet durch User
Ja, verstanden. Aber wenn das Empfangssignal stark genug ist, sollte doch die Bitfolge reproduzierbar sein?
Matthias S. schrieb: > Die Hersteller dieser Sender kennen ja die Problematik und senden > deswegen am Anfang eines Telegrammes eine sogen. Präambel, die als > Einleitung dient und im Empfänger erkannt wird und die Dekodierung des > folgenden Datentelegrammes einleitet. Die Präambel hat mit der Dekodierung noch gar nichts zu tun. Zuerst wird ein Bitmuster gesendet, damit sich der Empfänger einpegeln kann. An irgendeiner Stelle in diesem Bitmuster ist der Empfänger dann so weit, dass er die Bitwerte richtig erkennt und dann folgt das Muster für die Byte-Synchronisation. Erst nach erfolgter Bytesynchronisation kann die Software die übertragenen Bytes richtig mitlesen und dekodieren.
Welle 🧐 S. schrieb: > Aber wenn das Empfangssignal stark genug ist, sollte doch die Bitfolge > reproduzierbar sein? Erstmal muss sie von dem Rauschen getrennt werden, das vor- und nachher empfangen wird. Dazu muss der Anfang des von deinem Sender gesendeten Signals erkannt werden.
Welle 🧐 S. schrieb: > Aber wenn das Empfangssignal stark genug ist, sollte doch die Bitfolge > reproduzierbar sein? Ja, aber nicht gleich vom ersten Bit an (deswegen die Präambel).
Welle 🧐 S. schrieb: > Aber wenn das Empfangssignal stark genug ist, sollte doch die Bitfolge > reproduzierbar sein? Der Empfänger muss auch noch korrekt 'einrasten', d.h., er muss das erste echte Datenbit auch als erstes finden und einordnen. Ansonsten verschiebt sich die Dekodierung um ein oder mehrere Bits und ergibt völlig verschiedene Ergebnisse. Deswegen ist die o.a. Synchronisierung so wichtig. Das ist schon eine Aufgabe, vor allem bei Empfängern ohne eigene Logik. Wenn man weiss, welcher Chip auf dem Hope Modul verbaut ist, sollte man sich das Datenblatt dieses Chips zusätzlich zur Beschreibung des Hope Moduls suchen.
:
Bearbeitet durch User
Welle 🧐 S. schrieb: > Aber wenn das Empfangssignal stark genug ist, dann verschwindet das Rauschen. Zumindest bei OOK ist es so. https://rayshobby.net/wordpress/wp-content/uploads/2012/06/rfsniff_signal_example.jpg
Matthias S. schrieb: > Wenn man weiss, welcher Chip auf dem Hope Modul verbaut ist, sollte man > sich das Datenblatt dieses Chips zusätzlich zur Beschreibung des Hope > Moduls suchen. Leider Vergossen ;-) Ich hänge aber nicht an dem Modul! Kennt ihr was passenderes? Vielleicht sogar mit Squelch via SPI oder so?!
Welle 🧐 S. schrieb: > Vielleicht sogar mit Squelch via SPI oder so?! Ja, jetzt hat dir jemand mit dem Reizwort "Rauschen" einen Floh ins Ohr gesetzt. Und jetzt jagst du nach dem Squelch der alle deine "Rausch"-Probleme lösen soll. Das wird wieder lustig. Bis wir endlich mal wissen was genau du eigentlich machen willst. Denn die Aussage hier Welle 🧐 S. schrieb: > FSK, weil ich später mal Sensoren auslesen möchte die FSK moduliert > senden. ist noch sehr dürftig um dir irgendwelche hilfreichen Tips geben zu können. .... mal Sensoren auslesen .... ROFL
Welle 🧐 S. schrieb: > Vielleicht sogar mit Squelch via SPI oder so?! Auch dann bleibt es dir nicht erspart, den Empfänger erstmal zu synchronisieren und sicher zu stellen, dass der Squelch nicht geöffnet hat, weil das Funkthermometer deines Nachbarn gerade die aktuelle Temperatur verkündet.
Ich habe mal mit einem RTL_SDR + URH das Signal eines Reifensensors aufgenommen. Die Device-ID lässt sich sauber finden. Das war einfach, weil ich die ID kannte. Der Sensor schickt wenn man ihn mit 150khz bestrahlt 2 Datagramme. Sind die "1n" zur Syncronisation?
:
Bearbeitet durch User
Welle 🧐 S. schrieb: > Sind die "1n" zur Syncronisation? Die Einsen sind alle gleich. Manchester-Kodierte Einsen sind im Basisband einfach ein Rechtecksignal (bzw. in FM eine Frequenzumtastung) mit der Bitfrequenz. Wie soll man darauf synchronisieren?
p.s. Die Synchronisation könnte an der markierten Stelle im Datenstrom erfolgen.
Sorry, Noobfrage: was ist der Unterschied zwischen Prämbel und Syncronisations Datagramm(n)?
Beitrag #7293174 wurde vom Autor gelöscht.
Wolfgang schrieb: > p.s. > Die Synchronisation könnte an der markierten Stelle im Datenstrom > erfolgen. Hallo Wolfgang, so sieht der Teil in HEX (Manchester II) aus ...
1 | SDR Manchester Hexstream: |
2 | fffffffffffffffffffffee [Pause: 238734 samples] |
3 | fffffffffffffffffffffee [Pause: 2489564 samples] |
4 | fffffffffffffffffffffeffffffffffffffffffffffffffffffffffff [Pause: 253672 samples] |
5 | fffffffffffff [Pause: 226210 samples] |
6 | ffffffffffffc [Pause: 618427 samples] |
7 | aaaaaaaaaaaaaaaaaaaacaa555555555669a.6a9aa55a6965.5556665a96a6 [Pause: 188019 samples] |
8 | aaaaaaaaaaaaaaaaaaaacaa555555555669a.6a9aa55a6965.5556665a96a6 [Pause: 2478553 samples] |
9 | ====
|
10 | fffffffffffffffffffffec [Pause: 210628 samples] |
11 | fffffffffffffffffffffee [Pause: 2496818 samples] |
12 | fffffffffffffffffffffeffffffffffffffffffffffffffffffffffff8 [Pause: 3483 samples] |
13 | ffffffffffffc [Pause: 227547 samples] |
14 | fffffffffffff [Pause: 948475 samples] |
15 | aaaaaaaaaaaaaaaaaaaacaa555555555669a.6a9aa55a6965.5556665a96a6 [Pause: 187273 samples] |
16 | aaaaaaaaaaaaaaaaaaaacaa555555555669a.6a9aa55a6965.5556665a96a6 [Pause: 80486 samples] |
Welle 🧐 S. schrieb: > Sorry, Noobfrage: was ist der Unterschied zwischen Prämbel und > Syncronisations Datagramm(n)? Präambel ist das Zeugs, was gesendet wird, damit der Empfänger sich erstmal auf den sauberen Empfang des Datenstromes einstellen kann, Synchronisation ist ein eindeutiges Bitmuster zur Kennzeichnung des genauen Anfangs der eigentlichen Daten.
Ich bin zwar nicht Wolfgang, aber vielleicht hilft Dir das trotzdem: https://www.elektronik-kompendium.de/sites/net/1406191.htm Die Präambel dient der Synchronisation.
Uwe D. schrieb: > Ich bin zwar nicht Wolfgang, aber vielleicht hilft Dir das trotzdem: > https://www.elektronik-kompendium.de/sites/net/1406191.htm > > Die Präambel dient der Synchronisation. danke Uwe!
Uwe D. schrieb: > Die Präambel dient der Synchronisation. Nein, das hängt vom Protokoll ab, wenn man Wikipedia glaubt. https://de.wikipedia.org/wiki/Datenpr%C3%A4ambel
Wolfgang schrieb: > Uwe D. schrieb: >> Die Präambel dient der Synchronisation. > > Nein, das hängt vom Protokoll ab, wenn man Wikipedia glaubt. > https://de.wikipedia.org/wiki/Datenpr%C3%A4ambel Ja Wolfgang, diese Einschränkung im ersten Anstrich des von Dir verlinkten Links hat ja auch einen technischen Hintergrund. Und da geht es vor allem um die Ausschaltung von Störungen auf das Übertragungsmedium. Und das betrifft zu 100% eine Funkverbindung und zu 80% Kabelverbindungen - insbesondere wenn viele der Kabel in räumlicher Nähe zu Störern liegen. Aber das weißt Du ja alles, also pack‘ Deine Goldwaage für Formulierungen weg und hilf ihm. „in einigen Protokollen dient die Präambel der zeitlichen Abstimmung der Kommunizierenden, d. h. zur Synchronisation des Taktes (vgl. Ethernet); in diesem Fall besteht die Präambel aus einer fest vereinbarten Folge von Bits.“
Eine direkte Übertragung (modulation/demodulation) eines re232-Signals ist normalerweise mit solchen Modulen nicht oder nur sehr schlecht möglich. Weil: RS232 erfordert einen konstanten Ruhepegel. Aber das kann der Empfänger nicht (Der Verstärker ist wechselspannungsgekoppelt) Jeder zufällige Rauschimpuls wird als Startbit interpretiert und die Abtastung der weiteren Bits beginnt - Da kommt dann nur Müll heraus. Das analoge Empfängersignal wird häufig durch einen Komparator digitalisiert, der die aktuelle Empfängerspannung mit dem durch ein RC-glied gebildetem Durchschnittspegel vergleicht. Die Spannung am RC-Glied ändert sich mit Beginn der Aussendung und erreicht erst nach Empfang etlicher Bits einen ausreichend konstanten Wert. Bis das erreicht ist funktioniert die Decodierung mit dem Komparator unzureichend und die Decodierung des ersten Bytes (od. mehrere) ist störanfällig. Was gut funktioniert ist z.B. eine Auswertung von verschieden langen, (halbwegs)symmetrischen Impulsen. (-ähnlich den Infrarot FB-Protokollen) z.B. Präambel (min. 10 Perioden) 0,5ms Hi .... 0,5ms LO Logisch 1: 1ms HI....1ms LO Logisch 0: 2ms HI....2ms LO Das lässt sich gut mit einem µC auswerten und die erzielten Reichweiten waren für mich immer OK. (-auch mit billigsten AM-Modulen) Mit Übertragungsfehlern muss man aber immer rechnen. Eine einfache und deutliche Verbesserung erreicht man durch Übertragung von 2 Bytes, wobei das zweite Byte invertiert ist. Das kann ein µC einfach kontrollieren. Symmetrischer manchaster-code ist auch gut geeignet - aber komplizierter.
:
Bearbeitet durch User
Hallo Hans, Danke! Ich ging irgendwie davon aus, dass diese Module ein Signal, was nicht gestört ist/wird und über der Rauschschwelle liegt, sauber demodulieren können. Sind die Module so viel schlechter als ein billiger SDR?
Welle 🧐 S. schrieb: > Hallo Hans, Danke! > > Ich ging irgendwie davon aus, dass diese Module ein Signal, was nicht > gestört > ist/wird und über der Rauschschwelle liegt, sauber demodulieren können. > Das kann es - dafür wurde es gebaut. Aber wie auch bei dem hochwertigsten Rundfunkempfänger kann man nichts senden, was dazu führt dass die Lautsprechermembran dauerhaft und ohne Bewegung aus ihrer Mittelstellung ausgelenkt wird und dort bleibt. Das ist kein Fehler sondern eine Eigenschaft. Nur Wechselspannungen können übertragen werden. (symmetrisch um einen Mittelwert) RS232 verlangt aber einen konstanten Ruhepegel der wegen der hohen Verstärkung (mit Rauschen) und durch die folgende Digitalisierung nicht erreicht werden kann. Ich hab aber schon einfache 433MHz Empfänger gesehen, bei denen der Komparator asymmetrisch vorgespannt wurde. Dann bleibt das Ruhesignal weitgehend ruhig und nur stärkere Signale (od. Störungen) kommen manchmal durch. Das macht die Auswertung etwas einfacher aber die Empfängerempfindlichkeit sinkt etwas. Ich kenne deinen speziellen Empfänger nicht aber dein "Problem" sieht genau so aus wie das bei den billigen AM (ASK) Empfängern. Mit einem Testaufbau und Oszi könnte man die wesentlichen Eigenschaften dieses Empfängers ermitteln....
Über die Problematik der 433MHz Datenübertragung (u. RS232) steht auch hier viel richtiges: https://www.romanblack.com/RF/cheapRFmodules.htm
Hans schrieb: > Ich kenne deinen speziellen Empfänger nicht aber dein "Problem" sieht > genau so aus wie das bei den billigen AM (ASK) Empfängern. Da es ein FM Empfänger ist, ist ASK schonmal ausgeschlossen. Beinhartes Rauschen am Ausgang ist bei einem FM-Empfänger Programm, solange kein ausreichend starkes Signal empfangen wird. Welle 🧐 S. schrieb: > Aktuell habe ich hier ein: HM-R433 Modul: RF FM-Empfänger FSK 433MHz Manchester Code wurde genau entwickelt, um eine gleichspannungsfreie Übertragung und außerdem eine Taktregenerierung zu ermöglichen. Wenn man die Bits direkt übertragen will, lassen sich ausreichend viele Signalwechsel erreichen, indem beim Senden nach z.B. fünf gleichen Datenbits ein Füllbit entgegengesetzter Polarität einfügt, dass der Empfänger dann wieder entfernt.
Welle 🧐 S. schrieb: > Sind die Module so viel schlechter als ein billiger SDR? Das hat mit der Hardware nur wenig zu tun. Der Dreh- und Angelpunkt ist die Software und wenn du dir den Quellcode von rtl_433 mal anguckst, siehst du, wieviel Arbeit da drin steckt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.