0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Mosquitto搭建MQTT服務(wù)器的詳細(xì)過程

嵌入式技術(shù)開發(fā) ? 來源:嘉友創(chuàng)信息科技 ? 作者:jiauc ? 2022-10-20 09:03 ? 次閱讀

00 重卷的意義

smartConfig配網(wǎng)后,進(jìn)入用戶任務(wù),實(shí)用組合。

用戶任務(wù)啟動(dòng)MQTT

MQTT服務(wù)器47.97.73.81:1883

實(shí)現(xiàn)電腦手機(jī)控制ESP32

01 MQTT服務(wù)器搭建

【使用的是Mosquitto搭建MQTT服務(wù)器】,具體詳細(xì)過程請自行百度,此處簡單介紹下。

一、配置端口:找到mosquitto.conf文件,搜索listener

listener 1883

二、設(shè)置賬號密碼:找到mosquitto.conf文件,搜索password_file

password_file pwfile.example

設(shè)置賬號密碼,保存于pwfile.example文件內(nèi)

//命令          是否覆蓋   保存文件     用戶名
mosquitto_passwd -c  pwfile.example username

三、打開服務(wù)器1883端口

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

四、啟動(dòng)mqtt服務(wù)器

mosquitto.exe-cmosquitto.conf

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

02 MQTT測試

【手機(jī)和電腦互測

PC端使用通信貓測試

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

手機(jī)端使用MQTT調(diào)試器app

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

03 軟件流程

【先smartConfig配網(wǎng),然后連MQTT服務(wù)器,訂閱和發(fā)布

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

04 關(guān)鍵代碼

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事件回調(diào)函數(shù):連上、斷開、訂閱、發(fā)布、取消、收到數(shù)據(jù)等

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:
        //已發(fā)布事件
            break;
caseMQTT_EVENT_DATA:
//接收到訂閱主題的消息事件
            break;
caseMQTT_EVENT_ERROR:
//錯(cuò)誤
            break;
        default:
            break;
    }
    return ESP_OK;
}

MQTT發(fā)布主題"/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點(diǎn)燈

case MQTT_EVENT_DATA://接收到已定閱主題數(shù)據(jù)
  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;

工程目錄結(jié)構(gòu)

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

05 驗(yàn)證

首次使用,等待smartConfig配網(wǎng);

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

連上MQTT;

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

電腦/手機(jī)控制開關(guān)燈(發(fā)布主題消息);

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

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

ESP32收到MQTT消息。

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9231

    瀏覽量

    85625
  • mosquitto
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2933
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    651

    瀏覽量

    22555

原文標(biāo)題:ESP32配網(wǎng)(smartConfig)后手機(jī)MQTT控制ESP32指示燈

文章出處:【微信號:嵌入式技術(shù)開發(fā),微信公眾號:嵌入式技術(shù)開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    使用windows版mosquitto軟件自建一個(gè)服務(wù)器

    password_file my_mosquitto_pwd_file.cfg b.創(chuàng)建用戶名和口令,用于登錄MQTT服務(wù)器: mosquitto_passwd.exe -H sha
    發(fā)表于 07-24 06:39

    在英特爾Edison開發(fā)平臺(tái)上運(yùn)行Mosquitto MQTT

    。測試 mosquitto 客戶端和服務(wù)器Edison 操作系統(tǒng)配置為自動(dòng)啟動(dòng) rsmb 代理。 rsmb 已經(jīng)設(shè)置為使用默認(rèn) TCP 端口 1883。 我們將使用默認(rèn) MQTT 端口在 rsmb 代理
    發(fā)表于 06-15 14:10

    NetRouter開發(fā)板之物聯(lián)網(wǎng)篇 MQTT、Websocket

    開發(fā)板終于有新動(dòng)作。將根據(jù)物聯(lián)網(wǎng)添加以下章節(jié):玩轉(zhuǎn)MQTT他山之石----使用ESP8266訂閱和推送消息Mosquitto編譯方法使用開源服務(wù)器測試PC使用嵌入式版本體驗(yàn)交叉編譯PC鏈接開源云平臺(tái)
    發(fā)表于 07-13 22:23

    怎么搭建MQTT服務(wù)器?

    怎么搭建MQTT服務(wù)器?
    發(fā)表于 06-01 15:04

    在linux上搭建mqtt服務(wù)器

    在linux上搭建mqtt服務(wù)器并不難,主要就是用到了mosquitto這款消息代理服務(wù)軟件其采用發(fā)布/訂閱模式傳輸機(jī)制,輕量、簡單、開放并
    發(fā)表于 07-04 08:08

    如何用數(shù)據(jù)采集網(wǎng)關(guān)快速采集工業(yè)現(xiàn)場數(shù)據(jù),怎么搭建MQTT服務(wù)器?

    服務(wù)器端建議采用Mosquitto 1.14 Broker ( mqtt v3.1),它是一個(gè)開源的MQTT 代理Eclipse Mosquitto
    發(fā)表于 08-30 19:46

    kawayi mqtt連接mosquitto失敗怎樣解決該問題?

    各位大咖好,遇到難點(diǎn)了,求助!之前用lwip+phy調(diào)試和pc互ping沒問題,現(xiàn)在在此基礎(chǔ)上增加了kawayi mqtt軟件包,嘗試連接創(chuàng)建的mosquitto服務(wù)器(ip
    發(fā)表于 02-08 11:44

    通過Mosquitto發(fā)布到代理到服務(wù)器后如何斷開MQTT?

    我正在處理 MQTT 代碼 (tuanpmt),我想在數(shù)據(jù)通過 Mosquitto 發(fā)布到代理到服務(wù)器后斷開 MQTT。 MQTT:發(fā)送,類
    發(fā)表于 06-12 07:44

    搭建MQTT服務(wù)器步驟操作經(jīng)驗(yàn)分享

    怎么搭建MQTT服務(wù)器
    發(fā)表于 05-23 11:01 ?22次下載

    怎么搭建MQTT服務(wù)器

    ? ? ??服務(wù)器端建議采用Mosquitto 1.14 Broker ( mqtt v3.1),它是一個(gè)開源的MQTT 代理??????Eclipse
    發(fā)表于 06-11 15:39 ?566次閱讀
    怎么<b class='flag-5'>搭建</b><b class='flag-5'>MQTT</b><b class='flag-5'>服務(wù)器</b>

    如何搭建Linux服務(wù)器詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何搭建Linux服務(wù)器詳細(xì)資料說明主要內(nèi)容包括了:1、搭建telnet
    發(fā)表于 04-18 08:00 ?10次下載
    如何<b class='flag-5'>搭建</b>Linux<b class='flag-5'>服務(wù)器</b>的<b class='flag-5'>詳細(xì)</b>資料說明

    Node搭建本地MQTT服務(wù)器

    Tips:點(diǎn)擊上方“在線學(xué)習(xí)”按鈕即可在線觀看精品IT課程大家好,我是牛牛。今天給分享一下使用Node搭建MQTT服務(wù)端的流程,主要包含以下幾部分內(nèi)容:MQTT介紹
    的頭像 發(fā)表于 05-26 14:11 ?1617次閱讀
    Node<b class='flag-5'>搭建</b>本地<b class='flag-5'>MQTT</b><b class='flag-5'>服務(wù)器</b>

    使用mosquitto搭建mqtt broker

    Eclipse Mosquitto是一個(gè)開源(EPL/EDL許可)消息代理(broker),它實(shí)現(xiàn)了MQTT協(xié)議版本5.0、3.1.1和3.1。Mosquito重量輕,適用于從低功耗單板計(jì)算機(jī)到完整服務(wù)器的所有設(shè)備。
    的頭像 發(fā)表于 09-28 15:37 ?2504次閱讀
    使用<b class='flag-5'>mosquitto</b><b class='flag-5'>搭建</b><b class='flag-5'>mqtt</b> broker

    服務(wù)器搭建詳細(xì)過程

    隨著云計(jì)算技術(shù)的發(fā)展,越來越多的企業(yè)和個(gè)人開始選擇使用云服務(wù)器來部署自己的應(yīng)用和服務(wù)。相比于傳統(tǒng)的物理服務(wù)器,云服務(wù)器提供了更高的靈活性、可擴(kuò)展性和安全性。下面將
    的頭像 發(fā)表于 09-12 10:00 ?373次閱讀

    企業(yè)云服務(wù)器平臺(tái)設(shè)計(jì)與搭建

    企業(yè)云服務(wù)器平臺(tái)的設(shè)計(jì)與搭建是一個(gè)復(fù)雜但系統(tǒng)的過程,涉及多個(gè)環(huán)節(jié)和因素。主機(jī)推薦小編為您整理發(fā)布企業(yè)云服務(wù)器平臺(tái)設(shè)計(jì)與搭建這一
    的頭像 發(fā)表于 12-04 09:51 ?111次閱讀