MQTT - 設置 MQTT 客戶端與 Broker 通信
MQTT簡介
MQTT (Message Queuing Telemetry Transport),它是為IBM和Eurotech共同製定出來的protocol,在 MQTT的官網 可以看到它對MQTT的介紹:
其中它有幾個元素
Publisher: 它通常是帶有sensor的裝置(Ex. Ameba),經由網路上傳到MQTT-Broker,其中MATT-Broker是帶有MQTT service的資料庫
Subscriber: 它通常是可以觀看訊息的裝置,如筆電,手機等
Topic: 訊息的內容由Topic來分類,比如說Topic可以是PM2.5, 或是Temperature, 而手機可以選擇想要接收的Topic
材料準備
AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1
範例説明
“File” → “Examples” → “AmebaMQTTClient” →
“MQTT_Basic”
其中mqttServer就是MQTT-broker的位置,這邊使用 “test.mosquitto.org” 是 IBM 的 eclipse 提供的 MQTT sandbox,供開發者測試MQTT
clientId用來讓MQTT-broker辨識連上線的裝置
publishTopic是發佈的主題,例子裡是 “outTopic”, 而其它有subscribe “outTopic” 的裝置可以接收這份訊息。
publishPayload是發佈的內容
subscribeTopic是對MQTT-broker註冊要傾聽的topic
打開它之後,點選左邊的Connection的 “+”,並在填入這些欄位
Connection Name: 用來辨識這筆連線,可以任意填
Hostname: 這邊填入MQTT-Broker的server位置, “iot.eclipse.org”
Client ID: 它預設會隨機給你一個 ID,我們可以使用預設的ID