女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

第二十三章 W55MH32 MQTT_OneNET示例

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-07-24 14:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單芯片解決方案,開啟全新體驗(yàn)——W55MH32 高性能以太網(wǎng)單片機(jī)

W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機(jī),它為用戶帶來前所未有的集成化體驗(yàn)。這顆芯片將強(qiáng)大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達(dá)216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨(dú)立的32KB以太網(wǎng)收發(fā)緩存,可供8個獨(dú)立硬件socket使用。如此配置,真正實(shí)現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。

在封裝規(guī)格上,W55MH32 提供了兩種選擇:QFN100和QFN68。

W55MH32L采用QFN100封裝版本,尺寸為12x12mm,其資源豐富,專為各種復(fù)雜工控場景設(shè)計(jì)。它擁有66個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、5個串口、2個SPI接口(其中1個帶I2S接口復(fù)用)、1個CAN、1個USB2.0以及1個SDIO接口。如此豐富的外設(shè)資源,能夠輕松應(yīng)對工業(yè)控制中多樣化的連接需求,無論是與各類傳感器、執(zhí)行器的通信,還是對復(fù)雜工業(yè)協(xié)議的支持,都能游刃有余,成為復(fù)雜工控領(lǐng)域的理想選擇。同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網(wǎng)關(guān)模組等場景,軟件使用方法一致。更多信息和資料請進(jìn)入http://www.w5500.com/網(wǎng)站或者私信獲取。

此外,本W(wǎng)55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應(yīng)用,涵蓋TCP SSL、HTTP SSL以及 MQTT SSL等,為網(wǎng)絡(luò)通信安全再添保障。

為助力開發(fā)者快速上手與深入開發(fā),基于W55MH32L這顆芯片,WIZnet精心打造了配套開發(fā)板。開發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實(shí)現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。

若您想獲取芯片和開發(fā)板的更多詳細(xì)信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

wKgZO2iBiBmAe3DyAACpGc5mWX8613.png

第二十三章 W55MH32 MQTT_OneNET示例

本篇文章,我們將詳細(xì)介紹如何在W55MH32芯片上面實(shí)現(xiàn)MQTT協(xié)議。并通過實(shí)戰(zhàn)例程,為大家講解如何使用W55MH32的MQTT協(xié)議連接OneNET平臺,實(shí)現(xiàn)與OneNET物模型的數(shù)據(jù)交互。

該例程用到的其他網(wǎng)絡(luò)協(xié)議,例如DHCP和DNS,請參考相關(guān)章節(jié)。有關(guān)W55MH32的初始化過程,請參考Network Install章節(jié),這里將不再贅述。

1 MQTT簡介

MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測傳輸協(xié)議)是一種輕量級的、基于發(fā)布/訂閱模式的消息傳輸協(xié)議,廣泛應(yīng)用于物聯(lián)網(wǎng)IoT)領(lǐng)域,尤其是在網(wǎng)絡(luò)帶寬受限、設(shè)備資源有限的環(huán)境中。它由IBM在1999年提出,主要用于遠(yuǎn)程監(jiān)控和控制系統(tǒng)中的設(shè)備通信。MQTT協(xié)議具有低帶寬、低功耗、低延遲等優(yōu)點(diǎn),特別適用于嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備的通信。

2 MQTT特點(diǎn)

輕量級:MQTT協(xié)議采用極簡的協(xié)議頭,減少了消息頭的大小,適合帶寬有限和計(jì)算資源有限的設(shè)備。

可靠性:MQTT支持三種服務(wù)質(zhì)量(QoS)級別,能夠確保數(shù)據(jù)可靠送達(dá)。

實(shí)時性:MQTT適合低延遲應(yīng)用場景,消息會盡可能地實(shí)時推送到訂閱者。

保留消息:MQTT支持“保留消息”功能,代理會保存最后一條發(fā)布的消息,當(dāng)有新設(shè)備訂閱某個主題時,代理會立即發(fā)送保留的消息。

持久會話:MQTT允許客戶端在斷開后恢復(fù)會話狀態(tài),斷開期間的消息可以在客戶端重新連接后繼續(xù)接收。

3 MQTT應(yīng)用場景

工業(yè)自動化:在工業(yè)環(huán)境中,生產(chǎn)設(shè)備、傳感器、控制器等都需要進(jìn)行數(shù)據(jù)交換,MQTT協(xié)議適用于在復(fù)雜的工業(yè)自動化系統(tǒng)中提供實(shí)時通信。

智能電網(wǎng)智能電網(wǎng)應(yīng)用中,電力設(shè)備(如變電站、智能電表、開關(guān)設(shè)備等)通過以太網(wǎng)與控制中心進(jìn)行實(shí)時數(shù)據(jù)交換,使用MQTT協(xié)議進(jìn)行遠(yuǎn)程監(jiān)控和控制。

遠(yuǎn)程設(shè)備監(jiān)控與管理:適用于需要遠(yuǎn)程監(jiān)控和管理的設(shè)備,如遠(yuǎn)程氣象站、環(huán)境監(jiān)測設(shè)備等。通過MQTT協(xié)議實(shí)時獲取設(shè)備的傳感器數(shù)據(jù)。

4 MQTT發(fā)布/訂閱模式

發(fā)布訂閱模式(Publish-Subscribe Pattern)是一種消息傳遞模式,它將發(fā)送消息的客戶端(發(fā)布者)與接收消息的客戶端(訂閱者)解耦,使得兩者不需要建立直接的聯(lián)系也不需要知道對方的存在。

MQTT發(fā)布/訂閱模式的精髓在于由一個被稱為代理(Broker)的中間角色負(fù)責(zé)所有消息的路由和分發(fā)工作,發(fā)布者將帶有主題的消息發(fā)送給代理,訂閱者則向代理訂閱主題來接收感興趣的消息。

在 MQTT中,主題和訂閱無法被提前注冊或創(chuàng)建,所以代理也無法預(yù)知某一個主題之后是否會有訂閱者,以及會有多少訂閱者,所以只能將消息轉(zhuǎn)發(fā)給當(dāng)前的訂閱者,如果當(dāng)前不存在任何訂閱,那么消息將被直接丟棄。

MQTT發(fā)布/訂閱模式有 4個主要組成部分:發(fā)布者、訂閱者、代理和主題。

發(fā)布者(Publisher):負(fù)責(zé)將消息發(fā)布到主題上,發(fā)布者一次只能向一個主題發(fā)送數(shù)據(jù),發(fā)布者發(fā)布消息時也無需關(guān)心訂閱者是否在線。

訂閱者(Subscriber):訂閱者通過訂閱主題接收消息,且可一次訂閱多個主題。

代理(Broker):負(fù)責(zé)接收發(fā)布者的消息,并將消息轉(zhuǎn)發(fā)至符合條件的訂閱者。另外,代理也需要負(fù)責(zé)處理客戶端發(fā)起的連接、斷開連接、訂閱、取消訂閱等請求。

主題(Topic):主題是 MQTT進(jìn)行消息路由的基礎(chǔ),它類似 URL路徑,使用斜杠/進(jìn)行分層,比如sensor/1/temperature。一個主題可以有多個訂閱者,代理會將該主題下的消息轉(zhuǎn)發(fā)給所有訂閱者;一個主題也可以有多個發(fā)布者,代理將按照消息到達(dá)的順序轉(zhuǎn)發(fā)。

MQTT協(xié)議的通信流程如下圖:

wKgZPGiB15yAM4JeAABKAu0yW6Q693.png

5 MQTT QoS詳解

QoS 0:消息最多傳遞一次,可能會丟失,且不做重試。這是最基本的QoS級別,不保證消息的傳送或順序。

使用場景:實(shí)時傳輸?shù)母聰?shù)據(jù),如溫度、濕度等,消息丟失對應(yīng)用的影響較小。

QoS 1:消息至少傳送一次。為了確保消息到達(dá),發(fā)送方會重復(fù)發(fā)送消息,直到收到接收方的確認(rèn)應(yīng)答(PUBACK)。可能會導(dǎo)致消息重復(fù)接收。

使用場景:電力監(jiān)測數(shù)據(jù),或需要確保狀態(tài)信息準(zhǔn)確傳輸?shù)膽?yīng)用場景。

QoS 2:確保消息只能被傳遞一次,且只傳遞一次。該級別保證了消息的可靠性、唯一性和順序性。通過四次握手過程確保消息不丟失、不會重復(fù)。

適用場景:高安全要求的應(yīng)用,如支付系統(tǒng)、重要的設(shè)備控制等,不能容忍消息重復(fù)或丟失。

6 MQTT消息

在 MQTT中,客戶端可以在連接時在服務(wù)端中注冊一個遺囑消息,與普通消息類似,我們可以設(shè)置遺囑消息的主題、有效載荷等等。當(dāng)該客戶端意外斷開連接,服務(wù)端就會向其他訂閱了相應(yīng)主題的客戶端發(fā)送此遺囑消息。這些接收者也因此可以及時地采取行動。這一特性通常用于檢測和響應(yīng)客戶端故障或掉線事件,特別適合在需要高可靠性的物聯(lián)網(wǎng)系統(tǒng)和實(shí)時監(jiān)控場景中使用。

有關(guān)MQTT協(xié)議的報(bào)文,可以參考:Introduction · MQTT協(xié)議中文版,本文不再贅述。

7 OneNET物聯(lián)網(wǎng)平臺簡介

OneNET是由中國移動打造的物聯(lián)網(wǎng)開放平臺,在物聯(lián)網(wǎng)應(yīng)用和真實(shí)設(shè)備之間搭建高效、穩(wěn)定安全的應(yīng)用平臺。該平臺支持適配各種網(wǎng)絡(luò)環(huán)境和協(xié)議類型,可實(shí)現(xiàn)各種傳感器和智能硬件的快速接提供豐富的 API和應(yīng)用模板以支撐各類行業(yè)應(yīng)用和智能硬件的開發(fā)。

8 OneNET物模型介紹

物模型是物聯(lián)網(wǎng)平臺中用于描述和管理設(shè)備能力的抽象模型,它定義了設(shè)備的屬性、行為和事件,使設(shè)備與平臺、應(yīng)用之間的交互更加標(biāo)準(zhǔn)化和統(tǒng)一。在OneNET平臺中,物模型是設(shè)備管理與數(shù)據(jù)交互的核心概念,通過物模型,開發(fā)者可以方便地對設(shè)備進(jìn)行建模、管理和使用。

9 MQTT連接OneNET收發(fā)數(shù)據(jù)流程

1.準(zhǔn)備階段

注冊與實(shí)名認(rèn)證:用戶需要在OneNET平臺注冊賬號,并完成實(shí)名認(rèn)證。

創(chuàng)建產(chǎn)品和添加物模型:登錄阿里云物聯(lián)網(wǎng)平臺,創(chuàng)建產(chǎn)品并在產(chǎn)品下添加以下物模型功能。

wKgZPGiB15yAKTgWAABIiTQdCJE300.png

創(chuàng)建設(shè)備:在剛剛創(chuàng)建的產(chǎn)品下創(chuàng)建一個設(shè)備。

2.記錄參數(shù)

連接參數(shù):可在OneNET - 中國移動物聯(lián)網(wǎng)開放平臺官方文檔中找到MQTT協(xié)議所需的連接參數(shù),從中可得:

服務(wù)器地址及端口和安全認(rèn)證三要素:

wKgZO2iB15yACYvwAAA4_tLAVng686.pngwKgZPGiB15yAM4JeAABKAu0yW6Q693.png

clientld為我們創(chuàng)建的設(shè)備名,usemame為我們創(chuàng)建產(chǎn)品后平臺分配的產(chǎn)品ID,password則需使用token生成工具生成,工具說明及下載鏈接:OneNET - 中國移動物聯(lián)網(wǎng)開放平臺。

發(fā)布主題:$sys/{pid}/{device-name}/thing/property/post(屬性上報(bào)消息主題)

訂閱主題:$sys/{pid}/{device-name}/thing/property/post/reply(屬性上報(bào)響應(yīng)主題)

訂閱主題:$sys/{pid}/{device-name}/thing/property/set(設(shè)置主題)

注意:上面兩個主題中的{pid}需要替換成產(chǎn)品ID,{device-name}替換成設(shè)備名。

wKgZO2iB15yACZ78AABdhWvT8JQ703.png

3.連接、訂閱和發(fā)布消息

接著我們可以使用上面記錄的連接參數(shù)進(jìn)行連接,當(dāng)連接成功后,訂閱上面的訂閱主題。并通過發(fā)布主題上報(bào)物模型數(shù)據(jù)。

在OneNET平臺,如果產(chǎn)品創(chuàng)建階段選擇的數(shù)據(jù)格式為OneJson格式時,接收和發(fā)送數(shù)據(jù)格式都會遵守下面這個格式:

{
  "id":"123",
  "version":"1.0",
  "params":{
    "Power":{
      "value":"on",
      "time":1524448722123
    },
    "WF":{
      "value":23.6,
      "time":1524448722123
    }
  },
  "method":"thing.{功能類型}.{方法}"
}

字段id是請求的唯一標(biāo)識符,值為"123",用于跟蹤請求的響應(yīng);version表示OneJSON數(shù)據(jù)格式的版本號,這里為"1.0";params字段包含設(shè)備的屬性數(shù)據(jù),包含了屬性標(biāo)識符、對應(yīng)的值和時間戳;method字段指定設(shè)備執(zhí)行的操作類型,這里是thing.{功能類型}.{方法},用于指明設(shè)備進(jìn)行的操作。

4.接收消息處理

接收消息:當(dāng)接收到消息時,我們只需要按照上面的json格式進(jìn)行解析,然后進(jìn)行相應(yīng)的處理即可。

10實(shí)現(xiàn)過程

接下來,我們看看在W55MH32上如何實(shí)現(xiàn)MQTT連接OneNET,并進(jìn)行訂閱、發(fā)布消息以及接收消息處理。

注意:因?yàn)楸臼纠枰L問互聯(lián)網(wǎng),請確保W55MH32的網(wǎng)絡(luò)環(huán)境及配置能夠正常訪問互聯(lián)網(wǎng)。

步驟一:初始化MQTT客戶端

mqttconn mqtt_params = {
 .mqttHostUrl = "mqtts.heclouds.com",
 .server_ip = {
     0,
 },                                                                                                                                                     /*Define the Connection Server IP*/
 .port = 1883,                                                                                                                                          /*Define the connection service port number*/
 .clientid = "W5100S_W5500",                                                                                                                            /*Define the client ID*/
 .username = "70TwP2gxl5",                                                                                                                              /*Define the user name*/
 .passwd = "version=2018-10-31&res=products%2F70TwP2gxl5%2Fdevices%2FW5100S_W5500&et=1791400694&method=sha1&sign=0SchVg6Y2MRYn%2B9zItNZwt%2F%2FN4Y%3D", /*Define user passwords*/
 .pubtopic = "$sys/70TwP2gxl5/W5100S_W5500/thing/property/post",                                                                                        /*Define the publication message*/
 .pubtopic_reply = "$sys/70TwP2gxl5/W5100S_W5500/thing/property/post/reply",
 .subtopic = "$sys/70TwP2gxl5/W5100S_W5500/thing/property/set", /*Define subscription messages*/
 .subtopic_reply = "$sys/70TwP2gxl5/W5100S_W5500/thing/property/set_reply",
 .pubQoS = QOS0,                /*Defines the class of service for publishing messages*/
 .willtopic = "/wizchip/will",  /*Define the topic of the will*/
 .willQoS = QOS0,               /*Defines the class of service for Will messages*/
 .willmsg = "wizchip offline!", /*Define a will message*/
 .subQoS = QOS0,                /*Defines the class of service for subscription messages*/
};
/**
* @brief Initializing the MQTT client side
*
* Initialize the MQTT client side with the given parameters, including network configuration and MQTT connection parameters.
*
* @param sn socket number
* @param send_buf send buffer pointer
* @param recv_buf recv buffer pointer
*/
void mqtt_init(uint8_t sn, uint8_t *send_buf, uint8_t *recv_buf)
{
   wiz_NetInfo get_info = {0};
   wizchip_getnetinfo(&get_info);
   /* DNS parsing */
   if (do_dns(send_buf, (uint8_t *)mqtt_params.mqttHostUrl, mqtt_params.server_ip))
   {
       while (1)
       {
       }
   }
   NewNetwork(&n, sn);                                          /*Obtain network configuration information*/
   ConnectNetwork(&n, mqtt_params.server_ip, mqtt_params.port); /*Connect to the MQTT server*/
   MQTTClientInit(&c, &n, 1000, send_buf, MQTT_ETHERNET_MAX_SIZE, recv_buf, MQTT_ETHERNET_MAX_SIZE);
   data.willFlag = 0;                                                            /* will flag: If the will annotation bit is 0, the following will-related settings are invalid*/
   willdata.qos = mqtt_params.willQoS;                                           /* will QoS */
   willdata.topicName.lenstring.data = mqtt_params.willtopic;                    /* will topic */
   willdata.topicName.lenstring.len = strlen(willdata.topicName.lenstring.data); /* will topic len */
   willdata.message.lenstring.data = mqtt_params.willmsg;                        /* will message */
   willdata.message.lenstring.len = strlen(willdata.message.lenstring.data);     /* will message len */
   willdata.retained = 0;
   willdata.struct_version = 3;
   data.will = willdata;
   data.MQTTVersion = 4;
   data.clientID.cstring = mqtt_params.clientid;
   data.username.cstring = mqtt_params.username;
   data.password.cstring = mqtt_params.passwd;
   data.keepAliveInterval = 30;
   data.cleansession = 1;
}

修改為自己平臺的clientid和username以及passwd,還包括pubtopic和subtopic的產(chǎn)品和設(shè)備名的更改。

步驟二:主循環(huán),處理MQTT相關(guān)操作(連接、發(fā)送、接收等)

  while(1)
    {
        do_mqtt();
     }

步驟三:進(jìn)入do_mqtt()函數(shù)

void do_mqtt(void)
{
    uint8_t ret;
    switch (run_status)
    {
        case CONN: 
        {
            // 連接到MQTT服務(wù)器
            ret = MQTTConnect(&c, &data);
            printf("Connect to the MQTT server: %d.%d.%d.%d:%drn",
                   mqtt_params.server_ip[0], mqtt_params.server_ip[1],
                   mqtt_params.server_ip[2], mqtt_params.server_ip[3],
                   mqtt_params.port);
            printf("Connected:%srnrn", ret == SUCCESSS ? "success" : "failed");

            if (ret != SUCCESSS)
            {
                run_status = ERR;
            }
            else
            {
                run_status = SUB;
            }
            break;
        }

        case SUB: 
        {
            // 訂閱第一個主題
            ret = MQTTSubscribe(&c, mqtt_params.subtopic, mqtt_params.subQoS, messageArrived);
            printf("Subscribing to %srn", mqtt_params.subtopic);
            printf("Subscribed:%srnrn", ret == SUCCESSS ? "success" : "failed");
            if (ret != SUCCESSS)
            {
                run_status = ERR;
            }
            else
            {
                run_status = PUB_MESSAGE;
            }

            // 訂閱第二個主題(回復(fù)主題)
            ret = MQTTSubscribe(&c, mqtt_params.pubtopic_reply, mqtt_params.subQoS, messageArrived);
            printf("Subscribing to %srn", mqtt_params.pubtopic_reply);
            printf("Subscribed:%srnrn", ret == SUCCESSS ? "success" : "failed");
            if (ret != SUCCESSS)
            {
                run_status = ERR;
            }
            else
            {
                run_status = PUB_MESSAGE;
            }
            break;
        }

        case PUB_MESSAGE: 
        {
            // 配置發(fā)布消息參數(shù)
            pubmessage.qos       = QOS0;
            pubmessage.payload   = "{"id":"123","version":"1.0","params":{"CurrentTemperature":{"value":26.6}}}";
            pubmessage.payloadlen = strlen(pubmessage.payload);

            // 發(fā)布消息
            ret = MQTTPublish(&c, (char *)&(mqtt_params.pubtopic), &pubmessage);
            if (ret != SUCCESSS)
            {
                run_status = ERR;
            }
            else
            {
                printf("publish:%s,%srnrn", mqtt_params.pubtopic, (char *)pubmessage.payload);
                run_status = KEEPALIVE;
            }
            break;
        }

        case KEEPALIVE: 
        {
            // 維持MQTT連接(心跳)
            if (MQTTYield(&c, 30) != SUCCESSS)
            {
                run_status = ERR;
            }
            delay_ms(100);
            break;
        }

        case RECV: 
        {
            // 處理接收到的消息
            if (mqtt_recv_flag)
            {
                mqtt_recv_flag = 0;
                json_decode(mqtt_recv_msg);  // 解析接收到的JSON消息
            }
            delay_ms(100);
            break;
        }

        case ERR:  /* 運(yùn)行錯誤狀態(tài) */
            printf("system ERROR!");
            delay_ms(1000);
            break;

        default:
            break;
    }
}

進(jìn)入該函數(shù)后,程序首先嘗試連接到指定的MQTT服務(wù)器。如果連接成功,則進(jìn)入訂閱狀態(tài);如果連接失敗,則直接進(jìn)入錯誤狀態(tài)并打印錯誤信息。

在訂閱狀態(tài)中,訂閱兩個主題:一個是用于接收消息的訂閱主題,另一個是用于發(fā)布回復(fù)的發(fā)布主題。如果這兩個主題都成功訂閱,則進(jìn)入發(fā)布消息狀態(tài);如果訂閱過程中出現(xiàn)失敗,則進(jìn)入錯誤狀態(tài)并打印錯誤信息。

進(jìn)入發(fā)布消息狀態(tài)后,構(gòu)建一條消息并嘗試發(fā)布。如果發(fā)布成功,則進(jìn)入保持連接狀態(tài);如果發(fā)布失敗,則進(jìn)入錯誤狀態(tài)并打印錯誤信息。

在保持連接狀態(tài)中,持續(xù)接收消息并檢查是否有需要處理的消息。如果有接收到需要處理的消息,則進(jìn)行相應(yīng)的處理。

在任何步驟中,如果發(fā)生錯誤,都會立即進(jìn)入錯誤狀態(tài),并打印出詳細(xì)的錯誤信息。

11運(yùn)行結(jié)果

燒錄例程運(yùn)行后,首先進(jìn)行了PHY鏈路檢測,接著是通過DHCP獲取網(wǎng)絡(luò)地址信息和DNS解析服務(wù)器域名,然后連接服務(wù)器和訂閱主題,最后發(fā)送物模型數(shù)據(jù),隨后就接收到OneNET平臺響應(yīng)的上報(bào)成功的信息,此時查看平臺物模型數(shù)據(jù)已經(jīng)得到更新顯示。如下圖所示:

wKgZPGiB15yAGlpeAAClxitEnXA140.png

然后我們使用ONENET平臺的在線設(shè)備調(diào)試功能,調(diào)試LWDSwish狀態(tài),下發(fā)數(shù)據(jù),此時W55MH32就接收到下發(fā)的消息并進(jìn)行響應(yīng)操作了,如下執(zhí)行LED OFF:

wKgZPGiB152AHOaHAABpYqhVGIw301.png

12總結(jié)

本文講解了如何在 W55MH32芯片上實(shí)現(xiàn) MQTT協(xié)議并連接 OneNET平臺,通過實(shí)戰(zhàn)例程展示了從準(zhǔn)備工作、連接配置到消息訂閱、發(fā)布及接收處理的完整過程。文章詳細(xì)介紹了 MQTT協(xié)議的概念、特點(diǎn)、應(yīng)用場景、發(fā)布 /訂閱模式、QoS級別,以及 OneNET物聯(lián)網(wǎng)平臺和物模型相關(guān)知識,幫助讀者理解其在物聯(lián)網(wǎng)設(shè)備與云端數(shù)據(jù)交互中的實(shí)際應(yīng)用價值。

下一篇文章將講解如何在 W55MH32上實(shí)現(xiàn)多路 Socket設(shè)置為 TCP客戶端模式,并進(jìn)行連接同一個服務(wù)器測試,解析多路 Socket連接的核心原理及應(yīng)用,同時講解在 W55MH32上實(shí)現(xiàn)該功能的具體步驟與要點(diǎn),敬請期待!

WIZnet是一家無晶圓廠半導(dǎo)體公司,成立于 1998年。產(chǎn)品包括互聯(lián)網(wǎng)處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術(shù),基于獨(dú)特的專利全硬連線 TCP/IP。iMCU?面向各種應(yīng)用中的嵌入式互聯(lián)網(wǎng)設(shè)備。

WIZnet在全球擁有 70多家分銷商,在香港、韓國、美國設(shè)有辦事處,提供技術(shù)支持和產(chǎn)品營銷。

香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。

審核編輯 黃宇

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

    關(guān)注

    5154

    文章

    19708

    瀏覽量

    318119
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    41

    文章

    5684

    瀏覽量

    176261
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    687

    瀏覽量

    23753
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    科技賦能推動綠色低碳發(fā)展 第二十三屆高交會“環(huán)保”亮點(diǎn)看這里!

    ? 洞察科技前沿發(fā)展趨勢,讓創(chuàng)新成為產(chǎn)業(yè)發(fā)展的核心“基因”。一年一度以“科技”“創(chuàng)新”的熱詞,第二十三屆高交會開展!作為觀察產(chǎn)業(yè)、行業(yè)發(fā)展的重要窗口,今年高交會以“推動高質(zhì)量發(fā)展,構(gòu)建新發(fā)展格局
    發(fā)表于 12-29 18:22 ?1318次閱讀
    科技賦能推動綠色低碳發(fā)展 <b class='flag-5'>第二十三</b>屆高交會“環(huán)保”亮點(diǎn)看這里!

    第二十三章 IWDG——獨(dú)立看門狗

    本篇文章介紹了W55MH32的獨(dú)立看門狗定時器,該定時器為12位遞減計(jì)數(shù)器,由LSI時鐘驅(qū)動,通過預(yù)分頻器和重裝載寄存器設(shè)超時時間,喂狗可防復(fù)位,用于檢測程序故障。
    的頭像 發(fā)表于 06-20 13:59 ?421次閱讀
    <b class='flag-5'>第二十三章</b> IWDG——獨(dú)立看門狗

    火力發(fā)電廠水汽分析方法 第二十三部分:化學(xué)耗氧量的測定(重鉻

    火力發(fā)電廠水汽分析方法 第二十三部分:化學(xué)耗氧量的測定(重鉻酸鉀法)DL/T 502.23—2006 Analytical methods of steam and water
    發(fā)表于 06-08 12:15 ?28次下載

    第二十三講 異步計(jì)數(shù)器

    第二十三講 異步計(jì)數(shù)器 概述一、計(jì)數(shù)器:用以統(tǒng)計(jì)輸入計(jì)數(shù)脈沖CP個數(shù)的電路。計(jì)數(shù)器的“模”(用M表示): 二、 計(jì)數(shù)器的分類1.按計(jì)數(shù)進(jìn)制分2.按計(jì)數(shù)
    發(fā)表于 03-30 16:27 ?1.3w次閱讀
    <b class='flag-5'>第二十三</b>講 異步計(jì)數(shù)器

    模擬電路網(wǎng)絡(luò)課件 第二十三節(jié):乙類雙電源互補(bǔ)對稱功率放大電路

    模擬電路網(wǎng)絡(luò)課件 第二十三節(jié):乙類雙電源互補(bǔ)對稱功率放大電路 5.2.1 電路的組成
    發(fā)表于 09-17 08:56 ?2250次閱讀

    2017中國西部微波射頻技術(shù)研討會暨第二十三屆國際電子測試測量研討會

    2017中國西部微波射頻技術(shù)研討會暨第二十三屆國際電子測試測量研討會
    發(fā)表于 07-05 15:12 ?1154次閱讀

    【正點(diǎn)原子FPGA連載】第二十三章RGB-LCD字符和圖片顯示實(shí)驗(yàn) -摘自【正點(diǎn)原子】新起點(diǎn)之FPGA開發(fā)指南_V2.1

    【正點(diǎn)原子FPGA連載】第二十三章RGB-LCD字符和圖片顯示實(shí)驗(yàn) -摘自【正點(diǎn)原子】新起點(diǎn)之FPGA開發(fā)指南_V2.1
    發(fā)表于 11-24 14:36 ?13次下載
    【正點(diǎn)原子FPGA連載】<b class='flag-5'>第二十三章</b>RGB-LCD字符和圖片顯示實(shí)驗(yàn) -摘自【正點(diǎn)原子】新起點(diǎn)之FPGA開發(fā)指南_V2.1

    烽火通信光纖技術(shù)獲“第二十三屆中國專利獎”銀獎

    近日,烽火通信低衰減小彎曲光纖技術(shù),榮獲“第二十三屆中國專利獎”銀獎。在我國信息網(wǎng)絡(luò)大容量傳輸“主血管”的基礎(chǔ)上,該項(xiàng)技術(shù)深入千家萬戶,構(gòu)建了具有豐富毛細(xì)血管的立體信息高速公路網(wǎng)絡(luò)。
    的頭像 發(fā)表于 05-05 16:42 ?1602次閱讀

    中國電子科技集團(tuán)公司第二十三研究所選購我司炭黑含量測試儀

    中國電子科技集團(tuán)公司第二十三研究所(簡稱23所)始建于1963年,先后直屬于國防部十院、第四機(jī)械工業(yè)部十院、國防科委第十研究院、電子工業(yè)部、信息產(chǎn)業(yè)部等,2002年起歸屬于中國電
    的頭像 發(fā)表于 05-17 16:30 ?741次閱讀
    中國電子科技集團(tuán)公司<b class='flag-5'>第二十三</b>研究所選購我司炭黑含量測試儀

    十三章 W55MH32 UPnP端口轉(zhuǎn)發(fā)示例

    本文講解了如何在 W55MH32?芯片上實(shí)現(xiàn) UPnP?協(xié)議的端口轉(zhuǎn)發(fā)功能,通過實(shí)戰(zhàn)例程詳細(xì)展示了從設(shè)備搜索、獲取設(shè)備描述、訂閱事件到添加和刪除端口映射的完整流程,包括各步驟涉及的協(xié)議報(bào)文、函數(shù)實(shí)現(xiàn)
    的頭像 發(fā)表于 07-24 10:28 ?123次閱讀
    第<b class='flag-5'>十三章</b> <b class='flag-5'>W55MH32</b> UPnP端口轉(zhuǎn)發(fā)<b class='flag-5'>示例</b>

    第二十一章 W55MH32 PHY配置示例

    本文講解了如何在 W55MH32?芯片上設(shè)置不同的 PHY?模式,通過實(shí)戰(zhàn)例程展示了根據(jù)不同傳輸場景,將 PHY?模式在 100Mbps?全雙工、10Mbps?半雙工和掉電模式之間切換以降
    的頭像 發(fā)表于 07-24 13:44 ?137次閱讀
    <b class='flag-5'>第二十</b>一章 <b class='flag-5'>W55MH32</b> PHY配置<b class='flag-5'>示例</b>

    第二十二章 W55MH32 MQTT&amp;Aliyun示例

    本文講解了如何在 W55MH32?芯片上實(shí)現(xiàn) MQTT?協(xié)議并連接阿里云平臺,通過實(shí)戰(zhàn)例程展示了從準(zhǔn)備工作、連接配置到消息訂閱、發(fā)布及接收處理的完整過程。文章詳細(xì)介紹了 MQTT?協(xié)議的概念、特點(diǎn)
    的頭像 發(fā)表于 07-24 14:17 ?158次閱讀
    <b class='flag-5'>第二十</b>二章 <b class='flag-5'>W55MH32</b> <b class='flag-5'>MQTT</b>&amp;Aliyun<b class='flag-5'>示例</b>

    第二十六章 W55MH32?上位機(jī)搜索和配置示例

    本文講解了如何在 W55MH32?芯片上實(shí)現(xiàn)上位機(jī)搜索和配置功能,通過實(shí)戰(zhàn)例程展示了使用開源上位機(jī)配置工具 SmartConfigTool?搜索局域網(wǎng)中的 W55MH32?并進(jìn)行網(wǎng)絡(luò)地址配置的過程
    的頭像 發(fā)表于 07-24 16:13 ?95次閱讀
    <b class='flag-5'>第二十</b>六章 <b class='flag-5'>W55MH32</b>?上位機(jī)搜索和配置<b class='flag-5'>示例</b>

    第二十七章 W55MH32?Interrupt示例

    本文講解了如何在 W55MH32?芯片上使用 TOE?中斷功能并進(jìn)行回環(huán)數(shù)據(jù)測試,通過實(shí)戰(zhàn)例程展示了從初始化中斷引腳、處理中斷、開啟中斷功能到在主循環(huán)中運(yùn)行 TCP?回環(huán)服務(wù)器的完整過程。文章詳細(xì)
    的頭像 發(fā)表于 07-24 16:14 ?95次閱讀
    <b class='flag-5'>第二十</b>七章 <b class='flag-5'>W55MH32</b>?Interrupt<b class='flag-5'>示例</b>

    第二十九章 W55MH32 Modbus_TCP_Server示例

    本文講解了如何在 W55MH32?芯片上實(shí)現(xiàn) Modbus TCP?協(xié)議的服務(wù)器模式,通過實(shí)戰(zhàn)例程展示了從初始化 LED?相關(guān)函數(shù)、主循環(huán)調(diào)用處理函數(shù)到解析處理接收到的報(bào)文的完整過程。文章詳細(xì)介紹了
    的頭像 發(fā)表于 07-24 16:18 ?88次閱讀
    <b class='flag-5'>第二十</b>九章 <b class='flag-5'>W55MH32</b> Modbus_TCP_Server<b class='flag-5'>示例</b>