Инструкция по программированию SonOff Touch

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 51 раз
Поблагодарили: 86 раз
Контактная информация:

Инструкция по программированию SonOff Touch

Сообщение workpage » Вс дек 17, 2017 10:22 am

Поскольку нигде не нашёл сводной информации по программированию этих чудесных выключателей
СпойлерПоказать
photo.jpg
photo.jpg (1.61 МБ) 15334 просмотра
, решил запилить этот пост. (Платные прошивки не в счёт). Далее будет инструкция по программированию 1,2 и 3х клавишных выключателей для работы с Majordomo.
Для начала нужно разобрать выключатель. Для этого плоской отвёрткой поддеваем хвостик
СпойлерПоказать
photo(1).jpg
photo(1).jpg (1.64 МБ) 15334 просмотра
и снимаем верхнюю крышку. Должно получиться вот так:
СпойлерПоказать
photo (1).jpg
photo (1).jpg (445.11 КБ) 15333 просмотра
Последний раз редактировалось workpage Вс дек 24, 2017 11:02 am, всего редактировалось 5 раз.
За это сообщение автора workpage поблагодарили (всего 10):
serghei (Вс дек 17, 2017 10:40 am) • Denis_k (Вс дек 17, 2017 12:02 pm) • astotskiy (Вс дек 17, 2017 1:37 pm) • VooDooN (Пн дек 18, 2017 8:33 am) • TrDA (Вт фев 13, 2018 5:22 pm) • AlexL (Сб фев 24, 2018 7:39 am) • Mavric (Пт мар 16, 2018 1:02 pm) • Stasev (Ср апр 11, 2018 6:33 pm) • directman66 (Вс дек 09, 2018 7:27 pm) • ipc2002 (Пн янв 06, 2020 9:58 pm)
Рейтинг: 11.63%
workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 51 раз
Поблагодарили: 86 раз
Контактная информация:

Re: Инструкция по программированию SonOff touch

Сообщение workpage » Вс дек 17, 2017 10:29 am

Далее снимаем верхнюю плату. С одной стороны она держится на двухстороннем скотче, с другой на разъёме. Должно получиться вот так.
СпойлерПоказать
photo (2).jpg
photo (2).jpg (532.44 КБ) 15333 просмотра
Последний раз редактировалось workpage Вс дек 17, 2017 11:35 am, всего редактировалось 1 раз.
За это сообщение автора workpage поблагодарили (всего 3):
astotskiy (Вс дек 17, 2017 1:38 pm) • TrDA (Вт фев 13, 2018 5:22 pm) • ipc2002 (Пн янв 06, 2020 9:58 pm)
Рейтинг: 3.49%
workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 51 раз
Поблагодарили: 86 раз
Контактная информация:

Re: Инструкция по программированию SonOff touch

Сообщение workpage » Вс дек 17, 2017 10:38 am

Далее нам понадобится конвертор USB-TTL. Подойдёт практически любой. Главное, что бы он умел работать с напряжением 3.3в.
ВАЖНО!!!
Если конвертор не перевести в режим 3.3В, вы можете повредить свой выключатель!!!
Мой конвертор переводится путём запаивания соответствующей перемычки. По умолчанию, перемычку 5в замыкает тонкая дорожка. Её надо перерезать.
СпойлерПоказать
IMG_20171128_095607.jpg
IMG_20171128_095607.jpg (1.22 МБ) 15331 просмотр
Настоятельно рекомендую перед подключением проверить тестером напряжение между vcc и gnd. Должно быть 3.3в
Последний раз редактировалось workpage Вс дек 17, 2017 2:03 pm, всего редактировалось 2 раза.
За это сообщение автора workpage поблагодарили (всего 5):
astotskiy (Вс дек 17, 2017 1:38 pm) • TrDA (Вт фев 13, 2018 5:22 pm) • AlexL (Сб фев 24, 2018 7:40 am) • directman66 (Вс дек 09, 2018 7:27 pm) • ipc2002 (Пн янв 06, 2020 9:57 pm)
Рейтинг: 5.81%
workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 51 раз
Поблагодарили: 86 раз
Контактная информация:

Re: Инструкция по программированию SonOff touch

Сообщение workpage » Вс дек 17, 2017 10:47 am

Далее понадобится 4 провода для соединения конвертора и выключателя.
ВНИМАНИЕ!!!
Ни в коем случае не подключайте выключатель к сети 220!!! Вы повредите выключатель и компьютер!!!
Во время программирования выключатель берёт питание от конвертора и не требует подключениея к электросети!
СпойлерПоказать
prog_pinouts.jpg
prog_pinouts.jpg (230.36 КБ) 15325 просмотров
Соединяем провода следующим образом:
3.3В на выключателе - VCC конвертора
RX на выключателе - TX на конверторе
TX на выключателе - RX на конверторе
GND на выключателе - GND на конверторе

Для перевод чипа в выключателе в режим программирования, необходимо запаять перемычку GPIO 0 на GND. Я использовал провод с разъёмом на конце.
СпойлерПоказать
IMG_20171128_100011.jpg
IMG_20171128_100011.jpg (1.03 МБ) 15325 просмотров
Для 2-3 клавишных ситуация немного другая.
СпойлерПоказать
IMG_20171216_162653.jpg
IMG_20171216_162653.jpg (1.08 МБ) 15300 просмотров
на выключателе:
оранжевый 3.3в
зелёный RX
бело/зелёный (следующий) TX
бело/оранжевый (следующий) GND
Коричневая перемычка - GPIO 0. Запаять как на фото.

Недавно появились новые платы. GPIO0 смотрите на фото ниже.
СпойлерПоказать
new.jpg
new.jpg (483.28 КБ) 13805 просмотров
Последний раз редактировалось workpage Сб фев 17, 2018 12:13 pm, всего редактировалось 3 раза.
За это сообщение автора workpage поблагодарили (всего 7):
Denis_k (Вс дек 17, 2017 12:02 pm) • astotskiy (Вс дек 17, 2017 1:40 pm) • VladPTZ (Пт янв 19, 2018 12:21 pm) • TrDA (Вт фев 13, 2018 5:22 pm) • StrangerIV (Сб ноя 17, 2018 11:13 pm) • directman66 (Вс дек 09, 2018 7:27 pm) • ipc2002 (Пн янв 06, 2020 9:57 pm)
Рейтинг: 8.14%
workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 51 раз
Поблагодарили: 86 раз
Контактная информация:

Re: Инструкция по программированию SonOff touch

Сообщение workpage » Вс дек 17, 2017 11:09 am

С железом всё. Дальше перейдём к программной части.
Качаем питона ВЕРСИИ 2.х.х (НЕ 3!) отсюда https://www.python.org/downloads/. Устанавливаем. В настройках установки обязательно включить все пункты!!!
Нам понадобится arduino. Качаем отсюда: https://www.arduino.cc/en/Main/Donate Нажать Just Download
После установки надо зайти в Файл -> настройки -> Дополнительные ссылки для менеджера плат. Добавить строку http://arduino.esp8266.com/stable/packa ... index.json Нажать ОК.
p.s. Откройте строку в браузере. Форум режет ссылки.
Затем Инструменты -> плата -> менеджер плат. В строку поиска написать esp8266 . Выбрать версию 2.3.0. Нажать установить.
Затем скетч -> подключить библиотеку -> управлять библиотеками . В строку поиска вбить pubsubclient . Установить pubsubclient.
Затем инструменты -> плата -> Generic 8285 module.
Затем инструменты -> CPU frequncy 80Mhz
Затем инструменты -> Flash size 1M 64k SPIFFS
Затем инструменты -> Порт и запоминаем, что там у нас есть.
Затем подключаем TTL конвертор к компьютеру. Должен появиться ещё один порт (инструменты -> Порт). Если порт не появился, значит у вас не установлены драйвера для TTL конвертора. Установите драйвера.
Последний раз редактировалось workpage Ср янв 08, 2020 10:04 am, всего редактировалось 8 раз.
За это сообщение автора workpage поблагодарили (всего 6):
astotskiy (Вс дек 17, 2017 1:41 pm) • TrDA (Вт фев 13, 2018 5:22 pm) • AlexL (Сб фев 24, 2018 7:40 am) • StrangerIV (Сб ноя 17, 2018 11:14 pm) • directman66 (Вс дек 09, 2018 7:26 pm) • ipc2002 (Пн янв 06, 2020 9:57 pm)
Рейтинг: 6.98%
workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 51 раз
Поблагодарили: 86 раз
Контактная информация:

Re: Инструкция по программированию SonOff touch

Сообщение workpage » Вс дек 17, 2017 11:29 am

Затем качаем прошивку для 1кл. выключателя или для 2-3 кл.
СпойлерПоказать
sonofftouch.zip
Прошивки
(4.2 КБ) 481 скачивание
Вторая версия прошивка с регулировкой яркости светодиода на выключателе.
СпойлерПоказать
sonoff_v2.zip
(5.05 КБ) 384 скачивания
Прошивка V3. Пока только для одноклавишного выключателя.
СпойлерПоказать
touch_v3.zip
(2.78 КБ) 368 скачиваний
V3 включает в себя все доработки предыдущих версий.
Добавлена обработка длинного нажатия.
Исправлены мелкие ошибки.
Если клавишу выключателя держать нажатой более 1.3 сек, формируется пакет: LongPress/ИМЯ ВЫКЛЮЧАТЕЛЯ/light и сообщение 1. Через 3 секунды формируется такой же пакет и сообщение 0. С помощью длинного нажатия можно управлять дополнительными группами освещения или переключать дневной/ночной режим вручную в отдельно взятом помещении.

Новейшая прошивка V4.
СпойлерПоказать
touch_1k_v4.zip
(3.15 КБ) 318 скачиваний
V4 включает в себя все доработки предыдущих версий. Пока только версия для одноклавишного.
Добавлена обработка DoubleClick (Быстрое двойное нажатие). Добавлено запоминание яркости информационного светодиода во флеш память. После отключении питание яркость восстановится в ранее запрограммированое значение. Мелкии доработки.
Перед заливкой этой прошивки нужно установить дополнительную библиотеку работы с флеш памятью.
Для этого в ардуино нажать: скетч -> подключить библиотеку -> управление библиотеками -> в строку поиска вбить esp_eeprom, установить библиотеку.
Данная библиотека бережно относится к флеш памяти и не долбит данные в одну ячейку, а равномерно заполняет свободные. Ресурс памяти увеличивается в сотни раз.

Если залить в одноклавишный прошивку от 2-3 клавишного тоже всё будет работать, но во избежании глюков лучше заливать правильную.
В прошивку необходимо забить данные вашего WIFI подключения. Имя сети и пароль. 17 и 18 строка программы.
IP адрес, маску шлюз 24-26 строка.
IP адрес MQTT сервера 29 строка
логин/пароль MQTT. Если пароля нет, в кавычках ничего не должно быть. 14,15 строка.
Название топика MQTT (фактически название выключателя) 13 строка.
Затем нажать на кнопку наверху со стрелочкой вправо (Загрузка).

Выключатель будет работать, даже если нет подключения к wifi или mqtt. Обработка нажатий идёт с помощью прерываний и не зависит от внешних факторов.
Прошивка поддерживает обновление по воздуху. Если надо что-то поменять, можно не вынимать выключатель из стены, а прошить его удалённо. Для этого в ардуино надо выбрать инструменты-> порт . И вместо COM порта выбрать выключатель, который необходимо запрограммировать.

MQTT

При нажатии на клавишу, выключатель формирует MQTT пакет вида status/podval/light и сообщение 1 или 0. Думаю тут всё предельно ясно.
Для удалённого управления выключателем надо послать MQTT пакет вида cmnd/podval/light и сообщение 1 или 0. Можно on или off. Кому как нравится.

В случае с 2-3 клавишными, пакет будет вида
status/podval/light1
status/podval/light2
или
status/podval/light3

С управлением то же самое:
cmnd/podval/light1
cmnd/podval/light2
cmnd/podval/light3

Регулировка яркости светодиода: (Только для новой прошивки)
cmnd/podval/brightness и сообщение, цифра от 0 до 100 (значение яркости в %)

p.s. Значение "podval" , это название выключателя. Меняем на своё. )
Не забываем ставить лайк)
Update: Кстати на следующей странице есть прошивка для управления вентилятором. Пользуйтесь.
Update2: На 5 станице есть прошивка, в которой в т.ч. можно управлять яркостью информационного светодиода. (Актуально в ночное время)
Последний раз редактировалось workpage Сб янв 05, 2019 3:45 pm, всего редактировалось 24 раза.
За это сообщение автора workpage поблагодарили (всего 8):
astotskiy (Вс дек 17, 2017 1:41 pm) • TrDA (Вс янв 14, 2018 1:58 pm) • odinvolk (Вт янв 16, 2018 10:28 am) • markovrv (Вт май 15, 2018 2:06 pm) • TimonDK (Сб сен 15, 2018 11:51 am) • StrangerIV (Сб ноя 17, 2018 11:14 pm) • directman66 (Вс дек 09, 2018 7:26 pm) • ipc2002 (Пн янв 06, 2020 9:57 pm)
Рейтинг: 9.3%
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Инструкция по программированию SonOff Touch

Сообщение serghei » Вс дек 17, 2017 2:17 pm

Очень подробная инструкция! Спасибо!
От использования подобных девайсов останавливало отсутствие подробных мануалов. В дальнейшем все выкладки можете дублировать в первом сообщении , что бы не искать по форуму.
За это сообщение автора serghei поблагодарил:
TrDA (Вт фев 13, 2018 5:22 pm)
Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Re: Инструкция по программированию SonOff Touch

Сообщение Берендей » Вс дек 17, 2017 11:17 pm

Питался бы SonOff Touch без ноля, цены бы ему не было :(
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Инструкция по программированию SonOff Touch

Сообщение nick7zmail » Пн дек 18, 2017 6:05 am

Да не хватает паразитного питания на устройства с обратной связью...они раза в 4 больше ток требуют.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: Инструкция по программированию SonOff Touch

Сообщение VooDooN » Пн дек 18, 2017 8:46 am

К слову, еще есть возможность прошивать Sonoff-устройства без паяльника. Называется SonOTA. Интересно, с Sonoff Touch прокатит ли: https://github.com/mirko/SonOTA
Ответить