探究ESP32S【第三天】——初试mqtt(1)

那就试试看MQTT吧,似乎很好玩,老规矩先贴上参考的帖子:https://blog.csdn.net/mrjiale/article/details/83750310

自己搭建mqtt服务器:https://blog.csdn.net/yannanxiu/article/details/52703946

看文档先安装mqtt这个库,文档中所说的upip.install的方法好像不行啊。

那就直接把umtt的simple.py 直接download进去好了——那我就顺便改了名字把simple改成umqtt

 

一下子感觉顺眼很多,啊哈哈哈

接着就是在电脑上的python里添加另一个库:paho-mqtt:pip3 install paho-mqtt

再从http://www.mosquitto.org/download/这里下载mosquitto

比原贴里又更新了一个版本。后来这个也没有用到,这个是本地搭建的服务器,我用的是hivemq这个服务器

 

下面就是搬砖时间了,准备ESP32通过wifi连电脑,电脑连服务器,控制esp上的一个led灯。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要连接ESP32S到MQTT,您需要进行以下步骤: 1. 安装MQTT客户端库。 ESP-IDF提供了一个名为mqttMQTT客户端库。 2. 创建一个mqtt_client_config_t结构,并填写所需参数。 这些参数包括MQTT服务器的IP地址,端口号,用户名和密码等。 3. 创建MQTT客户端实例。 使用mqtt_client_init()函数来创建mqtt_client_t实例。 4. 使用mqtt_client_connect()函数连接到MQTT服务器。 如果连接成功,客户端会收到连接回调函数。 如果连接失败,客户端会收到错误回调函数。 5. 注册消息接收回调函数。 使用mqtt_client_subscribe()函数注册自定义回调函数,以便在客户端收到消息时触发。 6. 使用mqtt_client_publish()函数发布消息。 您可以使用此函数将消息发送到订阅的主题。 7. 当您完成了所有工作并且准备断开连接时,请使用mqtt_client_disconnect()函数断开连接。 以下是连接ESP32S到MQTT示例代码的简单示例: mqtt_client_config_t mqtt_cfg = { .host = "mqtt.eclipse.org", .port = 1883, .event_handle = mqtt_event_handler, .username = "example_user", .password = "example_password", }; mqtt_client_t* mqtt_client = NULL; //初始化mqtt客户端 esp_err_t mqtt_app_start(void) { mqtt_client = mqtt_client_init(&mqtt_cfg); return mqtt_client_start(mqtt_client); } //连接回调函数 void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { esp_mqtt_event_handle_t event = event_data; switch (event_id) { case MQTT_EVENT_CONNECTED: //连接已建立 break; case MQTT_EVENT_DISCONNECTED: //连接断开 break; case MQTT_EVENT_SUBSCRIBED: //收到主题订阅确认 break; case MQTT_EVENT_UNSUBSCRIBED: //取消订阅主题 break; case MQTT_EVENT_PUBLISHED: //发布消息 break; case MQTT_EVENT_DATA: //收到消息 break; case MQTT_EVENT_ERROR: //出错 break; default: break; } } //发布消息 void mqtt_publish(void) { const char* topic = "/example/topic"; const char* data = "Hello, World!"; int data_len = strlen(data); int qos = 0; int retain = 0; esp_mqtt_client_publish(mqtt_client, topic, data, data_len, qos, retain); } //断开连接 void mqtt_disconnect(void) { mqtt_client_disconnect(mqtt_client); } 请注意,此代码仅提供了一个基本示例,您需要根据实际应用程序进行修改和适应。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值