feat(docs): 更新视觉扫描完成接口文档并添加代码高亮支持
- 新增Prism.js多语言语法高亮脚本支持:bash、json、cpp、c - 扩展视觉扫描完成接口描述,加入推送建模图像的功能说明 - 补充传输协议设计及三段式数据格式详解 - 详细列出支持的图像格式种类及协议阶段示例说明 - 提供代码示例展示如何按协议发送JSON元数据、图像大小及二进制流 - 完善参数说明表格,增加请求时间戳字段解释
This commit is contained in:
@@ -55,7 +55,12 @@
|
|||||||
</script>
|
</script>
|
||||||
<!-- Docsify v4 -->
|
<!-- Docsify v4 -->
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-php.min.js"></script>
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-php.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-json.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-cpp.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-c.min.js"></script>
|
||||||
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
|
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>
|
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/@alertbox/docsify-footer/dist/docsify-footer.min.js"></script>
|
<script src="//cdn.jsdelivr.net/npm/@alertbox/docsify-footer/dist/docsify-footer.min.js"></script>
|
||||||
|
|||||||
@@ -253,9 +253,9 @@ sequenceDiagram
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. scan_completed - 视觉扫描完成
|
#### 2. scan_completed - 视觉扫描完成推送图像流
|
||||||
|
|
||||||
**功能说明:** 用于通知系统视觉扫描已完成,触发硬件控制器将M106寄存器设置为true,标记扫描流程的完成。
|
**功能说明:** 用于通知系统视觉扫描已完成并推送建模图像,触发硬件控制器将M106寄存器设置为true,标记扫描流程的完成。
|
||||||
|
|
||||||
**调用方法:** `s.hardwareController.ProcessVisionScanComplete()`
|
**调用方法:** `s.hardwareController.ProcessVisionScanComplete()`
|
||||||
|
|
||||||
@@ -264,13 +264,72 @@ sequenceDiagram
|
|||||||
**请求示例:**
|
**请求示例:**
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"id": "req002",
|
"id": "550e8400-e29b-41d4-a716-446655440000",
|
||||||
"action": "scan_completed",
|
"action": "scan_completed",
|
||||||
"timestamp": 1705123456789
|
"data": {
|
||||||
|
"wood_id": "WD0001",
|
||||||
|
"image_size": 314572800,
|
||||||
|
"image_format": "jpg"
|
||||||
|
},
|
||||||
|
"timestamp": 1705300000000
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
**说明:** 此动作不需要data参数,用于通知系统视觉扫描已完成。系统接收到此请求后会自动将M106寄存器设置为true。
|
**传输格式**
|
||||||
|
协议设计(三段式)
|
||||||
|
|
||||||
|
1. JSON元数据:{"id": "...", "action": "scan_completed", "data": {"wood_id": "WD0001", "image_size": 314572800, "image_format": "jpg"}}
|
||||||
|
2. 8字节大端序整数:图像大小
|
||||||
|
3. 原始二进制图像数据流
|
||||||
|
|
||||||
|
**支持的图像格式:**
|
||||||
|
- 普通图像:jpg, jpeg, png, bmp, tiff
|
||||||
|
- 点云数据:pcd, ply, las, xyz
|
||||||
|
- 3D模型:obj
|
||||||
|
|
||||||
|
| 阶段 | 描述 | 示例 |
|
||||||
|
| ---- | ---- | ---- |
|
||||||
|
| 1 | JSON元数据(以'}'结束,触发JSON解析) | {"id":"xxx","action":"scan_completed","data":{"wood_id":"WD0001","image_size":314572800,"image_format":"jpg"},"timestamp":1705300000000} |
|
||||||
|
| 2 | 8字节大端序整数(图像大小) | [0x00][0x00][0x00][0x00][0x12][0xC1][0x1C][0x00] = 314572800 bytes (约300MB) |
|
||||||
|
| 3 | 原始二进制图像数据流 | [图像二进制数据... 共314572800字节] |
|
||||||
|
|
||||||
|
**说明:** 用于通知系统视觉扫描已完成并推送建模图像。系统接收到此请求后会自动将M106寄存器设置为true。
|
||||||
|
|
||||||
|
**参数说明:**
|
||||||
|
|
||||||
|
| 参数 | 类型 | 说明 |
|
||||||
|
| ---- | ---- | ---- |
|
||||||
|
| wood_id | string | 原木唯一标识ID |
|
||||||
|
| image_size | number | 图像大小 |
|
||||||
|
| image_format | string | 图像格式 |
|
||||||
|
| timestamp | number | 请求时间戳(毫秒) |
|
||||||
|
|
||||||
|
```c
|
||||||
|
// 第一阶段:发送JSON元数据
|
||||||
|
json request = {
|
||||||
|
{"id", "req_123"},
|
||||||
|
{"action", "scan_completed"},
|
||||||
|
{"data", {
|
||||||
|
{"wood_id", "WD0001"},
|
||||||
|
{"image_size", 314572800}, // 300MB
|
||||||
|
{"image_format", "jpg"}
|
||||||
|
}}
|
||||||
|
};
|
||||||
|
send(sock, request.dump().c_str(), ...);
|
||||||
|
|
||||||
|
// 第二阶段:发送8字节大端序图像大小
|
||||||
|
int64_t imageSize = 314572800;
|
||||||
|
int64_t networkSize = htobe64(imageSize); // 转换为大端序
|
||||||
|
send(sock, &networkSize, 8, 0);
|
||||||
|
|
||||||
|
// 第三阶段:发送原始二进制图像流
|
||||||
|
FILE* fp = fopen("image.jpg", "rb");
|
||||||
|
char buffer[32768];
|
||||||
|
while ((n = fread(buffer, 1, sizeof(buffer), fp)) > 0) {
|
||||||
|
send(sock, buffer, n, 0);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
```
|
||||||
|
|
||||||
**响应示例:**
|
**响应示例:**
|
||||||
```json
|
```json
|
||||||
|
|||||||
Reference in New Issue
Block a user