0

我试图创建一个干舷仪表板。我有一个带有四个传感器的 Arduino,它们通过 mqtt 发送信息。所以,我在 Node-RED 上生成一个 JSON 来响应 /saida 中的获取请求。

[{"id":"3f699b5.c91f064","type":"http response","z":"c7d4e8c8.509218","name":"","x":1184,"y":589,"wires":[]},{"id":"a3ed6250.1d64","type":"json","z":"c7d4e8c8.509218","name":"","x":1120.5,"y":540,"wires":[["3f699b5.c91f064"]]},{"id":"971f41c1.a1265","type":"function","z":"c7d4e8c8.509218","name":"","func":"msg.payload = {\"temperatura\":\"25\"}\nreturn msg;","outputs":1,"noerr":0,"x":1015.5,"y":584,"wires":[["a3ed6250.1d64"]]},{"id":"ed9f7a2a.604728","type":"http in","z":"c7d4e8c8.509218","name":"http in","url":"/saida","method":"get","swaggerDoc":"","x":850,"y":582,"wires":[["5b40d38c.5cc7ec","971f41c1.a1265"]]}]

此刻,我正在使用静态 JSON 进行测试。我有一个使用主机,如:

my-public-host:1880/saida -> {"temperatura":"25"}

我通过代理访问它,JSON 返回正常。在 ping.eu 端口检查中,端口已打开。我确保我的主机是公开的。

但是在我的干板上,我将它添加为数据源,然后它说“从不”更新,我无法读取 JSON 信息。

干舷添加数据源

我应该怎么做才能解决它?

4

2 回答 2

2

我解决了我的问题。

freeboard.io 中有一个错误。thingproxy.freeboard.io 不起作用。浏览器不允许 freeboard.io 对非 https 的其他链接进行 AJAX 请求。此外,浏览器不允许向其他主机发出 AJAX 请求。

有两种解决方案:

  1. 在您的主机上使用站点锁定并将 Access-Control-Allow-Origin 添加到您的响应标头中。
  2. 使用 https 代理和浏览器扩展来允许交叉访问。

再见!

于 2016-07-21T01:32:40.010 回答
0

正确的。

如果数据源是基于flask的应用程序,您可以按照下面的链接进行freeboard read。

https://flask-cors.readthedocs.io/en/latest/

于 2016-08-16T23:59:28.267 回答