Контроллер W801 c wi-fi и Bluetooth: https://alii.pub/6m7jk4
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Эти контроллеры как я понимаю от компании WinnerMicro. Но сейчас их выпускает Hi-Link. Собственно они сейчас так и называются HLK-W801, HLK-W800, HLK-W806.
HLK-w801 и HLK-w800 почти одинаковые. Отличаются только наличием wi-fi и bluetooth. У w801 есть и то и то. А у w800 нет ничего. Он просто голый контроллер как тот же atmega328 у ардуино. (Хотя в устройствах интернет вещей встречаются контроллеры w800 с wi-fi. Но макетные платы с этими контроллерами точно без Wi-fi). А про HLK-W806 и сказать особо ничего не могу. Еще с ним не сталкивался. Но он вроде слабее, но с wi-fi.
У меня есть контроллер HLK-W801, о нем и буду описывать в этой статье.
Данные контроллеры – это китайская разработка. Вся документация на китайском. По этому ее тяжело воспринимать и что-то на этих платах делать. Хотя они очень дешевые, дешевле чем esp32.
Так-же эти контроллеры используют в Устройствах интернет вещей iot умного дома tuya. Например W800 можно встретить в контроллерах управления светодиодными лентами. Например в WX300P.
У меня же устройство на макетной плате. Плата стоит в районе 200 рублей на момент 19.02.2023г.
Давайте немного рассмотрим технические характеристики контроллера HLK-W801:
- 32-битный XT804 процессор, с частотой 240 МГц
- Встроенная флеш-память 2 Мб и оперативная память 288кб
- Интегрированный интерфейс PSRAM, поддержка до 64 Мб внешней памяти
- Встроенный 6-канальный UART
- Встроенный 4-х канальный 16-bit ADC, с частотой дискретизации-1 кГц
- Интегрированный интерфейс SPI 1 master/slave
- Интегрированный 1 контроллер I2C
- Интегрированный контроллер GPIO, поддерживает до 44 GPIO
- Интегрированные 15 сенсорных датчиков
Характеристики wi-fi:
Так-как тут низкое энергопотребление, по этому его и используют tuya, а не esp32.
Идем дальше.
Как я уже и сказал, документация вся на китайском. ПО этому энтузиасты слабо берутся за эти платы. Но на мой взгляд – это ошибка. Плата действительно не плохая и дешевая.
Данный контроллер можно программировать на языке lua.
У меня эта плата лежит уже давно, примерно пол года(если не больше). Я особо не знал как к ней подойти. Помигать светодиодом не очень интересно.
Но недавно я наткнулся на разработку OpenBK7231T. https://github.com/openshwprojects/OpenBK7231T_App
OpenBK7231T/OpenBeken — это замена Tasmota/Esphome для новых модулей Tuya с совместимостью MQTT и Home Assistant.
Иными словами – это прошивка под контроллеры:
- BK7231T ( WB3S , WB2S , WB2L и т. д.)
- BK7231N ( CB2S , CB2L , WB2L_M1 и т. д.)
- T34 ( T34 основан на BK7231N )
- BL2028N ( BL2028N – Белонская версия BK7231N )
- XR809 ( XR3 и т. д.)
- BL602 ( SM-028_V1.3 и т. д. )
- W800 (W800-C400, WinnerMicro WiFi и Bluetooth), W801
- W600 (чип WinnerMicro), W601 ( WIS600, ESP-01W , TW-02 , TW-03 и т. д.)
Которые используются в устройствах умного дома Tuya. И эта прошивка позволяет перепрограммировать вышеперечисленные контроллеры и подружить их с Home Assistant по mqtt.
Как видите из всего перечня этих контроллеров есть и герой этой статьи W801-C400.
Прошивки под эти контроллеры пишутся со скоростью (несколько в день). И постоянно исправляют баги.
Прошивки можно найти тут: https://github.com/openshwprojects/OpenBK7231T_App/releases
Прошивка которая нужна для контроллера w801 выделена красными скобками.
Тут 2 прошивки. Одна для прошивки по UART(собственно она нам и нужна). А вторая прошивка ОТА – это прошивка по воздуху. Ей будем прошиваться через web интерфейс котроллера в дальнейшем.
ПРОШИВКА КОНТРОЛЛЕРА W801-C400:
Для прошивки контроллера W801-C400 скачиваем прошивка OpenW800_1.xx.xx.fls и кладем ее в папку или просто на локальный диск (чтоб путь был покороче).
У меня например она лежит в: D:\OpenW800_1.12.6.fls
Далее нам нужно скачать программу OpenW800. ПО ссылке: https://github.com/openshwprojects/OpenW800
Скачиваем, распаковываем где-то в папку.
Далее нужно зайти в папку D:\OpenW800-master\OpenW800-master\tools\w800 и там должен лежать .exe файл wm_tool.exe
Открываем командную строку и переходим по этому пути OpenW800-master\OpenW800-master\tools\w800 где лежит wm_tool.exe
И здесь нам нужно выполнить команду:
wm_tool.exe -c COM3 -dl D:\OpenW800_1.15.460.fls
Где COM3 – это номер COM порта под которым определился наш контроллер HLK-W801.
А D:\OpenW800_1.15.460.fls Это путь к прошивке и ее имя .fls которую мы скачали ранее.
Вводим команду в командную строку и нажимаем ENTER.
После этого у нас проверится COM порт и если программа wm_tool.exe определит, что все верно, то предложит нажать кнопку RESET на плате HLK-W801. И пойдет отчет точек.
Далее после нажатия кнопки RESET, у нас определится Мак адрес устройства и начнется загрузка прошивки.
После окончания загрузки прошивки, нам предложит перезагрузить устройство.
На этом загрузка прошивки завершена.
Поздравляю, Вы прошили контроллер w801-c400.
Теперь у Вас появится новая wi-fi точка доступа с SSID: OPENW800_”МАК Адрес”
Она без пароля, подключившись к ней и введя ip адрес в браузер 192.168.4.1 – Вы попадете в web интерфейс контроллера для дальнейших настроек.
Интерфейс очень похож на интерфейс Tasmota.
Собственно в этом интерфейсе мы и будет производить дальнейшую настройку. Тут можно настроить GPIO разъемы как в tasmota. Прописать mqtt топик и сервер куда будем отправлять данные. Ну и следовательно в Home Assistant прослушивать этот топик для получения информации.
Я еще сам не много поработал с этой прошивкой. Но уже что-то могу показать. Например в управлении пинами можем выбрать датчики Dht22 или sht3x (sht30) и с них получать температуру и влажность.
Думаю со скоростью допиливания прошивки которая у них, в скором времени все функции от tasmota будут перенесены.
Я же в свою очередь буду описывать моменты которые буду пробовать в этой статье в дальнейшем.
Из подводных камней с которыми я столкнулся – это конфигурирование wi-fi сети.
Здесь мы задаем SSID и пароль от wi-fi сети к которой хотим, чтоб устройство подключилось. И тут у меня случился конфуз.
Дело в том, что я ввел свои ssid и пароль, но устройство не подключилось. Толи из-за того что роутер заглючил, толи не добивал сигнал, может еще что-то.
Я подумал, что проблема в контроллере и перепрошил его.
После перепрошивки, точки доступа уже не появлялось. Перепрошивал несколько раз разными прошивками. Но результатов 0.
И тут я подумал, что может быть как и в esp32 настройки wi-fi сети записываются в ПЗУ и не затираются прошивкой?.
Создал точку доступа с такими же учетными данными на телефоне. И о чудо, тут же подключилось новое устройство. Узнав какой получило оно ip адрес, подключился к нему по web интерфейсу и сбросил настройки wi-fi сети.
Это я к чему? а к тому, что вдумчиво пишите свои ssid и пароль. А то так потеряете доступ к контроллеру и не прошьете его. Я так и не нашел прошивку, которая бы затирала память.
Но я так-же нашел прошивку “Блинк” которая собственно заставляет микроконтроллер мигать светодиодом. Это полезно, для диагностики, того прошивается ли контроллер или нет.
Прошивку на всякий случай оставлю тут: https://disk.yandex.ru/d/y11uzcamPsRXng
Прошивается так-же как показано Выше через командную строку.
Так-же проверил температуру после нескольких часов работы на данной прошивке. И контроллер греется прям не плохо. Где-то до 58 градусов.
Так-что Возможно радиатор бы не помешал.
стереть флэш в микроконтроллере
erase:
wm_tool.exe -c COM3 -eo all
или
wm_tool.exe -c COM3 -rs rts -eo all
СТАТЬЯ БУДЕТ ДОПОЛНЯТЬСЯ.