SONOFF переделка под свои хотелки
Так-же этот софт позволяет передавать данные датчиков на сайт narodmon.ru при определенных настройках это позволяет мониторить состояние и частично управлять состоянием SONOFF без наличия на ней "белого" интернет IP адреса (на деле , через любое интернет подключение, используя сайт народмон как прокси. ), сохраняя при этом полную автономную работоспособность устройства в отличие от "китайских" облаков, где вся логика осуществляется в облаке и при остутсвии интернета устройство превращается в тыкву! UPDATE Для желающих подстраховаться и сохранить возможность вернуть "родную" прошивку (она персонализирована под каждый конкретный чип, копия с другого устройства не пойдёт) - инструкция по этому мероприятию, необходимо сохраниться ДО первой перепрошивки девайса https://mynobook.blogspot.com/2020/01/Backup-sonoff-basic.html
За пару лет стал вырисовываться некий "самопальный" стандарт переделки "старых" моделей SONOFF. Да, это все старые модели с внешней памятью, новые пошли на немного дургом процессоре и с иной разводкой печатной платы, менее удобной для переделки.
Немного про шину I2C. Она хоть и не рассчитана на большие расстояния, но при соблюдени и некоторых условий в отдельных вариантах удаётся использовать и 15м и даже 30 метровые линии. С одного из форумов кусочек спецификации шины: "If the bus lines are twisted-pairs, each bus line must be twisted with a V SS return. Alternatively, the SCL line can be twisted with a V SS return, and the SDA line twisted with a VDD return. In the latter case, capacitors must be used to decouple the V DD line to the V SS line at both ends of the twisted pairs." "Желательно в обеих парах вторым проводом иметь землю. Но допускается иметь вторым проводом питание в паре с линией SDA, но в этом случае надо на обоих концах кабеля поставить конденсаторы между землей и питанием."
Есть особенность при прошивке по проводам - в ESP8285 и модулях с памятью PN25F08B требуется установка режима памяти DOUT. Так же замечено, что свежие версии прошивальщиков иногда ругаются на ESP8285 как на неоригинальный чип. Старый прошивальщик отсюда шьёт без проблем. https://github.com/nodemcu/nodemcu-flasher В остальном особых различий пока не обнаружено.
Огромный недостаток этого варианта - в конструкции нет развязывающего сетевого трансформатора - используется гальваническая связь с высоковольтной частью схемы!!! НИ В КОЕМ СЛУЧАЕ НЕ ПРОШИВАЙТЕ УСТРОЙСТВО , ПОДКЛЮЧЕННОЕ К СЕТИ Можно повредить подключенный компьютер и получить электрическую травму!!! Используйте питание от программатора. По этой же причине внешние подключенные датчики должны иметь хорошую изоляцию от всего! Для прошивки использовал наскоро впаянный разъём на предусмотренные 4 стандартных пятачка, порядок соответствует старому программатору. Использованы GPIO20, GPIO21. Помимо этих, в этом релизе используются следующие выводы чипа: GPIO4 - OUT реле; GPIO6 - OUT Blue Led; GPIO9 - INPUT Key. Более готовых площадок нет, только если подпаться непосредственно к выводам чипа. GPIO12 - GPIO17 заняты памятью и для использования непригодны. Как прошивать - подробно описано тут, https://wifi-iot.com/p/wiki/169/ru/ Иногда с 1 попытки почему то не получается, после ввода параметров wifi и перезагрузки устройство не цепляется к рутеру, но и из сейф-режима вываливается. В этом случае повторно перепрошить тем же самым кодом - самый быстрый вариант!
Пара фоток (сорри, мобилкой) этой железки (да, я уже успел запаять туда контактную гребёнку). В отличии от SONOFF POW в версии R2 использован чип CSE7759B, не полностью поддерживаемый конструктором https://wifi-iot.com/ (на момент 04.02.2024 некорректно отображается потреблённая мощность, ориентировочно завышается в 1000 раз), и при комплировании прошивки надо выбирать опцию не SONOFF POW а CSE7766/ - кстати, её не видно wiki/ в незалогиненном виде. Метрики этого чипа тоже отличаются, поэтому если использовать interpreter , это надо учитывать в коде. Распределение выводов тоже немного отличается от старой версии
Настройка кнопки GPIO0: в GPIO -> 0- input в GPIO Keys -> 0 Short - 12 Long 13 Sonoff Pow (старый) https://wiki.iteadstudio.com/Sonoff_Pow описалово этой железки https://wifi-iot.com/p/wiki/177/ru Описалово на сайте конструктора прошивок Sonoff POW Schematic Схемка На плате доступны только выводы rx и tx (3 и 1 gpio) - на них теоретически можно подключить i2c или другие типы датчиков или другие устройства. Но не забывайте, что из-за того, что нет разделения с высоковольтной части прикосновение к датчикам может быть опасно из-за поражения электрическим током. НИ В КОЕМ СЛУЧАЕ НЕ ПРОШИВАЙТЕ УСТРОЙСТВО , ПОДКЛЮЧЕННОЕ К СЕТИ Можно повредить подключенный компьютер и получить электрическую травму!!! Используйте питание от программатора. По этой же причине внешние подключенные датчики должны иметь хорошую изоляцию от всего!
Настройка кнопки GPIO0: в GPIO -> 0- input в GPIO Keys -> 0 Short - 12 Long 15
Файлики для понимания вывода в веб морду: main.css : body main web-страничка
Программка для interpreter для контроля старта погружного насоса. При нормальной работе насос потребляет примерно 2,5 ампера, при нестарте - около 4,5 ампера. Понятно, все комменты и лишние пробелы после кода в самом интерпретере надо тщательно удалить. В процессе отладки обнаруженные приколы: переменные имеют тип int32 т.е. могут быть только целыми числами. С датчика тока значение считывается похоже, тоже в таком формате, но для достоверности при выводе в веб и наружу делится на 1000, чтобы значения были в Амперах. на сайте конструктора такой инфы нет, выяснено методом "научного тыка" при тестах! Отлаженный код есть немного ниже. В проге есть пока не обнаруженный на практике косяк - если отключить с веб морды или с кнопки реле насоса в момент, когда протекает пауза сброса, то есть риск что насос продолжит работу. Меня не напрягает, но думаю, после тестового прогона в натуралных условиях позже исправлю.
main page html: Bedroom Left Temp.:Air _DSW1_ °C (Set _THERMSET1_) Floor _DSW2_ °C (Set _THERMSET2_) Bedroom Right Temp.:Air _DSW3_ °C (Set _THERMSET4_) Floor _DSW4_ °C (Set _THERMSET5_) Heat Floor Left main page html: OutDoor: BathRoom: Air T. _VS0101_ °C Air H. _VS0102_ % Floor T. _VS0104_ °C LivingRoom: Air T. _DHTT1_ °C Air H. _DHTH1_ % WorkShop: Air T. _DSW2_ °C Floor T. _DSW3_ °C BedRooms: L Air T. _VS0201_ °C | R Air T. _VS0203_ °C L Floor T. _VS0202_ °C | R Floor T. _VS0204_ °C Power: 1F _VS0301_ V. 2F _VS0401_ V. 3F _VS0501_ V.
VSENS
конфиг 131.25 (Sonoff POW R2, новый) Программка для interpreter для контроля старта погружного насоса. При нормальной работе насос потребляет примерно 2,5 ампера, при нестарте - около 4,5 ампера. Понятно, все комменты и лишние пробелы после кода в самом интерпретере надо тщательно удалить. В процессе отладки обнаруженные приколы: переменные имеют тип int32 т.е. могут быть только целыми числами. С датчика тока значение считывается похоже, тоже в таком формате, но для достоверности при выводе в веб и наружу делится на 1000, чтобы значения были в Амперах. на сайте конструктора такой инфы нет, выяснено методом "научного тыка" при тестах! Дана только для примера
В проге есть пока не обнаруженный на практике косяк - если отключить с веб морды или с кнопки реле насоса в момент, когда протекает пауза сброса, то есть риск что насос продолжит работу. Меня не напрягает, но думаю, после тестового прогона в натуральных условиях позже исправлю. Подправленная и отлаженная версия (05.04.2024). добавлен VGPIO client для возможности читать состояние этого модуля с других модулей. Контроль только скважинного насоса, фекальный вынесен на отдельный сонофф. code: ntval1=3700 конфиг 131.27 (Sonoff POW , старый) (Fecal Pump) Временная рабочая версия (29.05.2024). Пока модуль только контроллирует по току включение фекального насоса и отображает в WEBе день и время последнего включения насоса. Во время работы насоса мигает синий светодиод. В будущем надо сделать таймаут работы насоса (нормальный цикл длится примерно 28 сек.) секунд 40, отключать насос и выводить аларм при его превышении, а так-же сделать автоотключение через час после выключения скважинного насоса. intval1=0 обновленная версия 03.04.2025 добавлен VGPIO. gpio21- берет cостояние реле с 131.25. сделана зависимость включения/отключения с задержкой фекального насоса от состояния водяного насоса. нажатие кнопки при выключенном водяном насосе запускает фекальный насос на время задержки отключения. При отсчете времени отключения в веб окно выводится количество оставшихся секунд и происходит мигание синим светодиодом раз в секунду. В включенном ведомом состоянии мигание синего светодиода - непосредственная работа насоса по откачке (насос имеет встроенный датчик уровня)
При этом свежий софт начинает лить данные не получив инфу от платы. со старыми версиями такого не было. Для вхлда в режим прошивки не требуется устанавливать никакие дополнительные перемычки, надо просто зажать "boot" и кратковременно нажать "reset" - модуль переходит в режим прошивки. Далее все по инструкции с сайта "конструктора" wifi-iot.ru.
from WIKI wifi-iot: инфа часто разбросана все всякой логики и ччасто не понимаешь где искать, поэтому положу сюда то, что долго искал и нашел совсем не там где думал:
Для установки значения через GET запрос требуется подать команду вида http:///gpio?st=1&pin=12 , где st - необходимое состояние, значение равное 2 будет происходить инвертирование выхода. pin - номер GPIO, которым требуется управлять. Дополнительные параметры для локальных GPIO: &flash=1 - настройка запишется в энергонезависимую память. &click=10 - инвертирует состояние через указанный промежуток времени в секундах, &mclick=10 - аналогично в миллисекундах. Просмотреть состояние GPIO можно по адресу http:///gpioprint.
https://kusheev.com/archives/1617 Взято отсюда, но там сайт как то странно работает, не сразу на эту табличку попадает. поэтому спёр себе: К тому же бывает, инфа с сайтов исчезает... Некоторые модули возможно перепаять на модули ESP которые поддерживают другие прошивки. Ниже сравнительная таблица модулей используемых в устройствах Tuya и поддерживаемые прошивки и возможные замены на модули ESP8266/8285
05 Dec 2020 by RM9WY
|