人脸识别-倍加信梯控控制

门禁,梯控开发串口协议文档

.术语约定

1. D0,D1,D2,D3....D7,表示数据的每1位

2. int8, Int8=有符号8bit数据; uint8, UInt8=无符号8bit数据

3. int16, Int16=有符号16bit数据; uint16, UInt16: 无符号16bit数据

4. int32, Int32:有符号32bit数据; uint32, UInt32:无符号32bit数据

5. 未指定系统的表示门禁和梯控都是通用

6. 串口波特率57600,数据位8,停止位1,校验位无

7. 数据传输高字节在前

 

.协议包格式:

 

序号

1

2

3

4

5

6

7

8

9

10

内容

起始字

总包校验

长度

源地址

目的地址

流水号

命令

请求/应答

状态

数据

字节

1

2

2

2

2

2

2

1

1

N

说明

0xEA

xxxx

xxxx

xxxx

xxxx

xxxx

xxxx

xx

xx

xxxx

注意:

1.定义系统特殊字:0XE0,0xEA

凡是蓝色部分数据出现系统特殊字做特殊处理:à1byte扩展为2byte.

0XE0à0XE0, 0x00;

0xEAà0XE0, 0x0A;

 

[总包校验]

2byte,是从[长度][数据包]最后字节所有字节的CRC16校验,CRC16算法见附件。

[长度]

2Byte,整个协议包长度,从[总包校验][数据包]最后字节(包含[长度]本身字节)

[源地址]

2Byte,发送数据的地址

[目的地址]

2Byte,数据要到达的地址

[流水号]

2Byte,系统自动产生,具体命令再解释,未作解释的命令不用关心(直接填0000),

[命令]

2Byte

[请求/应答]

   0=请求包,需要应答;

   1=请求包,不需要应答;

   2=应答包

   //--------------------

   100=数据转发,用于透传

   101=数据转发,用于透传

   102~120=保留

[状态]

1Byte,可以为空,只有【应答】才有,【请求】该项填0

   //定义应答状态

   #define  ACK_OK        0          //命令执行成功

   #define  ACK_ERR       1          //命令执行失败

   #define  ACK_UNDEFINE  2          //不支持该命令

   #define  ACK_INVALID_DATA 3        //无效的数据

                   255  //保留不用

[数据包]

N Byte,可以为空

数据包具体内容参见各命令详细说明。

下面命令只解释数据包内容

■(0xFAFA)保留

■(0x0001) 清除设备内存

请求à

 内   容

字节

数据

数据

0

 

应答à

 内   容

字节

数据

数据

0

 

 

说明:主要清除注册卡数据,记录数据,其他关键数据不清除:比如IP地址等设备运行参数不清除

■(0x0002) 软件复位重启动

请求à

 内   容

字节

数据

数据

0

 

应答à

 内   容

字节

数据

数据

0

 

 

■(0x0007) 硬件复位重启动

请求à

 内   容

字节

数据

数据

0

 

应答à

 内   容

字节

数据

数据

0

 

说明:相当于设备重新上电

■(0x0100) 联机测试

请求à

 内   容

字节

数据

数据

0

 

EA 84 6D 00 0E FE FE 00 01 00 00 01 00 00 00

序号

1

2

3

4

5

6

7

8

9

10

内容

起始字

总包校验

长度

源地址

目的地址

流水号

命令

请求/应答

状态

数据

字节

1

2

2

2

2

2

2

1

1

0

说明

EA

84 6D

00 0E

FE FE

00 01

00 00

01 00

00

00

 

 

应答à

 内   容

字节

数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于人脸识别的问题,以下是使用OpenCV-Java实现人脸识别的代码示例: 1. 引入OpenCV-Java库 在项目中引入OpenCV-Java库,可以从官网下载对应的版本,引入后,我们就可以调用OpenCV-Java提供的API来实现人脸识别。 2. 加载人脸识别 在使用OpenCV-Java实现人脸识别前,我们需要加载一个训练好的分类,可以使用官方提供的人脸识别模型,或自己训练。加载过程如下: ``` CascadeClassifier faceDetector = new CascadeClassifier("haarcascade_frontalface_alt.xml"); ``` 3. 读取图片并识别人脸 加载分类后,我们可以读取一张图片并进行人脸识别,具体实现代码如下: ``` Mat image = Imgcodecs.imread("test.jpg"); // 读取图片 Imgproc.cvtColor(image, image, Imgproc.COLOR_BGR2GRAY); // 转为灰度图 Imgproc.equalizeHist(image, image); // 直方图均衡化,提高图像质量 Rect[] faces = faceDetector.detectMultiScale(image); // 识别人脸 for (Rect rect : faces) { Imgproc.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0)); // 绘制人脸框 } Imgcodecs.imwrite("result.jpg", image); // 保存结果 ``` 其中,`detectMultiScale` 方法用于检测出图像中的人脸,返回一个`Rect`类型的数组,每个元素代表一个人脸的位置和大小。 4. 运行程序 将以上代码放入一个Java类中,运行程序即可实现人脸识别。注意,需要引入`org.opencv.core.Mat`、`org.opencv.core.Rect`、`org.opencv.core.Point`、`org.opencv.core.Scalar`、`org.opencv.imgcodecs.Imgcodecs`、`org.opencv.imgproc.Imgproc`等OpenCV-Java的类。 希望能够对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值