Команды группы-1
Команды, выполняемые Устройством (ESP-12F WeMos D1 WiFi)
Список команд в группе-1:
- who_is_it
- led_builtin_sys
- serial_readln_delay
- pin_mode
- pin_read
- pin_write
- pins_vals_get
Команда who_is_it
Назначение команды: получить значение ID Устройства, «сидящего» на данном IP в сети.
Пример.
Команда: http://192.168.0.102/who_is_it
Ответ: ED0EBECDA1A74DDB8B666351F57734D2
См., также, рисунок ниже.
В случае ошибочной команды, например:
http://192.168.0.102/whoisit
Следует ответ:
ED0EBECDA1A74DDB8B666351F57734D2:
File Not Found
URI: /whoisit
Method: GET
Arguments: 0
*****
Команда led_builtin_sys
Назначение команды: Отработка запроса на изменение значения переменной LED_BUILTIN_SYS (Флаг, определяющий режим использования встроенного светодиода). Если true, то встроенный светодиод используется для специальных целей (при поступлении очередной команды он «зажигается», после ее исполнения «гасится»).
Входной параметр:
входной параметр определяет новое значение переменной.
Допустимые значения: 1, true, 0, false
Пример.
Команда: http://192.168.0.102/ led_builtin_sys?true
Ответ:
ED0EBECDA1A74DDB8B666351F57734D2: OK; led_builtin_sys; 1
где
ED0EBECDA1A74DDB8B666351F57734D2 — ID устройства;
OK — команда выполнена успешно;
led_builtin_sys — команда;
1 — новое значение переменной
Если входной параметр не задан, то возвращается сообщение об ошибке:
ED0EBECDA1A74DDB8B666351F57734D2: Error. led_builtin_sys. Value is bad
Еще правильные примеры:
http://192.168.0.102/led_builtin_sys?1
http://192.168.0.102/led_builtin_sys?TRUE
http://192.168.0.102/led_builtin_sys?0
http://192.168.0.102/led_builtin_sys?FALSE
*****
Команда serial_readln_delay
Назначение команды: Отработка запроса на получение или изменение значения переменной SERIAL_READLN_DELAY (время ожидания ответа от сопряженного Arduino UNO, миллисекунд).
Входной параметр (если он задан) определяет новое значение переменной.
Допустимые значения: >= 500.
Входной параметр имеет следующий формат:
val=Значение
где
val — имя параметра (имя параметра может быть любым — в разумных пределах);
Значение — новое значение переменной (целое число >=500).
Если входной параметр не задан, то возвращается текущее значение переменной.
Пример-1.
http://192.168.0.102/serial_readln_delay
Ответ:
ED0EBECDA1A74DDB8B666351F57734D2: OK; serial_readln_delay; SERIAL_READLN_DELAY=5000
где
ED0EBECDA1A74DDB8B666351F57734D2 — ID устройства;
OK — команда выполнена успешно;
serial_readln_delay — команда;
SERIAL_READLN_DELAY — имя переменной;
5000 — текущее значение переменной
Пример-2.
http://192.168.0.102/serial_readln_delay?val=2000
Ответ:
ED0EBECDA1A74DDB8B666351F57734D2: OK; serial_readln_delay; SERIAL_READLN_DELAY=2000
где
ED0EBECDA1A74DDB8B666351F57734D2 — ID устройства;
OK — команда выполнена успешно;
serial_readln_delay — команда;
SERIAL_READLN_DELAY — имя переменной;
2000 — новое значение переменной
В случае некорректного значения параметра — переменной SERIAL_READLN_DELAY присваивается минимальное значение (500).
Например:
http://192.168.0.102/serial_readln_delay?val=abc
Ответ:
ED0EBECDA1A74DDB8B666351F57734D2: OK; serial_readln_delay; SERIAL_READLN_DELAY=500
*****
Команда pin_mode
Назначение: Установить режим заданного Пина (Input или Output).
Входной параметр:
входной параметр имеет следующий формат:
Пин=Значение
где
Пин — идентификатор пина;
Значение — идентификатор режима пина.
Например:
D8=OUTPUT
LED_BUILTIN=OUTPUT
Допустимые значения для идентификатора Пина:
цифровые пины — интервал значений D0 — D15;
встроенный светодиод — LED_BUILTIN;
аналоговый вход — A0.
Допустимые значения для идентификатора Значение (режим пина):
INPUT;
OUTPUT.
Примеры:
http://192.168.0.102/pin_mode?LED_BUILTIN=OUTPUT
http://192.168.0.102/pin_mode?D8=OUTPUT
http://192.168.0.102/pin_mode?D10=INPUT
Ниже — ответы (соответствующие примерам выше):
ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_mode; 2; OUTPUT ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_mode; 0; OUTPUT ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_mode; 15; INPUT
В случае некорректной команды — следуют соответствующие сообщения об ошибках.
Например:
ED0EBECDA1A74DDB8B666351F57734D2: Error. pin_mode. D55. Pin number is bad ED0EBECDA1A74DDB8B666351F57734D2: Error. pin_mode. 15. +Pin mode is bad
*****
Команда pin_read
Назначение: Получить текущее состояние заданного Пина
Входной параметр:
входной параметр — номер Пина (см. допустимые значения в описании команды pin_mode).
Примеры:
http://192.168.0.102/pin_read?LED_BUILTIN
http://192.168.0.102/pin_read?D8
http://192.168.0.102/pin_read?A0
Ниже — ответы (соответствующие примерам выше):
ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_read; 2; 1 ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_read; 0; 1 ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_read; 17; 9
В случае некорректной команды — следует соответствующее сообщение об ошибке.
Например:
ED0EBECDA1A74DDB8B666351F57734D2: Error. pin_read. A1. Pin number is bad
*****
Команда pin_write
Назначение: Установить заданное значение для заданного Пина.
Входной параметр:
входной параметр имеет следующий формат:
Пин=Значение
где
Пин — идентификатор пина ( см. допустимые значения в описании команды pin_mode);
Значение — устанавливаемое значение.
Например:
D8=LOW
LED_BUILTIN=0
D8=1
A0=183
Допустимые значения для идентификатора Значение:
для цифровых пинов: 0 (FALSE), 1 (TRUE);
для аналогового: любое целочисленное значение (не контролируется).
Примеры:
http://192.168.0.102/pin_write?LED_BUILTIN=LOW
http://192.168.0.102/pin_write?LED_BUILTIN=HIGH
http://192.168.0.102/pin_write?D8=1
http://192.168.0.102/pin_write?A0=183
Ниже — ответы (соответствующие примерам выше):
ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_write; 2; 0 ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_write; 2; 1 ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_write; 0; 1 ED0EBECDA1A74DDB8B666351F57734D2: OK; pin_write; 17; 183
В случае некорректной команды — следуют соответствующие сообщения об ошибках.
Например:
ED0EBECDA1A74DDB8B666351F57734D2: Error. pin_write. A3. Pin number is bad
ED0EBECDA1A74DDB8B666351F57734D2: Error. pin_write. 0. Value is bad
*****
Команда pins_vals_get
Назначение команды: получить состояния (значения) на всех Пинах Устройства.
Пример.
Команда: http://192.168.0.102/pins_vals_get
Ответ (в одной строке):
ED0EBECDA1A74DDB8B666351F57734D2: <[ED0EBECDA1A74DDB8B666351F57734D2; pin_3=0; pin_1=0; pin_16=0; pin_5=1; pin_4=1; pin_14=1; pin_12=0; pin_13=1; pin_0=1; pin_2=0; pin_15=0; pin_13=1; pin_12=0; pin_14=1; pin_4=1; pin_5=1; pin_17=9;]>
Формат «ответа» аналогичен тому, что возвращается в ответ на команду serial_readln.
*****
Упражнение-1. Желающие могут закрепить материал и самостоятельно выполнить следующую последовательность команд: http://192.168.0.102/led_builtin_sys?0 http://192.168.0.102/pin_read?LED_BUILTIN http://192.168.0.102/pin_write?LED_BUILTIN=LOW http://192.168.0.102/pin_read?LED_BUILTIN http://192.168.0.102/pin_write?LED_BUILTIN=HIGH http://192.168.0.102/pin_read?LED_BUILTIN http://192.168.0.102/pin_write?LED_BUILTIN=0 http://192.168.0.102/pin_read?LED_BUILTIN http://192.168.0.102/pin_write?LED_BUILTIN=1 http://192.168.0.102/pin_read?LED_BUILTIN
Упражнение-2. Желающие могут закрепить материал и самостоятельно выполнить следующее задание: 1. Собрать схему, приведенную на рисунке ниже (подключить светодиод к пинам D8 и GND). 2. Выполнить следующую последовательность команд: http://192.168.0.102/pin_mode?D8=OUTPUT http://192.168.0.102/pin_read?D8 http://192.168.0.102/pin_write?D8=LOW http://192.168.0.102/pin_read?D8 http://192.168.0.102/pin_write?D8=HIGH http://192.168.0.102/pin_read?D8 http://192.168.0.102/pin_write?D8=0 http://192.168.0.102/pin_read?D8 http://192.168.0.102/pin_write?D8=1 http://192.168.0.102/pin_read?D8
Появилась обновленная версия скетча. См. здесь…
Дата: 03.11.2021