Ломаем розетку BlitzWolf BW-SHP6 (новую и старую версии)


Мне нравится esp8266. Достаточно дешевый чип (стоимостью наверное где-то в пару долларов), комплектуемая к нему флеш-память (все чаще размером не менее 4 мегабайт) и открытое SDK позволило многим производителям железа делать свои изделия для домашнего использования, весьма недорогих и с возможностью подключаться к Wifi сетям диапазона 2.4 ГГц.
В данной статье я попытаюсь объяснить, как весьма неплохую «умную» розетку BlitzWolf BW-SHP6 подключаться не к китайским серверам производителя, а к собственным серверам Blynk и MQTT, возможность пинговать оборудование и дергать его питание в случае неответа. Конечно никто не запрещает использовать и родное облако Blynk.
Также есть возможность отправлять свои данные на narodmon.ru
Цена за розетку дана ориентировочная, она завышена — нередки случаи скидок, примерная цена 9.90-10.30$.



Розетка весьма приятная по качеству исполнения, родной интерфейс приложения Smart Life таков(есть возможность посмотреть текущее напряжение в сети и нагрузку):


ВНИМАНИЕ! Все действия по разбору и перепрошивке проводить с розеткой, отключенной от 220В!
(а то мне так было интересно снять логи с sonoff pow, когда он был подключен в сеть — не делайте так!)

Для заливки своей прошивки необходимо разобрать розетку, выкрутив тонкой длинной крестовой отверткой винт с ее тыльной стороны:
(фото не мои, честно взяты в интернете, зачем делать то, что уже сделано другими)



Далее, сняв верхнюю часть розетки, мы должны будем открутить еще два винта, чтобы вынуть плату из корпуса. Перед этим необходимо пинцетом или отверткой отсоединить разъем u.fl от антенны, приклеенной к корпусу.
Обнаружено две ревизии версии этой розетки, скорее всего первый уже отсутствует на рынке, различия у них небольшие (но все же есть).


Необходимо иметь переходник который называется usb2ttl. Их много на али, цена копеечная.
Что-то типа такого: ссылка
Тем более что такие переходники классно могут работать с шиной OneWire и расположенной ней датчиках DS18B20 и собирать данные о температуре на больших расстояниях с помощью копеечного роутера в самых неожиданных местах.Работает очень стабильно. Ладно, что-то я отвлекся…

Для первоначальной заливки прошивки необходимо на любой версии розетки подпаяться к контактам RX,TX, GND, и 3V3.
Также надо иметь что-то типа пинцета, чтобы замкнуть на период первоначальной загрузки после подачи питания разъема GPIO0 на землю.
RX соединить с разъемом TX переходника, TX с RX, питание с переходника подавать с разъема 3.3 вольта
На фото ниже зеленой линией указано, что надо замыкать при загрузке прошивки. К разъему reset во второй версии розетки подпаиваться не нужно.


Есть методика прошивки подобных розеток не разбирая их, но у меня это ни разу не получилось. При использовании ESP8266Flasher важно выставить правильные настройки, естественно драйвер на usb2ttl переходник у вас должен быть уже установлен, и когда вы его вставляете в usb порт, у вас должен появляться виртуальный COM-порт.


Проверили? Вынимайте usb2ttl переходник, загружайте программу ESP8266Flasher, не обращая внимания на отсутствие у вас нужного ком порта, выставляйте нужные параметры так, как они указаны(особенно вкладку advanced — иначе не сможете загрузить свою прошивку через http и придется разбирать розетку опять). Многие советуют перед заливкой собственной прошивки забить нулями один 1Мб флешки, мы так и поступим:





Потом замыкаете GPIO0 на землю, вставляете usb2ttl переходник в USB порт, у вас появляется ваш виртуальный порт в программе ESP8266Flasher, и нажимайте кнопку Flash.




На фото одета внешняя антенна, если у вас до роутера небольшое расстояние, можно обойтись и без нее.
Через какое-то время у вас появится точка доступа BLZ_мак_адрес_устройства, на нее надо зайти с паролем 12345678b и прописать ту точку доступа и пароль, к которой необходимо присоединяться.

В прошивке можно досоздать несколько заранее заданных точек, к которым можно присоединяться в случае первичной загрузки или потери основной точки доступа (файл WifiScan.ino, строки 53,54,55).

Настройки весьма минималистичные:


Обязательно! Необходимо зайти в настройки и прописать их в eeprom(Settings->eeprom->Write settings to eeprom), поскольку поначалу там будет мусор.

Теперь по поводу Blynk. Сервис этот мне интересен тем, что его разработчик позволяет установить локальный сервис blynk там, где вам хочется. У меня он установлен на купленной за 350 руб в месяц VPS под управлением ubuntu 16.04, которая еще и часть других функций выполняет. Плюсы этого: вы ни от кого не зависите, не надо платить разработчикам за добавление себе «энергии» — внутренней валюты для использования новых устройств и функций, ваш сервер вы можете делить с кем хотите или не делить вообще. Опять же я могу собирать данные хоть с MQTT и посредством node-red отправлять в blynk, либо собирать данные с одного Blynk устройства и установить логику работы другого в зависимости от первого прямо со смартфона.



У розетки есть возможность измерения вольтажа и тока, проходящего через нее, с помощью микросхемы BL0937
Скажу честно, измерения не очень точные. Для Корректного измерения вам сначала надо подредактировать коэффициенты
для выдачи правильных значений, лучше это делать с потребителем, параметры которого вы знаете (например, лампа накаливания 60 ватт)



Настройки просты-виртуальный V10 пин — отвечает за реле
V4- Терминал
V11- Вольтаж
V12- Напряжение
V13 — Сила тока

В терминал можно писать разные команды, доступна помощь через отправку команды help.
Мне кстати понравилась одна хитрость — хотите получать уведомления на email в определенный срок? Сделайте задачу eventor в Blynk и отправляйте команду emailreport в нужное время в терминал, на виртуальный пин V4. Blynk достаточно гибок. Можете строить графики, обновление каждого виртуального пина, выдающего данные энергомониторинга, происходит раз в минуту.

Я временно собираю данные с помощью node-red через MQTT, пока я не решил какую более продвинутую систему умного дома поставить. Но учитывая MQTT внедрение практически в любую проблемы не составит.
Да, я как-то не особо люблю формат json, поэтому все данные отправляются исключительно в «старом формате» — один топик — одна порция данных.Срыв в графике — это тестирование новой прошивки, данные в это время на MQTT поступали не все.


Какие прошивки также умеют использовать эту розетку:
Tasmota (ссылка)- одна из наиболее продвинутых прошивок. Для меня минусами были то, что нет Blynk и MQTT выводятся в формате json.
espurna (ссылка) тоже нет blynk, немного сложна в настройке. Хотя библиотеку измерений электронагрузки я взял именно оттуда, доработал ее с помощью другого человека(не хватило )
wifi-iot (ссылка) уверен, что заведется без проблем. Опять же, нет blynk. Возможно придется заплатить небольшой взнос

Есть возможность пинга указанного ip-адреса (устройство), и если в течение настраиваемого числа попыток реле не сможет до него «достучаться», то просто выключит и включит реле на 30 секунд.
Разницы в железе в различных ревизиях почти нет, только вместо 14 GPIO в первой версии используется 4.
Розетка видится по SSDP при нахождении с вами в одной сети.



Обе скомпилированные версии я кладу вместе с исходными кодами прошивки и средой Arduino IDE portable (то есть не надо ее устанавливать, менять настройки, добавлять библиотеки)
Вот ссылка:ссылка

И не судите строго за код(и за web версию настроек — я знаю, что можно было бы сделать ajax, сделать все красивее) — это просто мое хобби, никак не приносящее доходов, я не профессионал в этом. Если есть замечания или вопросы — пишите, на все вопросы отвечу, все замечания приму к сведению.

Спасибо большое IamNikolay за помощь в доработке библиотеки энергомониторинга.
Планирую купить +51 Добавить в избранное +74 +128
+
avatar
0
Ребят, никто не в курсе: какая контора делает розетки для яндекса? Речь про оем/одм производителя.
+
avatar
  • Zolg
  • 11 мая 2020, 23:53
+3
Внешне похожа на Tuya PST-SA-P202A
+
avatar
0
Внешне похожа на Tuya PST-SA-P202A
Похоже, но не она вроде как.
+
avatar
  • Zolg
  • 13 мая 2020, 02:58
0
В чем проблема купить, разобрать и посмотреть почти наверняка имеющуюся маркировку на плате, раз такой интерес?

ps: в том, что эти розетки производятся tuya smart я не держав из в руках уверен на 90+%.
Во-первых большинство wifi iot делается туей. А большинство остального либо полугиковские штучки типа sonoff/electrodragon, либо подвал. И с тем и с тем Яндекс вряд-ли станет связаться
Во вторых, если вас не убеждает внешне сходство корпусов розеток (в конце концов все розетки похожи друг на друга), то сравните внешний вид Яндекс.Пульта и Tuya Smart Remote
+
avatar
0
В чем проблема купить, разобрать и посмотреть почти наверняка имеющуюся маркировку на плате, раз такой интерес?
Нужно покупать, а это трата денег, но главное, что в моем регионе нет розеток яндекса, а с другого ТК просит больше стоимости розетки за доставку.
в том, что эти розетки производятся tuya smart я не держав из в руках уверен на 90+%.
Не могу знать, говоря честно и коротко. Поскольку я не владею знаниями глобальными, относительно производителей и вендоров iot. Иначе бы я не задавал подобного вопроса.
+
avatar
+1
Hangzhou Tuya Information Technology Co., Ltd. Написано на розетке.
+
avatar
0
Hangzhou Tuya Information Technology Co., Ltd. Написано на розетке.
Спасибо!!!
+
avatar
+1
Точно Tuya, на днях реши перепрошить, но tuya-convert ее не увидел (хотя может быть дело в руках).
Получилось выдрать ключи доступа по инструкции github.com/codetheweb/tuyapi/blob/master/docs/SETUP.md и дергать релешкой через tuyapi (в принципе не самый плохой обходной путь).
+
avatar
0
очно Tuya, на днях реши перепрошить, но tuya-convert ее не увидел (хотя может быть дело в руках).
Получилось выдрать ключи доступа по инструкции github.com/codetheweb/tuyapi/blob/master/docs/SETUP.md и дергать релешкой через tuyapi (в принципе не самый плохой обходной путь).
Благодарю! А почему решили перепрошит ьи на что?
+
avatar
+1
Во-первых, оказалось, что Яндекс из коробки ничего кроме включения и выключения не умеет. А во-вторых захотелось отвязаться от облака (я из секты свидетелей отключения интернета:)) и внедрить в свою систему управления умным домом.
Думал прошить тасмоту, но поскольку tuya-convert не сработал, а подпаяться не раскурочивая девайс, довольно затруднительно, то буду жить на стоковой прошивке. Сегодня сумел подружить розетки с mqtt на стоковой прошивке — почти всё работает, кроме запроса состояния устройства. Если интересно, код тут — github.com/eburtsev/tuya2mqtt (Очень альфа-версия)
+
avatar
+7
Это прям машина времени, судя по графикам!
Когда ток падает через эту розетку, то время идёт назад!
+
avatar
0
Видимо это особенность сглаживания графиков. Согласен, выглядит так себе.
+
avatar
0
Да, это node-red, опция bezier.
Nodered вообще слаб в плане постройки красивых графиков, но для общего контроля подойдет
Так выглядят без нее:
+
avatar
  • Zolg
  • 12 мая 2020, 10:15
+2
Использовать сплайны для сглаживания временнЫх графиков — так себе идея
+
avatar
  • Zolg
  • 11 мая 2020, 23:48
+17
Не нужно ничего ломать, разбирать и паять.
github.com/ct-Open-Source/tuya-convert
Это эмулятор китайского облака, позволяющий штатным механизмом апдейтить прошивку на произвольную (напр. Tasmota).
Для rpi есть готовый образ сервера, если rpi в хозяйстве нет — теоретически можно поднять на виртуалке.
+
avatar
+2
Я упоминал об этом в обзоре. У меня не получилось именно на вируталке.
Не все устройства можно прошить.
+
avatar
  • Zolg
  • 12 мая 2020, 00:20
+1
SHP6 точно можно. Проверено лично
+
avatar
0
SHP6 точно можно. Проверено лично
Много чего проверено, но потом производитель меняет прошивку и алгоритмы работы, и уже нельзя.
+
avatar
  • Zolg
  • 12 мая 2020, 00:25
+1
SHP6 точно можно. Проверено лично

Чтобы получилось на виртуалке в нее совершенно точно должно быть проброшено устройство wi-fi адаптера, а не просто виртуальная сеть. Например usb-wifi адаптер и проброс usb в виртуалку.

Но гораздо проще взять rpi. Хоть у знакомых на поиграться, если свой нет. Она нужна буквально на 10 минут
+
avatar
0
Чтобы получилось на виртуалке в нее совершенно точно должно быть проброшено устройство wi-fi адаптера, а не просто виртуальная сеть
Точка доступа, подключенная сетевым кабелем подойдёт? И ещё: в github.com/ct-Open-Source/tuya-convert прописан максимальный размер первого бинарника — 512 КБ, это критично?
+
avatar
  • Zolg
  • 12 мая 2020, 09:34
+1
Без переделки изкоробочных скриптов — боюсь нет.
С бинарником — шейте то, что предлагается по умолчанию (какая-то версия tasmota). А затем уже через веб интерфейс этой tasmotы обновляйтесь до чего угодно
+
avatar
  • firej
  • 12 мая 2020, 11:30
0
да, только последние версии тасмоты не дают перепрошить не-тасмоту без проставления дополнительной опции
+
avatar
0
Действительно, tuya-convert с внешней точкой доступа прошивка не пошла, плюнул на всё, разобрал, подключил к прошивальщику и… убил больше часа времени в попытках понять, почему розетка не входит в режим программирования. Уже почти перенёс на другой день, но внезапно вспомнил, что нужно менять местами Tx и Rx. Словил занятный ступор :D
+
avatar
0
Сейчас tuya распространяет патч, который блочит такой метод прошивки, но думаю ещё какое-то время будет актуально
+
avatar
0
Тоже пробовал пере прошить туя розетку и выключатель по воздуху, правда через Оранж ПС Плюс, убил день, так и не смог подключить девайсы к точке доступа, потом плюнул разобрал и с паяльником пере прошил на тосмату все за пол часа.
+
avatar
  • Zolg
  • 12 мая 2020, 11:29
0
WiFi встроенный, или USB?
+
avatar
0
Встроенный, тоже на это грешу. Надо искать и подключать свисток.
+
avatar
0
месяц назад приехал выключатель, попыток 30-40 в разных вариациях, всё как по инструкции-ни разу он не зацепил вайфай, точнее, цеплялся и сразу отваливался. так что проводами-надёжнее.

правда, там и с проводами не получилось-туя же другая типа.
+
avatar
  • Zolg
  • 12 мая 2020, 11:05
0
Ну либо за несколько месяцев что-то поменяли, либо вы что-то делали не так
Что значит «туя другая»? Большинство wifi розеток (в том числе и этот blitzwolf) и прочая производятся tuya smart.
+
avatar
0
возможно, что-то поменяли.
+
avatar
  • RBS
  • 12 мая 2020, 00:18
0
А есть ли возможность переделать прошивку, чтобы можно было замерять пусковые токи?
+
avatar
+2
Многие советуют перед заливкой собственной прошивки забить нулями один 1Мб флешки
Не нулями, а единичками (FF)
+
avatar
+2
переходники классно могут работать с шиной OneWire и расположенной ней датчиках DS18B20 и собирать данные о температуре на больших расстояниях с помощью копеечного роутера в самых неожиданных местах.
А можно об этом отдельный пост? Интересно.
+
avatar
0
+
avatar
0
Да там и писать нечего, все ссылки уже дали, это не дотягивает до отдельного поста.
Берется простой роутер типа TL-MR3020 или TL-WR703n, либо что-то другое, с usb портом.
По возможности — не менее 4 Мб флеш памяти
Надо сказать, что в последнее время цены на эти устаревшие роутеры крайне завышены, поэтому я использую дешевейший клон Hame A15(обзор на него здесь ксть).
Во все вышеуказанные роутеры лучше залить свой u-boot типа breed (инструкции на 4pda полно)
А вот потом вы начинаете думать что надо вам в вашей прошивке.
У OpenWrt есть т.н. imagebuilder, туда можно запихнуть то, что вам надо. Для работы надо:
kmod-usb-serial-pl2303(для работы с переходником на ttl)
digitemp(для считывания датчиков)
я добавляю еще nano, mosuitto-client, libmosquitto (для слива данных по MQTT)
и убираю luci(место под нее не хватает — как раз для этого и используется imagebuilder)
Ну и роутер можно подключать по ethernet, можно по wifi как клиент.
Работает, повторюсь, очень стабильно.
Датчиков у меня порядка 7 на одном длинном проводе длинной 200 метров.
Если будут еще вопросы — не стесняйтесь, задавайте.
+
avatar
0
в последнее время цены на эти устаревшие роутеры крайне завышены, поэтому я использую дешевейший клон Hame A15
И на клоны завышены — хотел 2-3 этих брусочка купить на сетевые плееры, и офигел :(

Ps
Нашел дешевые с фиксированной доставкой
+
avatar
0
Я может глупый вопрос задам, но нельзя ли подключить эту розетку через nodemcu? Т.е. без mqtt.
+
avatar
  • Zolg
  • 12 мая 2020, 13:07
0
Теоретически — почему нет.
Но зачем?
+
avatar
0
Просто мне так удобнее. Не понимаю, для чего mqtt, если используется blynk.
+
avatar
0
Я не понял если честно.
Nodemcu это физ.плата
mqtt и blynk это сервис.
Не хотите — не используйте, можно хоть по http реле дергать, заходя на нужную страницу напрямую.
+
avatar
  • Zolg
  • 12 мая 2020, 18:19
0
Nodemcu это в первую очередь прошивка для esp.
Ну и фирменная плата. Не лучше, не хуже остальных
+
avatar
0
Никак не пойму, чем вас китайское облако не устраивает? Сами есп-хи валом за 1доллар/ горсть, есть и с релюхой сразу — ваяйте на них свои проекты. Нахера купить за дорого ( а я думаю это дорого ) готовое изделие, и ковырять его, переделывая.
Upd. Esp 01 — самая душманская плате — прекрасно рулит 3мя каналами сразу и ещё остаётся канал опроса чертовой кучи датчиков по одному порту.
+
avatar
+1
У каждого варианта свои плюсы.
У китайского облака можно даже вроде как к Алисе присоединить.
ESP все таки лучше распаянные. Посмотрите мой очень давний обзор здесь же на Sonoff(прошивка оттуда взята и допилена)
Смысл именно в компактности, воткнули розетку в стенную розетку и дальше потребитель.
Ничего не валяется, провода не мешают.
Розетка кстати достаточно эстетичная.
Я бы конечно больше 10А ей коммутировать не доверил (в обеих версиях железных ревизий стоит 16амперное реле), но как возможность вручную включить-выключить что-то и посмотреть, что оборудование через эт розетку включилось и начало потреблять ток — самое оно.
Выбор китайского облака с родной прошивкой или обычного облака Blynk(в этой прошивке можно и его использовать) или своего сервиса — каждый выбирает сам, но на китайское облако при его падении или отключении, или блокировке вы никак не можете повлиять. На свой сервер — можете.
+
avatar
  • Zolg
  • 12 мая 2020, 18:16
+1
Тем, что это
1) облако
2) китайское

Считайте 8$ платой за цивильный компактный корпус
+
avatar
0
https://aliexpress.ru/item/item/33011753732.html
Хороший вариант для тех, кто не боится облаков. Дешёвые, маленькие и легко интегрируются в iobroker или иные сервисы. Несколько месяцев использую, полет нормальный, проблем не замечено.
+
avatar
0
Я думаю если разобрать там будет та же самая розетка, hardware версия номер 2