我一直在尝试连接Freeboard以可视化来自OCB的上下文信息,但是遇到了许多困难,这些困难使我无法从那里接收任何数据。我的想法是将Freeboard连接到OCB存在问题,因为在OCB的订阅列表中没有任何新条目,并且Freeboard中的数据源表明它从未更新。

docker - Freeboard的Orion数据源和Context Broker之间没有连接-LMLPHP

OCB作为docker容器打开。干舷在Docker主机中运行。

我尝试通过以下方式将ip设置为从docker提取的ip:

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

它给了我172.17.0.3,但是在那上面也没有用。我想它应该没有,因为只要我通过cUrl或Insomnia可以通过localhost:1026与OCB进行通信。我可以推送新实体,更新等等。

docker - Freeboard的Orion数据源和Context Broker之间没有连接-LMLPHP

尚未运行的累积服务器(link here)现在可以。但问题是,我自己添加了订阅,并且无法在localhost(回送接口(interface))上运行acc服务器,而无法在其他可用接口(interface)上运行acc服务器,然后将该接口(interface)的ip添加到我发送给OCB的订阅有效负载中。也许某处与Freeboard有冲突。

最佳答案

这里的问题与缺少CORS支持有关。一个简单的解决方案就是在启动Orion Context Broker时启用CORS功能,如here所述。

我对此主题进行了相当(实际上是不必要的)研究,并提出了针对此github post中描述的问题的解决方案。有一种代理服务器方法可以解决此问题。我想提出向Orion Context Broker添加CORS支持的建议,当发现它已经实现时,我感到非常惊讶。

有诸如thisthisthis之类的帖子,对于解决此问题非常有帮助。

但是,我有两个请求。我想,关于OCB和外围软件的后端和文档,@ fgalan现在是一个不错的选择。

  • 是否可以更加重视CORS和ACCESS-CONTROL-ALLOW-ORIGIN解决方案?其背后的原因是,它提供了OCB与Internet浏览器中运行的任何前端应用程序或站点(即Freeboard)之间的无缝连接。它不应该如此隐藏,以至于我在寻找其他东西时偶然遇到了问题的解决方案。我想把它放在我不知道其他可见位置的一些演练文档中。问题是,我花了两个星期的时间来解决它,毕竟,简单易用的解决方案就在我的 Nose 底下,寻求了不必要的解决方案。好消息是我在堆栈和git上都有良好的连接,因此已解决。滑倒Freeboard后,可能有人放弃了它。很遗憾,因为到目前为止,没有比Freeboard更好的可视化开源软件了。问题不仅仅在于Freeboard,正如我所说的,它涉及更多的前端应用程序和解决方案。当我们采用FIWARE的思维方式时,应该以不同的方式解决这些问题。
  • Freeboard的FIWARE数据源插件目前不值一毛钱。正如@fgalan在评论中指出的那样,它是为Orion Context Broker API的v1版本开发的,尚未更新。因此,它比想象的要复杂得多。正如OCB的文档所指出的那样,v1方法并不是真正的RESTfull。在对Freeboard的OCB插件进行了简短的代码审查之后,我可以说这不值得使用。据我了解,它应该仍然有效,因为OCB允许执行v1请求(但无论如何对我来说都不起作用),因此不赞成使用这些请求。我认为应该出现有关该主题的新帖子(不确定我应该与谁联系),因为this有点误导。使用不推荐使用的软件并散布与OCB交互的不良习惯有什么意义?

    我认为解决方案很简单。只需在Freeboard中使用JSON数据源。我了解在2015年没有RESTfull v2版本的OCB API的时候为Freeboard创建单个数据源插件的动机,但是现在有了,所以为什么不使用它呢?从那时起,我就摆脱了CORS的麻烦,在我看来,它的效果很好。如前所述,干舷提供了巨大的机会,同时易于设置和维护。它不应该被轻易丢弃。

    通过在Freeboard中对JSON有效负载使用GET请求,现在我们可以完全访问OCB中的上下文查询。只要我们使用应该使用的Freeboard(通过查询要显示的数据),它就不需要任何POST方法。投放
              ?options=keyValues
    

    到请求的URL,我们已经获得了一种非常智能和紧凑的方式来可视化来自Broker的数据。

    这就是我应该解决的问题。在我看来,2015年有关此主题的最新更新还不够,尤其是在开发出更好的方法以从OCB访问上下文数据的情况下。
  • 关于docker - Freeboard的Orion数据源和Context Broker之间没有连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51022502/

    10-16 04:05