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

时间:2018-06-25 11:33:28

标签: docker fiware-orion freeboard

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

The way I'm configuring datasource in Freeboard.

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

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

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

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

enter image description here

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

1 个答案:

答案 0 :(得分:0)

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

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

有些thisthisthis之类的帖子对解决此案非常有帮助。

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

  1. 可以进一步强调CORS和ACCESS-CONTROL-ALLOW-ORIGIN解决方案吗?其背后的原因是,它使OCB与Internet浏览器中运行的任何前端应用程序或站点(即Freeboard)之间实现了无缝连接。它不应该如此隐藏,以至于我在寻找其他东西时偶然遇到了问题的解决方案。我想把它放在我不知道其他可见位置的一些演练文档中。问题是,我花了两个星期的时间来解决它,毕竟,简单易用的解决方案就在我的眼皮底下。好消息是我在堆栈和git上都有良好的连接,因此已解决。滑倒Freeboard后,可能有人放弃了它。很遗憾,因为到目前为止,没有比Freeboard更好的用于可视化的开源软件了。而且问题不仅仅在于Freeboard,正如我所说的,它涉及更多的前端应用程序和解决方案。当我们采用FIWARE的思维方式时,应该以不同的方式解决这些问题。

  2. 用于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访问上下文数据的方法。