Indholdsfortegnelse:

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

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

Video: Reverse Engineering Ritter 8341C Protocol for ESP3866: 5 trin
Video: What Happens if Russia Reverse-Engineering The Leopard Tank? 2024, Juli
Anonim
Reverse Engineering Ritter 8341C -protokol til ESP3866
Reverse Engineering Ritter 8341C -protokol til ESP3866

Hej alle.

Til min egen lille hjemmeautomatisering bruger jeg primære 433 MHz kontrollerede stik. Jeg ejer 3 sæt med DIP switches for at justere adressen. Disse fungerede fint. Men for noget tid (et eller to år) siden købte jeg et sæt stikkontakter fra "ritter". Jeg læste ikke beskrivelsen før, og efter udpakningen indså jeg, at der ikke var nogen DIP -switches, og rcswitch -biblioteket til ESP "talte" ikke den korrekte protokol. Så jeg brugte dem kun med fjernbetjeningen.

Nu, i min ferie, begyndte jeg at ændre dette … og her vil jeg dokumentere dette projekt. Jeg håber, det vil hjælpe nogen andre med det samme eller et lignende problem.

Trin 1: Registrer signaler

Registrer signaler
Registrer signaler
Registrer signaler
Registrer signaler

For at registrere signalerne sluttede jeg et 433 MHz modtagermodul til en ESP8266 (kun en strømforsyning skal være ok) og tilsluttede mit Hantek 6022 -oscilloskop til datapinden.

Derefter trykkede jeg på knappen på fjernbetjeningen og registrerede signaltoget.

Trin 2: Måling af puls/forsinkelse

Måling af puls/forsinkelse
Måling af puls/forsinkelse

Efter at have registreret signalet, søgte jeg efter start og slut på et burst. Normalt sender en sokkelfjernbetjening 3 gange den samme burst eller nogle gange, så længe knappen er trykket ned.

Nu målte jeg pulsen/forsinkelsestiderne og skrev det ned. Dette gentog jeg for alle seks signaltog (3 x on + 3 x off).

Trin 3: Sammenlign signaler til stik 1, 2, 3 og find forskellen

Sammenlign signaler til stik 1, 2, 3 og find forskellen
Sammenlign signaler til stik 1, 2, 3 og find forskellen

Efter nogle målinger sammenlignede jeg HIGHs og LOW's + signalets varighed. Ændringerne var de forskellige kommandoer. De andre signaler var noget lignende protokol-/producent-koder. Hvert burst havde også en start- og slut-sekvens.

Signalet består af "START + IKKE ÆNDRENDE SEKVENS + TÆND/SLUK -KOMMANDO + ENHEDSADRESSE + END"

Trin 4: Skriv kode til test

Skriv kode til test
Skriv kode til test

Efter et stykke tid havde jeg al den (teoretiske) information, jeg havde brug for. Så jeg lavede en kort testskitse til en ESP8266 og en 433 MHz afsender. I loop slås alle tre stik til/fra med en forsinkelse mellem kommandoerne.

Trin 5: Test koden med en grundlæggende afsender

Test koden med en grundlæggende afsender
Test koden med en grundlæggende afsender
Test koden med en grundlæggende afsender
Test koden med en grundlæggende afsender

Jeg sluttede et batteri til ESP og gik i stuen. 5 ud af 6 kommandoer fungerede, og efter at der var rettet en skrivefejl i en kommandosekvens, fungerede alle koder.

Fint, nu kan jeg skifte alle 12 rc-stik (9 med en DIP-adresse + de 3 nye ritter) med min ESP8266 RC Controller.

Du kan finde demo-kode på GitHub

Anbefalede: