10 常見MQTTBroker測試
(2021/10/17)
昨天上【iCShop】Teachable Machine AIoT 物聯網應用 線上課程,老師有介紹到幾款MQTT Broker,還有其使用的相關埠號,讓我觀念有比較清楚一點,今天做一些簡單的整理及測試,如下,供參
一、常見免費MQTT Broker
MQTTGO.io (20220608新增)
尤老大公司出品
mqttgo.io
TCP Port:1883
WebsocketPort:8000
網址:mqttgo.io:8000/mqtt
(2023/01/16更新)
tcp:mqttgo.io:1883
tcp/tls:mqttgo.io:8883
ws://mqttgo.io:8000/mqtt
wss://broker.mqttgo.io:8084/mqtt
上面資料測試結果(HIVEMQ、MQTTBox的使用於下方有介紹到)
HIVEMQ測試(只適用Websocket):8000連線成功
MQTTBox測試:1883成功、8000成功
自家的MQTTGO.io網頁工具(只適用Websocket):8000成功
.
HiveMQ
broker.hivemq.com 、broker.mqttdashboard.com 這兩個一樣
TCP Port:1883
WebsocketPort:8000
網址:broker.hivemq.com:8000/mqtt
好像未提供加密功能
上面資料測試結果(HIVEMQ、MQTTBox的使用於下方有介紹到)
HIVEMQ測試(只適用Websocket):8000成功
MQTTBox測試:1883成功、8000成功
Mosquitto
test.mosquitto.org
TCP Port:1883 / 8883(TLS,加密)
WebsocketPort:8080 / 8081(TLS)
網址:test.mosquitto.org:8080/mqtt
上面資料測試結果
HIVEMQ測試(只適用Websocket):8080成功、8081成功 (感覺比較不穩)
MQTTBox測試:1883 / 8883成功、8080/8081成功 (感覺比較不穩)
EMQX
broker.emqx.io
TCP Port:1883 / 8883(TLS)
WebsocketPort:8083 / 8084(TLS)
網址:broker.emqx.io:8083/mqtt
上面資料測試結果
HIVEMQ測試(只適用Websocket):8083、8084成功(很快)
MQTTBox測試:1883、8883成功、8083、8084成功
Eclipseprojects
mqtt.eclipseprojects.io
TCP Port:1883 / 8883(TLS)
WebsocketPort:
ws://mqtt.eclipseprojects.io:80/mqtt (預設80port)
wss://mqtt.eclipseprojects.io:443/mqtt (預設443port)
上面資料測試結果
HIVEMQ測試(只適用Websocket):80、443成功(很快)
MQTTBox測試:1883 / 8883、80、443都成功
paho8181
paho8181.cloudapp.net
TCP Port:1883 / 8883(TLS)
上面資料測試結果
HIVEMQ測試(只適用Websocket):無找到WebsocketPort資料
MQTTBox測試:1883/8883成功
Webduino
WebsocketPort:
ws://mqtt1.webduino.io/mqtt (預設80port)
wss://mqtt1.webduino.io/mqtt(預設443port)
Username: webduino
Passeord: webduino
上面資料測試結果
HIVEMQ測試(只適用Websocket):都連線沒成功,不知原因為何?
MQTTBox測試:ws、wws都成功
自架的
這可參考之前所介紹最簡單的自架MQTT伺服器的方法https://sites.google.com/site/wenyunotify/09-%E5%85%B6%E4%BB%96/01-%E6%9E%B6%E8%A8%ADmqtt%E4%BC%BA%E6%9C%8D%E5%99%A8?authuser=0
TCP Port:1883 (埠可自行設定)
WebsocketPort:8080(埠可自行設定)
上面資料測試結果
HIVEMQ測試(只適用Websocket):沒成功,因為使用了虛擬IP
MQTTBox測試:1883成功、8080連線沒成功
二、簡單的MQTT client工具
MQTTGO.io網頁工具(目前僅適用MQTTGO.io) (20220608新增)
尤老大公司出品
目前不支援加密(wws)
HiveMQ網頁工具(只適用Websocket)
加密與不加密的畫面如下:
MQTTBox (另外還有一套是MQTTlens,但我比較喜歡用MQTTBox)
幾種設定說明:
mqtt/tcp
2.mqtts/tls(加密)
3.ws
4.wws
只要是同一個網站,不管用什麼連線方式,訊息都可以相互連通
MQTT定義了0、1和2三個層級的QoS(QualityofService)服務品質
實際支援情況依Broker主機而定
0:最多傳送一次(at most once)
1:至少傳送一次(at least once)
0:確實傳送一次(exactly once)