Эта документация относиться к новой системе работы с GPIO, внедренной 12.02.22.
Документация работы с локальными GPIO: ESP8266 и ESP32 , Linux.
В mqtt названия топиков имели вид как outputX и inputX - сейчас gpioX.
Доступ состояниям GPIO через get запрос был по 2 адресам: http://[ip адрес]/gpioprintinput и http://[ip адрес]/gpioprint. Сейчас общий - http://[ip адрес]/gpioprint.
Новая версия систематизирует работу с GPIO внутри прошивки и позволяет добавлять новые GPIO(например новые расширители портов) быстро, при этом не требуется заботиться о их выводе в системах модуля.
GPIO в системе - это не только работа с локальными GPIO , но и работа с расширителями портов, управление опциями(например включение термостата) или вызов событий(например отправка sms)
Номера могут иметь диапазон от 0 до 254. Номер 255 зарезервирован как не активное действие.
Список используемых GPIO можно посмотреть на вкладке GPIO модуля.
Поддерживается 2 режима работы, выбирается нажатием соответствующей кнопки в интерфейсе вкладки GPIO:
Standart (Стандарт) - стандартный классический режим назначения номеров gpio, в некоторых опциях(в шестеренках) можно поменять номер во избежания конфликтов номеров, если есть пересечение номеров, то в списке будет отображена ошибка "Conflict".
Sorted(Сортировка) - новый режим работы, позволяющий назначить номера автоматически строго подряд - в этом случае пересечений номеров не будет. Номера GPIO могут меняться при изменении списка опций, а так же при изменении числа GPIO в опции D2D.
Номера GPIO использующиеся для вызова событий и не имеющих реализации чтения состояния помечаются в списке GPIO как "Control". Они не доступны по http get и по mqtt для отображения.
Статусы всех GPIO , кроме типов "Control" отправляются в сервисы MQTT, MajorDoMo, narodmon.ru, Zabbix. А в сервисах Domoticz, Wunderground.com, Thingspeak.com, Blynk требуется их выбор в настройках опции.
Отправка GPIO от D2D и VGPIO так же не передаются - исключение опция narodmon.ru(настраивается).
Для отображение состояния в конструкторах строк, в текстовых шаблонах и в других текстовых системах используется метрика _GPIOx_ , которая отображает 1 или 0 в зависимости от состояния, где х - номер GPIO.
Для установки значения через GET запрос требуется подать команду вида http://[ip адрес]/gpio?st=1&pin=12 , где st - необходимое состояние, значение равное 2 будет происходить инвертирование выхода. pin - номер GPIO, которым требуется управлять.
Дополнительные параметры для локальных GPIO:
&flash=1 - настройка запишется в энергонезависимую память.
&click=10 - инвертирует состояние через указанный промежуток времени в секундах, &mclick=10 - аналогично в миллисекундах.
Просмотреть состояние GPIO можно по адресу http://[ip адрес]/gpioprint.
GET запросы на данные адреса модуля требует ввод логина/пароля, если включена опция "Full Security".
Топики имеют вид login/hostname/gpioX , где Х - это номер GPIO.
Топик на запись имеет вид login/hostname/set/gpioX , если включен отдельный топик на запись. Очень рекомендуется !!!