无法通过 MQTT 将数据发送到 ThingsBoard 网关



我在一台PC上安装了ThingsBoard服务器(UBUNTU16.04(,在另一台PC上安装了ThingsBoard Gateway(UBUNTU18.04(,为了将数据发送到ThingsBoard Gateway,我在另一台PC上安装了Mosquitto MQTT代理。我按照配置指南将代理连接到网关和服务器(使用访问令牌和主机 IP(。

我将温度传感器连接到 ESP32。当我尝试通过 MQTT 将数据发送到网关时,数据没有到达网关。我在此处使用的主题是"v1/网关/遥测",以便发布数据。

我们可以使用网关设备 ID 发送数据吗? 如何使用主题、设备 ID 或使用设备访问令牌发送数据?(从设备(

所有PC都连接到同一网络(专用网络(。

我正面临这个问题,有人可以解决吗?

您需要在MQTT 代理和服务器之间创建一个代理层。

var mqtt = require('mqtt'), url = require('url');
var client = mqtt.connect('mqtt://localhost:1883',
{
username: '<username>',
password: '<password>'
});
console.log("Connected to MQTT Broker:- localhost” + client.toString());
var awsIot = require('aws-iot-device-sdk');
var device = awsIot.device({
keyPath:  Certificate key file path,
certPath: Certificate file path,
caPath:   Certificate root file path,
clientId: AWS Thing Name,
region:   AWS IoT Broker region,
});
device.on('connect', function ()
{
console.log("Connected to AWS IoT Broker:- " + device.toString());
});
client.on('connect', function()
{
//subscribe to a topic (#)
client.subscribe('#', function ()
{
client.on('message', function (topic, message, packet) {
console.log("Received :-" + message + " on " + topic);
device.publish(topic, message);
console.log("Sent :-" + message + " on " + topic);
});
});
});

这样的事情可能会对你有所帮助。

最新更新