esp32使用mqtt接入百度云服务

本文介绍了如何使用esp32通过mqtt协议接入百度云物联网服务,详细讲解了mqtt的基本概念、主要功能,以及百度云物联网平台的接入步骤,包括创建用户、设置策略和模拟接入测试。
摘要由CSDN通过智能技术生成

前言

由于微信对接mqtt服务需要服务器备案等一系列操作,而我的服务器一直是裸奔状态,故选择第三方mqtt服务,在阿里云,腾讯云,百度云中,百度云物联网服务是限制相对较少,对接比较简单,适合新手上手。同样适合新手阅读。

什么是mqtt

首先简单介绍一下mqtt通信,引用百度的话:
MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件。
说白了,其实mqtt服务器就相当与一个信息处理中转站
mqtt协议是一个轻量级的通信协议,而且速度快,容易对接,因此在物联网行业中较为常用,由于其开销很小,很容易在单片机上运行。
首先放一张图
在这里插入图片描述
假设我们有一台智能冰箱,我们想用手机接受或者控制冰箱,而冰箱已经接入网络,手机也接入了网络,但是现在的问题是冰箱和手机获取的是区域网ip,如果手机和冰箱不在同一个区域网下,该怎么传输呢?网络中的传输底层是通过ip地址来访问,两者无法直接通信,中间需要一个具有公网ip的桥梁,这个桥梁有很多种,而mqtt便是其中的一种。

mqtt主要功能

这里仅说mqtt两大主要功能,其他的功能可以自行查找,分别是publish和subscribe,从英文名字就可以看出来,分别是发送和订阅,这两个功能怎么用呢?我们还需要了解一个概念-主题topic。
我们继续从刚刚的手机和冰箱说起,假设我们要控制冰箱的温度,我们就要给服务器发送信息,需要用到publish发送,但是如果有很多设备都接入了这个服务器,服务器怎么知道你的信息要发给哪个设备,所以在发送时要指定这个信息的主题topic,而冰箱需要subscribe订阅这个主题,这就好像在某些社交软件上&#x

好的,我可以为您提供一些关于ESP32通过MQTT接入ONENET的基本步骤: 1.首先,您需要在ONENET平台上创建一个设备,并获取其Device ID和API Key。 2.然后,您需要在ESP32上安装MQTT库,例如PubSubClient库。 3.接下来,您需要编写ESP32的代码,以便连接到ONENET的MQTT服务器,并将数据发布到ONENET平台。以下是一个示例代码: ``` #include <WiFi.h> #include <PubSubClient.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; const char* server = "mqtt.heclouds.com"; const int port = 6002; const char* deviceID = "your_DEVICE_ID"; const char* apiKey = "your_API_KEY"; 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..."); } Serial.println("Connected to WiFi"); client.setServer(server, port); } void loop() { if (!client.connected()) { if (client.connect(deviceID, apiKey, NULL)) { Serial.println("Connected to ONENET MQTT server"); client.publish("your_topic", "your_message"); } else { Serial.println("Failed to connect to ONENET MQTT server"); delay(1000); } } client.loop(); } ``` 请注意,您需要将代码中的SSID,PASSWORD,DEVICE_ID,API_KEY和TOPIC更改为您自己的信息。此外,您还需要更改MQTT服务器地址和端口,以确保连接到ONENET的MQTT服务器。 希望这可以帮助您开始使用ESP32通过MQTT接入ONENET。如果您有任何疑问,请随时问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值