国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請(qǐng)問物聯(lián)網(wǎng)項(xiàng)目適合使用mqtt嗎?

TomMilk

問題描述

請(qǐng)問 物聯(lián)網(wǎng)項(xiàng)目,例如共享按摩椅,充電樁等項(xiàng)目 適不適合用不用mqtt呢?

如果用純mqtt是不是有響應(yīng)不及時(shí),不靈活, 不方便的地方呢?
還是結(jié)合tcp 或者websocket 來 開發(fā),
或者純websocket開發(fā)
哪種更好呢?

467 3 0
3個(gè)回答

TM

這個(gè)不是看廠家的設(shè)備用什么協(xié)議嗎

  • 暫無評(píng)論
德瑪西亞

? 一、項(xiàng)目場(chǎng)景特點(diǎn)(共享按摩椅/充電樁)
特點(diǎn) 描述
通信方向 雙向通信(用戶操作發(fā)送命令,設(shè)備回傳狀態(tài))
通信頻率 命令不頻繁,狀態(tài)回報(bào)較規(guī)律
網(wǎng)絡(luò)環(huán)境 多數(shù)設(shè)備部署在公網(wǎng)、弱網(wǎng)(4G/5G/WiFi)環(huán)境
延遲要求 秒級(jí)響應(yīng)即可(無需毫秒級(jí))
并發(fā)連接 可能成千上萬臺(tái)設(shè)備同時(shí)在線
數(shù)據(jù)體量 小數(shù)據(jù)包(狀態(tài)、命令、應(yīng)答)

? 二、技術(shù)選型對(duì)比
技術(shù) 優(yōu)勢(shì) 劣勢(shì) 適合場(chǎng)景
MQTT 輕量、低帶寬、低功耗、QoS保證、斷線重連、保留消息、支持大規(guī)模設(shè)備 對(duì)實(shí)時(shí)控制有一點(diǎn)延遲(秒級(jí))、對(duì)二進(jìn)制數(shù)據(jù)支持弱、調(diào)試工具較少 萬物聯(lián)網(wǎng)、低頻控制、狀態(tài)推送類設(shè)備
TCP + 自定義協(xié)議 高實(shí)時(shí)性、協(xié)議完全自定義 要自行處理重連、心跳、包粘合/拆包、并發(fā)管理,開發(fā)維護(hù)成本高 高頻控制、局域網(wǎng)、對(duì)實(shí)時(shí)性要求高的項(xiàng)目(如機(jī)器人)
WebSocket 雙向通信強(qiáng)、瀏覽器/客戶端通用、易調(diào)試 不夠輕量、不穩(wěn)定網(wǎng)絡(luò)下重連復(fù)雜、較耗資源 瀏覽器實(shí)時(shí)控制、面向用戶控制面板
MQTT + WebSocket 用戶端通過 WebSocket 控制,設(shè)備通過 MQTT 收發(fā)狀態(tài) 前后端解耦、適應(yīng)面廣 架構(gòu)略復(fù)雜

? 三、針對(duì)你的項(xiàng)目建議
?? 共享按摩椅 / 充電樁場(chǎng)景
端 通信方式推薦 理由
設(shè)備端(按摩椅、充電樁) MQTT 客戶端 - 輕量適合嵌入式

  • 自動(dòng)重連
  • 云平臺(tái)易擴(kuò)展
    平臺(tái)端(后臺(tái)控制中心) MQTT Broker + Web API - 與設(shè)備穩(wěn)定通信
  • 保留命令/狀態(tài)
    用戶端(App/Web) WebSocket 或 HTTP + MQTT橋接 - WebSocket 用于實(shí)時(shí)控制
  • 或用戶下發(fā)命令由平臺(tái)轉(zhuǎn)發(fā)至 MQTT 設(shè)備

? 四、關(guān)于“純 MQTT 的劣勢(shì)”理解
MQTT 的常見“短板”是:
不是實(shí)時(shí)控制協(xié)議(但秒級(jí)延遲絕對(duì)可以接受)

調(diào)試和可視化工具不如 HTTP 豐富

強(qiáng)依賴 Broker,架構(gòu)復(fù)雜度略高

不適合傳大文件或高頻數(shù)據(jù)流

但在大多數(shù)物聯(lián)網(wǎng)控制項(xiàng)目中(比如按摩椅啟動(dòng)、停止、狀態(tài)上報(bào)),這些都不是致命問題。

? 五、推薦架構(gòu)圖(實(shí)戰(zhàn)建議)
css
復(fù)制
編輯
[User App/Web]
↓ WebSocket / HTTPS
[Control Server API]
↓ MQTT publish/subscribe
[MQTT Broker (EMQX / Mosquitto)]
↓ MQTT
[設(shè)備端 MCU/Linux 嵌入式系統(tǒng)]
用戶操作通過 Web 接口發(fā)命令

控制服務(wù)器將命令轉(zhuǎn)為 MQTT 消息下發(fā)

設(shè)備通過 MQTT 接收并執(zhí)行,并回傳狀態(tài)

? 六、推薦技術(shù)棧
模塊 推薦技術(shù)
MQTT Broker EMQX、Mosquitto
服務(wù)端開發(fā) Python(FastAPI) / Node.js / Go
Web 控制臺(tái) React + WebSocket
設(shè)備端 C/C++(RTOS) / Python / MicroPython / Linux 端用 paho.mqtt

? 總結(jié)推薦:
情況 推薦方案
大規(guī)模、低頻、狀態(tài)控制設(shè)備 ? 采用 MQTT 是最合適的
需要人機(jī)交互、界面實(shí)時(shí)性強(qiáng)(Web 端控制) ? WebSocket 用于前端控制
極高實(shí)時(shí)性要求(如0.1秒級(jí)控制) ? 避免 MQTT,可考慮 TCP socket
全部統(tǒng)一用 WebSocket? ? 不推薦設(shè)備端使用 WebSocket,因其對(duì)弱網(wǎng)不友好,不夠輕量

jack10082009

mqtt是合適的。
主要還是看你的硬件支持的是哪種協(xié)議。mqtt耗流量少,可以節(jié)省物聯(lián)網(wǎng)費(fèi)用。當(dāng)然如果你的設(shè)備達(dá)不到成百上千,那點(diǎn)流量差別不用進(jìn)入決策考慮。

  • TomMilk 26天前

    流量多少不用擔(dān)心,主要是哪種方式開發(fā)方便

  • jack10082009 24天前

    那最方便的就是http輪詢,一點(diǎn)額外的心智負(fù)擔(dān)都沒有,設(shè)備少這樣是最方便的。

  • TM 23天前

    好像沒毛病,哈哈

??