• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Sonoff dual

Pavlo

New member
Всем привет.
Купил себе вот такой Sonoff Dual.

Кто подскажет, как можно узнать номера пинов?
16 - голубой светодиод.

А какие там еще есть?
Как их определить?
Кто перепрошивал этот Sonoff?

Конечная цель - жалюзи. Если у кого то есть опыт/желание - отписывайтесь.
 

Pavlo

New member
@Victor
pdf я смотрел. Но я не силен в схемах.

На сайте он представляет только скомпилированые бинарники...
Мне бы просто знать номера пинов. Програмку я сам напишу. :)
 

Simon

Member
У Duall стоит отдельный микроконтроллер от Silabs на управление релюшками. С esp общается по uart.
 

Pavlo

New member
У Duall стоит отдельный микроконтроллер от Silabs на управление релюшками. С esp общается по uart.
Я нашел какой-то пример, где какие-то комманды писались в Serial... Но я решил, что это просто для дебага.
А есть какие-то примеры, где можно было бы глянуть?
 

Pavlo

New member
посмотрел примеры - все ориентированы на управление модулем по wlan.

Пока что не нашел ниодного примера, где можно подключить извне кнопки, которые обслуживались бы чипом F330.
Ведь есть же 2 пина "Button-0" и "Button-1"...
 

tretyakov_sa

Moderator
Команда форума
посмотрел примеры - все ориентированы на управление модулем по wlan.

Пока что не нашел ниодного примера, где можно подключить извне кнопки, которые обслуживались бы чипом F330.
Ведь есть же 2 пина "Button-0" и "Button-1"...
Судя по схеме реле и кнопки подключаются к отдельному микроконтроллеру. Обмен идет по UART. Если документации нет, следует послушать контакт RX0 контроллера U4 нажимая кнопки. И послушать контакт TX0 включая реле стандартной прошивкой. Так можно выловить те команды которые ходят от МК к ESP и обратно. Зная коды можно будет написать новый код для ESP.
https://www.itead.cc/wiki/images/1/1d/Sonoff_Dual_View.pdf
 
  • Like
Реакции: Past

Pavlo

New member
Судя по схеме реле и кнопки подключаются к отдельному микроконтроллеру. Обмен идет по UART. Если документации нет, следует послушать контакт RX0 контроллера U4 нажимая кнопки. И послушать контакт TX0 включая реле стандартной прошивкой. Так можно выловить те команды которые ходят от МК к ESP и обратно. Зная коды можно будет написать новый код для ESP.
https://www.itead.cc/wiki/images/1/1d/Sonoff_Dual_View.pdf
Спасибо.
Небольшой апдейт. Вплотную с модулем я сяду разбираться на выходных.
Пока что, из того, что нашел - да, f330 общается с eps8266 по uart.
Собственно, если писать в Serial
Код:
  Serial.write(0xA0);
  Serial.write(0x04);
  Serial.write(0xxx);
  Serial.write(0xA1);
  Serial.flush();
, где вместо "0xxx" - 0 (выключить оба реле), 1 (включить одно реле), 2 (включить второе реле), 3 (включить оба реле), то можно таким образом управлять релюшками.

Другое дело, когда кнопками из-вне включать/выключать релюшки.
Комманды идут сразу на f330, он старательно переключает и, сообщает esp8266 по uart.
Т.е. для написания MQTT -приложения, для "перехвата" нажатия кнопки, нужно, на стороне esp8266 регулярно "слушать" Serial. Как только "пришло" сообщение от f330 - паблишить состояние.
Т.е. в режим спячки данный модуль врядли впадать будет...

Тут интересен еще и такой момент.
Модуль я хочу использовать для управления мотором для наружных жалюзей.
Там схема подключения такая: к мотору идут 2 управляющих провода.
Есть напряжение 220в в одном проводе - мотор крутит в одну сторону.
Есть напряжение в другом - мотор вращает в другую сторону.

Теоретически (и даже скорее всего практически) можно создать ситуацию, когда с мобилки посылается комманда закрыть жалюзи (напряжение пошло по одному проводу) и тут человек пытается открыть жалюзи, нажав кнопку - в данный момент напряжение пойдет по 2м проводам на мотор, т.к. модуль разрешает включать оба реле одновременно.

Наверное прийдется решать решать такие "конфликтные" ситуации с помощью программки.
 

Pavlo

New member
@tretyakov_sa

написал себе вот такое: JalousieOnSonoffDual

У кого есть желание - посмотрите/покритикуйте плз.

Интересный момент - мотор не тактовый. Т.е. отследить, сколько он прокрутился... сложно.
Для того, чтобы хоть как то решить сию проблему - сделал VirtualMotor класс, который, ориентируясь на время работы (скажем, моему мотору нужно 23 секунды, чтобы полностью закрыть/открыть жалюзи), пытается вычислить текущее положение жалюзей.
Там еще нужно будет сделать "каллибровку". Каллибровка - прокрутить мотор полностью вниз-вверх, все 23 секунды, чтобы точно "знать", что жалюзи на момент старта находятся в открытом положении.
(Я ее пока на время отладки убрал).
 
Последнее редактирование:
Сверху Снизу