Arduino. ТехноСфера. Шаг-2. Скетч для ESP-12F WeMos D1 WiFi. Распознаваемые команды. Группа-1

На предыдущую страницу…

Команды группы-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