0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

MQTT在線配置裁剪工具

汽車電子技術(shù) ? 來源:物聯(lián)網(wǎng)IoT開發(fā) ? 作者: 杰杰mcu ? 2023-02-28 16:11 ? 次閱讀

MQTT配置說明

  • MQTT_TOPIC_LEN_MAX

    配置客戶端支持最大的主題名長度,主題是支持通配符的,如果主題太長則會被截斷,默認值為64。

    #define     MQTT_TOPIC_LEN_MAX                  64
    
  • MQTT_ACK_HANDLER_NUM_MAX

    配置mqtt等待應(yīng)答列表的最大記錄個數(shù),對于qos1、qos2服務(wù)質(zhì)量有要求的可以將其設(shè)置大一點,當然也必須資源跟得上,它主要是保證qos1、qos2的mqtt報文能準確到達服務(wù)器,默認值為64。

    #define     MQTT_ACK_HANDLER_NUM_MAX            64
    
  • MQTT_DEFAULT_BUF_SIZE

    默認的讀寫數(shù)據(jù)緩沖區(qū)的大小,根據(jù)要收發(fā)數(shù)據(jù)量修改即可,默認值為1024。

    #define     MQTT_DEFAULT_BUF_SIZE               1024
    
  • MQTT_DEFAULT_CMD_TIMEOUT

    默認的命令超時,它主要是用于socket讀寫超時(還包括等待響應(yīng)的時間、重連等待時間等),默認值為5000。

    #define     MQTT_DEFAULT_CMD_TIMEOUT            5000
    
  • MQTT_MAX_CMD_TIMEOUT

    設(shè)置最大的命令超時時間,默認值是20000。

    #define     MQTT_MAX_CMD_TIMEOUT                20000
    
  • MQTT_MIN_CMD_TIMEOUT

    設(shè)置最小的命令超時時間,默認值是1000。

    #define     MQTT_MIN_CMD_TIMEOUT                1000
    
  • MQTT_KEEP_ALIVE_INTERVAL

    設(shè)置默認的?;顣r間,它主要是保證MQTT客戶端與服務(wù)器的保持活性連接,單位為 ,默認值為50。比如MQTT客戶端與服務(wù)器在指定時間間隔內(nèi)沒有發(fā)送數(shù)據(jù),有沒有接收到數(shù)據(jù),此時MQTT客戶端會發(fā)送一個心跳包,確認一下這個連接是否存在,如果收到服務(wù)器的應(yīng)答,那么說明這個連接還是存在的,可以隨時收發(fā)數(shù)據(jù),而如果不存在了,就嘗試重連或者清除會話。

    #define     MQTT_KEEP_ALIVE_INTERVAL            50         // unit: second
    
  • MQTT_VERSION

    選擇MQTT協(xié)議的版本,默認為4,表示使用MQTT 3.1.1版本,而3則表示使用MQTT 3.1版本。

    #define     MQTT_VERSION                        4           // 4 is mqtt 3.1.1
    
  • MQTT_RECONNECT_DEFAULT_DURATION

    設(shè)置默認的重連時間間隔,當發(fā)生掉線時,會以這個時間間隔嘗試重連,默認值為1000。

    #define     MQTT_RECONNECT_DEFAULT_DURATION     1000
    
  • MQTT_THREAD_STACK_SIZE

    MQTT內(nèi)部維護一個線程,需要設(shè)置默認的線程屬性信息,MQTT_THREAD_STACK_SIZE表示線程棧的大小,默認值是2048。在linux環(huán)境下可以是不需要理會這些參數(shù)的,而在RTOS平臺則需要配置,如果不使用mbedtls,線程棧2048字節(jié)已足夠,而使用mbedtls加密后,需要配置4096字節(jié)以上

    #define     MQTT_THREAD_STACK_SIZE              2048    // 線程棧
    
  • MQTT_THREAD_PRIO

    設(shè)置線程優(yōu)先級,默認為5。

    #define     MQTT_THREAD_PRIO                    5       // 線程優(yōu)先級
    
  • MQTT_THREAD_TICK

    設(shè)置線程優(yōu)時間片,默認為50。

    #define     MQTT_THREAD_TICK                    50      // 線程時間片
    
  • MQTT_NETWORK_TYPE_NO_TLS

    設(shè)置是否需要支持TLS加密傳輸,如果定義了該宏,則表示不支持TLS加密傳輸,否則默認將支持TLS加密傳輸。

    #define     MQTT_NETWORK_TYPE_NO_TLS
    

salof相關(guān)的配置

salof 全稱是:Synchronous Asynchronous Log Output Framework(同步異步日志輸出框架),它是一個同步異步日志輸出框架,可以在空閑時候輸出對應(yīng)的日志信息,并且該庫與mqttclient無縫銜接。

  • LOG_LEVEL

    配置對應(yīng)的日志輸出級別,它支持以下4種級別:ERR_LEVEL、WARN_LEVEL、INFO_LEVEL、DEBUG_LEVEL。

    #define BASE_LEVEL      (0)
        #define ERR_LEVEL       (BASE_LEVEL + 1)          /* 日志輸出級別:錯誤級別(高優(yōu)先級) */
        #define WARN_LEVEL      (ERR_LEVEL + 1)             /* 日志輸出級別:警告級別(中優(yōu)先級) */
        #define INFO_LEVEL      (WARN_LEVEL + 1)            /* 日志輸出級別:信息級別(低優(yōu)先級) */
        #define DEBUG_LEVEL     (INFO_LEVEL + 1)            /* 日志輸出級別:調(diào)試級別(更低優(yōu)先級) */#define         LOG_LEVEL                   WARN_LEVEL      /* 日志輸出級別 */
    
  • USE_SALOF

    如果該宏大于0,則表示使用salof指定的后端作為日志輸出,反之則使用printf作為日志輸出接口。

    #define         USE_SALOF                   (1U)
    
  • SALOF_OS

    設(shè)置salof日志庫的操作系統(tǒng),有以下選項:USE_LINUX、USE_TENCENTOS、USE_FREERTOS、USE_RTT。

    #define         SALOF_OS                    USE_LINUX
    
  • USE_IDLE_HOOK

    如果該宏大于0,則表示在操作系統(tǒng)中的空閑鉤子函數(shù)中輸出日志,反之則通過線程異步處理或者同步處理。

    #define         USE_IDLE_HOOK               (0U)
    
  • LOG_COLOR

    如果該宏大于0,則表示輸出的日志是帶有顏色的(需要終端的支持),反之則沒有顏色。

    #define         LOG_COLOR                   (1U)
    
  • LOG_TS

    如果該宏大于0,則表示輸出的日志是帶有時間戳的,反之則沒有時間戳。

    #define         LOG_TS                   (0U)
    
  • LOG_TAR

    如果該宏大于0,則表示輸出的日志是帶有標簽的(任務(wù)名字),反之則沒有標簽。

    #define         LOG_TAR                   (0U)
    
  • SALOF_BUFF_SIZE

    設(shè)置日志庫salof輸出庫的buf緩沖區(qū)大小,即最大一次性能輸出多少個字節(jié)。

    #define         SALOF_BUFF_SIZE                   (512U)
    
  • SALOF_FIFO_SIZE

    設(shè)置日志庫salof的fifo緩沖區(qū)大小,即最能緩存多少個字節(jié)的日志數(shù)據(jù)。

    #define         SALOF_FIFO_SIZE             (1024*4U)
    
  • SALOF_TASK_STACK_SIZE

    如果使用了空閑線程輸出日志,則配置salof線程棧的大小。

    #define         SALOF_TASK_STACK_SIZE       (2048U)
    
  • SALOF_TASK_TICK

    如果使用了空閑線程輸出日志,則配置salof線程棧的時間片大小。

    #define         SALOF_TASK_TICK             (50U)
    

使用mqttclient裁剪配置工具

我們可以通過配置很方便地裁剪我們需要的功能,設(shè)置上述MQTT客戶端的默認參數(shù),完全不需要手動修改代碼,直接使用工具裁剪配置即可。

打開在線mqttclient裁剪配置工具:https://jiejietop.gitee.io/mqtt/mqtt-config.html

它支持裁剪配置相關(guān)的頭文件,配置客戶端默認的一些參數(shù):

圖片

mqtt-config-tool01

還支持配置salof同步異步日志相關(guān)的信息,以保證日志能正常運作,配置完成后生成對應(yīng)的代碼,然后覆蓋掉原本的MQTT客戶端配置即可,如果不知道如何配置,那就導(dǎo)入默認的配置即可。

圖片

mqtt-config-tool02

如果是初次接觸,看不懂上面配置的信息,沒關(guān)系,我很貼心地準備了配置的宏定義及其描述信息,保證你能看得懂的。

圖片

mqtt-config-tool03

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

    關(guān)注

    1

    文章

    293

    瀏覽量

    16879
  • 配置
    +關(guān)注

    關(guān)注

    1

    文章

    189

    瀏覽量

    18647
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    660

    瀏覽量

    23144
收藏 0人收藏

    評論

    相關(guān)推薦

    NXP在線引腳配置工具使用說明V1.00

    NXP在線引腳配置工具使用說明V1.00
    發(fā)表于 09-21 08:16

    內(nèi)核裁剪的相關(guān)資料分享

    內(nèi)核裁剪.config確認哪些代碼編進內(nèi)核,哪些代碼被裁剪掉menuconfig(文本菜單配置界面)生成.config 的一個工具make menuconfigmenuconfig 常
    發(fā)表于 12-20 06:36

    通過單片機來實現(xiàn)MQTT參數(shù)配置

    MQTT參數(shù)配置,需要阿里云三元組ESP8266,使用安信可官方MQTT固件。1.升級ESP8266wifi 模塊,使用ESPFlashDownLoadTool_v3.6.4.exe,升級安信可官方提供的
    發(fā)表于 01-18 09:56

    ClockWorks?配置在線工具

    ClockWorks?配置在線工具
    的頭像 發(fā)表于 06-06 13:46 ?2275次閱讀
    ClockWorks?<b class='flag-5'>配置</b>器<b class='flag-5'>在線</b><b class='flag-5'>工具</b>

    MQTT網(wǎng)關(guān)采集PLC數(shù)據(jù)配置流程

    首先確認好PLC與網(wǎng)關(guān)的接線是否正確,然后在本地或云平臺配置網(wǎng)關(guān)的采集參數(shù),文檔中主要介紹本地MQTT網(wǎng)關(guān)的配置,進入物通博聯(lián)的MQTT網(wǎng)關(guān)的WEB界面,根據(jù)網(wǎng)關(guān)表建立
    發(fā)表于 06-11 14:43 ?911次閱讀
    <b class='flag-5'>MQTT</b>網(wǎng)關(guān)采集PLC數(shù)據(jù)<b class='flag-5'>配置</b>流程

    美國微芯科技公司-ClockWorks?配置在線工具

    ClockWorks?配置在線工具
    的頭像 發(fā)表于 07-08 02:00 ?3050次閱讀

    STM32內(nèi)部RAM在線調(diào)試配置方法及詳細說明 (基于Keil開發(fā)工具

    STM32內(nèi)部RAM在線調(diào)試配置方法及詳細說明(基于Keil開發(fā)工具
    的頭像 發(fā)表于 03-24 14:01 ?8780次閱讀
    STM32內(nèi)部RAM<b class='flag-5'>在線</b>調(diào)試<b class='flag-5'>配置</b>方法及詳細說明 (基于Keil開發(fā)<b class='flag-5'>工具</b>)

    FreeRTOS|自定義裁剪

    FreeRTOS是支持自定義裁剪的, 用戶可用根據(jù)實際硬件資源, 進行合適裁剪使得占用合適, 裁剪主要是通過配置文件實現(xiàn), 本文借鑒了原子的配置
    的頭像 發(fā)表于 12-26 10:21 ?1648次閱讀

    MQTT在線代碼生產(chǎn)工具

    mqttclient代碼生產(chǎn)工具主要是用于配置MQTT的參數(shù),并且生成相應(yīng)的代碼,因為是可視化的配置,極易使用。
    的頭像 發(fā)表于 02-28 16:09 ?1952次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>在線</b>代碼生產(chǎn)<b class='flag-5'>工具</b>

    如何使用 SPC 工具配置電機

    Siemens Product Configurator (SPC) 是西門子新一代在線產(chǎn)品選型工具,其可以實現(xiàn)對驅(qū)動及電機的配置,涵蓋了廣泛的產(chǎn)品范圍,并具有豐富的文檔支持??蛻敉ㄟ^ SPC
    的頭像 發(fā)表于 05-25 10:45 ?1388次閱讀
    如何使用 SPC <b class='flag-5'>工具</b><b class='flag-5'>配置</b>電機

    工業(yè)智能網(wǎng)關(guān)BL110應(yīng)用之三十五: 如何連接配置金鴿MQTT云服務(wù)器

    BL110網(wǎng)關(guān)支持多個平臺同時在線。金鴿MQTT數(shù)據(jù)配置如下:工業(yè)智能網(wǎng)關(guān)BL110配置金鴿MQTT云服務(wù)器金鴿
    的頭像 發(fā)表于 09-08 16:15 ?859次閱讀
    工業(yè)智能網(wǎng)關(guān)BL110應(yīng)用之三十五: 如何連接<b class='flag-5'>配置</b>金鴿<b class='flag-5'>MQTT</b>云服務(wù)器

    工業(yè)智能網(wǎng)關(guān)BL110應(yīng)用之五十一: 數(shù)據(jù)上傳云金鴿MQTT配置

    金鴿MQTT配置工業(yè)智能網(wǎng)關(guān)BL110數(shù)據(jù)上傳云金鴿MQTT平臺操作步驟:(1)雙擊“金鴿MQTT”彈出金鴿MQTT
    的頭像 發(fā)表于 09-13 15:00 ?977次閱讀
    工業(yè)智能網(wǎng)關(guān)BL110應(yīng)用之五十一: 數(shù)據(jù)上傳云金鴿<b class='flag-5'>MQTT</b>的<b class='flag-5'>配置</b>

    盤點2023年值得嘗試的MQTT客戶端工具

    隨著物聯(lián)網(wǎng)(IoT)的快速發(fā)展,MQTT協(xié)議被許多公司和開發(fā)人員廣泛使用。在學(xué)習(xí)和使用 MQTT 的過程中,MQTT 客戶端工具用于連接 MQTT
    的頭像 發(fā)表于 07-13 10:11 ?5689次閱讀
    盤點2023年值得嘗試的<b class='flag-5'>MQTT</b>客戶端<b class='flag-5'>工具</b>

    矢量字體裁剪工具

    矢量字體裁剪工具
    發(fā)表于 04-28 13:55 ?6次下載

    藍蜂MQTT網(wǎng)關(guān)配置工具使用說明

    藍蜂MQTT網(wǎng)關(guān)配置工具使用說明
    發(fā)表于 08-31 14:26 ?3次下載

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品