# 機械手臂 socket 傳輸方式 # socker 連線 ```sequence 機械手臂->機械手臂: 等待啟動服務時間(60s) 機械手臂 -> 圖像AI:發起連線請求 圖像AI--> 機械手臂: 連線成功 ``` # 連線確認 ## 確認機械手臂是否存活 固定時間發送,確認手臂連線狀態正常,對應AI檢測畫面 傳送參數: string:tick ![](https://i.imgur.com/qcgRQjR.png) ### 狀態正常 若正常則畫面顯示 機械手臂:連線正常 ```sequence 機械手臂 -> 圖像AI:tick 圖像AI--> 機械手臂: ok ``` ### AI伺服器異常或斷線 若正常則畫面顯示 機械手臂:連線正常 ```sequence 機械手臂 -> 圖像AI:tick 圖像AI--> 機械手臂: ai error ``` ### 鏡頭器異常或斷線 若正常則畫面顯示 機械手臂:連線正常 ```sequence 機械手臂 -> 圖像AI:tick 圖像AI--> 機械手臂: camera error ``` ### 超時 若超過60s未收到 tick請求 機械手臂:連線超時 ```sequence 機械手臂 -> 圖像AI:tick 圖像AI--> 機械手臂: ok ``` # 開始偵測 ## 通知 圖像AI開始新的一輪檢測,若有檢測中的資料則會自動清除 傳送參數: string:start,10,991 逗號間隔,後面接預計擷取數量,檢測件數 ex: start,9,991 開始偵測,共9張圖片,目前第991件測試 ```sequence 機械手臂 -> 圖像AI:start,10,991 圖像AI--> 機械手臂: ok ``` # 到達定位置 ## 通知 圖像AI開始建測鏡頭圖片 傳送參數 strin:check,0 逗號間隔,後面接續目前檢測序號 ex: check,0 取得圖像進行AI判斷並回應狀態 ### 狀態正常 若正常則畫面顯示 ex:第一張正常,第二張圖像瑕疵 ```sequence 機械手臂 -> 圖像AI:check,0 機械手臂 -> 機械手臂:圖像判讀 圖像AI--> 機械手臂: ok 機械手臂 -> 圖像AI:check,1 機械手臂 -> 機械手臂:圖像判讀 圖像AI--> 機械手臂: error ``` ### 模型切換 未來需要增設api設定模型 ### 信心值調整 9/8號會議後追加 # 後台 API ## 取得鏡頭資料 路由 ``` video_feed ``` Method ``` GET ``` Query String ``` ``` Response 成功執行 回傳鏡頭串流資料 ## 鏡頭設定 路由 ``` requests ``` Method ``` POST ``` Query String ``` Capture ``` Response 成功執行啟動相機 ``` { "status": "open" } ``` 成功執行關閉相機 ``` { "status": "stop" } ``` ## 辨識畫面 路由 ``` /api/step ``` Method ``` POST ``` Query String ``` ``` Response 成功執行 ``` {"msg":stat,"detectcount":detectcount,"datatypelist":datatypelist} ``` ## 取得檔案列表 路由 ``` /api/filelist ``` Method ``` POST ``` Query String ``` ``` Response 成功執行 ``` ["xxx.jpg","xxx.jpg"] ``` ## 取得辨識結果圖片 路由 ``` /api/image ``` Method ``` GET ``` Query String ``` filename=xxx.jpg ``` Response 成功執行 回傳圖片資料