Sommario:

Reverse Engineering Protocollo Ritter 8341C per ESP3866: 5 passaggi
Reverse Engineering Protocollo Ritter 8341C per ESP3866: 5 passaggi

Video: Reverse Engineering Protocollo Ritter 8341C per ESP3866: 5 passaggi

Video: Reverse Engineering Protocollo Ritter 8341C per ESP3866: 5 passaggi
Video: What Happens if Russia Reverse-Engineering The Leopard Tank? 2024, Novembre
Anonim
Reverse Engineering Protocollo Ritter 8341C per ESP3866
Reverse Engineering Protocollo Ritter 8341C per ESP3866

Ciao a tutti.

Per la mia piccola domotica uso prese primarie controllate da 433 MHz. Possiedo 3 set con DIP switch per regolare l'indirizzo. Questi stavano funzionando bene. Ma qualche tempo (uno o due anni) fa, ho acquistato un set di prese da "ritter". Non ho letto la descrizione prima, e dopo aver disimballato mi sono reso conto che non c'erano DIP switch e anche la libreria rcswitch per ESP non "parlava" il protocollo corretto. Quindi li ho usati solo con il telecomando.

Ora, durante le mie vacanze, inizio a cambiare questo… e qui voglio documentare questo progetto. Spero che possa aiutare qualcun altro con lo stesso o un problema simile.

Passaggio 1: registra i segnali

Registra segnali
Registra segnali
Registra segnali
Registra segnali

Per registrare i segnali ho collegato un modulo ricevitore a 433 MHz a un ESP8266 (solo un alimentatore dovrebbe essere ok) e ho agganciato il mio oscilloscopio Hantek 6022 al pin dati.

Poi ho premuto il pulsante del telecomando e ho registrato il segnale.

Passaggio 2: misurazione dell'impulso/ritardo

Misurazione impulso/ritardo
Misurazione impulso/ritardo

Dopo aver registrato il segnale, ho cercato l'inizio e la fine di un burst. Normalmente un telecomando da presa invia 3 volte lo stesso burst oa volte, finché si tiene premuto il pulsante.

Ora, ho misurato i tempi di impulso/ritardo e l'ho annotato. Questo l'ho ripetuto per tutti e sei i segnali (3 x accesi + 3 x spenti).

Passaggio 3: confronta i segnali per la presa 1, 2, 3 e trova la differenza

Confronta i segnali per la presa 1, 2, 3 e trova la differenza
Confronta i segnali per la presa 1, 2, 3 e trova la differenza

Dopo alcune misurazioni, ho confrontato le durate dei segnali HIGH e LOW +. I cambiamenti sono stati i diversi comandi. Gli altri segnali erano qualcosa come i codici di protocollo/produttore. Inoltre, ogni burst aveva una sequenza di inizio e di fine.

Il segnale è composto da "AVVIO + SEQUENZA NON CAMBIATA + COMANDO ON/OFF + INDIRIZZO DISPOSITIVO + FINE"

Passaggio 4: scrivere il codice per il test

Scrivi codice per il test
Scrivi codice per il test

Dopo un po' ebbi tutte le informazioni (teoriche) di cui avevo bisogno. Quindi ho creato un breve schizzo di prova per un ESP8266 e un mittente a 433 MHz. In loop tutte e tre le prese si accendono e si spengono con un ritardo tra i comandi.

Passaggio 5: testare il codice con un mittente di base

Testa il codice con un mittente di base
Testa il codice con un mittente di base
Testa il codice con un mittente di base
Testa il codice con un mittente di base

Ho collegato una batteria all'ESP e sono andato in soggiorno. 5 comandi su 6 funzionavano e, dopo aver corretto un errore di scrittura in una sequenza di comandi, tutti i codici funzionavano.

Bene, ora posso cambiare tutte e 12 le prese RC (9 con un indirizzo DIP + le 3 nuove ritter) con il mio controller RC ESP8266.

Puoi trovare il codice demo su GitHub

Consigliato: