- PVSM.RU - https://www.pvsm.ru -
Несколько разрработчиков, использующих сервис VIALATM [1] для работы с IOT объектами, обратились ко мне с просьбой реализовать простой http протокол. Ранее они использовали MQTT протокол, но в силу каких-то причин им было необходимо более простое решение. Протокол реализован. В этой статье его краткое описание.
Для поддержки портокола IOTV в сервисе зарезервирован порт 7746 (для работы по протоклу https следеут использовать порт — 7745).
Все запросы по протоколу IOTV должны содержать в заголовке (http header) атрибут «iotv-user». Если в настройках учетной записи «IOTV password» установлен, атрибут «iotv-password» в заголвке должен совпадать с этим значением, в противном случае он может быть опущен.
Все запросы должны содеражать обязательный атрибут«root».
К запросам может быть добавлен атрибут «time». Он должен быть установлен в формате UNIX STAMP (количество секунд с 1 января 1970 года). Если этот атрибут опущен, то временем события считается время поступления запроса на сервер. Все прочие возможные атрибуты зависят от того, как определен объект IOT в сервисе. В ответ на запрос возвращаются текущие значения всех атрибутов объекта
GET
Request: vialatm.com [1]:7746/?root=HOME&A1=5&B1=12
Response: A1=5&B1=12&C1=14
POST
Request: vialatm.com [1]:7746/
JSON
Data: {«A1»:«12»,«root»:«HOME»,«B1»:«44»}
Response: {«A1»:«12»,«B1»:«44»,«C2»:«12»}
XML
Data: <req><A1>73</A1><root>HOME</root><B1>87</B1></req>
Response: <resp><A1>73</A1><B1>87</B1><D1>88</D1></resp>
POST FORM
Data: A1=543&root=HOME&B1=12&
Response: command=12.4&A1=543&B1=12&C1=14
Для IOT объектов можно определить команды
В этом случае, когда задается команда для объекта, она посылается в ответе на IOTV запрос:
Примеры ответов на запросы в этих случаях:
GET
Request: vialatm.com [1]:7746/?root=HOME&A1=5&B1=12
Response: command=12.4&A1=5&B1=12&C1=14
POST
Request: vialatm.com [1]:7746/
JSON
Data: {«A1»:«12»,«root»:«HOME»,«B1»:«44»}
Response: {«command»:«12.4»,«A1»:«12»,«B1»:«44»,«C2»:«12»}
XML
Data: <req><A1>73</A1><root>HOME</root><B1>87</B1></req>
Response: <resp><command>12.4</command><A1>73</A1><B1>87</B1><D1>88</D1></resp>
POST FORM
Data: A1=543&root=HOME&B1=12&
Response: command=12.4&A1=543&B1=12&C1=14
Автор: Euler2012.com
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/mobile-development/262133
Ссылки в тексте:
[1] VIALATM: http://vialatm.com
[2] Источник: https://habrahabr.ru/post/335468/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.