Обнаружение устройств в Orion

Я новичок в Fi-Ware и пытаюсь сделать с ним что-то полезное. В частности, я нашел некоторые команды для получения некоторой информации, но вы знаете, что при запросе вам нужен идентификатор устройства. Я не нашел четкой команды с помощью curl, чтобы получить список идентификаторов в SmartSantander.

Может ли кто-нибудь сказать мне, может ли он / она, и что это за команда? большое тебе спасибо


person adrian    schedule 15.07.2014    source источник


Ответы (3)


Я думаю, это будет зависеть от того, как EntityId моделируются в этом сценарии.

Идея может состоять в том, чтобы использовать команду контекста запроса, возвращающую все объекты, соответствующие заданному шаблону регулярного выражения (функции доступны только в поле идентификатора). В идеале EntityId должен иметь достаточное пространство имен, чтобы можно было выполнять такие запросы.

Примите во внимание параметр «attributeList», если вы не хотите получать всю информацию из всего набора ответов.

Больше информации:

https://forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/Publish/Subscribe_Broker_-_Orion_Context_Broker_-_User_and_Programmers_Guide#Query_Context_operation

person Perrolobo    schedule 15.07.2014
comment
Perrolobo, entityIds имеют следующий формат: ], id: urn:smartsantander:testbed:357, isPattern: false, тип: }, поэтому я попытался запросить информацию по urn:smartsantander:testbed:3.* как я видно по вашему URL. Я получаю ответ об ошибке, когда я это делаю. Моя полная команда: curl orion.lab.fi-ware.org:1026/ngsi10/contextEntities/urn:smartsantander:testbed:3.* -X GET -s -S --header 'Content-Type: application/json' --header 'Принять: application/json' \ --header X-Auth-Token: xxxx | питон -mjson.tool - person adrian; 16.07.2014
comment
Кажется, вы используете для этого удобные операции /REST/. Я бы порекомендовал использовать вариант примера, представленного в документации, то есть POSTing Json с regexp и isPattern, установленным в TRUE: (curl localhost:1026/NGSI10/queryContext -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' -d @- | python -mjson.tool) <<EOF { "entities": [ { "type": "Room", "isPattern": "true", "id": "Room.*" } ], "attributes" : [ "temperature" ] } EOF - person Perrolobo; 16.07.2014
comment
Хорошо @Perrolobo, я пробовал эту команду. На этот раз я получаю это сообщение curl: (7) Не удалось подключиться к локальному порту 1026: соединение отклонено. В другом сообщении я видел, что это может произойти, если вы не используете Orion. Мне не нужно было запускать его с другой командой. Я использую ubuntu, и должны быть какие-то проблемы с пакетами, потому что я не могу запустить Orion. - person adrian; 16.07.2014
comment
Я не даю вам точный пример для вашего варианта использования. Вам нужно будет адаптировать его. Попробуйте использовать целевой экземпляр Orion (orion.lab.fi-ware.org:1026/ngsi10/) вместо локального хоста и, конечно же, адаптируйте JSON к домену smartSantander. - person Perrolobo; 16.07.2014
comment
Помимо адаптации имени хоста к orion.lab.fi-ware.org (как правильно предлагает @Perrolobo), вам необходимо использовать правильный идентификатор и тип объекта (например, urn:smartsantander:testbed:3.*) и атрибуты. Далее должен присутствовать заголовок X-Auth-Token (иначе orion.lab.fi-ware.org отклонит ваш запрос). На этой странице есть информация для быстрого старта, которая может оказаться полезной: forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/Orion_Context_Broker-_Quick_Start_for_Programmers. В любом случае, я постараюсь предоставить более полную информацию об этом в отдельном ответе. - person fgalan; 16.07.2014
comment
Ссылка в предыдущем комментарии битая, и я не могу ее отредактировать, извините. Поэтому я снова опубликую здесь: tinyurl.com/orion-quickstart - person fgalan; 16.07.2014

Список различных типов сущностей на orion.lab.fi-ware.org можно найти в таблице в данный раздел руководства Orion Context Broker. В этой таблице вы можете увидеть различные доступные вам типы сущностей (например, santander:lux , santander:traffic и т. д.).

Затем, чтобы узнать все идентификаторы, принадлежащие данному типу, посмотрите этот вопрос и ответ на него. Обратите особое внимание на замечание о нумерации страниц (по умолчанию вы получите максимум 20 объектов).

Наконец, как только вы узнаете идентификаторы, вы можете получить их либо с помощью шаблонов (как описано в другом ответе на этот вопрос), либо непосредственно для идентификатора.

person fgalan    schedule 16.07.2014

Судя по тому, что я понял из комментариев в других ответах, похоже, что вы пытаетесь использовать удобные операции для получения списка сущностей по идентификатору и с использованием регулярных выражений.

Это просто не поддерживается (согласно это):

Невозможно использовать удобные операции для запроса списков сущностей, шаблонов сущностей или списков атрибутов.

Вы должны либо:

  • Используйте удобные операции, но запрашивайте по типу, чтобы получить список сущностей, или по идентификатору, чтобы получить отдельные сущности.
  • Используйте стандартные операции, которые позволяют использовать регулярные выражения в поле ID (например, предложенные Perrolobo).
person LeandroGuillen    schedule 27.08.2014