## 智慧拍 socket 命令说明 ### Socket 连接信息 * 本地: ws://10.56.42.176:7074/ws * 打包后: ws://127.0.0.1:7074/ws #### 统一响应示例说明 * code:为0时代表成功操作 * msg:为接口执行命令时的提示信息 * status:-1连接失败 0未连接 1连接中 2链接成功 3端口占用 * msg_type:mcu为设备控制,blue_tooth为蓝牙控制,blue_tooth_scan 为蓝牙扫码时发送的消息数据 * data:为返回的数据信息,无实际交互需求时,前端可忽略 ```python { "code": 0, "msg": "开始识别接口:COM8", "status": 1, "data": { "_type": "show_info", "plugins_mode": "auto_select_com", "data": { "text": "开始识别接口:COM8" } }, "msg_type": "mcu" } ``` ### 设备连接 * type * 值为connect_mcu时,为连接mcu设备操作 * 值为connect_bluetooth时,为连接蓝牙遥控器 * data:可以忽略为null #### 请求示例 ```python {"data":null,"type":"connect_mcu"} ``` _以下操作前必须保证设备已连接!!!_ ### 初始化mcu设备 _目前连接设备后,后端会自动进行设备初始化操作,如无特殊需求可忽略_ * type 固定为 init_mcu * data:可以忽略为null #### 请求示例 ```python {"data":null,"type":"init_mcu"} ``` ### 单独控制设备得某一个功能运行命令 _(该命令用于单独自定义配置中某一项的单独调整测试,不进行任何存储操作)_ * type 为control_mcu时,为设备得单独控制 * data中的 device_name释义: * camera_high_motor:相机高度;步长1;最小0;最大400 * camera_steering:相机倾角;步长0.1,最小-40;最大40 * camera_steering:相机倾角 * turntable_steering:转盘角度;步长1;最小-720;最大720 * turntable_position_motor:转盘位置;步长1,最小0;最大800 * overturn_steering:翻转,当device_name为当前类型时,value可以忽略或传递任意值,后端不做任何处理 * take_picture:拍照测试;当device_name为当前类型时,value为0或者大于0的数值;提交对焦次数参数 * laser_position:激光开关;当device_name为当前类型时,value为0或者1;0为关 1为开 * value为设备得控制值,参考上述的最大最小值进行处理 #### 请求示例 ```python { "data": { "device_name": "camera_high_motor", "value": 200 }, "type": "control_mcu" } ``` ### 执行拍摄任务 * type 为run_mcu时,为设备拍照动作连贯执行 * data中的 action参数释义: * 执行左脚程序 : 为用户配置【执行左脚程序】,其状态必须至少有一条为true,否则不会运行并且报错无可用参数 * 执行右脚程序 : 为用户配置【执行右脚程序】,其状态必须至少有一条为true,否则不会运行并且报错无可用参数 * data中的 goods_art_no参数释义: * 商品货号,必须存在且为字符串形式传递 #### 请求示例 ```python { "data": { "action": "执行左脚程序", "goods_art_no": "1234556" }, "type": "run_mcu" } ``` ### 执行拍摄任务命令发送完成后-服务端响应消息 * msg_type 为image_process时,代表上述命令已发送给设备执行任务 * data参数释义: * image_counts : 执行拍照任务的数量,可理解为照片张数 * goods_art_no : 货号 * current_time : 当前时间 * msg 消息提示 #### 响应示例 ```python { "msg":"MCU 命令已发送完成", "data": { "image_counts": 4, "goods_art_no": "1234556", "current_time": "年月日时分秒" }, "msg_type":"image_process" } ``` ### 单张照片拍照完成后-服务端响应消息 * msg_type 为photo_take时,代表拍照已完成 * data参数释义: * image_counts : 执行拍照任务的数量,可理解为照片张数 * goods_art_no : 货号 * current_time : 当前时间 * msg 消息提示 #### 响应示例-拍照成功 ```python { "code": 0, "msg": "拍鞋底 执行完成~", "status": 2, "data": null, "msg_type":"photo_take" } ``` #### 响应示例-拍照成功 ```python { "code": 1, "msg": "拍鞋底 执行失败~", "status": 2, "data": null, "msg_type":"photo_take" } ``` ### 接收遥控器扫码货号动作处理 #### 消息示例 * data中的子data参数释义: * action:【执行左脚程序】或【执行右脚程序】 * goods_art_no :扫描到的货号 * msg_type:当该字段为blue_tooth_scan时,前端可直接解析得到data数据包,将数据直接发送给socket服务端即可【执行拍摄任务】 ```python { "code": 0, "msg": "准备执行[左脚程序]", "status": 2, "data": { "data": { "action": "执行左脚程序", "goods_art_no": "货号信息", }, "type": "run_mcu", }, "msg_type": "blue_tooth_scan" } ``` ### 未完待续.....