星瞳AI云服务
串口集成

串口协议

当你想把SingTown AI Vision Module 通过串口连接到其他控制器,而控制器没有对应的代码时,会需要本文档来编写控制器的代码。

介绍

  1. SingTown AI Vision Module 识别结束后就会发送一次数据帧。即使没有识别到结果,也会发送数据帧。
  2. 串口发送的是二进制格式。每个数据帧,都会以帧头(0xEB,0x90)开始。
  3. 传输顺序为小端,也就是说对于 uint16,先传输低字节,再传输高字节。
  4. crc 为校验字节。校验不包括帧头。

目标检测格式

SingTown AI Vision Module 会按照下面的顺序发送数据帧。

  1. 发送帧头(0xEB,0x90),一共2字节。
  2. 发送识别到的数量num,1字节。
  3. 发送第一个识别对象的得分(score),标签编号(idx),矩形左上坐标(left, top),矩形右下坐标(right, bottom),每个识别对象10字节。
  4. 发送第二个,第三个...识别对象。直到一共发送num个识别对象。
  5. 发送crc检验,1字节。
字段名类型
frame head10xEB
frame head20x90
numuint8
score1uint8
idx1uint8
left1uint16
top1uint16
right1uint16
bottom1uint16
score2uint8
idx2uint8
left2uint16
top2uint16
right2uint16
bottom2uint16
crcuint8

各个值的意义:

  1. score 代表对应的识别对象的准确度,范围 0 到 255。score 值越大,越像目标。识别到多个目标时,按照得分从高到低顺序发送。
  2. idx 是用户自己设置的标签的编号,如果标签是猫和狗,0 就代表猫,1 就代表狗。标签列表是在星瞳AI云服务中设置的,每个项目都有不同的标签。
  3. left, top, right, bottom,是目标的位置坐标。原点在画面左上角。

分类格式

SingTown AI Vision Module 会按照下面的顺序发送数据帧。

  1. 发送帧头(0xEB,0x90),一共2字节。
  2. 发送分类的数量 num,一共 1 字节。如果标签是猫和狗,那么 num 就是 2。这个数量是在星瞳 AI 云服务中设置的,每个项目都有不同的分类数量。
  3. 发送每一个分类的得分(score)。每个得分1字节。score代表对应的识别对象的准确度,范围 0 到 255。score 值越大,越像目标。
  4. 发送 crc 检验,1 字节。

On this page