1 使用Mosquitto搭建MQTT服务器的详细过程-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

嵌入式技术开发 来源:嘉友创信息科技 作者:jiauc 2022-10-20 09:03 次阅读

00 重卷的意义

smartConfig配网后,进入用户任务,实用组合。

用户任务启动MQTT

MQTT服务器47.97.73.81:1883

实现电脑手机控制ESP32

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端口

c863e6bc-500f-11ed-a3b6-dac502259ad0.png

四、启动mqtt服务器

mosquitto.exe-cmosquitto.conf

c87e5484-500f-11ed-a3b6-dac502259ad0.png

02 MQTT测试

【手机和电脑互测

PC端使用通信猫测试

c88f456e-500f-11ed-a3b6-dac502259ad0.png

手机端使用MQTT调试器app

c8e8c5f8-500f-11ed-a3b6-dac502259ad0.png

03 软件流程

【先smartConfig配网,然后连MQTT服务器,订阅和发布

c90f2158-500f-11ed-a3b6-dac502259ad0.png

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;

工程目录结构

c91d151a-500f-11ed-a3b6-dac502259ad0.png

05 验证

首次使用,等待smartConfig配网;

c937a506-500f-11ed-a3b6-dac502259ad0.png

连上MQTT;

c93d9c7c-500f-11ed-a3b6-dac502259ad0.png

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

c957554a-500f-11ed-a3b6-dac502259ad0.png

c95fb3ca-500f-11ed-a3b6-dac502259ad0.png

ESP32收到MQTT消息。

c98011c4-500f-11ed-a3b6-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9123

    浏览量

    85318
  • mosquitto
    +关注

    关注

    0

    文章

    5

    浏览量

    2931
  • MQTT
    +关注

    关注

    5

    文章

    650

    浏览量

    22486

原文标题:ESP32配网(smartConfig)后手机MQTT控制ESP32指示灯

文章出处:【微信号:嵌入式技术开发,微信公众号:嵌入式技术开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用windows版mosquitto软件自建一个服务器

    password_file my_mosquitto_pwd_file.cfg b.创建用户名和口令,用于登录MQTT服务器: mosquitto_passwd.exe -H sha
    发表于 07-24 06:39

    在英特尔Edison开发平台上运行Mosquitto MQTT

    。测试 mosquitto 客户端和服务器Edison 操作系统配置为自动启动 rsmb 代理。 rsmb 已经设置为使用默认 TCP 端口 1883。 我们将使用默认 MQTT 端口在 rsmb 代理
    发表于 06-15 14:10

    NetRouter开发板之物联网篇 MQTT、Websocket

    开发板终于有新动作。将根据物联网添加以下章节:玩转MQTT他山之石----使用ESP8266订阅和推送消息Mosquitto编译方法使用开源服务器测试PC使用嵌入式版本体验交叉编译PC链接开源云平台
    发表于 07-13 22:23

    怎么搭建MQTT服务器

    怎么搭建MQTT服务器
    发表于 06-01 15:04

    在linux上搭建mqtt服务器

    在linux上搭建mqtt服务器并不难,主要就是用到了mosquitto这款消息代理服务软件其采用发布/订阅模式传输机制,轻量、简单、开放并
    发表于 07-04 08:08

    如何用数据采集网关快速采集工业现场数据,怎么搭建MQTT服务器

    服务器端建议采用Mosquitto 1.14 Broker ( mqtt v3.1),它是一个开源的MQTT 代理Eclipse Mosquitto
    发表于 08-30 19:46

    kawayi mqtt连接mosquitto失败怎样解决该问题?

    各位大咖好,遇到难点了,求助!之前用lwip+phy调试和pc互ping没问题,现在在此基础上增加了kawayi mqtt软件包,尝试连接创建的mosquitto服务器(ip
    发表于 02-08 11:44

    通过Mosquitto发布到代理到服务器后如何断开MQTT

    我正在处理 MQTT 代码 (tuanpmt),我想在数据通过 Mosquitto 发布到代理到服务器后断开 MQTTMQTT:发送,类
    发表于 06-12 07:44

    搭建MQTT服务器步骤操作经验分享

    怎么搭建MQTT服务器
    发表于 05-23 11:01 22次下载

    怎么搭建MQTT服务器

          服务器端建议采用Mosquitto 1.14 Broker ( mqtt v3.1),它是一个开源的MQTT 代理      Eclipse
    发表于 06-11 15:39 563次阅读
    怎么<b class='flag-5'>搭建</b><b class='flag-5'>MQTT</b><b class='flag-5'>服务器</b>

    如何搭建Linux服务器详细资料说明

    本文档的主要内容详细介绍的是如何搭建Linux服务器详细资料说明主要内容包括了:1、搭建telnet
    发表于 04-18 08:00 10次下载
    如何<b class='flag-5'>搭建</b>Linux<b class='flag-5'>服务器</b>的<b class='flag-5'>详细</b>资料说明

    Node搭建本地MQTT服务器

    Tips:点击上方“在线学习”按钮即可在线观看精品IT课程大家好,我是牛牛。今天给分享一下使用Node搭建MQTT服务端的流程,主要包含以下几部分内容:MQTT介绍
    的头像 发表于 05-26 14:11 1572次阅读
    Node<b class='flag-5'>搭建</b>本地<b class='flag-5'>MQTT</b><b class='flag-5'>服务器</b>

    使用mosquitto搭建mqtt broker

    Eclipse Mosquitto是一个开源(EPL/EDL许可)消息代理(broker),它实现了MQTT协议版本5.0、3.1.1和3.1。Mosquito重量轻,适用于从低功耗单板计算机到完整服务器的所有设备。
    的头像 发表于 09-28 15:37 2418次阅读
    使用<b class='flag-5'>mosquitto</b><b class='flag-5'>搭建</b><b class='flag-5'>mqtt</b> broker

    服务器搭建详细过程

    随着云计算技术的发展,越来越多的企业和个人开始选择使用云服务器来部署自己的应用和服务。相比于传统的物理服务器,云服务器提供了更高的灵活性、可扩展性和安全性。下面将
    的头像 发表于 09-12 10:00 329次阅读

    企业云服务器平台设计与搭建

    企业云服务器平台的设计与搭建是一个复杂但系统的过程,涉及多个环节和因素。主机推荐小编为您整理发布企业云服务器平台设计与搭建这一
    的头像 发表于 12-04 09:51 78次阅读