Ameba Arduino: [RTL8722CSM] [RTL8722DM] [RTL8722DM MINI] 使用 MQTT over TLS

準備

  • AmebaD [RTL8722DM / RTL8722CSM / RTL8722DM MINI] x 1

範例說明

在此範例中,我們使用TLS身份驗證將Ameba連接到MQTT服務器。 然後以發布者的身份發送消息,並以訂閱者的身份接收消息。打開MQTT範例, “File” -> “Examples” -> “AmebaMQTTClient” -> “MQTT_TLS”

2

請修改與WiFi相關的參數以連接到您的WiFi網絡。

請修改MQTT參數以符合您的應用程序:

2

“mqttServer” 表示MQTT-Broker,我們使用免費的MQTT服務器“ test.mosquitto.org”進行測試。

“clientId” 是MQTT-Broker用來標識已連接的設備。

“publishTopic” 是發布消息的主題,我們在範例中使用“outTopic”。 訂閱“outTopic”的設備將收到該消息。

“publishPayload” 是要發布的內容。

“subscribeTopic” 通知MQTT-broker我們要訂閱哪個主題。

接著編譯程式碼並將其上傳到Ameba。 按下重置按鈕,然後打開串行端口。

3

Ameba連接到MQTT服務器後,它將消息“hello world”發送到“outTopic”。 要查看消息,請使用另一個MQTT客戶端。 有關如何設置基於PC的MQTT客戶端的信息,請參閱MQTT_Basic示例指南。

如果除了服務器身份驗證之外,還希望使用TLS客戶端身份驗證,則需要生成OpenSSL私鑰並從服務器獲取憑證。 出於測試目的,可以按照https://test.mosquitto.org/ssl/上的指南從test.mosquitto.org獲得憑證。

將字串“certificateBuff”和“privateKeyBuff”替換為憑證和OpenSSL私鑰,確保它們的格式設置與範例代碼中所示的相同。 另外還要取消黃色部分的註解代碼以啟用客戶端身份驗證並更改MQTT端口號。

3

3

請先確認已安裝QQ通訊軟體