0
Answered
HTTP GET. Как следить за состоянием входа на контроллере?
Даниил 8 years ago
in Products / AV & Custom Systems
•
updated by Ekaterina (head of support) 8 years ago •
3
Подскажите, пожалуйста.
На микроконтроллере есть вход, который следит за состоянием электрической цепи, соответственно на нем может быть состояние - лог.1 или лог.0,
Запрос состояния данного входа осуществляем командой - HTTP GET методом команда- ........ /GPIO/17/value.
Как данный запрос состояния выполнить в I2control и воздействовать на другие элементы интерфейса, при изменении состояния?
Состояние входа необходимо мониторить например каждые 5-10 сек
Customer support service by UserEcho
Наверное, как-то так ( период опроса 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-адрес, порт , логин и пароль если нужны).
Сергей предложил совершенно правильный подход, также хочу обратить внимание на новый метод SendEx, который значительно облегчает работу с НТТР запросами
http://dev.iridiummobile.net/Drivers_API#.SendEx