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

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

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

鴻蒙OS開發(fā)實(shí)戰(zhàn):【ArkTS 實(shí)現(xiàn)MQTT協(xié)議(2)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-01 14:48 ? 次閱讀

軟件說明

  1. 協(xié)議傳輸通道僅為TCPSocket
  2. 基于HarmonyOS SDK API 9開發(fā)
  3. 開發(fā)語言:ArkTS,TypeScript

應(yīng)用操作說明

測試首頁

  1. “連接” : 用于連接遠(yuǎn)端服務(wù)器。具備“連接 & 斷開” 兩個(gè)功能
  2. “設(shè)置” : 用于添加更多主題
  3. “訂閱” & “解除” : 僅用于默認(rèn)主題“Harvey2024”
  4. “發(fā)布” : 發(fā)布消息前,用來設(shè)置消息QoS 和 主題
  5. “發(fā)送” : 發(fā)布已輸入的文字

Screenshot_20240109232139981.png

主題設(shè)置頁

  1. “+” : 添加主題

image.png

  1. 主題列表,長按可刪除主題

image.png

運(yùn)行中的首頁

image.png

接口使用說明

學(xué)習(xí)前準(zhǔn)備:

開始前熟悉鴻蒙文檔

連接

//構(gòu)建MQTT CONNECT參數(shù)
let CMD = MQTTConnect.create()
  .setClientIdentifier('Harvey鴻蒙') //客戶端名字
  .buildPacket()

//配置Socket并且完成連接
HarmonyOSSocket.get()
  .socketCfg({
    address: {
      address: this.sec1IP + "." + this.sec2IP + "." + this.sec3IP + "." + this.sec4IP,
      port: 1883
    }
  },
  )
  .connectCfg(CMD)
  .connect()

訂閱主題

let options: SubscribeTopicNameOptions[] = [
  { topicName: this.currentPublishTopicName} //主題名稱
]

HarmonyOSSocket.get().subscribeTopic(options)

發(fā)布消息

//構(gòu)建MQTT PUBLISH參數(shù)
let publishConfig = MQTTPublish.create()
  .setQoS(this.currentPublishQoS) 
  .setTopicName(this.currentPublishTopicName)

HarmonyOSSocket.get()
               .publishCfg(publishConfig)
               .sendMessageByString(this.inputMessage)

消息監(jiān)聽

//錯(cuò)誤信息
getContext().eventHub.on(MQTTCommon.EVENTHUB_MQTT_APP_ERROR_MSG, (value) = > {
  this.errorMessage = value
})

//
getContext().eventHub.on(MQTTCommon.EVENTHUB_MQTT_CMD_STATUS_MSG, (msg) = > {
  if (msg.action === 'connect') { //MQTT CONNECT結(jié)果消息
    if (msg.value == 0) {
       //成功
    } else {
      Prompt.showToast({ message: '連接失敗' })
    }

  } else if (msg.action === 'close') {
    //1. TCPSocket 關(guān)閉事件
    //2. MQTT 斷開命令已發(fā)送完畢

  } else if (msg.action == 'subscribeack') {

    //訂閱主題結(jié)果 
    let packet = msg.value as MQTTPacketStruct

  } else if (msg.action == 'unsubscribeack') {

    //解除主題訂閱結(jié)果 
    let packet = msg.value as MQTTPacketStruct

  } else if (msg.action == 'publish-s-to-c') {

    //收到服務(wù)端數(shù)據(jù)包,即 接收到消息
    let packet = msg.value as MQTTPacketStruct

  } else if (msg.action == 'publish-c-to-s') {

    //客戶端發(fā)送給服務(wù)端數(shù)據(jù)包
    let packet = msg.value as MQTTPacketStruct

  }
})

斷開服務(wù)

HarmonyOSSocket.get().disconnect()

審核編輯 黃宇

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

    關(guān)注

    5

    文章

    651

    瀏覽量

    22547
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1979

    瀏覽量

    30278
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    189

    瀏覽量

    4456
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙入門實(shí)戰(zhàn)-ArkTS開發(fā)

    ArkUI框架提供,ToDoItem為自定義組件,需要開發(fā)者使用ArkTS自行聲明。 1.@Entry 2.@Component 3.struct ToDoList { 4.... 5.build
    發(fā)表于 01-16 17:27

    2024款鴻蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    鴻蒙的出現(xiàn),標(biāo)志著中國科技的崛起。HarmonyOS就是我們說的華為鴻蒙系統(tǒng),截止到2023年8月4日已有超過7億臺設(shè)備搭載了鴻蒙OS系統(tǒng)。據(jù)多家媒體報(bào)道,2024年國內(nèi)有21所985
    發(fā)表于 02-28 10:29

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】

    數(shù)據(jù)管理 電話服務(wù) 分布式應(yīng)用開發(fā) 通知與窗口管理 多媒體技術(shù) 安全技能 任務(wù)管理 WebGL 國際化開發(fā) 應(yīng)用測試 DFX面向未來設(shè)計(jì) 鴻蒙系統(tǒng)移植和裁剪定制 …… ? 《鴻蒙
    發(fā)表于 03-03 21:29

    鴻蒙Flutter實(shí)戰(zhàn):06-使用ArkTs開發(fā)Flutter鴻蒙插件

    # 使用 ArkTs 開發(fā) Flutter 鴻蒙平臺插件 本文講述如何開發(fā)一個(gè) Flutter 鴻蒙插件,如何
    發(fā)表于 10-22 21:56

    如何在鴻蒙系統(tǒng)中移植 Paho-MQTT 實(shí)現(xiàn)MQTT協(xié)議

    MQTT 是當(dāng)前最主流的物聯(lián)網(wǎng)通信協(xié)議,需要物聯(lián)網(wǎng)云平臺,例如華為云、阿里云、移動OneNET都支持mqtt。而Hi3861則是一款專為IoT應(yīng)用場景打造的芯片。本節(jié)主要講如何在鴻蒙
    發(fā)表于 10-23 22:57

    鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)物聯(lián)網(wǎng)項(xiàng)目

    移植將支持多任務(wù)。(2)onenet協(xié)議的移植與實(shí)現(xiàn)。主要講如何在mqtt的基礎(chǔ)上實(shí)現(xiàn)onenet接入。(3)如何使用onenet云平臺(4
    發(fā)表于 10-25 21:57

    【HarmonyOS】在鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)物聯(lián)網(wǎng)項(xiàng)目

    文章講了paho mqtt的移植,但是那篇文章只是簡單的移植,并不支持多任務(wù),這一次mqtt移植將支持多任務(wù)。(2)onenet協(xié)議的移植與實(shí)現(xiàn)
    發(fā)表于 10-26 16:59

    鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)物聯(lián)網(wǎng)項(xiàng)目資料

    通常來說,一個(gè)物聯(lián)網(wǎng)產(chǎn)品應(yīng)當(dāng)包括設(shè)備、云平臺、手機(jī)APP。我將在鴻蒙系統(tǒng)上移植MQTT協(xié)議、OneNET接入協(xié)議實(shí)現(xiàn)手機(jī)APP、網(wǎng)頁兩者都
    發(fā)表于 10-26 17:22

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件試用 】基于鴻蒙OS系統(tǒng)的邊緣計(jì)算

    智能家居套件的基本組件和使用方法。2.使用提供的基本源代碼完成在開發(fā)板上的鴻蒙OS系統(tǒng)的搭建和使用,嘗試搭建低功耗的鴻蒙
    發(fā)表于 10-29 14:06

    【直播預(yù)熱】Harmony MQTT/CoAP應(yīng)用指南——火熱報(bào)名中

    )paho-mqtt主要API及使用3)常用調(diào)試工具和分析方法 1. CoAP1)CoAP協(xié)議和相關(guān)開源項(xiàng)目簡介2)移植libcoap到鴻蒙OS
    發(fā)表于 12-09 17:18

    基于鴻蒙Hi3861V100 MQTT協(xié)議 對接阿里云物聯(lián)網(wǎng)平臺

    更新啦?。。。。。。。。?!基于鴻蒙HarmonyOS Hi3861V100 開發(fā)板通過MQTT協(xié)議 對接阿里云IOT物聯(lián)網(wǎng)平臺同時(shí)支持APP端、IOT網(wǎng)頁端、設(shè)備端 三端數(shù)據(jù)同步上傳和
    發(fā)表于 01-25 08:31

    鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)物聯(lián)網(wǎng)項(xiàng)目 精選資料分享

    通常來說,一個(gè)物聯(lián)網(wǎng)產(chǎn)品應(yīng)當(dāng)包括設(shè)備、云平臺、手機(jī)APP。我將在鴻蒙系統(tǒng)上移植MQTT協(xié)議、OneNET接入協(xié)議,實(shí)現(xiàn)手機(jī)APP、網(wǎng)頁兩者都
    發(fā)表于 07-13 07:13

    鴻蒙 OS 應(yīng)用開發(fā)初體驗(yàn)

    的操作系統(tǒng)平臺和開發(fā)框架。HarmonyOS 的目標(biāo)是實(shí)現(xiàn)跨設(shè)備的無縫協(xié)同和高性能。 DevEco Studio 對標(biāo) Android Studio,開發(fā)鴻蒙
    發(fā)表于 11-02 19:38

    鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)物聯(lián)網(wǎng)項(xiàng)目

    通常來說,一個(gè)物聯(lián)網(wǎng)產(chǎn)品應(yīng)當(dāng)包括設(shè)備、云平臺、手機(jī)APP。我將在鴻蒙系統(tǒng)上移植MQTT協(xié)議、OneNET接入協(xié)議,實(shí)現(xiàn)手機(jī)APP、網(wǎng)頁兩者都
    發(fā)表于 10-26 17:27 ?0次下載
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>板上使用<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>、OneNET<b class='flag-5'>實(shí)現(xiàn)</b>第一個(gè)物聯(lián)網(wǎng)項(xiàng)目

    鴻蒙開發(fā)ArkTS基礎(chǔ)知識

    一、ArkTS簡介 ArkTS是HarmonyOS優(yōu)選的主力應(yīng)用開發(fā)語言。它在TypeScript(簡稱TS)的基礎(chǔ)上,匹配了鴻蒙的ArkUI框架,擴(kuò)展了聲明式UI、狀態(tài)管理等相應(yīng)的能
    的頭像 發(fā)表于 01-24 16:44 ?2296次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>之<b class='flag-5'>ArkTS</b>基礎(chǔ)知識