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”
请修改与WiFi相关的参数以连接到您的WiFi网络。
请修改MQTT参数以符合您的应用程序:
mqttServer
表示MQTT-Broker,我们使用免费的MQTT服务器“ test.mosquitto.org”进行测试。clientId
是MQTT-Broker用来标识已连接的设备。publishTopic
是发布消息的主题,我们在范例中使用 outTopic
。订阅“outTopic”的设备将收到该消息。publishPayload
是要发布的内容。subscribeTopic
通知MQTT-broker我们要订阅哪个主题。接着编译程式码并将其上传到Ameba。按下重置按钮,然后打开串行端口。
Ameba连接到MQTT服务器后,它将消息“hello world”发送到“outTopic”。要查看消息,请使用另一个MQTT客户端。有关如何设置基于PC的MQTT客户端的信息,请参阅MQTT_Basic示例指南。
如果除了服务器身份验证之外,还希望使用TLS客户端身份验证,则需要生成OpenSSL私钥并从服务器获取凭证。出于测试目的,可以按照https://test.mosquitto.org/ssl/上的指南从test.mosquitto.org获得凭证。
将字串“certificateBuff”和“privateKeyBuff”替换为凭证和OpenSSL私钥,确保它们的格式设置与范例代码中所示的相同。另外还要取消黄色部分的注解代码以启用客户端身份验证并更改MQTT端口号。