Cuprins:

Reverse Engineering Ritter 8341C Protocol pentru ESP3866: 5 pași
Reverse Engineering Ritter 8341C Protocol pentru ESP3866: 5 pași

Video: Reverse Engineering Ritter 8341C Protocol pentru ESP3866: 5 pași

Video: Reverse Engineering Ritter 8341C Protocol pentru ESP3866: 5 pași
Video: What Happens if Russia Reverse-Engineering The Leopard Tank? 2024, Noiembrie
Anonim
Reverse Engineering Ritter 8341C Protocol pentru ESP3866
Reverse Engineering Ritter 8341C Protocol pentru ESP3866

Salutare tuturor.

Pentru propria mea casă de automatizare folosesc prize primare controlate de 433 MHz. Dețin 3 seturi cu comutatoare DIP pentru a regla adresa. Acestea funcționau bine. Dar acum ceva timp (unul sau doi ani), am cumpărat un set de prize de la „ritter”. Nu am citit descrierea înainte și, după despachetare, mi-am dat seama că nu existau comutatoare DIP și, de asemenea, bibliotecile rcswitch pentru ESP nu „vorbeau” protocolul corect. Așa că le-am folosit doar cu telecomanda.

Acum, în vacanța mea, încep să schimb asta … aici vreau să documentez acest proiect. Sper că va ajuta pe altcineva cu aceeași problemă sau cu o problemă similară.

Pasul 1: Înregistrați semnale

Semnale de înregistrare
Semnale de înregistrare
Semnale de înregistrare
Semnale de înregistrare

Pentru a înregistra semnalele am conectat un modul receptor de 433 MHz la un ESP8266 (doar o sursă de alimentare trebuie să fie ok) și mi-am legat osciloscopul Hantek 6022 de pinul de date.

Apoi am apăsat butonul de pe telecomandă și am înregistrat trenul de semnal.

Pasul 2: Măsurarea impulsului / întârzierii

Măsurarea impulsului / întârzierii
Măsurarea impulsului / întârzierii

După înregistrarea semnalului, am căutat începutul și sfârșitul unei rafale. În mod normal, o telecomandă cu soclu trimite de 3 ori aceeași rafală sau uneori, atâta timp cât butonul este apăsat.

Acum, am măsurat impulsul / întârzierea timpilor și l-am notat. Am repetat acest lucru pentru toate cele șase trenuri de semnalizare (3 x pornit + 3 x oprit).

Pasul 3: Comparați semnale pentru soclul 1, 2, 3 și găsiți diferența

Comparați semnale pentru soclul 1, 2, 3 și Găsiți diferența
Comparați semnale pentru soclul 1, 2, 3 și Găsiți diferența

După câteva măsurători, am comparat duratele semnalului HIGH și LOW's +. Modificările au fost diferitele comenzi. Celelalte semnale erau ceva de genul codurilor de protocol / producător. De asemenea, fiecare rafală avea o secvență de început și sfârșit.

Semnalul constă din „PORNIRE + SECVENȚĂ NU SE SCHIMBĂ + COMANDĂ PORNIT / OPRIT + ADRESĂ DE DISPOZITIV + ÎNCHEI”

Pasul 4: Scrieți codul pentru testare

Scrieți codul pentru testare
Scrieți codul pentru testare

După un timp am avut toate informațiile (teoretice) de care aveam nevoie. Așa că am creat o schiță de testare scurtă pentru un expeditor ESP8266 și un 433 MHz. În buclă, toate cele trei prize sunt pornite / oprite cu o întârziere între comenzi.

Pasul 5: testați codul cu un expeditor de bază

Testați codul cu un expeditor de bază
Testați codul cu un expeditor de bază
Testați codul cu un expeditor de bază
Testați codul cu un expeditor de bază

Am conectat o baterie la ESP și am intrat în sufragerie. 5 din 6 comenzi funcționau și, după remedierea unei greșeli de scriere într-o secvență de comenzi, toate codurile funcționau.

Bine, acum pot comuta toate cele 12 prize rc (9 cu o adresă DIP + cele 3 noi ritter) cu controlerul meu ESP8266 RC.

Puteți găsi cod demo pe GitHub

Recomandat: