İçindekiler:

ESP3866 için Tersine Mühendislik Ritter 8341C Protokolü: 5 Adım
ESP3866 için Tersine Mühendislik Ritter 8341C Protokolü: 5 Adım

Video: ESP3866 için Tersine Mühendislik Ritter 8341C Protokolü: 5 Adım

Video: ESP3866 için Tersine Mühendislik Ritter 8341C Protokolü: 5 Adım
Video: 10 Great ESP8266 Projects for Beginners! 2024, Temmuz
Anonim
ESP3866 için Tersine Mühendislik Ritter 8341C Protokolü
ESP3866 için Tersine Mühendislik Ritter 8341C Protokolü

Herkese selam.

Kendi küçük ev otomasyonum için birincil 433 MHz kontrollü prizler kullanıyorum. Adresi ayarlamak için DIP anahtarlı 3 setim var. Bunlar iyi çalışıyordu. Ama bir süre (bir ya da iki yıl) önce, "ritter" dan bir dizi soket satın aldım. Açıklamayı daha önce okumadım ve paketi açtıktan sonra fark ettim ki DIP anahtarları yoktu ve ayrıca ESP için rcswitch kütüphanesi doğru protokolü "konuşmadı". Bu yüzden onları sadece uzaktan kumanda ile kullandım.

Şimdi, tatilimde bunu değiştirmeye başlıyorum… ve burada bu projeyi belgelemek istiyorum. Umarım, aynı veya benzer bir sorunu olan başka birine yardımcı olur.

Adım 1: Sinyalleri Kaydedin

Kayıt Sinyalleri
Kayıt Sinyalleri
Kayıt Sinyalleri
Kayıt Sinyalleri

Sinyalleri kaydetmek için bir 433 MHz alıcı modülünü bir ESP8266'ya bağladım (sadece bir güç kaynağı uygun olmalı) ve Hantek 6022 osiloskopumu veri pinine bağladım.

Sonra uzaktan kumandadaki düğmeye bastım ve sinyal dizisini kaydettim.

Adım 2: Nabız/Gecikme Ölçümü

Darbe/Gecikme Ölçümü
Darbe/Gecikme Ölçümü

Sinyali kaydettikten sonra, bir patlamanın başlangıcını ve bitişini aradım. Normalde bir soket uzaktan kumandası, düğmeye basıldığı sürece 3 kez aynı patlamayı veya bazen gönderir.

Şimdi nabız/gecikme sürelerini ölçtüm ve yazdım. Bunu altı sinyal dizisinin tümü için tekrarladım (3 x açık + 3 x kapalı).

Adım 3: Soket 1, 2, 3 için Sinyalleri Karşılaştırın ve Farkı Bulun

Soket 1, 2, 3 için Sinyalleri Karşılaştırın ve Farkı Bulun
Soket 1, 2, 3 için Sinyalleri Karşılaştırın ve Farkı Bulun

Bazı ölçümlerden sonra YÜKSEK ve DÜŞÜK + sinyal sürelerini karşılaştırdım. Değişiklikler farklı komutlardı. Diğer sinyaller, protokol/üretici kodları gibi bir şeydi. Ayrıca her patlamanın bir başlangıç ve bitiş sırası vardı.

Sinyal "BAŞLAT + SIRAYI DEĞİŞTİRMEYEN + AÇMA/KAPATMA KOMUTU + CİHAZ ADRESİ + SON"dan oluşur.

Adım 4: Test İçin Kod Yazın

Test için Kod Yaz
Test için Kod Yaz

Bir süre sonra ihtiyacım olan tüm (teorik) bilgilere sahip oldum. Bu yüzden bir ESP8266 ve 433 MHz gönderici için kısa bir test taslağı oluşturdum. Döngüde, üç soketin tümü komutlar arasında bir gecikme ile açılır/kapanır.

Adım 5: Kodu Temel Bir Göndericiyle Test Edin

Kodu Temel Bir Göndericiyle Test Edin
Kodu Temel Bir Göndericiyle Test Edin
Kodu Temel Bir Göndericiyle Test Edin
Kodu Temel Bir Göndericiyle Test Edin

ESP'ye bir pil bağladım ve oturma odasına gittim. 6 komuttan 5'i çalışıyordu ve bir komut dizisindeki yazım hatasını düzelttikten sonra tüm kodlar çalışıyordu.

Pekala, şimdi ESP8266 RC Denetleyicim ile 12 rc-soketin (9 DIP adresi + 3 yeni ritter olan) hepsini değiştirebilirim.

Demo kodunu GitHub'da bulabilirsiniz.

Önerilen: