Hallo, hat jemand Ahnung, welches Verfahren mit dem auf dem µC laufenden Programm realisiert wird? Es müsste etwas sehr einfaches sein, etwas ganz billiges. https://www.lidl.de/de/silvercrest-funk-tuerklingel/p245233
Eine direkte Antwort habe ich nicht aber hier gibt es das Datenblatt zu dem Chip: http://www.dzsc.com/uploadfile/company/307703/201246135150265.pdf Aus dem Block-Diagramm geht ja hervor, das an Pin 11 der Datenausgang ist, d.h. hier könntest du mit einem Logic-Analyzer oder mit einem Oszi schonmal die dekodierten Bits abgreifen. Das OOK-Timing ist wahrscheinlich so etwas wie 0: 500µs "high", 1500µs "low" 1: 1500µs "high", 500µs "low" Siehe auch https://forum.pilight.org/Thread-SilverCrest-Doorbell?page=2 . Die Anzahl der gesendeten Bits variiert aber scheinbar zwischen verschiedenen Modellen und natürlich ist nicht auszuschließen, dass auch das OOK-Timing variiert, so gibt es z.B. einige die sagen sie hätten eine Silvercrest Funkklingel mit dem Elro/Home Easy HE800 Protokoll zum laufen gebracht. Da ist das Timing eher 320µs/960µs. Kann aber auch sein, das der Empfänger da sehr "tolerant" ist. Am einfachsten ist soetwas natürlich mit einem entsprechenden Empfänger nachzumessen, z.B. mit RTL433 oder mit einem Nano-CUL oder Maple-CUL. Selbst ein billiger OOK-Receiver von Ebay mit einem uC dürfte schon etwas Licht ins Dunkel bringen.
Christopher J. schrieb: > Eine direkte Antwort habe ich nicht aber hier gibt es das Datenblatt zu > dem Chip: > http://www.dzsc.com/uploadfile/company/307703/201246135150265.pdf Das ist der HF-Teil vom Empfänger. Mit der Kodierung der Daten hat der so ziemlich gar nichts am Hut. Georg M. schrieb: > Verfahren Was meinst du mit "Verfahren"? Modulationsart, Übertragungsart, Kodierung?
Wolfgang schrieb: > Was meinst du mit "Verfahren"? Der Mikrocontroller erkennt die nur für ihn bestimmte Impulsfolge. Also liegt dem Programm ein Verfahren, ein Prinzip, eine Methode zugrunde.
Wolfgang schrieb: > Das ist der HF-Teil vom Empfänger. Mit der Kodierung der Daten hat der > so ziemlich gar nichts am Hut. Doch klar. Am DO Pin liegt der vom Sender gesendete Datenstrom wieder demoduliert vor. Das ist also der Punkt, an dem man messen sollte, um das verwendete 'Verfahren' zu dekodieren. Allerdings ist ja nicht klar, wofür der TE das gewonnene Wissen verwenden möchte. Neuen Dekoder programmieren? Zweckentfremdung? Um bessere Hinweise zu geben, müsste da also noch etwas Info kommen.
:
Bearbeitet durch User
Wolfgang schrieb: > Christopher J. schrieb: >> Eine direkte Antwort habe ich nicht aber hier gibt es das Datenblatt zu >> dem Chip: >> http://www.dzsc.com/uploadfile/company/307703/201246135150265.pdf > > Das ist der HF-Teil vom Empfänger. Mit der Kodierung der Daten hat der > so ziemlich gar nichts am Hut. Habe mich vielleicht ein bisschen missverständlich ausgedrückt. Das es der HF-Teil ist war mir schon klar aber trotzdem kann man dort am DO-Pin die Daten abgreifen, die dann an irgendeinen anderen IC/uC weitergeleitet werden, wie ich ja auch schon vorher geschrieben hatte: Christopher J. schrieb: > Aus dem Block-Diagramm geht ja hervor, das an Pin 11 der Datenausgang > ist, d.h. hier könntest du mit einem Logic-Analyzer oder mit einem Oszi > schonmal die dekodierten Bits abgreifen. Wobei ich besser hätte schreiben sollen "demodulierte Bits abgreifen" anstatt "dekodierte Bits". Georg M. schrieb: > Der Mikrocontroller erkennt die nur für ihn bestimmte Impulsfolge. Also > liegt dem Programm ein Verfahren, ein Prinzip, eine Methode zugrunde. Da der PT4303 ja die Demodulation übernimmt muss der Mikrocontroller (der höchstwahrscheinlich als COB unter dem Epoxy sitzt) lediglich die empfangene Bitreihenfolge mit der (im Flash/EEPROM/etc.) abgespeicherten Reihenfolge Vergleichen. Das Verfahren ist ziemlich trivial aber ich denke aber nicht das du das gemeint hast. Wenn du wissen willst wie das Signal moduliert ist, was der Titel "OOK Decoder" nahelegt, dann kann ich nur nochmals auf SDRs verweisen. Ein einfacher USB-Dongle für nichtmal 15€, z.B. http://www.ebay.de/itm/USB-2-0-Digital-DVB-T-SDR-DAB-FM-HDTV-TV-Tuner-Receiver-Stick-RTL2832U-R820T2-DE-/222023742800?hash=item33b1a57550:g:VPUAAOSwG-1WysjH und du kannst z.B. mit https://github.com/merbanan/rtl_433 sehr einfach schauen was da vor sich geht. Prinzipiell hast du damit aber die ganze SDR-Welt von GNU-Radio, SDR# oder Pothos offen. Radio oder Flugfunk hören kannst du damit natürlich auch ;) Weitere Infos findest du z.B. auf http://www.rtl-sdr.com/ .
:
Bearbeitet durch User
Matthias S. schrieb: > Das ist also der Punkt, an dem man messen sollte, um > das verwendete 'Verfahren' zu dekodieren. Evtl. lohnt es sich mal in den Sender zu gucken, welcher Chip dort die Daten kodiert. Dann würde ein Blick ins Datenblatt reichen, um mehr über das 'Verfahren' zu erfahren.
Püh, OOK heißt On-Off-Keying. So eine Lidl-Türklingel wird einen (hoffentlich) individuellen Code haben. Oder eine begrenzte Anzahl von Codes, die dann hoffentlich schön verteilt in den verschiedenen Filialen verkauft wird. Verfahren: Der µC an der Klingeltaste sendet seine einprogrammierte "individuelle" Folge von ON-OFFs mit verschiedenen ON/OFF-Zeiten ab - und der zugehörige Empfänger-µC reagiert nur, wenn genau diese Folge kommt. Was hat das mit billig/teuer zu tun? Gibts nur billig: In China wird das für ein paar Cent gebaut und programmiert.
Methode? Denk dir eine Zufallszahl von 0 bis 65535 aus. Wandel die in eine Biärzahl mit Bit 0...15 um. Von Bit 0 bis Bit 15 tastest du den Sender für 1 ms ON, wenn das aktuelle Bit = 0 ist, machst du eine Pause von 1 ms, wenn das aktuelle Bit = 1 ist, machst du eine Pause von 2 ms. Zum Schluss sendest du nochmal 1 ms ON. FERTIG. Wie das die Lidl-Klingel macht? Keine Ahnung - aber vielleicht nach einem ähnlichen Verfahren.
Beitrag #5010794 wurde vom Autor gelöscht.
Jakob schrieb: > FERTIG. Glaubst du. So bringst du hast keine Funkdatenübertragung zusammen. Mindestens eine Präambel ist erforderlich, damit sich der Empfänger einpegeln kann.
Christopher J. schrieb: > Da der PT4303 ja die Demodulation übernimmt muss der Mikrocontroller > (der höchstwahrscheinlich als COB unter dem Epoxy sitzt) lediglich die > empfangene Bitreihenfolge mit der (im Flash/EEPROM/etc.) abgespeicherten > Reihenfolge Vergleichen. Das Verfahren ist ziemlich trivial aber ich > denke aber nicht das du das gemeint hast. Doch, genau das habe ich gemeint. Ich möchte dieses triviale Verfahren ausführlich erklärt bekommen, um nicht das Rad neu erfinden zu müssen. (Als COB unter dem Epoxy sitzen die Klingelmelodien. Der Mikrocontroller ist im SO-8.)
Also entweder wir reden aneinander vorbei oder du meinst das nicht ernst. Nochmal: Am DO-Pin kommt der demodulierte Datenstrom als Signal ähnlich einem UART raus und wird vom Mikrocontroller eingelesen und im RAM zwischengespeichert. Dann vergleicht er die eingelesenen Daten mit denen die er in irgendeinem nichtflüchtigen Speicher drin stehen hat. Wie ein Mikrocontroller zwei Bytes miteinander vergleicht brauche ich dir sicher nicht zu erklären. Wenn es dir darum geht wie diese Bitfolge (für dein Gerät) aussieht dann häng halt mal ein Oszi oder Logic-Analyzer an den DO-Pin. Da gibt es nämlich - wie ich oben schon geschrieben hatte - verschiedene Möglichkeiten und eine Glaskugel habe ich nicht. Wenn es dir um das OOK-Timing geht, dann nimm halt einen passenden RF-Empfänger oder miss an passender Stelle mit Oszi oder LA am Sender.
Christopher J. schrieb: > Am DO-Pin kommt der demodulierte Datenstrom als Signal ähnlich einem > UART raus und wird vom Mikrocontroller eingelesen und im RAM > zwischengespeichert. So weit sind wir noch nicht. Obwohl der Hersteller bei "DO" vom "Data Output" spricht, vermute ich, dass es sich in Wirklichkeit lediglich um den "Digitalausgang" handelt (Komparator: entweder HIGH oder LOW). Und z.B. 200µs HIGH ist nicht dasselbe wie 300µs HIGH. Die Daten werden erst im Mikrocontroller aus den Impulsen gewonnen. Außerdem bezweifle ich, dass die empfangenen Daten zuerst gespeichert werden und anschließend verglichen. Alles müsste in Echtzeit ablaufen.
:
Bearbeitet durch User
Georg M. schrieb: > Doch, genau das habe ich gemeint. Ich möchte dieses triviale Verfahren > ausführlich erklärt bekommen, um nicht das Rad neu erfinden zu müssen. Schau dir einfach mal die Datenblätter des PT2262/HX2262 (Sender) und die des PT2272/HX2272 (Empfänger) an. Das dort benutzte Verfahren ist häufig und wird in den Datnblättern erklärt. http://www.princeton.com.tw/en-us/products/encoderdecoderic/fixedcodedecoderic.aspx http://www.princeton.com.tw/en-us/products/encoderdecoderic/fixedcodeencoderic.aspx Da deine Schaltung anscheinend noch einen EEPROM hat, könnte auch der HS1527 als Sender dienen: http://www.picaxeforum.co.uk/showthread.php?28531-Decoding-HS1527-OTP-Encoder-data-signals-%28with-learning-mode%29
:
Bearbeitet durch User
Georg M. schrieb: > Außerdem bezweifle ich, dass die empfangenen Daten zuerst gespeichert > werden und anschließend verglichen. Alles müsste in Echtzeit ablaufen. Gut möglich das direkt verglichen wird, da gebe ich dir Recht. Georg M. schrieb: > So weit sind wir noch nicht. > Obwohl der Hersteller bei "DO" vom "Data Output" spricht, vermute ich, > dass es sich in Wirklichkeit lediglich um den "Digitalausgang" handelt > (Komparator: entweder HIGH oder LOW). Und z.B. 200µs HIGH ist nicht > dasselbe wie 300µs HIGH. > Die Daten werden erst im Mikrocontroller aus den Impulsen gewonnen. Naja, und ich vermute, dass es eben nicht so ist aber wenn du es wissen willst, dann miss halt mal was an dem DO-Pin rauskommt und vergleiche es ggf. mit dem was am MIXOUT-Pin rauskommt.
Wie ich vermutet habe, demoduliert die Superheterodyn-Empfänger-IC das empfangene OOK-Signal und gibt es aus. Und wenn ich statt des Funkklingelsenders eine andere Funkfernbedienung (auch 433,92MHz) benutze, dann sehe ich am DO-Ausgang (Pin 11) ganz andere Impulse. Z.B. von der Funksteckdosen-Fernbedienung sind Impulse wesentlich breiter. Das heißt, die Dekodierung wird vom Mikrocontroller durchgeführt. Und wie er das macht – das war von Anfang an meine Frage.
Georg M. schrieb: > Das heißt, die Dekodierung wird vom Mikrocontroller durchgeführt. Und > wie er das macht – das war von Anfang an meine Frage. Das hängt von dem verwendeten Protokoll ab. Impulslängen kann man z.B. mit einem Timer messen, den man auf die Flanken triggern lässt. Was man aus den Längen dann für Informationen gewinnt, ist wieder protokollspezifisch.
Ein gutes Beispiel für solche Dekoder ist das IRMP Projekt von Frank und mittlerweile vielen anderen Kontributoren: https://www.mikrocontroller.net/articles/IRMP Der MC wartet hier, wie auch bei Funkempfängern, auf eine Präambel (sozusagen das Vorwort) und dann auf eine für das Protokoll gültige Datenfolge. IRMP ist mittlerweile sehr vielseitig und natürlich prinzipiell auch für Funksignale geeignet.
Beitrag #5018885 wurde vom Autor gelöscht.
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.