0
Answered

HTTP GET. Как следить за состоянием входа на контроллере?

Даниил 4 years ago in Products / AV & Custom Systems updated by Ekaterina (head of support) 4 years ago 3

Подскажите, пожалуйста.

На микроконтроллере есть вход, который следит за состоянием электрической цепи, соответственно на нем может быть состояние - лог.1 или лог.0,
Запрос состояния данного входа осуществляем командой - HTTP GET методом команда- ........ /GPIO/17/value.
Как данный запрос состояния выполнить в I2control и воздействовать на другие элементы интерфейса, при изменении состояния?

Состояние входа необходимо мониторить например каждые 5-10 сек

Наверное, как-то так ( период опроса 5 сек):

- дереве устройств или в скрипте должно быть создано устройство. Назовём его, скажем, My_device -

IR.SetTimout(5000, function()

{

var DEVICE = IR.GetDevice("My_device") ; /* пременная , хранящая ссылку на наше устройство (необязательно) */

DEVICE.Send(['GET,/GPIO/17/value,']); /////отправка запроса

IR.AddListener(IR.EVENT_RECEIVE_TEXT, DEVICE, function(text) /*создаётся слушатель события получения текста от устройства */

{

// здесь располагается код обработки полученных данных

// при необходимости извлечённые данные сохраняются в переменных для

// передачи функциям и дальнейшей работе в проекте

});


});

Прошу прощения, опечатался : не "IR.SetTimout(5000,....." , а "IR.SetInterval(5000,...."

И "-в дереве устройств или в скрипте должно быть создано устройство" определёнными , по крайней мере на момент выполнения запроса, параметрами локального подключения : IP-адрес, порт , логин и пароль если нужны).

Answered

Сергей предложил совершенно правильный подход, также хочу обратить внимание на новый метод SendEx, который значительно облегчает работу с НТТР запросами

http://dev.iridiummobile.net/Drivers_API#.SendEx