Обмен данными с устройством по HTTP протоколу методом GET |
Содержание
Общие данные
Общие данные
Отправка и запрос данных устройства по HTTP протоколу методом GET используется в следующих случаях:
При этом, устройства под управлением программы «Smacont-ESP», могут быть объединены в сеть через роутер, так и без него. Отправка данных на устройствоОтправка данных на устройство подразумевает под собой изменение значения какой-либо переменной «Vx». В зависимости от того, какое устройство «привязано» к переменной «Vx», будет выполнено то или иное действие, например, включение/отключение GPIO, изменение положения сервопривода, изменение яркости освещения (изменение скважности ШИМ), изменение цвета (изменение скважности ШИМ) и т.д. Для изменения значения переменной «Vx» необходимо отправить на устройство GET-запрос следующего формата:
http://192.168.1.207/set/?V10=1000.01&pwd=oper
http://192.168.1.207/set/?V10=1000.01&pwda=admin
В ответ на команду изменения переменной «Vx», устройство сформирует ответ в json-формате (см. рис. ниже). Изменение значения переменной «Vx» по HTTP протоколу методом GET Допускается в одном запросе указывать сразу несколько переменных «Vx», разделенных между собой, символом «&»: http://192.168.1.207/set/?V10=1000.01&V12=1&V14=0&V139=33.5789&pwd=oper Запрос данных от устройстваДля запроса данных от устройства, необходимо отправить на устройство GET-запрос следующего формата:
http://192.168.1.207/get/?p=status&pwd=oper
http://192.168.1.207/get/?p=status&pwda=admin
В ответ на команду изменения переменной «Vx», устройство сформирует ответ в json-формате (см. рис. ниже). Запрос данных от устройства по HTTP протоколу методом GET Чтение данных, с использованием действия «GET-запрос»Для изменения или для запроса значений переменных «Vx» другого устройства используется действие «GET-запрос».
Пример запроса значений переменных «Vx» устройством «А» от устройства «В».
С устройства «В» запрашивается массив переменных с номерами «V10»...«V23» включительно (14 переменных).
Внешний вид окна, для настройки действия на устройстве «А», представлен на рис. ниже. Запрос данных от устройства по HTTP протоколу методом GET
Далее необходимо заполнить два текстовых шаблона (в действии «GET-запрос» по умолчанию используется «T06» и «T07»), в которых будут храниться параметры «<хост>» и «[/ Текстовые шаблоны После заполнения текстовых шаблонов, окно настройки действия «GET-запрос» будет выглядеть как на рис. ниже. Действие «GET-запрос»
Следующим шагом, необходимо заполнить следующие поля:
Действие «GET-запрос» После выполнения действия «GET-запрос», значения переменных «V10»...«V23» включительно (14 переменных), от устройства «В», будут отображаться на устройстве «А», как переменные «V40»...«V53» включительно. Переменные «Vx» Запись данных, с использованием действия «GET-запрос»
Пример запроса изменения значения переменной «V10» устройством «А», на устройстве «В».
Аналогично примеру выше, необходимо заполнить два текстовых шаблона (в действии «GET-запрос» по умолчанию используется «T06» и «T07»), в которых будут храниться параметры «<хост>» и «[/ Текстовые шаблоны Как видно на рис. выше, в качестве значения переменной «V10», указано значение «$V10» (/set/?V10=$V10&pwd=oper). Данная запись означает, что при обработке текстового шаблона, вместо значения «$V10», будет подставлено текущее значение переменной «V10». Внешний вид окна, для настройки действия на устройстве «А», представлен на рис. ниже. Изменение данных по HTTP протоколу методом GET Одновременно с изменением значения переменной на устройстве «В», можно настроить запрос значений от устройства «В». Для этого необходимо заполнить параметры как и в примере выше. В этом случае, изменение значения переменной и запрос значений переменных от устройства «В» будет происходить одновременно. Созданное действие можно использовать в сценариях, например, вызывать действие при изменении переменной «V10». В этом случае, изменение переменной «V10» на устройстве «А» будет вызывать изменение значения переменной «V10» на устройстве «В». Состояние обменаПри необходимости, возможен контроль состояния обмена между устройствами. Для этого используется параметр «Состояние обмена», который можно «привязать», например, к переменной «V70» (см. рис. ниже). Состояние обмена
Значения параметра «Состояние обмена»:
В результате, можно создать сценарий, когда при ошибке обмена будет формироваться световая или звуковая сигнализация, или отправка тревожного сообщения по mqtt-протоколу. |
Программы
Прошивка «Smacont-ESP»:
«Программа Настройки»:
Телеграм каналНовостиЭнергонезависимая память (EEPROM) Переменные «Vx» (карта переменных «Vx») Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой Обмен данными. Open Monitoring Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25 Датчик температуры и влажности SHT30 (SHT31/SHT35) Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений Действие «termostat()». Термостат ESP-NOW. Датчик температуры и влажности с питанием от батареек Последовательные интерфейсы (UART, I2C, SPI) Управление одноканальным модулем реле |