概述
在此快速開始指南中,您將建立一個簡單的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
- 啟動 Qaptly Desktop 應用程式
- 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 秒內沒有任何訊息後連接將關閉
下一步
現在您已擁有可運作的執行節點:- 新增實際 WiFi 控制 - 將模擬替換為實際網路命令
- 實現更多功能 - 新增
wifi.connect、wifi.disconnect - 發送事件 - 通知 Qaptly 有關 WiFi 狀態變更
- 閱讀協議 - 了解所有訊息類型和流程
協議參考
完整的訊息規範
功能指南
使用 JSON Schema 定義複雜功能
認證
安全性模型和金鑰管理
範例
更完整的實作