Innholdsfortegnelse:

Reverse Engineering Ritter 8341C Protocol for ESP3866: 5 trinn
Reverse Engineering Ritter 8341C Protocol for ESP3866: 5 trinn

Video: Reverse Engineering Ritter 8341C Protocol for ESP3866: 5 trinn

Video: Reverse Engineering Ritter 8341C Protocol for ESP3866: 5 trinn
Video: What Happens if Russia Reverse-Engineering The Leopard Tank? 2024, November
Anonim
Reverse Engineering Ritter 8341C Protocol for ESP3866
Reverse Engineering Ritter 8341C Protocol for ESP3866

Hei alle sammen.

For min egen lille hjemmeautomatisering bruker jeg primære 433 MHz kontrollerte stikkontakter. Jeg eier 3 sett med DIP -brytere for å justere adressen. Disse fungerte bra. Men for en tid (ett eller to år) siden kjøpte jeg et sett med stikkontakter fra "ritter". Jeg leste ikke beskrivelsen før, og etter utpakking skjønte jeg at det ikke var noen DIP -brytere, og rcswitch libary for ESP "snakket" ikke den riktige protokollen. Så jeg brukte dem bare med fjernkontrollen.

Nå, i ferien, begynte jeg å endre dette … og her vil jeg dokumentere dette prosjektet. Jeg håper det vil hjelpe noen andre med samme eller et lignende problem.

Trinn 1: Registrer signaler

Ta opp signaler
Ta opp signaler
Ta opp signaler
Ta opp signaler

For å registrere signalene koblet jeg en 433 MHz mottakermodul til en ESP8266 (bare en strømforsyning skal være ok) og koblet Hantek 6022 -oscilloskopet til datapinnen.

Så trykket jeg på knappen på fjernkontrollen og registrerte signaltoget.

Trinn 2: Måling av puls/forsinkelse

Måling av puls/forsinkelse
Måling av puls/forsinkelse

Etter å ha registrert signalet, søkte jeg etter start og slutt på ett burst. Vanligvis sender en stikkontakt fjernkontroll 3 ganger samme burst eller noen ganger, så lenge knappen er trykket inn.

Nå målte jeg puls/forsinkelsestider og skrev det ned. Dette gjentok jeg for alle seks signaltog (3 x on + 3 x off).

Trinn 3: Sammenlign signaler for kontakt 1, 2, 3 og finn forskjellen

Sammenlign signaler for kontakt 1, 2, 3 og finn forskjellen
Sammenlign signaler for kontakt 1, 2, 3 og finn forskjellen

Etter noen målinger sammenlignet jeg HIGHs og LOWs + signalets varighet. Endringene var de forskjellige kommandoene. De andre signalene var noe som protokoll-/produsent-koder. Hver burst hadde også en start- og slutt-sekvens.

Signalet består av "START + IKKE ENDRE SEKVENS + PÅ/AV -KOMMANDO + ENHETSADRESSE + END"

Trinn 4: Skriv kode for testing

Skriv kode for testing
Skriv kode for testing

Etter en stund hadde jeg all den (teoretiske) informasjonen jeg trengte. Så jeg laget en kort testskisse for en ESP8266 og en 433 MHz sender. I loop slås alle tre kontakten på/av med en forsinkelse mellom kommandoene.

Trinn 5: Test koden med en grunnleggende avsender

Test koden med en grunnleggende avsender
Test koden med en grunnleggende avsender
Test koden med en grunnleggende avsender
Test koden med en grunnleggende avsender

Jeg koblet et batteri til ESP og gikk i stua. 5 av 6 kommandoer fungerte, og etter å ha fikset en skrivefeil i en kommandosekvens, fungerte alle koder.

Fint, nå kan jeg bytte alle 12 rc-stikkontakter (9 med DIP-adresse + de 3 nye ritterene) med min ESP8266 RC-kontroller.

Du finner demo-kode på GitHub

Anbefalt: