Изменено: 16.06.2021
Мы подключим кнопку и светодиод, а настроим пока только кнопку, про светодиод в следующих выпусках, а то получилось очень длинная статья.
Сейчас начинается самое интересное, подключение исполнительных устройств и датчиков и создание реально действующего устройства на основе модуля ESP8266 и прошивки ESP Easy
Вводные статьи см. в конце странички.
Если Вы уже подключили светодиод и кнопку и просто хотите посчитать про настройку прошивки ESP Easy мотайте ниже.
Подключим для примера два светодиода (можно один)
Подключать будем к GPIO 12, GPIO13 это мы сделаем в том числе и для совместимости с платой Witty Cloud у которой светодиоды (RGB светодиод) подключены к GPIO 12, GPIO13, GPIO 15, поэтому если у вас есть эта плата то светодиоды подключать не надо и так все будет работать
Вы вообще можете не подключать светодиоды, а использовать встроенные так у ESP-01 он висит на GPIO1, у ESP-12 он висит на GPIO2
Но мы все же подключим светодиоды для полной наглядности
Подключать будем через токоограничивающий резистор 550 Ом к GPIO 12, GPIO13 (можно вплоть до 2,5КОм, в большинстве модулей ставится "стандартный "резистор на 1КОм (1000 Ом))
Почитать про подключение светодиодов можно тут (Светодиоды)
А так же подключим кнопку вот такую.
Вы можете подключить абсолютно любую кнопку и даже не кнопку, можете вообще использовать кусок провода который будите замыкать на землю, но все это не очень хорошо, используйте это только для теста.
Мы будем подключать кнопку к GPIO 4 для совместимости с Witty Cloud и подтянем ее к питанию через резистор 1кОм-10 кОм, для теста вы можете даже не подтягивать ее никуда, правда будет дребезг контактов.
Почитать о подключении кнопки подробно можно тут (Подключение кнопки на ESP8266)
Про резисторы токоограничивающий и подтягивающий (Подтягивающий (стягивающий), токоограничивающий резисторы. Зачем, для чего, почему и конечно, что делать?)
Так, еще раз, это важно!
У нас подключены:
- Светодиод №1 на GPIO 12.
- Светодиод №2 на GPIO13.
- Кнопка на GPIO 4.
- Модуль прошит прошивкой ESP Easy.
Приступим!
Вот так все подключаем
Все по правилам через резисторы
Светодиоды подключаем через резисторы 550Ом-2KОм, до 2,5KОм (в большинстве модулей ставится "стандартный "резистор на 1КОм (1000 Ом))
Собираем светодиоды и кнопку, подключаем к ним резисторы токоограничивающие и подтягивающий (про эти резисторы в статье на канале: "Подтягивающий (стягивающий), токоограничивающий резисторы. Зачем, для чего, почему и конечно, что делать?")
Все убираем в термоусадку, становится лучше
И подключаем к адаптеру с модулем ESP-12
На этом с железной частью все!
Переходим к программным настройкам.
Работа с прошивкой ESP Easy
В браузере заходим по адресу нашего модуля ESP.
И сначала выполним предварительную настройку
Идем в "Hardware" > "I2C Interface"
GPIO SDA ставим "None"
GPIO SCL ставим "None"
Тем самым освобождаем GPIO 4 и GPIO 5 от I2C интерфейса (мы помним что кнопка у нас "сидит" на GPIO 4)
Ну а теперь давайте настроим наши устройства, кнопку и светодиоды.
Настроим кнопку
Давайте быстрее настроим кнопку и получим хоть какой то результат, а потом будем подробно разбираться со всеми настройками подробно.
Работаем с разделом "Device", жмем добавить, "Add"
Попадаем в Task Settings - настройки задачи. Из раскрывающегося списка выбираем "Switch input - Switch" (Вход переключателя - переключатель), он находится в самом низу списка
Нам нужно выполнить три обязательных действия
1) Обязательно введите имя, любое какое придумаете, например: "Knopka"
2) Дальше жмите "Enabled" включите устройство, а точнее опрос устройства.
3) Выберите GPIO, у нас это GPIO4
4) И поставьте интервал опроса, в реальности этого как правило не нужно делать, но мы поставим 1 секунду просто для того чтобы не перезагружать страницу (если не поставите то при нажатии на кнопку во время теста перезагрузите страницу)
Вот так все заполняем.
Жмем "Sumbit" Ждем применения всех настроек и жмем "Close" появляется новая измененная страница, вот такая
Где будет таблица
Нажав "Edit" мы можем отредактировать настройки нашей кнопки и внести изменения
В остальных столбцах таблицы появились данные
Task - Задача 1, всего может быть 12
Enabled - Включено, все верно, мы же поставили галочку
Device - Switch input - Switch (Вход переключателя - переключатель)
Name - Knopka, это наше имя которое мы придумали ранее
Port - ничего нет, мы же пока ничего не вводили
Ctr (IDX) - то же ничего нет.
GPIO - GPIO-4 (D2) то что ввели.
Values - значение кнопки, о нем ниже
Все! Поздравляю! Вы подключили кнопку. Поиграйтесь нажимая ее и получите изменения Values с "1" на "0"
У меня "1" по умолчанию (ну вот так я подключил, т. е. по умолчанию кнопка замкнута-нормально замкнутый контакт, а мне нужно разомкнутая поэтому идем обратно в настройки нажимая "Edit" и жмем "Inversed Logic" - усе по умолчанию уже "0", а при нажатии "1" - все как нужно)
А теперь подробно давайте все разберем по пунктам с настройками кнопки или диммера.
Device -наше устройство которое называется: "Switch input - Switch" (Вход переключателя - переключатель)
Name -наше имя, обязательно нужно придумать и ввести имя устройства
Enabled -поставить галочку для включения опроса этого устройства. Можно включить его, а можно не выключать, естественно тогда работать не будет, вы можете все настроить, но не включить устройство тогда опроса происходить не будет.
Sensor Подраздел "Датчик"
Internal PullUp -внутренняя подтяжка, можно включить, можно не включать, но помните что на некоторых платах нет подтяжки, на некоторых есть, но не на всех GPIO, лучше заранее сделайте ее сами как сделали мы выше (см. подключение кнопки) и не связывайтесь с этим пунктом.
Inversed Logic -инверсная логика, ну тут и объяснять нечего. В реальности ноль, а у нас будет единица. Или в реальности единица, а у нас будет ноль.
Note: Will go into effect on next input change - Примечание: вступит в силу при следующем изменении входа
GPIO - номер GPIO. Для того что бы работало устройство должны обязательно указать на каком GPIO оно сидит. Если вы программируете в правилах (Rules) то это можно не указывать, но скорее всего если вы добрались до "Rules" то вы уже знаете что делаете.
Switch Type - тип переключателя, выбор обычный переключатель или диммер.
Switch Button Type - тип кнопки переключения, может быть
- Нормальный переключатель
- Push Button Active Low - Кнопка активна при низком уровне
- Push Button Active High - Кнопка активна при высоком уровне
Смысла этого не понимаю, и объяснить вам не могу, но наверное он есть
Send Boot state - отправить состояние при загрузке модуля, нужно если у вас переключатель с фиксацией, например клавиша обычного выключателя света.
Advanced event management Подраздел: "Расширенное управление событиями"
De-bounce (ms) -дребезг. Устраняет дребезг контактов, в течении этого времени, в мс, повторное нажатие восприниматься не будет.
Doubleclick event Двойное клик, обрабатывать двойной клик
Doubleclick max. interval (ms) -двойной клик макс. интервал, время в течении которого двойное нажатие будет воспринято как двойной клик.
Longpress event - длительное нажатие, обрабатывать длительное нажатие
Longpress min. interval (ms) - длительное нажатие минимальный интервал. Минимальное время за которое воспринимается нажатие как одно длительное нажатие.
Use Safe Button (slower) - используйте безопасную кнопку (медленнее). В этой непереводимой игре слов скрыт следующий смысл. Поставленная галочка изменит дискретизацию входного сигнала коммутатора со 100 мс на 200 мс. Входной сигнал будем поступать реже поэтому реакция на кнопку будет более заторможенной, медленней. Это установка просто включит вот такой вот антидребезг контактов.
Data Acquisition Подраздел: "Получение данных"
Send to Controller - отправить в контроллер, т. е. отправить еще куда то, например на сервер "Умного дома"
IDX Здесь указываем индивидуальный идентификатор, это важно при интеграции с сервером "Умного дома" Domoticz
Interval (sec) - Интервал отправки данных в секундах, для кнопки не обязательно указывать так как данные будут отправляется по факту изменения состояния.
Optional for this Device(необязательно для этого устройства)
Итого с одной подключенной кнопкой мы можем управлять тремя устройствами, при правильной настройки.
- Обычное нажатие
- Двойное нажатие (два быстрых клика)
- Длительное нажатие
Для того что бы зажигать светодиод (управлять нагрузкой) от кнопки почитайте статьи:
Возможно Вас заинтересует:
Прошивка ESP Easy
Подключение
Подписывайтесь на наш канал TehnoZet-2, там много интересного! Мы только развиваемся! Понравилась статья, хотите продолжения - ставьте лайк, жмите палец вверх!