Устройства (обычно Метки) могут быть оборудованы цифровыми выходами (DIGOUTx) для управления внешним оборудованием. Например, для включения ламп, реле и т.п.
DIGOUT'ы управляются напрямую с Сервера. Это управление производится через CoAP ресурс /act. При этом предполагается, что DIGOUT может быть во включенном (1) или выключенном (0) состоянии. Реальное значение этих состояний определяется аппаратурой метки. После включения (или сброса) устройства все выходы выключены.
В транспортных метках TG8V DIGOUT'ы представляют собой полупроводниковые ключи, замыкающие соответствующий выход на землю (на минус питания). В состоянии 0 ключ разомкнут, в состоянии 1 ключ замкнут.
Для включения DIGOUT'ов нужно послать на устройство CoAP запрос методом POST на ресурс /act с командами в параметрах запроса (Query Options).
Пример URI : /act?d1=5&d2=10
При работе через CoBench или CLI анкера знаки '?' и '&' могут быть заменены пробелами, они будут восстановлены при отправке: /act d1=5 d2=10
Параметры запроса должны содержать одну или несколько команд вида Name=Value. Здесь Name – название DIGOUT'а: d1, d2 и т.п.; Va lue – целое число секунд удержания этого DIGOUT'а во включенном состоянии (с момента получения запроса). Если Value
отрицательно (обычно -1), то соответствующий выход включается навсегда (т.е., до сброса устройства); чтобы его выключить, нужно послать запрос с Value=0.
Если DIGOUT находится во включенном состоянии в момент прихода нового запроса, он будет продолжать удерживаться включенным на время, указанное в этом запросе. Таким образом, запрос с Value=0 немедленно выключает DIGOUT.
Все команды одного POST-запроса применяются транзакционно: если все команды корректны, то все указанные DIGOUT'ы переключаются одновременно, иначе, если что-то некорректно (например, Name не существует на устройстве), то сообщение целиком отвергается (возвращается код 4.00 Bad Request), и никаких изменений с DIGOUT'ами не производится.

  • No labels