From 1f4edb63cb477a740eccc3975388d671e63b53b6 Mon Sep 17 00:00:00 2001 From: jxh Date: Tue, 29 Jul 2025 14:58:25 +0800 Subject: [PATCH] =?UTF-8?q?*=20V0.4:=202025.0729.1457=20=E6=B1=9F=E9=91=AB?= =?UTF-8?q?=E8=BE=89=201.=E5=A2=9E=E5=8A=A0=E5=A4=B4=E6=88=B4=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=8A=9F=E8=83=BD=E6=8E=A7=E5=88=B6=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NTK_NFY_Communication_Protocol.md | 112 ++++++++++++++++++++++++++++-- 1 file changed, 106 insertions(+), 6 deletions(-) diff --git a/NTK_NFY_Communication_Protocol.md b/NTK_NFY_Communication_Protocol.md index 01376eb..48173ca 100644 --- a/NTK_NFY_Communication_Protocol.md +++ b/NTK_NFY_Communication_Protocol.md @@ -27,6 +27,8 @@ To view a copy of this license, visit [https://creativecommons.org/licenses/by-n * V0.3: 2025.0715.1556 江鑫辉 1.改写 markdown 格式 2.增加头戴设备部分功能码 +* V0.4: 2025.0729.1457 江鑫辉 +1.增加头戴设备功能控制指令 --- @@ -132,6 +134,10 @@ HEX: 5A 01 FF 40 00 64 00 00 00 93 9E FF 3F 93 9E FF 3F 93 9E FF 3F 7F 4B 00 00 | 0x81 | 接收的信息出错 | 1 | uint8_t | 提示接收出现问题,不一定被处理 | | 0x90 | 启动配对流程 | 0 | \\ | 头戴设备接收此指令后清除设备ID等信息,并重新尝试配对 | | 0x91 | 告知设备ID | 1 | uint8_t | 告知设备ID | +| 0x98 | 控制开启下位机功能 | 1 | uint16_t | 开启 FFT LPF HPF NOTCH 等功能 | +| 0x99 | 控制关闭下位机功能 | 1 | uint16_t | 关闭 FFT LPF HPF NOTCH 等功能 | +| 0x9A | 控制下位机灯光 | 1 | uint8_t | 控制LED灯 | +| 0x9B | 控制播放音频与音量 | 2 | uint8_t | | ### 5.2 功能码详解 @@ -197,19 +203,96 @@ HEX: 5A 00 00 91 00 01 00 00 00 data1 crc16_L crc16_H A5 | data1 | 表示异常类型 | uint8_t | 0xff | 设备未获得设备ID号 | | crc16 | crc16校验值 | uint16_t | xx | \\ | +#### 5.2. 0x98 控制开启下位机功能 + +数据帧示例: + +``` HEX +HEX: 5A 00 00 98 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5 +``` + +| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 | +| -------- | ------------ | -------- | ------ | -------------------------- | +| data1 | 要开启的功能 | uint16_t | 见下表 | 见下表 对应位置1则代表开启 | +| crc16 | crc16校验值 | uint16_t | xx | \\ | + +**data1参数值对应功能描述:** + +| bit Num | 对应功能 | 参数值对应功能描述 | +| ---------- | ------------- | ------------------ | +| MSB ==> 15 | 暂无 | | +| 4~14 | 暂无 | | +| 3 | EEG带通滤波器 | NOTCH | +| 2 | EEG高通滤波器 | HPF | +| 1 | EEG低通滤波器 | LPF | +| LSB ==> 0 | FFT 脑波分解 | | + +#### 5.2. 0x99 控制关闭下位机功能 + +数据帧示例: + +``` HEX +HEX: 5A 00 00 99 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5 +``` + +| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 | +| -------- | ------------ | -------- | --------------------- | ------------------- | +| data1 | 要关闭的功能 | uint16_t | 参考5.2. 0x98对应表格 | 对应位置1则代表关闭 | +| crc16 | crc16校验值 | uint16_t | xx | \\ | + +#### 5.2. 0x9A 控制下位机灯光 + +数据帧示例: + +``` HEX +HEX: 5A 00 00 9A 00 01 00 00 00 data1 crc16_L crc16_H A5 +``` + +| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 | +| -------- | ------------ | -------- | ------ | ------------------------------ | +| data1 | 要关闭的功能 | uint8_t | 见下表 | 对应位 置1代表开启 置0代表关闭 | +| crc16 | crc16校验值 | uint16_t | xx | \\ | + +**data1参数值对应功能描述:** + +| bit Num | 对应功能 | 参数值对应功能描述 | +| --------- | -------- | ------------------ | +| MSB ==> 7 | 暂无 | | +| 3~6 | 暂无 | | +| 2 | RED | 红灯 | +| 1 | GREEN | 绿灯 | +| LSB ==> 0 | BLUE | 蓝灯 | + +#### 5.2. 0x9B 控制播放音频 + +数据帧示例: + +``` HEX +HEX: 5A 00 00 9B 00 02 00 00 00 audio_id volume crc16_L crc16_H A5 +``` + +| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 | +| -------- | -------------- | -------- | --------- | -------------------------- | +| audio_id | 播放音频的编号 | uint8_t | 0x00~0xFE | 对应的音频编号 | +| audio_id | 播放音频的编号 | uint8_t | 0xFF | 不播放音频仅设置音量 | +| volume | 设置音量 | uint8_t | 0x00~0x0F | 音量大小 0x00最小 0x0F最大 | +| volume | 设置音量 | uint8_t | 0xFF | 不设置音量仅播放音频 | +| crc16 | crc16校验值 | uint16_t | xx | \\ | + ## 六.头戴设备功能码表 -当连接建立后,电脑端向外发送数据时的功能码对应的功能 +当连接建立后,头戴设备向电脑发送数据时的功能码对应的功能 ### 6.1 总览 #### 6.1. 0x00~0x1f: 设备基本信息相关 -| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 | -| ------ | ---------------- | -------------- | -------------- | ---- | -| 0x00 | 设备工作状态 | 1 | uint8_t | | -| 0x01 | 设备WIFI信号强度 | 1 | uint8_t | | -| 0x02 | 设备电池电量 | 1 | uint8_t | | +| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 | +| ------ | ---------------- | -------------- | -------------- | -------------- | +| 0x00 | 设备工作状态 | 1 | uint8_t | | +| 0x01 | 设备WIFI信号强度 | 1 | uint8_t | | +| 0x02 | 设备电池电量 | 1 | uint8_t | | +| 0x10 | 上传文字日志 | N | char * N | 上传一个字符串 | #### 6.1. 0x20~0x3f: 与电脑端交互 @@ -295,6 +378,23 @@ HEX: 5A 01 ID 02 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5 | data1 | 设备电池电量 | int16_t | | 单位mV | | crc16 | crc16校验值 | uint16_t | | | +#### 6.2. 0x10 上传文字日志 + +数据帧示例: + +``` HEX +HEX: 5A 01 ID 10 00 N 00 00 00 char1 char2 ... charN crc16_L crc16_H A5 +``` + +表示设备电池电量 +定时主动发送此功能码 + +| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 | +| --------------------- | ---------- | -------- | ------ | ------------------ | +| ID | 设备ID | uint8_t | | | +| N | 字符串长度 | int16_t | | | +| char1 char2 ... charN | 字符串 | char | | | + #### 6.2. 0x20 发送MAC地址,申请设备ID 数据帧示例: