GPIO (обновлено: 30 Apr 2021, 13:25:00)

Поддержка GPIO. Чтение GPIO и управление реле.

Управлять gpio можно http get командой http://[ip адрес]/gpio?st=1&pin=12 - этим Вы установите на 12 GPIO логическую единицу. А так же используя  опции Web key и Gpio key.

Дополнительные параметры:

&flash=1 - настройка запишется в энергонезависимую память.

&click=10 - инвертирует состояние через указанный промежуток времени в секундах, &mclick=10 - аналогично в миллисекундах.

Просмотреть состояние GPIO можно по адресу http://[ip адрес]/gpioprint.

Режим чтения состояния gpio можно включить выбрав режим input. При этом состояние gpio можно будет мониторить в сервисах narodmon, MajorDoMo, а так же на страничке http://[ip адрес]/gpioprintinput



Описание GPIO на ESP8266

ESP8266 имеет 15 полноценных GPIO выходов, 6 из которых заняты микросхемой flash памяти.

При этом GPIO 0,1,2,3,15 имеют системные функции и имеют ограничения при использовании - не рекомендуется их использовать для сухого контакта, кнопок, прерываний (хотя в некоторых случаях работать будет).

Для штатной работы модуля ESP8266 GPIO 0 и 2 не должны быть подтянуты к минусу, а 1 к плюсу при старте модуля.

GPIO 15 для старта должен быть подтянут к минусу через резистор 10 кОм. GPIO 1 - TX. GPIO 3 - RXD.

GPIO 16 на ESP8266 используется только для режима OUTPUT (выход). Подключение датчиков и других устройств к этому выводу невозможно!!!

Описание GPIO на ESP32

ESP32 Имеет больше GPIO. Номера выше 33 невозможно настроить на выход. GPIO 0 при GND переключает модуль в режим прошивки. GPIO12 нельзя подтягивать к GND. Подробнее в документации.




Карта GPIO модуля

GPIOОписание
0-5,12-16GPIO самого модуля ESP8266
6GPIO занят под flash память, но используется как установочный
7-11GPIO заняты под flash память
20-119VGPIO удаленных модулях
120, 121GPIO SONOFF DUAL
120-135Управление силовыми модулями NooLite
140-149Remap gpio RCswitch 433/315
150-160Управление интернет радио (только для ESP32)
161-169Отправка sms/email шаблонов на email. в Телеграм, ICQ и тд..
180-187MPR121
188Вывод на матрицы первой строки конструктора строк.
189Событие исходящего звонка у GSM модуля
190-193Произношение фраз и времени через MP3 UART или MP3 плеер на RTOS прошивках
194-197Управление Stepper
198Вызывает событие старта бегущей строки LED дисплеев
199Управление подсветкой дисплеев LCD и OLED
200-215Ремап MCP23017
219

on/off Nextion

220-227Ремап PCF8574 
230-245Ремап 74HC595


Настройка встроенных GPIO









На вкладке GPIO можно установить назначение выводов: Можно выбрать как INPUT или INPUT EVENT (для сухого контакта) так и OUTPUT, INVERT OUTPUT (для реле, управляемые по минусу). Состояние INPUT и INPUT EVENT у GPIO можно отследить на страничке http://[ip адрес]/gpioprintinput , в MQTT, а так же на серверах narodmon, flymon.net, MajorDoMo. Аналогично можно посмотреть состояние GPIO и для режима OUTPUT на вкладке http://[ip адрес]/gpioprint .

Режим INPUT EVENT (добавлен 22.11.2020) , кроме настройки вывода на вход позволяет отправлять немедленно измененное состояние данного GPIO на сервера. (Опция тестовая)

Управлять состоянием gpio можно командой вида http://[ip адрес]/gpio?st=1&pin=12 - этим Вы установите на GPIO12 логическую 1. При установке &st=2 будет происходить инвертирование GPIO. Если дописать к команде &flash=1 ,то настройка запишется в энергонезависимую память. &click=10 - инвертирует состояние через 2 секунды. Например http://[ip адрес]/gpio?st=1&pin=5&click=10 включит GPIO5 на 10 секунд. &mclick - аналогично в миллисекундах. 

GET запросы на данные адреса модуля требует ввод логина/пароля, если включена опция "Full Security".

При подключении устройств, датчиков на данной вкладке настройка этих GPIO не требуется.

Обратите внимание, что на некоторых китайских модулях GPIO 4 и 5 могут быть перепутаны.


Сохранение состояния GPIO в энергонезависимую память

Кроме опции &flash=1 в GET запросе доступно сохранение состояния GPIO на постоянной основе из всех функций модуля через настройку на вкладке GPIO. Для этого необходимо выбрать соответствующий GPIO, указать его режим и установить опцию flash, рядом в списке с GPIO появится метка F

Крайне не рекомендуется включать режим flash для GPIO используемых для активных изменений состояния например в термостате или опции logic во избежания быстрого износа flash памяти модуля.

Установочный GPIO

GPIO 6 реализован как установочный , его состояние можно установить стандартно GET командой, из планировщика заданий, логики, конструктора кода.  

Читать этот GPIO можно из Logic и из конструктора кода.

Суть опции - обмен состояния между модулями прошивки.