Локальные GPIO (обновлено: 21 Dec 2022, 07:07:47)

Эта документация относится к работе с локальными GPIO на модулях ESP8266 и ESP32.

Опция необходима для настройки GPIO для режимов вход или выход - подключение реле или других коммутирующих устройств, а так же "сухих" контактов. Для подключения цифровых датчиков или устройств опция не применяется.

Эта опция обязательна к настройке в зависимости от использования(на вход или выход), например в термостатах или планировщиках заданий.

Для работы общим принципом работы с GPIO рекомендуется прочитать статью 

Для работы с GPIO в системах Linux имеется отдельная статья.



Описание 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 можно установить назначение выводов: Можно выбрать как INPUT или INPUT EVENT (для сухого контакта) так и OUTPUT, INVERT OUTPUT (для реле, управляемые по минусу). Режим INPUT EVENT , кроме настройки вывода на вход позволяет отправлять немедленно измененное состояние данного GPIO на сервера.

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


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

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

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


Чтение и управление локальными GPIO описана в общей статье про GPIO


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

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

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

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



Примеры распиновки некоторых плат