首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

人員統計設備數據傳輸到手機 App 的三種架構方案

     編輯:程式設計綜合問答

場景定義

人員計數設備(嵌入式設備、攝像頭邊緣計算盒)需將實時統計數據(進/出人數、當前在場數)推送至用戶手機 App 顯示。

方案一:局域網直連

適用條件

  • 設備與手機處於同一 Wi-Fi/子網。
  • 設備具備以太網/Wi-Fi 模組,運行 Linux/RTOS,可編程。

實現方式

  • TCP Socket 長連接:設備為 Server,App 為 Client,JSON 協議心跳保活。
  • UDP 廣播/組播:設備周期性廣播數據,App 監聽端口接收,適合單向推送、無需確認場景。
  • HTTP REST + 輪詢:設備內嵌輕量 HTTP Server,App 定時請求 /api/stats。

優缺點

延遲極低、無雲端成本、數據不出局域網;但跨網段不可用、設備需公網 IP 或端口映射才能遠程訪問。

方案二:雲端中轉

架構

設備 → (MQTT/HTTP/CoAP) → 雲端 Broker/Server → (WebSocket/HTTP Long-polling/FCM/APNs) → App

關鍵技術選型

層級推薦方案理由
設備端協議MQTT over TLS輕量、QoS 保證、斷網斷電自動重連、支持雲端平台
雲端平台EMQX / 阿雲 IoT / 自建 Mosquitto百萬級連接、規則引擎、數據持久化
推送到 AppWebSocket (前台) + FCM/APNs (後台)前台實時、後台省電、覆蓋殺進程場景

數據流示例

// 設備發布
topic: "device/{deviceId}/stats"
payload: {"in":123,"out":120,"current":3,"ts":1699999999}

// App 訂閱
topic: "device/+/stats"  // 通配符訂閱多設備

方案三:邊緣網關 + 本地 App

部署邊緣網關(如樹莓派、工控機)聚合多設備數據,提供本地 WebSocket/API,App 連接網關。適合弱網、高實時、數據不上雲場景。

選型決策樹

  1. 設備與手機是否同一局域網?→ 是 → 方案一(最簡單)。
  2. 需遠程查看、多設備管理、歷史數據分析?→ 是 → 方案二(標準 IoT 架構)。
  3. 數據敏感、不可上雲、現場有服務器?→ 是 → 方案三(私有化部署)。

安全與穩定性清單

  • 設備端:TLS 雙向認證、固件簽名驗證、防暴力破解鎖定。
  • 傳輸層:MQTT QoS 1、心跳間隔 30s、斷線指數退避重連。
  • 雲端:設備身份註冊表、數據加密存儲、API 限流熔斷。
  • App 端:Token 鑒權、離線緩存、網絡變化自動切換長/短連接。

總結

「同網段直連最簡單,跨網段走雲端最通用,數據不出廠走邊緣網關最安全」。根據業務約束選擇架構,並在協議、認證、穩健性上投入工程精力,才能構建可靠的設備-App 數據鏈路。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved