socket命令.md 4.9 KB

智慧拍 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:为返回的数据信息,无实际交互需求时,前端可忽略

    {
    "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

      请求示例

      {"data":null,"type":"connect_mcu"}
      

      以下操作前必须保证设备已连接!!!

      初始化mcu设备

      目前连接设备后,后端会自动进行设备初始化操作,如无特殊需求可忽略

    • type 固定为 init_mcu

    • data:可以忽略为null

      请求示例

      {"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为设备得控制值,参考上述的最大最小值进行处理

        请求示例

        {
        "data": {
        "device_name": "camera_high_motor",
        "value": 200
        },
        "type": "control_mcu"
        }
        
    • 执行拍摄任务

      • type 为run_mcu时,为设备拍照动作连贯执行
      • data中的 action参数释义:
        • 执行左脚程序 : 为用户配置【执行左脚程序】,其状态必须至少有一条为true,否则不会运行并且报错无可用参数
        • 执行右脚程序 : 为用户配置【执行右脚程序】,其状态必须至少有一条为true,否则不会运行并且报错无可用参数
      • data中的 goods_art_no参数释义:

        • 商品货号,必须存在且为字符串形式传递

          请求示例

          {
          "data": {
          "action": "执行左脚程序",
          "goods_art_no": "1234556"
          },
          "type": "run_mcu"
          }
          

          执行拍摄任务命令发送完成后-服务端响应消息

          • msg_type 为image_process时,代表上述命令已发送给设备执行任务
          • data参数释义:
          • image_counts : 执行拍照任务的数量,可理解为照片张数
          • goods_art_no : 货号
          • current_time : 当前时间
          • msg 消息提示

            响应示例

            {
            "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 消息提示

        响应示例-拍照成功

        {
        "code": 0,
        "msg": "拍鞋底 执行完成~",
        "status": 2,
        "data": null,
        "msg_type":"photo_take"
        }
        

        响应示例-拍照成功

        {
        "code": 1,
        "msg": "拍鞋底 执行失败~",
        "status": 2,
        "data": null,
        "msg_type":"photo_take"
        }
        

        接收遥控器扫码货号动作处理

        消息示例

      • data中的子data参数释义:

        • action:【执行左脚程序】或【执行右脚程序】
        • goods_art_no :扫描到的货号
      • msg_type:当该字段为blue_tooth_scan时,前端可直接解析得到data数据包,将数据直接发送给socket服务端即可【执行拍摄任务】

        {
        "code": 0,
        "msg": "准备执行[左脚程序]",
        "status": 2,
        "data": {
                "data": {
                        "action": "执行左脚程序",
                        "goods_art_no": "货号信息",
                        },
                        "type": "run_mcu",
        },
        "msg_type": "blue_tooth_scan"
        }
        

        未完待续.....