Нет связи между источником данных Freeboard для Orion и Context Broker - PullRequest
0 голосов
/ 25 июня 2018

Я пытался подключить Freeboard для визуализации контекстной информации из OCB, однако столкнулся с трудностями, которые мешают мне получать оттуда какие-либо данные. Я думаю, что есть проблема с подключением Freeboard к OCB, потому что в списке подписки OCB нет новых записей, а источник данных во Freeboard показывает, что он никогда не обновлялся.

The way I'm configuring datasource in Freeboard.

OCB включен в качестве док-контейнера. Freeboards запускаются в Docker Host.

Я попытался установить ip как ip, который я извлек из докера:

    sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' orion1

Это дало мне 172.17.0.3, но на этом он тоже не работал. Я предполагаю, что это не должно быть в любом случае, потому что я могу общаться с OCB по localhost: 1026, пока я делаю это через cUrl или Insomnia. Я могу выдвигать новые объекты, обновлять и т. Д.

enter image description here

Сервер накопления, который не работал ( ссылка здесь ), сейчас в порядке. Но дело в том, что я сам добавляю подписку и не могу запустить сервер acc на localhost (loopback-интерфейс), а скорее на другом доступном интерфейсе, затем добавляю ip этого интерфейса в полезную нагрузку подписки, которую я отправляю в OCB. Может быть, где-то конфликт с Freeboard.

1 Ответ

0 голосов
/ 07 августа 2018

Проблема была связана с отсутствием поддержки CORS.Простое решение для этого - просто включить функциональность CORS при запуске Orion Context Broker, как описано здесь .

Я провел довольно (фактически ненужное) исследование по этой теме и придумал исчерпывающее решение проблемы, которое описано в этом сообщении github .Для решения проблемы используется прокси-сервер.Я хотел предложить добавить поддержку CORS в Orion Context Broker, и был приятно удивлен, когда узнал, что она уже реализована.

Есть сообщения типа , это , , это и , это , которые были очень полезны при решении дела.

Однако у меня есть два запроса .Я думаю, @fgalan прямо сейчас касается человека, касающегося серверной части и документации OCB и периферийного программного обеспечения.

  1. Может ли быть более сильный акцент на CORS и доступ к источнику контроля доступа?Причиной этого является то, что он обеспечивает бесшовную связь между OCB и любым внешним приложением или сайтом (например, Freeboard), работающим в интернет-браузере.Это не должно быть настолько скрытым, чтобы я случайно нашел решение своих проблем, когда искал что-то еще.Я полагаю, помещая это в некоторую документацию прохождения, я не знаю другого видимого места.Проблема в том, что я потратил две недели, пытаясь ее решить, и в конце концов пошел к чрезмерному и ненужному решению, в то время как легкое и доступное было у меня под носом.Хорошо, что у меня хорошее соединение в стеке и git, поэтому оно было решено.Вероятно, есть люди, которые отказались от Freeboard после любой ошибки.И это позор, потому что пока нет лучшего программного обеспечения с открытым исходным кодом для визуализации, чем Freeboard.И проблема не только во Freeboard, как я уже говорил, это касается еще многих интерфейсных приложений и решений.Поскольку мы придерживаемся образа мышления FIWARE, эти вещи должны решаться по-разному.

  2. Плагин источника данных FIWARE для Freeboard на данный момент не стоит ни копейки.Как отметил в комментарии @fgalan, он был разработан для версии Orion Context Broker API версии 1 и не обновлялся.Поэтому это намного сложнее, чем должно быть.Как справедливо указано в документации OCB, подход v1 на самом деле не похож на REST.После краткого обзора кода плагина OCB для Freeboard я могу сказать, что использовать его не стоит.Насколько я понимаю, он все еще должен работать, потому что OCB позволяет выполнять запрос v1 (но он все равно не работает), этот запрос не рекомендуется.На мой взгляд, должен появиться новый пост по теме (не уверен, к кому мне обратиться по этому поводу), потому что это немного вводит в заблуждение.Какой смысл использовать часть программного обеспечения, которая устарела и распространяет вредные привычки в отношении взаимодействия с OCB?

    Решение для этого, на мой взгляд, простое.Просто используйте источник данных JSON во Freeboard.Я понимаю мотивацию создания отдельного плагина источника данных для Freeboard в 2015 году, когда не было версии OCB API для RESTfull v2, но сейчас есть такая, так почему бы не использовать ее?Я использовал с тех пор, как избавился от трудностей с CORS, и, на мой взгляд, он работает довольно хорошо.Надводный борт, как я уже говорил ранее, предоставляет большие возможности при простоте настройки и обслуживания.Это не должно быть оставлено так легко.

    Используя запрос GET для полезной нагрузки JSON во Freeboard, теперь у нас есть полный доступ к запросу контекста из OCB.Он не нуждается в каких-либо методах POST, если мы используем Freeboard так, как он должен использоваться (путем запроса данных для визуализации).Добавьте

              ?options=keyValues
    

    к URL-адресу запроса, и мы получили действительно умный и компактный способ визуализации данных, поступающих от Брокера.

    Я так думаю, это должно быть решено. По моему мнению, последних обновлений по этой теме в 2015 году недостаточно, особенно если бы были разработаны более совершенные методы доступа к контекстным данным из OCB.

...