Profruit banner

Умен звънец в openHAB

16 декември 2023

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

Tasmota Multipress

30 септември 2023

Идеята е Sonoff Touch T1 US 2 в салона, да управлява освен своето осветление и това в кухнята, а още вентилатора.

DIY 12V 1A WiFi Router UPS

22 април 2023

При поредно прекъсване на захранването вкъщи, батерията на нoтбука и двата UPS автоматично превключват на аварийно захранване и едновременно полита съобщение за конфуза

Zigbee2MQTT клониране

21 януари 2023

... как да клонираме съществуваща настройка на Zigbee2MQTT без да се налага последвало интервю на zigbee-устройствата.

LD2410 - бюджетен датчик присъствие в openHAB

11 февруари 2023

Цената на HLK-LD2410 зададе име на поредната тема в моя блог. С негова помощ се постига "народен" датчик присъствие в домашната автоматизация. . ...


Появилите се през 2014г модули на база чип ESP8266 привлякоха особено внимание, преди всичко с цената. Прозводител към този момент бе неизвестна шанхайска компания "Espressif Systems". Засиления интерес на пазара, накара редица фирми да пуснат аналогични устройства. Ярък пример е ITEAD Studio и нейното WiFi реле нацелено към IoT (интернет на нещата) - Sonoff Basic R2.
Sonoff Basic R2 държи своята популярност изключително на цената си. За 4.7 американски долара (3.99 на промоция) получавате завършен продукт. Кутия, захранване, WiFi модул, процесор с рам памет и силово реле. Остава да инсталирате апликацията eWeLink и от прозволна точка на света през интернет, да управлявате Sonoff Basic R2.

Това е героя на обзора, но защо е показан два пъти?

Sonoff Basic R2

Днес Sonoff Basic R2 тихо затихва изместван от наследника R3. За времето на своето съществуване R2 претърпя няколко модификации за които реших да споделя и спестя бъдещи ваши терзания. Измененията лежат под капака и е въпрос на лотария, какво ще ви изпрати китайския продавач.

Вляво изпълнение под процесор ESP8266EX, а вдясно под ESP8285. Схемотехниката на двата брата силно се отличава, макар по замисъл на ITEAD Studio вършат една и съща работа.

Sonoff basic_8266_8285

Внимателен оглед на двете платки относно импулсното захранване определя модела с ESP8285 за победител. Добавен е филтров мрежов X-кондензатор и Y-кондензатор между страните на трансформатора. Физически предпазител на входа на импулсното захранване. ШИМ контролерът е различен.

Не разбирам, защо в версията c ESP8266 вместо обикновен предпазител са сложили резистор 10R:1W:D4L12V. При скок на напрежението варисторът изменя своето поведение. Той дава на късо входа. Силата на тока рязко тръгва нагоре и предпазителят сработва. Импулсното захранване се обезточва и прекратява работа вследствие на анормално входно напрежение. Тази идея е върната при модела с ESP8285.

Sonoff basic ESP8266

Sonoff Basic R2 под процесор ESP8266EX претърпя две ревизии. В началото се използваше флаш памет W25Q80BV дело на Windbond. Тази памет с лекота се префлашва с разработки от трети лица. На свой ред ITEAD Studio направи завой и замени любимата Windbond на капризната P25Q80H продукт на Puya Semiconductor.

Пинове. Кой каква роля играе. Гребенче няма и при нужда вие го запоявяте.

Sonoff basic_ESP8266_pinout

Добрата новина е че можете да разкарате паметта на Puya и да върнете W25Q80BV или може да минете от 1MB на 4MB. Изборът е ваш.

Лошата новина идва с поредната новост в лицето на ESP8285. Китайците решават да сложат процесора и флаш паметта в един чип и сбогом Гринго на мечтите. Флаш памета е закотвена на 1MB и никакви ugrade-и.

Малката лоша новина е че са затрили пин GPIO14 нужен за закачане на датчици: влажност, осветеност, температура и т.н. Възможен хак е чрез импровизация, да се запои директно на крачето на чипа, а без микроскоп влизате в приключение.

Пинове. Кой каква роля играе.

Sonoff basic_ESP8285_pinout

Нисковолтовата част на импулсния токоизправител се състои от две вериги.

Първата е стабилизирана, чрез ценеров диод на +5V, нужна за управление на релето, което комутира силовата верига от ~230V / 10A. Съответно захранва веригата на +3.3V.

Процесорът и прилежащата му периферия работи под напрежение 3.3V. Долен праг 2.7V и максимум 3.6V. При нива над това напрежение дефектира безвъзвратно. Що се касае ток - пикът достига до 340mA, поради което реших да направя специално за целта стабилизиран токоизправител на база AMS1117, гарантиращ 850mA сила на тока.

Мерки за безопасност
Изключваме Sonoff Basic R2 от градската мрежа при манипулации като: четене, записване, обновяване на съдържанието на флаша му. При традиционен вариант на токоизправител, чрез трансформатор, е гарантиран разрива на галваническата връзка с градската мрежа .

Външният токоизточник трябва да е стабилен, а това не е валидно за китайските USB-UART адаптери. Отделно, защо да тормозим USB-порта на компютъра с неговия лимит от 500mA за версия 2. За фаворит избрах PL2003, не че CG340G по нещо отстъпва.

На практика повтарям самото захранване реализирано в Sonoff Basic R2. Там стои AMS1117, обезпечаващ работно напрежение от +3.3V.

AMS1117 или нейните аналози използвани в компютърната схемотехника ви гарантират 1% толеранс, а това е повече от идеално, затова не бързайте да утилизирате старите дънни платки, видеокарти, твърди дискове.

Положителният стабилизатор на напрежение набавих от донор. В моя случай платка от твърд диск Samsung 80GB.

платка от твърд диск Samsung 80GB

Схема на стабилизирания токоизправител
Трансформаторът дойде от изоставен адаптер на притежаван diskman Sony. Традиционен токоизправител на 6V. Плюс няколко кондензатора, светодиод за индикация, ключ, поялник и вложено лично време.

Схема на стабилизирания токоизправител

Съединението между адаптера и интерфейса на Sonoff Basic R2 се осъществява на кръст.
  1. общ <---> общ
  2. RX <---> TX
  3. TX <---> RX
Бъдете внимателни с +3.3V от външния токоизправител. При обърнати полюси модулът дефектира.

Момент на съединение между поредния Sonoff Basic R2 и работния ми компютър.

USB-UART

И след като хардуера е наличен и свързан следва внимание върху софтуера. Нещата протичат под OS-ма Ubuntu 16.04 и утилита esptool.py.

Инсталация:
sudo apt install python-pip
pip install esptool
pip install --upgrade pip
Проблемът е, че ITEAD Studio прави firmware-a уникален за всеки свой модул. Да речем, че решите да флашнете Sonoff с друга разработка, а след време отново да се върнете към eWeLink. Ако не е оргиналния backup, то не очаквайте добре дошли отново.

Команда:
sudo esptool.py chip_id
информира за много неща, но най-вече за ID и MAC адреса. Предполагам, те са уникалния ключ на всеки модул.

Процедура
Нещо като ритуал е изпълнението на всяка команда. Изключвате захранването. Натискате и задържате бутон GPIO. Включвате захранването. Отпускате бутон GPIO. Светодиодът не свети е знак, че модула е преведен в режим работа с флаш паметта. Стартитате командата. Следва изпълнение и край на сеанса. За поредна команда всичко отначало.

Проба с ESP8266 и CG340G.

CG340G-8266_chip_id

Проба с ESP8266 и PL2003.

PL2003-8266_chip_id

Информацията се повтаря. Разлика е само в номера на виртуалния сериен порт. /dev/ttuUSB4 e превключен на /dev/ttuUSB2.

Как стоят нещата около ESP8285.
Проба с ESP8285 и CG340G.

CG340G-8285_chip_id

Проба с ESP8285 и PL2003.

PL2003-8285_chip_id

Команда:
sudo esptool.py flash_id
информира за размера на флаш паметта. Картината се повтаря и при двата модула - скромно 1MB.

flash_id

Команда за Firmware Backup:
sudo esptool.py read_flash 0x00000 0x100000 ./sonoff/8266_image.bin
8266 firmware backup
sudo esptool.py read_flash 0x00000 0x100000 ./sonoff/8285_image.bin
8285 firmware backup

Имената и пътищата са индивидуални, което обяснява отличията между приведените команди и съдържанието на снимките.

Firmware Backup

Важно е да се зададе границата на сегмента откъде до къде да чете (0x00000 0x100000), а това зависи единствено от размера на флаш паметта.

сегмени на backup

Linux нюанси
От приведените снимки горе прави впечатление, че работата с esptool.py изисква администраторски привилегии. Инсталацията на esptool.py създава в системата нова група dialout без членове. Това може да се упрости при желание.

Проверка за наличие на група dialout в системата.

Команда:
compgen -g | grep dialout
getent group | cut -d: -f1 | grep dialout
В коя група е добавен потребителя - $USER.

Команда:
id $USER
Добавяне на потребителя в група dialout и проверка.

Команда:
sudo adduser profruit dialout
getent group dialout
Потребител profruit e добавен в група dialout и не се нуждае повече от root-права по време на своя сеанс. Командата стана по-лаконична и по-лесно възпринимаема.

без root-права

Допълнения

Според рутера на моя мрежа IP-адресите и MAC-адресите на клиенти Sonoff Basic R2 се четат така. Името след дефиса се формира от последните три разряда на MAC-адреса към константа ESP.

клиенти Sonoff Basic R2

Снифер към модула, чрез nmap.

nmap

Проби за връзка извън рамките на eWeLink

Обръщение, чрез браузър към устройството - нищо.
Обръщение, чрез ftp към устройството - нищо.
Обръщение, чрез telnet към устройството - нищо.
Обръщение, чрез SSH към устройството - нищо.
Обръщение, чрез Arduino към устройството - нищо.

Става ясно, че оригиналния firmware е повече от спартански. Без HTTP, без АТ-интерпретатор, без LUA-интерпретатор, без MQTT-сървър и т.н. От проведените проби утилита nc отвърна с "ръкостискане".

blackice icecap е огнена стена създадена от www.iss.net, а порт 8081 се ползва от ice-cap.

Финални думи

При старт Sonoff Basic R2 консумира около 1.3W от градската мрежа.
При включено реле Sonoff Basic R2 консумира около 1W от градската мрежа.
При изключено реле Sonoff Basic R2 консумира около 0.4W от градската мрежа.

Регистрацията на eWeLink извършвайте единствено през акаунт на Yahoo. Чрез номера на телефона е мазохизъм.

10А комутация е китайски мит. Съпротивлението на силовите писти умножено на тока на квадрат (10А) указва, че самите писти ще разсейват до 10W мощност. Не залагайте повече от 500W на консуматор. При налични +5V добавяте твърдотелно реле и успешно командвате киловати консумация.





до нови срещи   ^.^
01.09.2019 profruit 

0 Response to "Sonoff Basic R2 - Firmware Backup"

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: openHAB, Ubuntu, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога