OpenWRT mosquitto_pub版本似乎不支持TLS,但我的MQTT代理需要TLS

时间:2018-04-20 00:17:15

标签: mosquitto google-cloud-iot

我解决了我的问题,请查看此问题的最后解决方案。

是一个Mosquitto | MQTT noob,所以我为随后的一切道歉。

安装的蚊子例如Ubuntu和一切正常,我可以按照我的心意做这件事:

mosquitto_pub \
--host mqtt.googleapis.com \
--port 8883 \
--id ${LONG_REGISTRY}/devices/${DEVICE} \
--username unused \
--pw ${PASSWORD} \
--cafile /roots.pem \
--tls-version tlsv1.2 \
--protocol-version mqttv311 \
--debug \
--qos 1 \
--topic /devices/${DEVICE}/events \
--message "$(date --rfc-3339=seconds) Hello Henry!"

我想从Onion Omega2设备执行等效操作,并使用运行openwrt-x86-generic-rootfs的容器作为它的开发代理(可能是问题#1)

docker run -i -t openwrt-x86-generic-rootfs /bin/ash
mkdir -p /var/lock
opkg update
opkg install mosquitto mosquitto-client libmosquitto

然后,我有mosquitto_pubmosquitto_sub,但上面的Ubuntu版本版本不同,不支持-f--flag格式的标记。这些工具似乎没有提供任何版本信息。

我认为这些版本已经过时,但我不知道我是否可以更新到比上面opkg install更新的内容(问题#2)。

与Unix示例一样,我想要连接的Google Cloud IoT代理需要TLS(不是相互),但OpenWRT Mosquitto客户端似乎不包含允许TLS的选项。不等于--cafile。没有这个,我想我被封锁了。 (问题#3)。

问题:

  • Onion Omega2设备上的Mosquitto是否支持TLS?
  • OpenWRT Mosquitto客户端是否已过时?我可以升级吗?
  • 我有办法使用TLS将洋葱连接到谷歌的MTQQ吗?

谢谢!

在Onion Omega2设备上,Mosquitto安装为我提供了不同/当前版本的工具,其中包含cafile标志,这对我有用。奇怪的是,这个版本的工具提供了例如规定的帮助。 -u但该工具会接受--username

所以,我能够在Omega2上运行以下命令,两者都适合我:

mosquitto_pub \
--host mqtt.googleapis.com \
--port 8883 \
--id ${LONG_REGISTRY}/devices/${DEVICE} \
--username unused \
--pw ${PASSWORD} \
--cafile /roots.pem \
--tls-version tlsv1.2 \
--protocol-version mqttv311 \
--debug \
--qos 1 \
--topic /devices/${DEVICE}/events \
--message "Hello Henry!"

mosquitto_sub \
--host mqtt.googleapis.com \
--port 8883 \
--id ${LONG_REGISTRY}/devices/${DEVICE} \
--username unused \
--pw ${PASSWORD} \
--cafile /roots.pem \
--tls-version tlsv1.2 \
--protocol-version mqttv311 \
--debug \
--qos 1 \
--topic /devices/${DEVICE}/config

其中:

LONG_REGISTRY=projects/${PROJECT}/locations/${REGION}/registries/${REGISTRY}

并回答我的问题:

  • Onion Omega2上安装的Mosquitto工具支持TLS
  • 我(假设)OpenWRT Mosquitto客户端已过时;它的不同之处
  • 是的,以上示例使用Cloud IoT演示发布和使用

我不是云物联网中的Google员工,我认为我最需要Mosquitto的帮助。

0 个答案:

没有答案