Съдържание:

Протокол за обратно инженерство Ritter 8341C за ESP3866: 5 стъпки
Протокол за обратно инженерство Ritter 8341C за ESP3866: 5 стъпки

Видео: Протокол за обратно инженерство Ritter 8341C за ESP3866: 5 стъпки

Видео: Протокол за обратно инженерство Ritter 8341C за ESP3866: 5 стъпки
Видео: Курс Молодого Бойца Часть 2 2020 CCNA 2 RSE 10.2.3.5 Packet Tracer - Настройка протоколов 2024, Юли
Anonim
Протокол за обратно инженерство Ritter 8341C за ESP3866
Протокол за обратно инженерство Ritter 8341C за ESP3866

Здравейте всички.

За моята собствена малка домашна автоматизация използвам първични 433 MHz контролирани гнезда. Притежавам 3 комплекта с DIP превключватели за регулиране на адреса. Тези работеха добре. Но преди време (една или две години) закупих набор от контакти от "ritter". Не бях чел описанието по -рано и след разопаковането разбрах, че няма DIP превключватели, а също и библиотеката rcswitch за ESP не „говори“правилния протокол. Затова ги използвах само с дистанционното управление.

Сега, във ваканцията си, започнах да променя това … тук искам да документирам този проект. Надявам се, че ще помогне на някой друг със същия или подобен проблем.

Стъпка 1: Запишете сигнали

Запис на сигнали
Запис на сигнали
Запис на сигнали
Запис на сигнали

За да запиша сигналите, свързах 433 MHz приемник модул към ESP8266 (само захранването трябва да е наред) и закачих осцилоскопа си Hantek 6022 към извода за данни.

След това натиснах бутона на дистанционното и записах сигналния влак.

Стъпка 2: Измерване на пулс/забавяне

Измерване на пулс/закъснение
Измерване на пулс/закъснение

След като записах сигнала, потърсих началото и края на един пакет. Обикновено дистанционното управление на гнездото изпраща 3 пъти същия изстрел или понякога, докато бутонът е натиснат.

Сега измерих пулса/времето за забавяне и го записах. Това повторих за всичките шест сигнални влака (3 x включено + 3 x изключено).

Стъпка 3: Сравнете сигналите за гнездо 1, 2, 3 и намерете разликата

Сравнете сигналите за гнездо 1, 2, 3 и намерете разликата
Сравнете сигналите за гнездо 1, 2, 3 и намерете разликата

След някои измервания сравних продължителността на сигнала HIGH и LOW +. Промените бяха различните команди. Другите сигнали бяха нещо като протокол/кодове на производителя. Също така всеки пакет имаше начална и крайна последователност.

Сигналът се състои от "START + NOT CHANGING SEQUENCE + ON/OFF COMMAND + DEVICE ADDRESS + END"

Стъпка 4: Напишете код за тестване

Напишете код за тестване
Напишете код за тестване

След известно време имах цялата (теоретична) информация, от която се нуждаех. Затова създадох кратка тестова скица за ESP8266 и подател на 433 MHz. В цикъла и трите гнезда се включват/изключват със закъснение между командите.

Стъпка 5: Тествайте кода с основен подател

Тествайте кода с основен подател
Тествайте кода с основен подател
Тествайте кода с основен подател
Тествайте кода с основен подател

Свързах батерия към ESP и отидох в хола. 5 от 6 команди работеха и след като поправяха грешка при писане в последователност от команди, всички кодове работеха.

Добре, сега мога да превключвам всички 12 rc гнезда (9 с DIP адрес + 3-те нови риттер) с моя ESP8266 RC контролер.

Можете да намерите демо-код на GitHub

Препоръчано: