自行註冊Self Registration
前言大綱
此目錄中的文件作為一個示例,說明外掛載荷如何註冊自身、註冊服務以及通過機器人與服務通信。
外掛載荷註冊
一旦負載獲得授權,其唯一的 GUID 和秘密組合就可以用作憑據來請求訪問權限受限的用戶令牌,該令牌將授予對身份驗證、目錄和目錄註冊服務的權限。 授予的用戶令牌的有效期為 12 小時。
負載註冊和授權只需進行一次,因為負載定義將在重新啟動後保留在機器人上。
服務註冊
每次重啟後都需要進行服務註冊,因為當機器人斷電時機器人目錄會被重置。
客戶與服務之間的溝通
Spot Core 核心
設置
演示
此解釋將遵循 initialize_payload script 中以編程方式佈置的過程,該腳本可自動執行此過程。 建議您先手動完成該過程以了解該過程。
選擇值
機器人Robot
- ROBOT_IP - 可以訪問機器人的 IP 地址。
外掛載荷Payload
- GUID - GUID 應該是特定於外掛負載實例的唯一生成的 GUID。
- Secret - Secret 應該是任意字符串。人類可讀性不是必需的。
- Name - Name名稱 是一個人類可讀的字符串,用於識別負載。
- Description - Description描述是對外掛載荷的人類可讀解釋。
- Label_prefix - Label_prefix標籤前綴用於識別外掛載荷的類型。
服務Service
- Name - Name名稱 ,此服務實例的唯一名稱。
- Type - Type類型 - 用於定義與此服務的通信的 RPC 服務。
- Authority - Authority權限 - 將請求定向到的權限。
- User_token_required - 訪問此服務是否需要用戶擁有令牌。
端點Endpoint
Port端口 - 系統上用於訪問服務的空閒端口。
註冊外掛載荷
self_register_payload.py 可用於註冊單個外掛負載。 註冊的外掛負載將自動設置為未授權和禁用,直到管理員在 Web 控制台中更新它。 Python 腳本將等待退出,直到註冊的外掛負載獲得授權。 如果負載 GUID 已經註冊,它不會被其他註冊請求覆蓋。 self_registered_payload.py 腳本添加的外掛載荷添加了具有預設配置的外掛載荷。 在admin頁面授權payload時,admin用戶可以選擇默認配置,或者預設配置。 有關詳細信息,請參閱有關 負載軟件配置 configuration of payload software 的文檔。
python3 self_register_payload.py --guid <payload_guid> --secret <payload_secret> --name <payload_name> --description <payload_description> ROBOT_IP
啟動公告服務
警告:配置的端口不得被服務託管設備上的防火牆阻止。
python3 announce_service.py --port <endpoint_port>
註冊公告服務
使用客戶端訪問公告服務
python3 announce_client.py --guid <payload_guid> --secret <payload_secret> --message <string_message> ROBOT_IP
演示腳本
要使用範例,請運行
initialize_payload.sh <robot_ip> <endpoint_ip> <endpoint_port> <payload_secret>
- robots_ip - 可以從當前系統訪問機器人的 IP 地址
- endpoint_ip - 可以從機器人訪問當前系統的 IP 地址
- endpoint_port - 當前系統上的開放端口,供服務通過
- payload_secret - 此外掛負載實例獨有的私有 16 字符字符串
留言
張貼留言
Aron阿龍,謝謝您的留言互動!