Как най-лесно да flash-нем Sonoff, Shelly, Wemos или който и да е ESP8266 контролер

Днес ще Ви покажа най-лесният начин да flash-нете1 което и да е ESP8266 устройство, използвайки TTL (сериел) адаптер. За целта ще използвам Sonoff Basic за да демонстрирам, но процеса е същият и за други ESP устройства - Shelly, Tuya, MagicHome, Wemos, H801 и много други.

Ще Ви покажа как да flash-нете Tasmota и впоследствие как да добавите HomeKit поддръжка използвайки HomeKit Accessory Architect.

Може да използвате този урок за да инсталирате всякакъв firmware за ESP8266 на устройствата си - Tasmota, ESPHome, ESPEasy, ESPurna и други.

Flashing ESP8266

Препратки: Режим за флашване / Добавяне на HomeKit поддръжка към ESP / JSON конфигурационни низове за HAA

Какво ще Ви е нужно:

  1. USB-to-Serial/TTL Adapter - Amazon / AliExpress
  2. Устройство (някое от долуизброените)
  3. Софтуер

Свързване с ESP за флашване

За да Flash-нем устройството ще използваме FTDI to USB адаптер.

USB Serial - ESP Device
       GND -> GND
        TX -> RX
        RX -> TX
      3.3V -> 3V3

NodeMCU PyFlasher

Един от най-добрите инструменти за flash-ване, според мен е NodeMCU PyFlasher. Това е самостоятелно Python приложение, което означава, че **не е нужно да инсталирате Python, pip или ** esptool.py. Достатъчно е да изтеглите и инсталирате NodeMCU PyFlasher.

Ако адаптера не се показва в програмата, това най-вероятно е заради проблеми с драйверите или липсващи такива. Ако имате такива проблеми, изтеглете драйвеири [от тук](https://www.ftdichip.com/FTDrivers.htm) и опитайте отново.

Tasmota

Tasmota работи с голям набор от продукти (вероятно най-голям) и това е една от причините, поради които е сред най-използваните решения. Както и други firmware-и, с Tasmota можете да програмирате устройството си да прави каквото си искате. Това, което откроява Tasmota от останалите е може би най-широката гама от сензори и устройства, които се поддържат, както и многото материал по използването ѝ.

Tasmota поддържа MQTT, HTTP, Serial и KNX но най-често, тя бива използвана с MQTT or HTTP. Също така поддържа и безжични ъпдейти (OTA Updates).

MQTT е ISO стандартизиран publish-subscribe-based (Публикуване, Абониране базиран) протокол за комуникация. За да използвате MQTT е нужен сътвър, който да е т. нар MQTT Broker, който вашите MQTT устройства (клиенти) използват като свързващият ги низ.

За да ви демонстрирам как да flash-нете устройството си, ще изполвам този firmware, а впоследствие ще преминем и към HomeKit.

Изтегляне на Tasmota

Изтеглете последната версия на tasmota.bin или ако желаете версията преведена на български, изтеглете tasmota-BG.bin .

Как се флашва Tasmota

How to use NodeMCU PyFlasher

За начало, отворете NodeMCU PyFlasher.

За да видите серийният си адаптер, го свържете с компютъра.

След това, след като посочите firmware файлът, който искате да flash-нете, оставете Speed-а на скоростта по подразбиране, сложете Flash mode на Dual Output (DOUT) и задайте Yes на Wipe data.

Имайте впредвид, че flash-вайки устройството, вие премахвате старият му софтуер.

Режим за Flash-ване

Сега, преди да натиснете Flash е нужно да вкараме устройството в т.нар Flash mode.

Изключете серийният адаптер от компютъра си.

А за да влезе във Flash mode устройството, задръжте бутона му или ако няма такъв, свържете GND към GPIO0 като държите така докато включвате адаптера към компютъра си и няколко секунди след това.

А сега, можем да продължим, натискайки Flash NodeMCU.

След успешно flash-ване, просто рестартирайте устройството и то ще boot-не в Tasmota или какъвто софтуер сте flash-нали.

Добавяне на HomeKit поддръжка към ESP

До тук добре, но как ще flash-нем софтуер, който е разделен на няколко файла?

Един такъв пример е HomeKit Accessory Architect, който след като бъде настроен ви предоставя native HomeKit поддръжка. Без хъбове. Без занимавки.

Той се състои от тези три файла. За да flash-нем firmware от няколко части, ще е нужно първо да ги съберем заедно в един файл.

Сливане на няколко .bin файла в един

Тази стъпка вече не е наложителна, защото разработчика на firmware-а започна да предоставя прекомпилиран софтуерът в един файл. Може да прескочите към Flashing HomeKit Accessory Architect on ESP8266.

За тази цел, отворете Терминал и изтеглете файловете на firmware-а, ако не сте все още.

Аз ще ги сложа в нова папка, за подредност.

mkdir HAA

Отваряме новата папка.

cd HAA

Ще използвам wget командата, за да ги изтегля. Можете да изтеглите и трите файла с тази команда:

wget https://github.com/RavenSystem/haa_ota/releases/latest/download/haaboot.bin | wget https://github.com/SuperHouse/esp-open-rtos/raw/master/bootloader/firmware_prebuilt/rboot.bin | wget https://github.com/SuperHouse/esp-open-rtos/raw/master/bootloader/firmware_prebuilt/blank_config.bin

… или може да го направите и през браузъра си. Изтеглете haaboot.bin, rboot.bin, blank_config.bin и ги сложете в папка HAA на вашият Desktop например.

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

Ще използваме командата truncate върху rboot, давайки ѝ параметър от 4 килобайта.

truncate -s 4k rboot.bin

Трябва да направим това за и за blank_config (третият файл е в края, затова не се налага да го променяме)

truncate -s 4k blank_config.bin

След това, ще използваме командата cat, за да слем трите файла.

cat rboot.bin blank_config.bin haaboot.bin > haa-single.bin

Ако изпитвате трудности с тази стъпка, може да изтеглите готовият съединен файл за HomeKit Accessory Architect..

за повече информация за haa-single.bin натиснете тук

Това беше, вече имаме целият софтуер в един файл.

Красота!

Flash-ване на HomeKit Accessory Architect върху ESP8266

Изтеглете firmware-а от тук.

Сега остава само да го flash-нем на устройствата, използвайки PyFlasher.

Изберете серийният си адаптер от падащото меню.

Като прилагате нужните настройки, както по-рано бе коментирано.

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

След това, натиснете Flash и би трябвало магията да се задейства.

Настройка на HomeKit Accessory Architect

Сега, набързо ще ви покажа как да си настроите устройството flash-нато с HAA.

След рестартиране на ESP устройството, би трябвало то да включи Wi-Fi хотспот. Свържете се с него от смартфон/компютър и го свържете с домашната си мрежа. За целта, докато сте свързани с у-вото през WiFi, отворете нов таб в браузъра си и заредете следния адрес: http://192.168.4.1:4567

Преди да натиснете Save, е нужно да въведете валиден JSON. Това указва на софтуера какво е устройството и как е настроено да работи.

Конфигурационни JSON низове за Homekit Accessory Architect:

Sonoff Basic / SV / Mini / TH / POW:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]}]}

Shelly 1:

Ключ с външен бутон

{"a":[{"0":{"r":[{"g":4}]},"1":{"r":[{"g":4,"v":1}]},"b":[{"g":5,"p":0},{"g":5,"t":0}]}]}

MagicHome RGB Controller

Вижте повече за това как да си настроите HomeKit RGB контролер.


други устройства


След като flash-нете HAA и го настроите, софтуерът има нужда от 5-6 минути, за да изтегли последната версия на софтуера, затова бъдете търпеливи.

Ако бутонът или ЛЕД-ът на устройството не реаргират, то то вероятно все още зарежда.

Добавяне в Home приложението

След като приключи, може да отворите Home приложението на iPhone или iPad и да добавите новото си устройство.

За тази цел, отворете Home приложението и натиснете на бутона +, след което Add Accessory. Насочете камерата си към някоя от графиките отдолу:

HomeKit Pairing QR

HomeKit Pairing Image

Сега можете да го настроите да бъде Лампа, Вентилатор или кактово си решите.

Този firmware също поддържа безжични ъпдейти и няма да е нужно да отваряте физически устройствата, за да ги обновите.

А Вие какво устройство flash-нахте? Споделете в коментарите.

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

Пазете се. :)

Flash-ването на устройството следвайки интрукциите, Вие го правите на своя отговорност! Отварянето на някои устройства може да развали гаранцията им. Също така, flash-вайки друг софтуер, вие премахвате фабричният такъв и ако искате да го върнете обратно трябва да го flash-нете ръчно по подобен начин.

  1. flash - в сферата на електрониката и контролерите означава да се смени софтуера на едно устройство с друг.