将 MQTT 连接到云

物联网 MQTT
2021-06-11 09:14:22

在 Windows 7 上安装了mosquitto 1.5.7并使其在本地主机上成功订阅和发布,但 mosquitto 无法连接到 ubidot 发布

mosquitto_pub -h "things.api.ubidots.com" -t "/v1.6/devices/plc" -u "token user" -p 1883 -q 1 -m '{"water level":17}' 

给出结果

“Unable to connect (Lookup error.).

并且在尝试时

mosquitto -c configfile

结果是

Error: Unable to open config file
Error found at configfile:0.
Error: Unable to open configuration file

我需要将 MQTT 连接到 OPC 服务器,以便将我的 PLC 连接到物联网。

当我输入mosquitto-v 时,我收到以下消息:

C:\Program Files\mosquitto>mosquitto -v
1550907715: mosquitto version 1.5.7 starting
1550907715: Using default config.
1550907715: Opening ipv6 listen socket on port 1883.
1550907715: Error: Only one usage of each socket address (protocol/network address/port) is normally permitted.
1个回答

首先,当您尝试向其发布things.api.ubidots.com失败时,因为该主机名不是有效的主机名,它不会解析为 IP 地址(您可以使用 进行测试nslookup things.api.ubidots.com)。

其次,您传递给 mosquitto 的配置文件需要存在,并且需要位于您从中运行命令的同一目录中,或者需要是完整路径。在给出的例子configfile中不存在所以 mosquitto 不会启动。

第三,当你运行mosquitto -v时,它试图以默认设置启动,它失败了,因为 mosquitto 已经在运行。当您在 Windows 上安装 mosquitto 时,它会将其自身安装为 Windows 服务并自动启动,这就是您无法连接到端口 1883 的原因,因为该服务已经绑定到该端口。