Hallo, ich habe einen 433MHz Bewegungsmelder, dessen Signal ich gerne dekodieren möchte. Wenn ich dieses mit SDR# ansehe, sieht es wie folgt aus. Wenn ich das Signal nun mit Audacity ansehe, dann sehe ich dieses Signal mit 0.25MSPS
Wie lautet deine Frage? Ist Dir bewusst, dass man vernünftige Logik Analysatoren schon für unter 20 Euro kaufen kann?
Womöglich siehst Du das in diesem Artikel unten erläuterte Signal, ohne das jetzt näher überprüft zu haben... https://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor?view=all
sunshineh schrieb: > Hallo, > ich habe einen 433MHz Bewegungsmelder, dessen Signal ich gerne > dekodieren möchte. Wenn ich dieses mit SDR# ansehe, sieht es wie folgt > aus. > > Wenn ich das Signal nun mit Audacity ansehe, dann sehe ich dieses Signal > mit 0.25MSPS Wenn ich ein Signal mit Audacity ansehe, dann sieht es wie ein Signal aus.
Ich kann Dir diesen Logik Analysator empfehlen, der hat bei mit mit der Software von Saleae auf Anhib funktioniert: https://www.amazon.de/AZDelivery-Logic-Analyzer-kompatibel-Version/dp/B01MUFRHQ2 Mit Audio-Schnittstellen kann man digitale Signale nur sehr bedingt aufzeichnen, weil dafür nicht vorgesehen sind. Hier wäre es interessant, deinen Schaltplan zu zeigen. Denn wenn das Signal passend aufbereitet ist und man die Eigenschaften der Schaltung kennt, dann kann man damit schon was anfangen. Aber so ganz ohne weitere technische Details kann ich mit deinen Bildern nichts anfangen. Deb begriff SDR# solltest du vielleicht auch mal erklären. Ich kenne ihn nicht. Steht das für Software Defined Radio? Wenn ja, welches Gerät und was genau zeigen dann die Bilder? Wenn die Punkte im mittleren Bild die Samples andeuten sollen, dann kann ich Dir schon einmal versichern, dass die Samplerate für dieses Signal viel zu gering war. Man braucht etwa 10 Samples pro Schwingung, um diese halbwegs brauchbar darzustellen. Wenn man zu wenig Samples hat, kann die Software nur raten, welce Form das Signal ursprünglich hatte und dann neigt sie dazu, einen Sinus darzustellen, denn das ist die natürliche Grundform von Audio Signalen. Und nun das Wichtigste nochmal: Wie lautet deine Frage?
geht hiermit wesentlich einfacher : https://www.rtl-sdr.com/reverse-engineering-signals-universal-radio-hacker-software/
Wenn du einen Arduino rumliegen hast, wäre das vielleicht was für dich; https://github.com/gillham/logic_analyzer Ich hatte damit ein wenig am nano herumgespielt und es sah halbwegs brauchbar aus.
Hallo, danke für eure Beiträge. Also grundsätzlich geht es mir darum einen Bewegungsmelder der auf einer Frequenz von 433MHz sendet. Ich habe mehrere dieser Bewegungsmelder und einen Raspberry Pi mit einem DVB-T Stick bzw. einer 433MHz Antenne. Nun möchte ich erkennen, dann er Bewegungsmelder per Funk ein Signal sendet bzw. welcher Bewegungsmelder es gerade ist. Mit der Software SDR# und Audacity kann ich nun das Funksignal schon wie im Bild dargestellt erkennen. Somit könnte ich das Signal schon auszählen?! So wie ich es sehe, wäre die Software "Universal Radio Hacker" hier am sinnvollsten für meine Anwendung?! Ich hab leider sowas noch nie gemacht und versuche nun dem Problem auf die Schliche zu kommen. Ist es überhaupt realistisch, dass der DVB-Stick an meinem Raspberry die ganze Zeit auf der Frequenz 433NMHz lauscht und sofort reagiert, wenn ein Signal reinkommt?
Mir ist jetzt nicht klar, was dein DVB-T Stick mit 433MHz zu tun hat. Ich empfange 433MHz Signale mit einem 433MHz Empfänger, der das HF Signal in ein NF Signal decodiert. Das kann man dann mit einem Logik-Analysator wesentlich komfortabler untersuchen. Das Audacity Bild das du von dem Signal zeigst sieht gut aus, damit kann man was anfangen. Aber ohne zu wissen, welches Protokoll die Sender benutzen und wie viele Bits das Signal hat, könnte es sehr mühsam werden. Manche senden sogar mit variabler Länge! Irgendwie ist der gesendete Code in der Regel auch gesichert, zum beispiel mit einer wie auch immer berechneten Prüfsumme. Auch das müsstest du herausfinden, oder diese einfach ignorieren und dann hinnehmen, dass dein Empfänger gelegentlich auf Störungen/Rauschen reagiert.
Stefan U. schrieb: > Mir ist jetzt nicht klar, was dein DVB-T Stick mit 433MHz zu tun hat. https://www.heise.de/make/meldung/DVB-T-Stick-als-SDR-Empfaenger-1475228.html
@ H. C. (sunshine) Das sieht mir nach OOK aus. https://de.wikipedia.org/wiki/On-Off_Keying Sollte nicht allzu schwierig sein. Du kannst so vorgehen: Zeichne jeweils das komplette Telegramme deiner Melder auf und dekodiere sie per Hand nach diesem Schema: Träger EIN lang, Träger AUS kurz -> 1 Träger EIN kurz, Träger AUS lang -> 0 Anhand der Ergebnisse (hier posten) kann man sehr oft den Inhalt des Telegramms entschlüsseln.
> dekodiere sie per Hand
Dafür wäre ich zu faul, wozu haben wir das Programmieren gelernt?
Stefan U. schrieb: >> dekodiere sie per Hand > > Dafür wäre ich zu faul, wozu haben wir das Programmieren gelernt? Bevor du ein Programm geschrieben hat, kenne ich bereits den Code :)
> Bevor du ein Programm geschrieben hat, kenne ich bereits den Code
Das ist der Vorteil von Erfahrung. Was man nicht im Kopf hat, hat man in
den Fingern oder Beinen.
Danke, zum Glück gibt's ja fertige Software, die diesen Job übernimmt! Das hat wunderbar geklappt mit Universal Radio Hacker!! Super empfehlenswert! Das ist nun der Code, der gesendet wird: 111011101000111010001000100011101000100010001110111011101110111011101110 1000111011101110111010001 bzw. als HEX ee8e888e888eeeeeee8eeee88 Ich habe nun einen 433MHz Empfänger (die günstigen, dies bei Ebay gibt) und möchte damit an meinem Raspberry die Bewegungsmelder empfangen. Ich dachte hier an dieses Tutorial: https://tutorials-raspberrypi.de/raspberry-pis-ueber-433mhz-funk-kommunizieren-lassen/ Oder kennt ihr was besseres?
Mit den üblichen Linux Systemen ist der Raspberry aber nicht Echtzeitfähig. Decodiere das Singal besser mit einem kleinen Mikrocontroller und sende das dann seriell an den Computer.
Meinst du, es ist zuviel Arbeit für den Raspberry oder warum soll ich es gesondert machen? Ich habe auch noch einen Arudino Nano, aber dann müsste ich halt 2 Boards versorgen...
Harald schrieb: > Träger EIN lang, Träger AUS kurz -> 1 > Träger EIN kurz, Träger AUS lang -> 0 sunshineh schrieb: > Das ist nun der Code, der gesendet wird: > 111011101000111010001000100011101000100010001110111011101110111011101110 > 1000111011101110111010001 > bzw. als HEX > ee8e888e888eeeeeee8eeee88 Vorschlag: 1110 (0xe) -> 1 1000 (0x8) -> 0
Dein Programm auf dem Raspberry wird durch Interrupts und andere Threads unterbrochen. Es wird signifikante Zeitabschnitte geben die das Programm nicht mit bekommt da es dann nicht ausgeführt wird. Dadurch wird es Teile des Signals verpassen und somit nicht zuverlässig funktionieren.
Aus dem selben Grund hat auch jedes Eingabegerät einen eigenen Mikrocontroller: Maus, Tastaur, Gamepad, usw.
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.