启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS

ESP32-C3因为其性价比高,价格便宜性能又好一直是量产的首选芯片,随着量产项目扩大,对接云服务器的情况也增加了,接下来小启给大家分享下启明云端ESP32-C3模组——WT32C3系列模组/开发板连接AWS亚马逊云方法。

WT32C3系列模组

WT32C3系列模组是启明云端开发的Wi-Fi&BLE模组,配置了4MB外部SPI flash。WT32C3-S1采用PCB板载天线,WT32C3-S2采用连接器连接外部天线。该模组搭载ESP32-C3作为核心处理器,支持Wi-Fi 802.11b/g/n协议和BLE 5.0协议。内置RISC-V32位单核处理器,主频最高支持160MHz。外设方面支持GPIO,SPI,UART,I2C,I2S,红外收发器,LEDPWM控制器,USBJTAG接口,通用DMA控制器,TWAITM控制器(兼容ISO11898-1),温度传感器,SAR模/数转换器。

01软硬件的准备

①软件环境:ESP_IDF 5.1。

②硬件设备:WT32C3系列模组/开发板。

一、aws配置及测试

1.打开aws云https://aws.amazon.com,登陆aws账号。

2、选择”IoT Core“。

3、将设备连接到AWS,选择”连接一台设备“。

4、进入设备设置阶段 ,将下方的链接保存起来,后续在代码中需要使用到,点击 “下一步

5、选择 "创建新事物",输入设备名称,点击 "下一步"

6、选择软件开发包的平台和sdk,这个开发包可以协助获取证书,并可以进行与aws云的通讯测试。这里的工具包平台选择自己习惯的即可,sdk建议选择Python。

7、下载连接工具包,里面包括了一些服务器证书和测试脚本。

8、解压下载好的连接工具包 ,使用先前选择的开发包平台所对应的终端,通过图片上提示的命令来测 试。 注意:此界面建议先不关闭,后续使用代码测试通讯时可以通过此页面观察效果。

二、WT32C3系列模组配置

本次教程使用esp-idf/example/protocol/mqtt/ssl_mutual_auth示例来测试aws。

1.进入工程,需要替换main目录下的三个证书,用来替换的证书存放在此前下载的连接工具包中。

替换的对应关系如下:

◆client.crt客户端证书,采用(设备名).cert.pem替换。

◆client.key客户端秘钥,采用(设备名).private.key替换。

◆mosquitto.org.crt服务端秘钥,采用root-CA.crt替换。

2.替换工程访问的mqtt服务器链接并增加client_id配置项,链接替换为设备设置阶段时保存的链接,client_id为此前start.h脚本所使用的client_id。注意链接需要加入mqtt://前缀。

3.替换工程订阅的mqtt主题,替换为网页测试时的主题sdk/test/python。并创建一个任务,该任务的功能为建立mqtt连接后每隔两秒发布一条信息。

4.激活IDF环境,配置芯片为ESP32C3,并通过menuconfig修改工程的WiFi配置信息。

5.编译工程,并烧录到ESP设备中。通过运行日志可以看到,连接服务器订阅了相关主题发布了“hello QM”的消息。同时观察此前网页测试时的网页,可以看到“hello QM”的消息。

以上就是启明云端WT32C3系列模组/开发板连接AWS亚马逊云方法的全部内容,有什么疑问,可以后台私信小启。

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将ESP32-C3通过MQTT协议接入OneNet平台,您需要完成以下步骤: 1. 创建OneNet账号并登录。 2. 创建设备,为设备选择MQTT协议,获取设备ID和API Key。 3. 在ESP32-C3上安装MQTT库,例如PubSubClient库。 4. 编写ESP32-C3的代码,包括连接WiFi和MQTT服务器、发布数据到OneNet云平台等。 以下是一个简单的例子,演示了如何使用ESP32-C3通过MQTT协议连接到OneNet平台: ```c++ #include <WiFi.h> #include <PubSubClient.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; const char* mqtt_server = "mqtt.heclouds.com"; const int mqtt_port = 6002; const char* mqtt_user = "your_DEVICE_ID"; const char* mqtt_password = "your_API_KEY"; const char* topic = "/topic"; WiFiClient espClient; PubSubClient client(espClient); void setup() { Serial.begin(9600); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } client.setServer(mqtt_server, mqtt_port); client.setCallback(callback); while (!client.connected()) { if (client.connect(mqtt_user, mqtt_password)) { Serial.println("Connected to MQTT broker"); } else { Serial.print("Failed to connect to MQTT broker, rc="); Serial.print(client.state()); Serial.println(" retrying..."); delay(5000); } } client.subscribe(topic); } void loop() { if (!client.connected()) { Serial.println("Reconnecting to MQTT broker..."); while (!client.connected()) { if (client.connect(mqtt_user, mqtt_password)) { Serial.println("Connected to MQTT broker"); client.subscribe(topic); } else { Serial.print("Failed to connect to MQTT broker, rc="); Serial.print(client.state()); Serial.println(" retrying..."); delay(5000); } } } client.loop(); } void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); } ``` 在这个例子中,我们使用WiFi连接到互联网,使用PubSubClient库连接到OneNet的MQTT服务器,然后订阅主题,并在回调函数中打印收到的消息。您可以根据您的需求修改代码,例如修改主题,发布消息等。 需要注意的是,OneNet的MQTT服务器需要使用TLS/SSL加密,因此您需要使用MQTT库的TLS版本,例如PubSubClientSecure库。同时,OneNet的MQTT服务器需要使用特定的端口6002,而不是标准的MQTT端口1883。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值