跳轉到主要內容

概述

在此快速開始指南中,您將建立一個簡單的WiFi 控制器執行節點,連接到 Qaptly Desktop 並執行 WiFi 命令。此示例在實作中演示了核心 UPP 概念。

前置需求

  • Qaptly Desktop 0.15.0 版或更新版本
  • Python 3.8+ 已安裝
  • Python 和 JSON 的基本知識

步驟 1:安裝相依性

首先,安裝 WebSocket 程式庫:

步驟 2:建立執行節點

建立名為 wifi_pilot.py 的檔案:
重要: 將 <qaptly_desktop_ip> 替換為執行 Qaptly Desktop 的機器在區域網路上的實際 IP 位址(例如:192.168.1.100)。您可以在網路設定中找到此 IP 位址,或執行 ifconfig(macOS/Linux)或 ipconfig(Windows)命令查看。

步驟 3:啟動 Qaptly Desktop

  1. 啟動 Qaptly Desktop 應用程式
  2. UPP 服務會自動在連接埠 18765 上啟動

步驟 4:執行執行節點

執行執行節點指令碼:
您應該會看到:

步驟 5:批准連接

Qaptly Desktop 中將出現對話方塊:
點擊批准。

步驟 6:測試連接

執行節點應該會收到:

步驟 7:執行命令

您現在可以從 Qaptly 執行命令。執行節點將接收命令並自動回應。 例如,如果 Qaptly 發送 wifi.scan 命令,您將看到:

下一次連接(使用金鑰)

對於後續連接,請使用指派的金鑰:
使用有效的金鑰,您的執行節點將自動批准,無需使用者互動。

展示的關鍵概念

此示例展示了: ✅ WebSocket 連接 - 連接到 ws://<qaptly_desktop_ip>:18765/upp ✅ 訊息格式 - 所有訊息遵循 UPP 結構 ✅ 註冊 - 宣告執行節點資訊和功能 ✅ 認證 - 首次批准 + 基於金鑰的認證 ✅ 命令處理 - 接收和回應命令 ✅ 心跳 - 每 30 秒保持連接活躍 ✅ JSON Schema - 為每個功能定義參數和返回值

疑難排解

”Connection refused”

  • 確保 Qaptly Desktop 正在運行
  • 檢查防火牆未阻止連接埠 18765
  • 驗證您是否連接到 <qaptly_desktop_ip> (localhost)

“Registration failed: AUTH_FAILED”

  • 您的金鑰可能無效或已過期
  • 嘗試不使用金鑰連接(首次流程)
  • 檢查金鑰字串中是否有拼寫錯誤

心跳逾時

  • 執行節點必須每 30 秒發送一次心跳
  • 90 秒內沒有任何訊息後連接將關閉

下一步

現在您已擁有可運作的執行節點:
  1. 新增實際 WiFi 控制 - 將模擬替換為實際網路命令
  2. 實現更多功能 - 新增 wifi.connect、wifi.disconnect
  3. 發送事件 - 通知 Qaptly 有關 WiFi 狀態變更
  4. 閱讀協議 - 了解所有訊息類型和流程

協議參考

完整的訊息規範

功能指南

使用 JSON Schema 定義複雜功能

認證

安全性模型和金鑰管理

範例

更完整的實作