---
# System prepended metadata

title: 機械手臂 socket 傳輸方式

---

# 機械手臂 socket 傳輸方式

# socker 連線
```sequence
機械手臂->機械手臂: 等待啟動服務時間(60s)
機械手臂 -> 圖像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

```

# 開始偵測
## 通知 圖像ＡＩ開始新的一輪檢測，若有檢測中的資料則會自動清除
傳送參數:
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
成功執行
回傳圖片資料