MQTT - 通过 TLS 设置 MQTT 客户端

材料准备

  • AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1

范例说明

In this example, we connect Ameba to a MQTT broker using TLS authentication. Then send messages as a publisher and receive messages from as a subscriber. Open the MQTT example “File” “Examples” “AmebaMQTTClient” “MQTT_TLS”

1

请修改与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端口号。

4

5