00 重卷的意义
smartConfig配网后,进入用户任务,实用组合。
用户任务启动MQTT
MQTT服务器47.97.73.81:1883
01 MQTT服务器搭建
【使用的是Mosquitto搭建MQTT服务器】,具体详细过程请自行百度,此处简单介绍下。
一、配置端口:找到mosquitto.conf文件,搜索listener
listener 1883
二、设置账号密码:找到mosquitto.conf文件,搜索password_file
password_file pwfile.example
设置账号密码,保存于pwfile.example文件内
//命令 是否覆盖 保存文件 用户名 mosquitto_passwd -c pwfile.example username
三、打开服务器1883端口

四、启动mqtt服务器
mosquitto.exe-cmosquitto.conf

02 MQTT测试
【手机和电脑互测】
PC端使用通信猫测试

手机端使用MQTT调试器app

03 软件流程
【先smartConfig配网,然后连MQTT服务器,订阅和发布】

04 关键代码
MQTT初始化:域名、端口、账号、密码
staticvoidmqtt_app_start(void)
{
esp_mqtt_client_config_t mqtt_cfg = {
.host = "www.jiauc.com",
.port = 1883,
.username = "admin",
.password = "123456",
};
esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
esp_mqtt_client_register_event(client, ESP_EVENT_ANY_ID, mqtt_event_handler, client);
esp_mqtt_client_start(client);
}
MQTT事件回调函数:连上、断开、订阅、发布、取消、收到数据等
staticesp_err_tmqtt_event_handler_cb(esp_mqtt_event_handle_tevent) { esp_mqtt_client_handle_t client = event->client; intmsg_id; switch (event->event_id) { case MQTT_EVENT_CONNECTED: //连上mqtt事件 break; caseMQTT_EVENT_DISCONNECTED: //断开mqtt事件 break; case MQTT_EVENT_SUBSCRIBED: //已订阅事件 break; case MQTT_EVENT_UNSUBSCRIBED: //取消订阅事件 break; case MQTT_EVENT_PUBLISHED: //已发布事件 break; caseMQTT_EVENT_DATA: //接收到订阅主题的消息事件 break; caseMQTT_EVENT_ERROR: //错误 break; default: break; } return ESP_OK; }
MQTT发布主题"/topic/qos0"消息"data"
msg_id = esp_mqtt_client_publish(client, "/topic/qos0", "data", 0, 0, 0);
MQTT订阅主题"/topic/qos0"
msg_id = esp_mqtt_client_subscribe(client, "/topic/qos0", 0);
电脑控制ESP32点灯
case MQTT_EVENT_DATA://接收到已定阅主题数据
ESP_LOGI(TAG, "MQTT_EVENT_DATA");
printf("TOPIC=%.*s
", event->topic_len, event->topic);
printf("DATA=%.*s
", event->data_len, event->data);
//控制LED
if(memcmp(event->data,"On",event->data_len)==0)
{
led_on();
}else if(memcmp(event->data,"Off",event->data_len)==0)
{
led_off();
}
break;
工程目录结构

05 验证
首次使用,等待smartConfig配网;

连上MQTT;

电脑/手机控制开关灯(发布主题消息);


ESP32收到MQTT消息。

审核编辑:汤梓红
-
服务器
+关注
关注
13文章
10093浏览量
90893 -
mosquitto
+关注
关注
0文章
5浏览量
3053 -
MQTT
+关注
关注
5文章
721浏览量
24786
原文标题:ESP32配网(smartConfig)后手机MQTT控制ESP32指示灯
文章出处:【微信号:嵌入式技术开发,微信公众号:嵌入式技术开发】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
使用windows版mosquitto软件自建一个服务器
在英特尔Edison开发平台上运行Mosquitto MQTT
NetRouter开发板之物联网篇 MQTT、Websocket
在linux上搭建mqtt服务器
如何用数据采集网关快速采集工业现场数据,怎么搭建MQTT服务器?
kawayi mqtt连接mosquitto失败怎样解决该问题?
通过Mosquitto发布到代理到服务器后如何断开MQTT?
怎么搭建MQTT服务器
使用mosquitto搭建mqtt broker

使用Mosquitto搭建MQTT服务器的详细过程
评论