Страница 1 из 17

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

Добавлено: Вс дек 17, 2017 10:22 am
workpage
Поскольку нигде не нашёл сводной информации по программированию этих чудесных выключателей
СпойлерПоказать
photo.jpg
photo.jpg (1.61 МБ) 15336 просмотров
, решил запилить этот пост. (Платные прошивки не в счёт). Далее будет инструкция по программированию 1,2 и 3х клавишных выключателей для работы с Majordomo.
Для начала нужно разобрать выключатель. Для этого плоской отвёрткой поддеваем хвостик
СпойлерПоказать
photo(1).jpg
photo(1).jpg (1.64 МБ) 15336 просмотров
и снимаем верхнюю крышку. Должно получиться вот так:
СпойлерПоказать
photo (1).jpg
photo (1).jpg (445.11 КБ) 15335 просмотров

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

Добавлено: Вс дек 17, 2017 10:29 am
workpage
Далее снимаем верхнюю плату. С одной стороны она держится на двухстороннем скотче, с другой на разъёме. Должно получиться вот так.
СпойлерПоказать
photo (2).jpg
photo (2).jpg (532.44 КБ) 15335 просмотров

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

Добавлено: Вс дек 17, 2017 10:38 am
workpage
Далее нам понадобится конвертор USB-TTL. Подойдёт практически любой. Главное, что бы он умел работать с напряжением 3.3в.
ВАЖНО!!!
Если конвертор не перевести в режим 3.3В, вы можете повредить свой выключатель!!!
Мой конвертор переводится путём запаивания соответствующей перемычки. По умолчанию, перемычку 5в замыкает тонкая дорожка. Её надо перерезать.
СпойлерПоказать
IMG_20171128_095607.jpg
IMG_20171128_095607.jpg (1.22 МБ) 15333 просмотра
Настоятельно рекомендую перед подключением проверить тестером напряжение между vcc и gnd. Должно быть 3.3в

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

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

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

Недавно появились новые платы. GPIO0 смотрите на фото ниже.
СпойлерПоказать
new.jpg
new.jpg (483.28 КБ) 13807 просмотров

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

Добавлено: Вс дек 17, 2017 11:09 am
workpage
С железом всё. Дальше перейдём к программной части.
Качаем питона ВЕРСИИ 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 конвертора. Установите драйвера.

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

Добавлено: Вс дек 17, 2017 11:29 am
workpage
Затем качаем прошивку для 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 станице есть прошивка, в которой в т.ч. можно управлять яркостью информационного светодиода. (Актуально в ночное время)

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

Добавлено: Вс дек 17, 2017 2:17 pm
serghei
Очень подробная инструкция! Спасибо!
От использования подобных девайсов останавливало отсутствие подробных мануалов. В дальнейшем все выкладки можете дублировать в первом сообщении , что бы не искать по форуму.

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

Добавлено: Вс дек 17, 2017 11:17 pm
Берендей
Питался бы SonOff Touch без ноля, цены бы ему не было :(

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

Добавлено: Пн дек 18, 2017 6:05 am
nick7zmail
Да не хватает паразитного питания на устройства с обратной связью...они раза в 4 больше ток требуют.

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

Добавлено: Пн дек 18, 2017 8:46 am
VooDooN
К слову, еще есть возможность прошивать Sonoff-устройства без паяльника. Называется SonOTA. Интересно, с Sonoff Touch прокатит ли: https://github.com/mirko/SonOTA