Съдържание:

Хардуерно и софтуерно хакване на интелигентни устройства, LED крушка Tuya и Broadlink, Sonoff, BSD33 Smart Plug: 7 стъпки
Хардуерно и софтуерно хакване на интелигентни устройства, LED крушка Tuya и Broadlink, Sonoff, BSD33 Smart Plug: 7 стъпки

Видео: Хардуерно и софтуерно хакване на интелигентни устройства, LED крушка Tuya и Broadlink, Sonoff, BSD33 Smart Plug: 7 стъпки

Видео: Хардуерно и софтуерно хакване на интелигентни устройства, LED крушка Tuya и Broadlink, Sonoff, BSD33 Smart Plug: 7 стъпки
Видео: Стартиране на интелигентни договори и DeFi на Bitcoin платформата??? 2024, Юни
Anonim
Хардуерно и софтуерно хакване на интелигентни устройства, LED крушка Tuya и Broadlink, Sonoff, BSD33 Smart Plug
Хардуерно и софтуерно хакване на интелигентни устройства, LED крушка Tuya и Broadlink, Sonoff, BSD33 Smart Plug

В тази инструкция ще ви покажа как флашнах няколко интелигентни устройства със собствен фърмуер, за да мога да ги контролирам чрез MQTT чрез моята настройка на Openhab.

Ще добавя нови устройства, когато ги хакна.

Разбира се, има и други софтуерно базирани методи за мигане на персонализиран фърмуер, като Tuya convert, но обичам да разбирам как работи устройството и какво е „под капака“.

Кодът се записва и мига с помощта на Arduino IDE.

Контролирам устройствата си чрез Openhab и Google Home (чрез Openhab), ако искате да знаете повече или имате нужда от.items файла и т.н., моля, уведомете ме в коментарите.

Безопасността на първо място

Бъдете внимателни, тъй като работим по устройства, захранвани с мрежово напрежение. Изключете устройствата от захранването, преди да работите върху тях.

Имам някакви съмнения дали устройството е безопасно след модификацията, моля, изхвърлете го.

Консумативи

За повечето хакове се нуждаете от FDTI програмист, свързан към компютър, работещ с Arduino IDE, някои джъмперни проводници, поялник, някои резистори и модули ESP8266 или ESP8285.

Стъпка 1: Интелигентна крушка Tuya LED RGBW

Интелигентна крушка Tuya LED RGBW
Интелигентна крушка Tuya LED RGBW
Интелигентна крушка Tuya LED RGBW
Интелигентна крушка Tuya LED RGBW
Интелигентна крушка Tuya LED RGBW
Интелигентна крушка Tuya LED RGBW

Въведение

Купих тази лампа от Aliexpress. Работи добре с приложението Smart Life, но исках да го контролирам чрез MQTT от Openhab. Вече направих свой собствен фърмуер на Sonoff B1, затова се опитах да светна тази лампа с този фърмуер.

Мига

Отваряте лампата, като внимателно свалите пластмасовата капачка, ръчно, със сила или чрез усукване на отвертка между метала и пластмасата. Можете да видите голия чип ESP8266.

Необходимите връзки са изложени чрез малки подложки на печатната платка (3v3, GND, RX, TX и IO0 (GPIO0))

Първо поставих малко спойка към подложките и спойка към проводниците и след това ги запоявах заедно. Използвах tiewrap и малко горещо лепило, за да прикрепя проводниците към лампата.

GPIO0 е необходим за привеждане на ESP8266 в програмен режим. Свържете го към земята, когато захранвате ESP8266. Можете да включите и флашнете ESP8266 с помощта на FTDI програмист.

Фърмуер

Фърмуерът е базиран на моя фърмуер на Sonoff B1, но е модифициран, защото Sonoff B1 използва MY9231 LED драйвери, които се задвижват от чипа ESP8285 и в тази интелигентна лампа Tuya 4 -те канала (RGBW) се управляват от MOSFET, превключени директно от PWM сигнали от ESP8266.

Зеленият канал е свързан към GPIO12, червеният към GPIO14, син към GPIO13, а белият канал е свързан към GPIO4. В кода виждате това като: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.

Пълният код е на моя Github.

Стъпка 2: Общи топло бели LED крушки - част 1

Общи топло бели LED крушки - част 1
Общи топло бели LED крушки - част 1
Общи топло бели LED крушки - част 1
Общи топло бели LED крушки - част 1
Общи топло бели LED крушки - част 1
Общи топло бели LED крушки - част 1

Въведение

Купих тези LED крушки от Aliexpress Синьо/бяла кутия и черна кутия. Те ще бъдат контролирани чрез приложението Magic home smart home и приложението Techlife pro. Не пробвах тези приложения, тъй като исках да контролирам LED крушките чрез MQTT от Openhab. Тъй като вече имах фърмуера за RGBW крушките, използвах това с не четири (RGBW) канала, а само с един канал.

Мига

Отваряте лампата, като внимателно свалите пластмасовата капачка. Разбрах, че капачката е леко залепена за метала, така че имах нужда от сила от отвертка между метала и пластмасата.

Очаквах да видя чип ESP8266 или ESP8285, но това беше модул Broadlink. Модулът много приличаше на модул ESP12, но открих, че изваждането е напълно различно. От махането на металния капак разбрах, че това е чип RDA 5981AM.

Моето решение за подмяна на този чип с ESP е показано в следващата стъпка.

Стъпка 3: Общи топли бели LED крушки - част 2

Общи топло бели LED крушки - част 2
Общи топло бели LED крушки - част 2
Общи топло бели LED крушки - част 2
Общи топло бели LED крушки - част 2
Общи топло бели LED крушки - част 2
Общи топло бели LED крушки - част 2
Общи топло бели LED крушки - част 2
Общи топло бели LED крушки - част 2

Модулите са свързани към основата на лампата чрез 3 пина, вижте първата снимка:

  • 3V3 (3.3V)
  • GND (земя)
  • ШИМ (широчинно -импулсна модулация)

PWM щифтът се използва за настройка на яркостта на лампата чрез PWM сигнал, който може да варира от 0 (лампата е изключена) до 100 (лампата е напълно включена) и всяка стойност между тях. Вижте този уебсайт за повече информация относно ШИМ сигналите.

Тъй като модулите ESP8266 и ESP8285 работят на 3.3V и могат лесно да генерират PWM сигнал, промених модулите Broadlink на модули ESP8266 или ESP8285, които имах.

Модулите ESP-01S (ESP8266) се мигат чрез отделен програмист, вижте стъпка 3 от тази инструкция. Запоявах женски щифтове към лампата с издърпващ се резистор между 3V3 и EN (разреши). Това беше първият ми експеримент, по -късно преминах към модулите ESP8285.

Модулите ESP-M1, ESP-M3 и ESP-01F (ESP8285) се мигат чрез запояване на проводници към необходимите връзки (3V3, GND, RX, TX и GPIO0 (вижте стъпка 1, мигането на интелигентната лампа Tuya). I запоени издърпващ резистор между 3V3 и EN (разрешаване).

С модула ESP-M3 използвам GPIO4 за генериране на PWM сигнал. Първоначално използвах GPIO2, но когато LED крушката е включена, ниската GPIO2 води до осветяване на вградения светодиод, което дава нежелана синя светлина в LED крушката.

Добавете малко каптонова лента, за да подобрите изолацията между модула и връзките на основата на лампата.

Редактиране: Разбрах, че модулът ESP-01F не се стартира надеждно, вероятно поради нестабилност на захранването при включване. Реших това, като добавих 10 uF танталов кондензатор между GND и VCC. Забележително е, че керамичен 10 uF кондензатор не работи.

Стъпка 4: Общи топло бели LED крушки - част 3

Общи топло бели LED крушки - част 3
Общи топло бели LED крушки - част 3

Фърмуер

Кодът е на моя Github.

Фърмуерът включва уеб интерфейс за управление на LED крушката, а също така има възможност за актуализиране на OTA на фърмуера чрез Webupdate

Стъпка 5: Sonoff или BSD33 Smart Plug - Част 1

Sonoff или BSD33 Smart Plug - Част 1
Sonoff или BSD33 Smart Plug - Част 1
Sonoff или BSD33 Smart Plug - Част 1
Sonoff или BSD33 Smart Plug - Част 1
Sonoff или BSD33 Smart Plug - Част 1
Sonoff или BSD33 Smart Plug - Част 1
Sonoff или BSD33 Smart Plug - Част 1
Sonoff или BSD33 Smart Plug - Част 1

Въведение

Купих този WiFi интелигентен щепсел от Aliexpress. Работи добре с приложението Smart Life, но исках да го контролирам чрез MQTT от Openhab. Вече направих свой собствен фърмуер на Sonoff за интелигентни щепсели и контакти, затова се опитах да светна тази лампа с този фърмуер.

Също така използвах този фърмуер, за да мигна моите интелигентни щепсели Sonof S20 и Sonoff S26 и интелигентните превключватели Sonoff basic и Sonoff Basic R3. Как да отворите и да свържете хардуерно Sonoff устройства за мигане е описано за Tasmota в wiki на tasmota, следователно това не е описано тук.

Отваряне на гнездото

Интелигентният щепсел е залепен заедно. За да го отворите, поставете отвертка в изреза на земята и приложете известна сила, като използвате другата страна на гнездото като точка на завъртане (намек от netpokin тази тема). По този начин трябва да можете да го извадите, без да повредите контакта.

На снимките виждате вътрешността на щепсела. Състои се от основна платка с релето по -малка печатна платка, на която е монтиран чипът ESP8266 и паметта. Платките са свързани чрез достъпни връзки за запояване.

Стъпка 6: Sonoff или BSD33 Smart Plug - Част 2

Sonoff или BSD33 Smart Plug - Част 2
Sonoff или BSD33 Smart Plug - Част 2
Sonoff или BSD33 Smart Plug - Част 2
Sonoff или BSD33 Smart Plug - Част 2
Sonoff или BSD33 Smart Plug - Част 2
Sonoff или BSD33 Smart Plug - Част 2
Sonoff или BSD33 Smart Plug - Част 2
Sonoff или BSD33 Smart Plug - Част 2

Мига

Обратно проектирах връзките за запояване. Вижте снимката за описание на връзките. Разбрах, че:

  • GPIO2 е свързан към светодиода (в бутона на щепсела).
  • GPIO13 е свързан към самия бутон.
  • GPIO15 е свързан към MOSFET, който превключва основното реле.

Можете да включите и флашнете ESP8266 с помощта на FTDI програмист. Свържете женските кабели dupont към следните връзки: (VCC (3.3V), GND, RX, TX и GPIO0)

GPIO0 е необходим за привеждане на ESP8266 в програмен режим. Свържете го към земята, когато захранвате ESP8266.

На моя FTDI програмист добавих 470uF кондензатор между земята и VCC. В друг проект разбрах, че това повишава стабилността.

Програмистът на FTDI има някои други неизползвани GND и VCC щифтове, можете да ги използвате за свързване на GPIO0 към GND.

Стъпка 7: Sonoff или BSD33 Smart Plug - Част 3

Sonoff или BSD33 Smart Plug - Част 3
Sonoff или BSD33 Smart Plug - Част 3
Sonoff или BSD33 Smart Plug - Част 3
Sonoff или BSD33 Smart Plug - Част 3
Sonoff или BSD33 Smart Plug - Част 3
Sonoff или BSD33 Smart Plug - Част 3
Sonoff или BSD33 Smart Plug - Част 3
Sonoff или BSD33 Smart Plug - Част 3

Фърмуер

Фърмуерът ми е на моя Github.

Основни части на фърмуера

  • Връзка с WiFi и MQTT сървър
  • Ръчно превключване, когато сте онлайн и офлайн (при стартиране)
  • Ако релето се превключи ръчно, когато устройството е офлайн, то изпраща състоянието чрез MQTT при повторно свързване
  • Състоянието на релето се съхранява в RTC паметта (вижте този видеоклип за RTC паметта на ESP8266)
  • Уеб интерфейс за управление на превключвателя и достъп до Webupdate за OTA
  • Фърмуерът е подходящ за този BSD33 smartplug, но също така и за Sonoff устройства: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Интеграции с Openhab

Използвам този щепсел, за да контролирам мощността на моята кафемашина. Чрез Openhab и Google Home мога да го контролирам чрез глас.

Въведох таймер, който превключва моята кафемашина след предварително зададено време, вижте снимката на картата на сайта на Openhab. Предварително зададеното време се инжектира в NodeRed, с различни предварително зададени часове в делничните и уикендните дни.

Вижте моя Github за примери за елементи, правила и файлове със карта на сайта.

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