You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自建Freeboard实例如何对接PubNub?MQTT插件尝试失败求助

自建Freeboard对接PubNub的解决方案

你之前尝试用MQTT插件连接PubNub走不通其实很正常——PubNub虽支持MQTT,但需要额外配置网关,且Freeboard的MQTT插件和PubNub的参数匹配容易出问题。更简单可靠的是直接用Freeboard的PubNub专属支持,下面给你两种可行方案:

方案一:使用Freeboard内置PubNub数据源(推荐)

如果你的Freeboard是官方标准版本,默认已经集成了PubNub数据源支持,步骤如下:

  • 打开仪表盘,点击右上角+ ADD按钮,选择DATASOURCE
  • 在数据源类型下拉菜单里找到PubNub(如果没看到,可检查Freeboard版本,或手动引入PubNub插件)
  • 填写核心配置参数:
    • Subscribe Key:你PubNub账号的订阅密钥(在PubNub控制台的应用详情里能找到)
    • Channel:需要订阅的PubNub频道名称
    • 可选:如果消息加密,补充对应的Cipher Key
  • 点击SAVE完成配置,之后就能在面板添加widget,选择这个数据源并绑定消息字段展示数据了

方案二:自定义JavaScript数据源对接

如果你的Freeboard版本没有内置PubNub支持,或需要更灵活的消息处理,可采用自定义JS数据源:

  1. 点击+ ADD -> DATASOURCE,选择JavaScript类型
  2. 在代码编辑器中输入以下代码(替换成你的PubNub密钥和频道):
(function() {
    // 初始化PubNub客户端
    var pubnub = new PubNub({
        subscribeKey: "你的PubNub订阅密钥"
    });

    // 订阅目标频道
    pubnub.subscribe({
        channels: ["你的频道名称"]
    });

    // 监听消息并同步给Freeboard
    pubnub.addListener({
        message: function(message) {
            freeboard.updateDatasource(this, message.message);
        }
    });

    // 页面关闭时取消订阅(可选)
    return {
        onClose: function() {
            pubnub.unsubscribe({
                channels: ["你的频道名称"]
            });
        }
    };
}());
  1. 若Freeboard未加载PubNub SDK,需先在仪表盘SETTINGS的External Scripts中添加SDK链接:https://cdn.pubnub.com/sdk/javascript/pubnub.7.2.0.min.js(可替换为最新版本)
  2. 保存数据源后,即可在widget中绑定字段展示数据

常见问题排查

如果配置后收不到数据,优先检查:

  • PubNub的订阅密钥、频道名称是否和数据发送端完全一致
  • 你的主机能否正常访问PubNub服务器(可通过curl测试:curl https://ps.pndsn.com/v2/subscribe/你的订阅密钥/你的频道/0/0,查看是否有正常响应)
  • 自定义JS方案下,浏览器控制台是否有加载报错,确认PubNub SDK已正确引入

内容的提问来源于stack exchange,提问作者Marwan Al-Aqili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:03:41