Commit 8bbd538f5134b586344b895480458b8404dba66d
1 parent
48bd28a3
V0.99-20
markdown 格式初版
Showing
1 changed file
with
2679 additions
and
0 deletions
通讯协议-教育新版-基站部分.md
0 → 100644
1 | +[TOC] | ||
2 | +# 一、概述 | ||
3 | + | ||
4 | +  本通讯协议,是在老通讯协议《通讯协议-政务商务-基站部分-V5.0.docx版本》上进行修改,大部分都是相同,本文仅就修改部分做说明。 | ||
5 | +  设置基础信标部分,做了修改,适应新教育体系特性,指令改7和8。 | ||
6 | +  设置投票信标没有变动,只是键盘协议多了一些模式,个别参数定义有变动。 | ||
7 | +  获取基站数据的流程没有变动,只是数据包格式增加新的格式定义,SDK对新格式进行解析即可。增加的是格式,一种类似原来的16字节一包的数据,另外一种是对SN号模式字符串数据的支持。 | ||
8 | +  基站设置没有变动,但有些特性,进行了增减。 | ||
9 | + | ||
10 | +# 二、设置投票模式 | ||
11 | + | ||
12 | +  设置基础信标部分,做了修改,适应新教育体系特性,指令改7和8。 | ||
13 | +  设置投票信标没有变动,只是键盘协议多了一些模式,个别参数定义有变动。 | ||
14 | + | ||
15 | +## 2.1 设置新基础信标 | ||
16 | + | ||
17 | +  设置信标信息主要是修改基站平常广播的基础信标内容。信标的具体信息的含义,请参考表决器协议部分。操作方法类似原设置基础信标。 | ||
18 | + | ||
19 | +电脑发给基站: | ||
20 | + | ||
21 | +| **字节** | **标识符** | **描述** | | ||
22 | +| --- | --- | --- | | ||
23 | +| 1 | BASECMD | 0x60 基站类指令 | | ||
24 | +| 2 | BASEID | 指定的基站编号 | | ||
25 | +| 3 | CMDTYPE | 基站命令类型<br>7 读取新教育体系基础信标,后继的参数无意义<br>8 设置新教育体系基础信标 | | ||
26 | +| 4 | ATTRIB1 | 基站特性1(对应键盘协议投票信标第25字节)<br>具体以键盘协议为准<br> BIT0 (基站是配对还是自由标识)在此不可设置 <br>BIT1=0 键盘不用定时监听投票信标,1启用定时监听<br>BIT2=1 键盘不关机 | | ||
27 | +| 5 | ATTRIB2 || | ||
28 | +| 6 | ~~ATTRIB3~~ | 实际用在频点了,不能控制 | | ||
29 | +| 7 | ~~ATTRIB4~~ | 不能控制 | | ||
30 | +|||| | ||
31 | + | ||
32 | +基站应答: | ||
33 | + | ||
34 | +| **字节** | **标识符** | **描述** | | ||
35 | +| --- | --- | --- | | ||
36 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
37 | +| 2 | BASEID | 应答的基站的编号 | | ||
38 | +| 3 | CMDTYPE | 应答类型 7 当前新扩展信标内容 | | ||
39 | +| 4 | ATTRIB1 || | ||
40 | +| 5 | ATTRIB2 || | ||
41 | +| 6 | ATTRIB3 || | ||
42 | +| 7 | ATTRIB4 || | ||
43 | +| 8-29 || 参数无意义 | | ||
44 | + | ||
45 | +## 2.2 设置投票模式信标 | ||
46 | + | ||
47 | +设置投票模式,就控制了基站的投票模式,包括投票类型和参数、投票的启动和停止。 | ||
48 | + | ||
49 | +| **字节** | **标识符** | **描述** | | ||
50 | +| --- | --- | --- | | ||
51 | +| 1 | BASECMD | 0x60 基站类指令 | | ||
52 | +| 2 | BASEID | 指定的基站编号 | | ||
53 | +| 3 | CMDTYPE | 基站命令类型<br> 3 读取当前投票模式,后继的参数无意义<br>4 设置当前投票模式 | | ||
54 | +| 4 | DATAPOS | 表决序号(结果记录序号) | | ||
55 | +| 5 | MODE | 投票模式 | | ||
56 | +| 6-29 | MODES | 投票参数,具体和MODE有关,不同模式下参数意义不同 | | ||
57 | + | ||
58 | +从第4字节起,参数的含义和表决器投票模式信标中的参数含义是一模一样的,决定了表决器的投票状态,具体参数的含义和格式,参见《表决系统通讯协议-政务商务-表决器部分 V4.1》中的2.2节中的多种投票模式参数。 | ||
59 | + | ||
60 | +基站应答: | ||
61 | + | ||
62 | +| **字节** | **标识符** | **描述** | | ||
63 | +| --- | --- | --- | | ||
64 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
65 | +| 2 | BASEID | 应答的基站的编号 | | ||
66 | +| 3 | CMDTYPE | 应答类型<br> 3 当前投票模式 | | ||
67 | +| 4 | DATAPOS | 当前表决序号 | | ||
68 | +| 5 | MODE | 当前投票模式 | | ||
69 | +| 6-29 | MODES | 当前投票参数,具体和MODE有关,不同模式下参数意义不同 | | ||
70 | + | ||
71 | +## 2.3 设置发信息信标 | ||
72 | + | ||
73 | +对应教育键盘新版协议2.4节,先设置要发送的内容,然后启动基站发送,或者由基站自主判断启动发送。 | ||
74 | + | ||
75 | +如果是指定键盘发送,基站执行一段时间后,返回执行结果。 | ||
76 | + | ||
77 | +### 2.3.1 设置发送参数 | ||
78 | + | ||
79 | +用于设置广播时候的时长,以及占用间隔。 | ||
80 | +时长主要根据广播包的长度,保证键盘都能可靠接收到。基站内部初始化也设置一个缺省参数,用户程序也可以不设置。 | ||
81 | + | ||
82 | +| **字节** | **标识符** | **描述** | | ||
83 | +| --- | --- | --- | | ||
84 | +| 1 | BASECMD | 0x60 基站类指令 | | ||
85 | +| 2 | BASEID | 指定的基站编号 | | ||
86 | +| 3 | CMDTYPE | 基站命令类型<br>11设置发送参数 | | ||
87 | +| 4 | TYPE | 参数类型(基站暂记录5种或10种) <br>1 题型答案广播参数<br>2 答案广播参数 | | ||
88 | +| 5 | TIMES | 持续发送时间,单位0.5秒 | | ||
89 | +| 6 | SLOTS | 广播时间片占用10个周期里面的多少周期 | | ||
90 | +| 7-29 ||| | ||
91 | + | ||
92 | +基站应答: | ||
93 | + | ||
94 | +| **字节** | **标识符** | **描述** | | ||
95 | +| --- | --- | --- | | ||
96 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
97 | +| 2 | BASEID | 应答的基站的编号 | | ||
98 | +| 3 | CMDTYPE | 应答类型 11设置发送参数 | | ||
99 | +| 4 | OK | 1 表示收到 | | ||
100 | +|||| | ||
101 | + | ||
102 | +### 2.3.2 设置发送内容 | ||
103 | + | ||
104 | +  SDK根据实际数据包的大小,例如键盘协议的2.4.2节的答案下发,来设置SLOTMAX值,和填写SLOTN和对应的16字节数据片段DATA的内容,并通过基站的确认包确认,把完整的要基站广播的信息先完整传给基站。 | ||
105 | + | ||
106 | +| **字节** | **标识符** | **描述** | | ||
107 | +| --- | --- | --- | | ||
108 | +| 1 | BASECMD | 0x60 基站类指令 | | ||
109 | +| 2 | BASEID | 指定的基站编号 | | ||
110 | +| 3 | CMDTYPE | 基站命令类型12 设置或读取发送内容 | | ||
111 | +| 4 | DCMD | 数据包类型—键盘根据类型选择保存位置和处理方式<br> 1 多题题型数据<br> 2多题答案数据<br>0x81 读取多题题型数据(Bit7=1是读取,用于SDK异常退出再进时候,不知道题型,没法准确解析键盘数据),SLOTN参数有效,SLOTMAX无效<br>。。。 | | ||
112 | +| 5 | SLOTMAX | 下发数据包共多少包数据,1起,每包16字节<br>(最大255,255x16=4080字节) | | ||
113 | +| 6 | SLOTN | 第多少包数据,0开始 | | ||
114 | +| 7-22 | DATA | 这个包的16字节数据 | | ||
115 | +|||| | ||
116 | + | ||
117 | +基站应答: | ||
118 | + | ||
119 | +| **字节** | **标识符** | **描述** | | ||
120 | +| --- | --- | --- | | ||
121 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
122 | +| 2 | BASEID | 应答的基站的编号 | | ||
123 | +| 3 | CMDTYPE | 应答类型 12设置发送内容 | | ||
124 | +| 4 | OK | 1 | | ||
125 | +| 5 | SLOTMAX | (如果DCMD是读取,SLOTMAX开始数据有效)<br>回传数据包共多少包数据,1起,这样SDK知道共多少包,可依次读回 | | ||
126 | +| 6 | SLOTN | 第多少包数据 | | ||
127 | +| 7-22 | DATA | 这个包的16字节数据 | | ||
128 | + | ||
129 | +### 2.3.3 启动发送和结果 | ||
130 | + | ||
131 | +控制基站启动广播发送。目前教育体系不需要这个指令,下载题型、广播答案都是基站根据测验题模式控制的。 | ||
132 | + | ||
133 | +| **字节** | **标识符** | **描述** | | ||
134 | +| --- | --- | --- | | ||
135 | +| 1 | BASECMD | 0x60 基站类指令 | | ||
136 | +| 2 | BASEID | 指定的基站编号 | | ||
137 | +| 3 | CMDTYPE | 基站命令类型<br>13 启动发送 | | ||
138 | +| 4 | ID | 是广播还是指定ID或者SN<br>0 广播 1ID 2SN | | ||
139 | +| 5-10 | ID-SN | ID模式是前2字节SN模式是6字节,教育模式下前2字节FFFF | | ||
140 | +| 11 | DCMD | 启动哪一种数据包广播<br> 1 多题题型数据 <br>2多题答案数据<br>。。。 | | ||
141 | +| 12-29 ||| | ||
142 | + | ||
143 | +基站应答: | ||
144 | + | ||
145 | +| **字节** | **标识符** | **描述** | | ||
146 | +| --- | --- | --- | | ||
147 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
148 | +| 2 | BASEID | 应答的基站的编号 | | ||
149 | +| 3 | CMDTYPE | 应答类型<br> 13 启动发送 | | ||
150 | +| 4 | OK | 1 表示收到 | | ||
151 | +|||| | ||
152 | + | ||
153 | +## 2.4 设置扩展投票信标 | ||
154 | + | ||
155 | +对应键盘协议的2.2.17节扩展投票信标内容。 | ||
156 | + | ||
157 | +| **字节** | **标识符** | **描述** | | ||
158 | +| --- | --- | --- | | ||
159 | +| 1 | BASECMD | 0x60 基站类指令 | | ||
160 | +| 2 | BASEID | 指定的基站编号 | | ||
161 | +| 3 | CMDTYPE | 基站命令类型<br> 14读取当前扩展信标信息,后继的参数无意义<br>15设置当前扩展投票信标信息 | | ||
162 | +| 4 | INFOTYPE | 对应键盘协议的INFOTYPE<br>基站可以根据值做特定处理 | | ||
163 | +| 5-29 || 内容和键盘协议一样暂按基站原指令,指令数据只到29,从4起最多26字节 | | ||
164 | +|||| | ||
165 | + | ||
166 | +从第4字节起,参数的含义和表决器投票模式信标中的参数含义是一模一样的。 | ||
167 | + | ||
168 | +基站应答: | ||
169 | + | ||
170 | +| **字节** | **标识符** | **描述** | | ||
171 | +| --- | --- | --- | | ||
172 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
173 | +| 2 | BASEID | 应答的基站的编号 | | ||
174 | +| 3 | CMDTYPE | 应答类型<br> 14当前投票模式 | | ||
175 | +| 4 | INFOTYPE | 第4字节起和设置指令一样内容 | | ||
176 | +|||| | ||
177 | + | ||
178 | +## 2.5 ~~设置空闲信标参数~~ | ||
179 | + | ||
180 | +~~对应键盘协议的停止投票、空闲时候信标 REPMODE开始的参数设置。~~ | ||
181 | +~~主要为了S6的空闲模式按键实时反馈。~~ | ||
182 | + | ||
183 | +| ~~**字节**~~ | ~~**标识符**~~ | ~~**描述**~~ | | ||
184 | +| --- | --- | --- | | ||
185 | +| ~~1~~ | ~~BASECMD~~ | ~~0x60 基站类指令~~ | | ||
186 | +| ~~2~~ | ~~BASEID~~ | ~~指定的基站编号~~ | | ||
187 | +| ~~3~~ | ~~CMDTYPE~~ | ~~基站命令类型<br>16读取当前空闲信标信息,后继的参数无意义<br>17设置当前空闲投票信标信息~~ | | ||
188 | +| ~~4~~ | ~~REPMODE~~ | ~~对应键盘协议的REPMODE<br>基站可以根据值做特定处理~~ | | ||
189 | +| ~~5-24~~ || ~~内容和键盘协议一样~~ | | ||
190 | +|||| | ||
191 | + | ||
192 | +~~从第4字节起,参数的含义和表决器空闲模式信标中的参数含义是一模一样的。支持本协议的新基站,用保存的参数替换SDK下发的停止投票后面的参数。Sdk还是带参数,以支持旧版本基站。~~ | ||
193 | + | ||
194 | +~~基站应答:~~ | ||
195 | + | ||
196 | +| ~~**字节**~~ | ~~**标识符**~~ | ~~**描述**~~ | | ||
197 | +| --- | --- | --- | | ||
198 | +| ~~1~~ | ~~BASECMD~~ | ~~0xE0 基站类指令应答~~ | | ||
199 | +| ~~2~~ | ~~BASEID~~ | ~~应答的基站的编号~~ | | ||
200 | +| ~~3~~ | ~~CMDTYPE~~ | ~~应答类型<br>16当前投票模式~~ | | ||
201 | +| ~~4-24~~ | ~~REPMODE~~ | ~~当前的REPMODE值和其他值~~ | | ||
202 | +|||| | ||
203 | + | ||
204 | +# 三、获取表决器投票数据 | ||
205 | + | ||
206 | +## 3.1 概述 | ||
207 | + | ||
208 | +SDK从基站获取投票器数据的方式和原来一样。SDK仅需要对新增加的SN号结果解析即可(格式有变动,多了字符串、考勤信息) | ||
209 | + | ||
210 | +## 3.2 新增结果类型 | ||
211 | + | ||
212 | +参见下节数据描述,MSGTYPE值不同代表不同数据类型。 | ||
213 | + | ||
214 | +| **MSGTYPE 值**|**数据类型** | | ||
215 | +| --- | --- | | ||
216 | +| 21 | 硬件序列号16字节结果,每个单独键盘结果16字节信息 | | ||
217 | +| 22 | 硬件序列号字符串结果,每个键盘结果27字节信息 | | ||
218 | +| 23 | 老考勤信号,取消 | | ||
219 | +| 24 | 2.4G远程考勤数据带电压 | | ||
220 | +| 25 | 类似21,键盘结果是同时包含键盘编号ID | | ||
221 | +| 26 | 类似22,键盘结果是同时包含键盘编号ID | | ||
222 | +| 27 | 8字节BCD格式投票结果带电量,SN+ID,含测验 | | ||
223 | +| 28 | SN\_ID,带电量,字符串结果 | | ||
224 | +| 29 | SN\_ID模式下的,长结果(25字节,键盘最多1次) | | ||
225 | +| 30 | T2语音体系的结果包 | | ||
226 | +||| | ||
227 | + | ||
228 | +### 3.2.1 硬件序列号-16字节结果 | ||
229 | + | ||
230 | +  个基站数据包可1次传递多个表决器的结果,每个结果用1字节值类型、4字节SN号(比原来少2字节)、新加2字节、2字节时间和7字节的值来传递,1结果16字节。 | ||
231 | + | ||
232 | +注意:传递SN号结果的数据包,为提高效率,长度已经不是使用键盘编号结果的29字节,而是USB模式下最多58字节(受限于HID的最多64字节一包,减去3字节同步码,1字节长度,2字节CRC),TCPIP模式下用128字节包有122,实际有效数据还要减去5。 | ||
233 | + | ||
234 | +整个结果数据包结构如下: | ||
235 | + | ||
236 | +| **字节** | **标识符** | **描述** | | ||
237 | +| --- | --- | --- | | ||
238 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
239 | +| 2 | BASEID | 应答的基站的编号 | | ||
240 | +| 3 | CMDTYPE | 5 基站结果上传 | | ||
241 | +| 4 | MSGNO | 数据包序号 | | ||
242 | +| 5 | MSGTYPE | 基站数据包类型<br> 21硬件序列号结果-新16字节结果(每组数据16字节,共3组)<br>25 类似类型21,11、12字节是键盘编号ADDH和ADDL | | ||
243 | +| 6 | ANSTYPE | 第1个结果的数据包类型<br>如果类型为0xFF,表示后面就没有数据了<br>SDK根据ANSTYPE来对后面15字节数据进行解码,具体参考《通讯协议-教育新版-键盘部分》协议<br>具体是除了字符串,其他凡是可以16字节传输的都用这个格式传递,投票结果、状态报告、登录信息、键盘请求 | | ||
244 | +| 7-10 | KEYSN | 第1个结果的表决器硬件序列号,4字节,高位在前 | | ||
245 | +| 11 | DATAPOS/ADDH | 结果对应的投票序号或者ADDH | | ||
246 | +| 12 | SENDPOS/ADDL | 键盘内部的提交数据序号或者ADDL | | ||
247 | +| 13-14 | KEYTIME | 第1个结果的按键时间, 2字节,高位在前<br>一般是离投票开始的时间,单位是20ms,最大约21分钟 | | ||
248 | +| 15-21 | VALUE | 第1个结果的7字节值,一般用BCD码表示,高位在前,F表示空字符,最多14位数 | | ||
249 | +| 22-37 || 第2个表决器的结果的16字节<br>首字节是ANSTYPE,如果类型为0xFF,表示后面就没有数据了 | | ||
250 | +| 38-53 || 第3个表决器的结果的16字节 | | ||
251 | +| 54--58 || 如果数据包够长,后面依次有多个结果<br>USB接口形式就没有数据了 | | ||
252 | +|||| | ||
253 | + | ||
254 | +注意:这些结果值的格式,从ANSTYPE起每组16字节,就是直接拷贝键盘传递过来的数据,具体的数据含义,参考键盘通讯协议3.6节序列号结果类。 | ||
255 | + | ||
256 | +### 3.2.2 硬件序列号-字符串结果 | ||
257 | + | ||
258 | +  传递序列号模式下的字符串结果和测验结果(单题提交),每组数据不是16字节,而是27字节,usb模式下一次只能传1个键盘字符串结果。 | ||
259 | + | ||
260 | +整个结果数据包结构如下: | ||
261 | + | ||
262 | +| **字节** | **标识符** | **描述** | | ||
263 | +| --- | --- | --- | | ||
264 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
265 | +| 2 | BASEID | 应答的基站的编号 | | ||
266 | +| 3 | CMDTYPE | 5 基站结果上传 | | ||
267 | +| 4 | MSGNO | 数据包序号 | | ||
268 | +| 5 | MSGTYPE | 基站数据包类型 <br> 22硬件序列号结果-字符串结果(每组27字节)<br>26 类似类型22,11、12字节是键盘编号ADDH和ADDL | | ||
269 | +| 6 | ANSTYPE | 第1个结果的数据包类型<br>如果类型为0xFF,表示后面就没有数据了 | | ||
270 | +| 7-10 | KEYSN | 第1个结果的表决器硬件序列号,4字节,高位在前 | | ||
271 | +| 11 | DATAPOS/ADDH | 结果对应的投票序号或者ADDH | | ||
272 | +| 12 | SENDPOS/ADDL | 键盘内部的提交数据序号或者ADDL | | ||
273 | +| 13-14 | KEYTIME | 第1个结果的按键时间, 2字节,高位在前<br>一般是离投票开始的时间,单位是20ms,最大约21分钟 | | ||
274 | +| 15 | SLOTN || | ||
275 | +| 16 | SLOT/NO| 16字符的片号,或测验题目号 | | ||
276 | +| 17-32 | STRING | 第1个结果的16个字符串 | | ||
277 | +| 33-59 || ~~第~~ 2个表决器的结果的27字节(由于USB数据只能58字节,所以USB结构的话,1次只能传1个键盘字符串数据) | | ||
278 | +|||| | ||
279 | + | ||
280 | +### 3.2.3 上报考勤数据(取消) | ||
281 | + | ||
282 | +新打包格式,可打包6个数据,比老版多一倍。 | ||
283 | +基站==\>PC, 基站发送id、时间信息给PC端,数据格式: | ||
284 | + | ||
285 | +| **字节** | **标识符** | **描述** | | ||
286 | +| --- | --- | --- | | ||
287 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
288 | +| 2 | BASEID | 应答的基站编号 | | ||
289 | +| 3 | CMDTYPE | 5 基站结果上传 | | ||
290 | +| 4 | MSGNO | 数据包序号 | | ||
291 | +| 5 | MSGTYPE | 基站数据包类型: 23考勤结果-十六进制结果(每组8字节) | | ||
292 | +| 6 | ANSTYPE | 记录条数: 0x00=无记录 | | ||
293 | +| 7-14 | IDPACK1 | id数据包1 | | ||
294 | +| 15-22 | IDPACK2 | id数据包2 | | ||
295 | +| 23-30 | IDPACK3 | id数据包3 | | ||
296 | +| 31-38 | IDPACK4 | id数据包4 | | ||
297 | +| 39-46 | IDPACK5 | id数据包5 | | ||
298 | +| 47-54 | IDPACK6 | id数据包6 | | ||
299 | + | ||
300 | +id数据包格式定义 | ||
301 | + | ||
302 | +| **字节** | **标识符** | **描述** | | ||
303 | +| --- | --- | --- | | ||
304 | +| 1-4 | KEYSN | 表决器硬件序列号,4字节,高位在前 | | ||
305 | +| 5 | RDNO | 读头编号: 1=1#阅读器, 2=2#阅读器 | | ||
306 | +| 6 | TIME[hour] | 小时,10进制 | | ||
307 | +| 7 | TIME[min] | 分,10进制 | | ||
308 | +| 8 | TIME[sec] | 秒,10进制 | | ||
309 | + | ||
310 | +参考数据: | ||
311 | + | ||
312 | +F5 AA AA | ||
313 | + | ||
314 | +3C | ||
315 | + | ||
316 | +E0 | ||
317 | + | ||
318 | +01 | ||
319 | + | ||
320 | +05 | ||
321 | + | ||
322 | +01 | ||
323 | + | ||
324 | +17 | ||
325 | + | ||
326 | +06 | ||
327 | + | ||
328 | +0F 15 64 05 01 01 0E 02 | ||
329 | + | ||
330 | +0F 15 64 05 02 01 0E 02 | ||
331 | + | ||
332 | +B5 49 19 0F 01 01 0E 02 | ||
333 | + | ||
334 | +B5 49 19 0F 02 01 0E 02 | ||
335 | + | ||
336 | +0F 17 BA D5 01 01 0E 02 | ||
337 | + | ||
338 | +0F 17 BA D5 02 01 0E 02 | ||
339 | + | ||
340 | +00 00 00 00 | ||
341 | + | ||
342 | +18 4D | ||
343 | + | ||
344 | +### 3.2.4 上报考勤数据带电压 | ||
345 | + | ||
346 | +基站==\>PC, 基站发送id、时间信息给PC端,数据格式: | ||
347 | + | ||
348 | +| **字节** | **标识符** | **描述** | | ||
349 | +| --- | --- | --- | | ||
350 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
351 | +| 2 | BASEID | 应答的基站编号 | | ||
352 | +| 3 | CMDTYPE | 5 基站结果上传 | | ||
353 | +| 4 | MSGNO | 数据包序号 | | ||
354 | +| 5 | MSGTYPE | 基站数据包类型: 24考勤结果-带电压 | | ||
355 | +| 6 | ANSTYPE | 记录条数: 0x00=无记录 | | ||
356 | +| 7-14 | IDPACK1 | id数据包1 | | ||
357 | +| 15-22 | IDPACK2 | id数据包2 | | ||
358 | +| 23-30 | IDPACK3 | id数据包3 | | ||
359 | +| 31-38 | IDPACK4 | id数据包4 | | ||
360 | +| 39-46 | IDPACK5 | id数据包5 | | ||
361 | +| 47-54 | IDPACK6 | id数据包6 | | ||
362 | + | ||
363 | +id数据包格式定义 | ||
364 | + | ||
365 | +| **字节** | **标识符** | **描述** | | ||
366 | +| --- | --- | --- | | ||
367 | +| 1-4 | KEYSN | 表决器硬件序列号,4字节,高位在前 | | ||
368 | +| 5 | RDNO | 读头编号: 1=1#阅读器, 2=2#阅读器 | | ||
369 | +| 6 | VOLT | 低7位是电池电压,单位0.04VBit7暂保留,例如防拆报警 | | ||
370 | +| 7-8 | TIME | 2字节秒数,高位前 | | ||
371 | +|||| | ||
372 | + | ||
373 | +### 3.2.5 序列号和编号同时传 | ||
374 | + | ||
375 | +分别见3.2.1节和3.2.2节,类型25和类型26。 | ||
376 | + | ||
377 | +### 3.2.6 SN+ID模式下,BCD结果+电量 | ||
378 | + | ||
379 | +  USB数据包只能有效数据58字节,减去前5个必要字节,余53字节,原先7BCD结果是17字节1个键盘,由于数字题要16位和加上电量(K1、T1键盘),至少19字节,所以只能打2包,为适应以后增加信息,53字节分两段一段可以26字节,对应到从ANSTYPE起26字节是一个键盘的数据。 | ||
380 | + | ||
381 | +传整个结果数据包结构如下:(第6字节到第24字节都是拷贝键盘数据) | ||
382 | + | ||
383 | +| **字节** | **标识符** | **描述** | | ||
384 | +| --- | --- | --- | | ||
385 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
386 | +| 2 | BASEID | 应答的基站的编号 | | ||
387 | +| 3 | CMDTYPE | 5 基站结果上传 | | ||
388 | +| 4 | MSGNO | 数据包序号 | | ||
389 | +| 5 | MSGTYPE | 基站数据包类型 27SN+ID模式下字符串结果+电量(每组27字节) | | ||
390 | +| 6 | ANSTYPE | 第1个结果的数据包类型<br>这里是7或8,从这里开始的数据都是直接拷贝键盘数据<br>如果类型为0xFF,表示后面就没有数据了 | | ||
391 | +| 7-10 | KEYSN | 第1个结果的表决器硬件序列号,4字节,高位在前 | | ||
392 | +| 11-12 | ID | 第1个结果的表决器编号,2字节,高位在前 | | ||
393 | +| 13-14 | KEYTIME | 第1个结果的按键时间, 2字节,高位在前<br>如果是填空,单位时间20ms,如果是测验,单位时间100ms | | ||
394 | +| 15-22 | VALUE | 第1个结果的8字节值,一般用BCD码表示,高位在前,F表示空字符,最多14位数 | | ||
395 | +| 23 | VOLT | 电压值,单位20mV | | ||
396 | +| 24-31 | RSSI? | 可能添加RSSI等其他信息,暂时全00<br>一直到第31字节,这样ANSTYPE起是26字节 | | ||
397 | +| 32 | ANSTYPE2 | 第2个键盘结果的ANSTYPE | | ||
398 | +| 33-57 | ANSVAL2 | 第2个键盘结果的从KEYSN到最后一个字节的值,25字节 | | ||
399 | +| 58 || 空,USB基站只有58字节 | | ||
400 | +|||| | ||
401 | + | ||
402 | +### 3.2.7 SN+ID模式下,字符串结果+电量 | ||
403 | + | ||
404 | +传整个结果数据包结构如下:(第6字节到第24字节都是拷贝键盘数据) | ||
405 | + | ||
406 | +| **字节** | **标识符** | **描述** | | ||
407 | +| --- | --- | --- | | ||
408 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
409 | +| 2 | BASEID | 应答的基站的编号 | | ||
410 | +| 3 | CMDTYPE | 5 基站结果上传 | | ||
411 | +| 4 | MSGNO | 数据包序号 | | ||
412 | +| 5 | MSGTYPE | 基站数据包类型 28SN+ID模式下字符串结果+电量(每组26字节) | | ||
413 | +| 6 | ANSTYPE | 第1个结果的数据包类型<br>9字符串(带电量、效验),从这里开始到第30字节的数据都是直接拷贝键盘数据<br>如果类型为0xFF,表示后面就没有数据了 | | ||
414 | +| 7-10 | KEYSN | 第1个结果的表决器硬件序列号,4字节,高位在前 | | ||
415 | +| 11-12 | ID | 第1个结果的表决器编号,2字节,高位在前 | | ||
416 | +| 13 | KEYTIME | 如果是填空,单位时间0.5s,如果是测验,单位时间1分钟 | | ||
417 | +| 14 | SLOTN或者ITEMNO | 如果是填空,高4位表示总共有多少片数据(1片16字符),0表示有1片段,低4位表示片段号码(0起),这样填空可以传256字符<br>如果是测验,是题号,表示是那个题目的答案 | | ||
418 | +| 15 | VOLT | 电压,单位20mV | | ||
419 | +| 16-30 | STRING | 15字节字符串,ASCII码,0代表字符结束 | | ||
420 | +| -31 ||| | ||
421 | +| 32 | ANSTYPE2 | 第2个键盘结果的ANSTYPE | | ||
422 | +| 33-57 | ANSVAL2 | 第2个键盘结果的从KEYSN到最后一个字节的值,25字节 | | ||
423 | +| 58 || 空,USB基站只有58字节 | | ||
424 | +|||| | ||
425 | + | ||
426 | +### 3.2.8 SN+ID模式下,长结果 | ||
427 | + | ||
428 | +传整个结果数据包结构如下:(第6字节开始都是拷贝键盘数据) | ||
429 | + | ||
430 | +| **字节** | **标识符** | **描述** | | ||
431 | +| --- | --- | --- | | ||
432 | +| 1 | BASECMD | 0xE0 基站类指令应答 | | ||
433 | +| 2 | BASEID | 应答的基站的编号 | | ||
434 | +| 3 | CMDTYPE | 5 基站结果上传 | | ||
435 | +| 4 | MSGNO | 数据包序号 | | ||
436 | +| 5 | MSGTYPE | 基站数据包类型<br> 29SN+ID模式下字符串结果+电量(每组25字节或更多) | | ||
437 | +| 6 | ANSTYPE | 第1个结果的数据包类型<br>(目前是0状态报告,但里面小模式是报告16字符姓名的) | | ||
438 | +| 7-10 | KEYSN | 第1个结果的表决器硬件序列号,4字节,高位在前 | | ||
439 | +| 11-12 | ID | 第1个结果的表决器编号,2字节,高位在前 | | ||
440 | +| 13-30 || 其他键盘数据18字节,从ANSTYPE开始算共25字节数据<br>或更多,但目前最多25了 | | ||
441 | +||| (基站只能送1个数据,2个空间不够) | | ||
442 | +|||| | ||
443 | +|||| | ||
444 | + | ||
445 | +备注:这个类型主要是为了打包状态报告里面需要16字符姓名。 | ||
446 | + | ||
447 | +## 3.3 基站报告状态 | ||
448 | + | ||
449 | +  用于基站主动报告信息,由于可靠性需要带确认,当成键盘结果包是最简单的,不打断SDK的处理流程,基站把消息模拟成结果压到队列即可。 | ||
450 | + | ||
451 | +基站模拟键盘结果类型,所以这里是按键盘打包格式: | ||
452 | + | ||
453 | +| **字节** | **标识符** | **描述** | | ||
454 | +| --- | --- | --- | | ||
455 | +| 1 | ANSCMD | 0x94硬件序列号带编号提交结果 | | ||
456 | +| 2 | ANSTYPE | 数据包类型11 基站报告状态 | | ||
457 | +| 3 | REP\_TYPE | 报告类型 <br>1 键盘快速设置失败<br>2 键盘快速设置成功<br>3 基站测试结果反馈,<br>4 键盘在线状态<br>5 多包上传状态<br>6 NFC刷卡消息<br>(后面格式根据这个类型值解析)<br>10 基站log文字信息 | | ||
458 | +|||| | ||
459 | + | ||
460 | +### 3.3.1 键盘快速设置回报 | ||
461 | + | ||
462 | +基站模拟键盘结果类型,所以这里是按键盘打包格式: | ||
463 | + | ||
464 | +| **字节** | **标识符** | **描述** | | ||
465 | +| --- | --- | --- | | ||
466 | +| 1 | ANSCMD | 0x94硬件序列号带编号提交结果 | | ||
467 | +| 2 | ANSTYPE | 数据包类型<br>11 基站报告状态 | | ||
468 | +| 3 | REP\_TYPE | 报告类型 <br>1 键盘快速设置失败 <br>2键盘快速设置成功<br>(后面格式根据这个类型值解析) | | ||
469 | +| 4 | SetDataPos | 快速设置指令里面的的DataPos<br>REP\_TYPE=3时,反馈基站测试结果 ,对于到CMDTYPE=13, | | ||
470 | +| 5 | CMD | 0x38 键盘命令码,快速设置是0x38<br>其实从本字节开始的N个字节,都是对应设置指令的,这样SDK配合DataPos能准确判断键盘是哪个指令执行失败,注意基站要准确返回DataPos | | ||
471 | +| 6-9 | SN | 键盘SN,4字节 | | ||
472 | +| 10 | KCMD | 快速设置的哪个类型的指令 | | ||
473 | +| 11-18 | KCMD1 | 从KCMD起拷贝8个字节吧,SDK可能用到 | | ||
474 | +|||| | ||
475 | +| 23-24 || CRC,1到第22字节 | | ||
476 | + | ||
477 | +### 3.3.2 基站测试结果回报 | ||
478 | + | ||
479 | +| **字节** | **标识符** | **描述** | | ||
480 | +| --- | --- | --- | | ||
481 | +| 1 | ANSCMD | 0x94硬件序列号带编号提交结果 | | ||
482 | +| 2 | ANSTYPE | 数据包类型<br>11 基站报告状态 | | ||
483 | +| 3 | REP\_TYPE | 报告类型<br> 3 基站测试结果反馈<br>(后面格式根据这个类型值解析) | | ||
484 | +| 4 | SetDataPos | REP\_TYPE=3时,反馈基站测试结果 ,对应到5.2.13节的CMDTYPE=13 基站功能测试 | | ||
485 | + | ||
486 | +### 3.3.3 键盘在线状态回报 | ||
487 | + | ||
488 | +| **字节** | **标识符** | **描述** | | ||
489 | +| --- | --- | --- | | ||
490 | +| 1 | ANSCMD | 0x94硬件序列号带编号提交结果 | | ||
491 | +| 2 | ANSTYPE | 数据包类型<br>11 基站报告状态 | | ||
492 | +| 3 | REP\_TYPE | 报告类型<br> 4 键盘在线状态回报 | | ||
493 | +| 4 | STATUS | 1 在线状态汇总<br> 2 新键盘加入<br>3 键盘退出(基站判断键盘离线) | | ||
494 | +| 5-6 | TOTAL | 基站现在在线键盘数目,高位前 | | ||
495 | +| 7-8 | TEMPPOS | 平常是0,在STATUS=1的时候,是编号,1到TOTAL,用于SDK判断是否所有在线键盘的状态都收到了 | | ||
496 | +| 9-12 | SN | 4字节键盘SN号 | | ||
497 | +| 13 | HMODEL | 键盘的型号代码 | | ||
498 | +| 14 | HVER | 键盘硬件版本 | | ||
499 | +| 15-17 | SVER | 键盘软件版本,3字节,10进制数字 | | ||
500 | +| 18 | VOLT | 电池电压,Bit7为1表示在充电,低7位x0.04V就是电池当前电压 | | ||
501 | +|||| | ||
502 | + | ||
503 | +### 3.3.4 多包上传状态报告 | ||
504 | + | ||
505 | +| **字节** | **标识符** | **描述** | | ||
506 | +| --- | --- | --- | | ||
507 | +| 1 | ANSCMD | 0x94硬件序列号带编号提交结果 | | ||
508 | +| 2 | ANSTYPE | 数据包类型<br>11 基站报告状态 | | ||
509 | +| 3 | REP\_TYPE | 报告类型<br> 5 基站多包上传状态 | | ||
510 | +| 4 | STATUS | 1 键盘多包上传数据接收成功 <br>2 接收失败<br>3 基站申请多包数据上传 | | ||
511 | +| 5 | PACKTYPE | 多包类型,这和键盘提交的多包申请里的类型一致 | | ||
512 | +| 6 | PACKID | 数据包辨别码,一般是0,和键盘提交的多包申请里数据一致 | | ||
513 | +| 7-10 | PACKLEN | 多包总字节长度,long类型,高位前 | | ||
514 | +| 11-12 | DATALEN | SDK取包每次多少字节,short类型,高位前<br>这个是基站根据硬件条件来决定 | | ||
515 | +| 13 | BASEID | 基站序号,一般1 | | ||
516 | +| 14-17 | SN | 键盘序列号,4字节 | | ||
517 | +|||| | ||
518 | + | ||
519 | +### 3.3.5 NFC刷卡消息-入网消息 | ||
520 | + | ||
521 | +| **字节** | **标识符** | **描述** | | ||
522 | +| --- | --- | --- | | ||
523 | +| 1 | ANSCMD | 0x94硬件序列号带编号提交结果 | | ||
524 | +| 2 | ANSTYPE | 数据包类型<br>11 基站报告状态 | | ||
525 | +| 3 | REP\_TYPE | 报告类型<br> 6 NFC刷卡消息 | | ||
526 | +| 4 | STATUS | 1 基站容量满(含键盘开机入网受限)<br> 2 基站报告正常刷卡的键盘SN <br>3 新键盘刷卡,由于容量限定,首个键盘被移出名单<br>4 刷卡写指定配对码消息 | | ||
527 | +| 5-8 | SN | 键盘SN | | ||
528 | +| 9 | ONLINEN | 在线键盘数目 | | ||
529 | + | ||
530 | +### 3.3.5 基站Log信息 | ||
531 | + | ||
532 | +  以往基站或键盘的调试信息,只能串口、RTT实时打印,需要连接线和特殊工具才能获取,这里提供一种直接通过USB上报的方法,就是把调试信息当一种类型的投票结果传给SDK,SDK直接解码显示到log显示界面,这样,调试很方便。参见3.2.2节基站的应答数据包,1包共60字节,平常传32字符信息没问题。 | ||
533 | + | ||
534 | +调试信息指令格式: | ||
535 | + | ||
536 | +| **字节** | **标识符** | **描述** | | ||
537 | +| --- | --- | --- | | ||
538 | +| 1 | GETCMD | 0x9F Log文本信息 | | ||
539 | +| 2 | TYPE | 暂1,表示格式1 | | ||
540 | +| 3 | SOURCE\_ID | 来源,0-4,比如0是主控,1是模块1,也可以当告警等级<br>SDK那边可以分开不同的tab页显示 | | ||
541 | +| 4-5 | TIME | 时间,2字节,高位前,单位20ms,一般是投票启动时为0<br>SDK转换成分、秒、毫秒显示 | | ||
542 | +| 6-- | LogText | 开始是Log文本信息,SDK按文本显示 | | ||
543 | +|||| | ||
544 | +| 59-60 ||| | ||
545 | + | ||
546 | +# 五、基站管理 | ||
547 | + | ||
548 | +## 5.1概述 | ||
549 | + | ||
550 | +为减少工作量,基站设置大部分保持兼容。原来设置基站名称的地方,改为设置自由模式下的基站密码。新加考勤基站配置。 | ||
551 | + | ||
552 | +命令CMDTYPE总表:(和政务商务体系兼容) | ||
553 | + | ||
554 | +| **字节** | **标识符** | **描述** | | ||
555 | +| --- | --- | --- | | ||
556 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
557 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
558 | +| 3 | CMDTYPE | 基站管理命令类型<br> 1 读取基站配置 <br>2 设置基站配置 <br>3 读取基站硬件信息,例如SN <br>4 设置基站硬件信息(内部使用,不对外公开)<br> 5 读取基站配对码<br> 6 设置基站配对码(内部使用,不对外公开)<br> 7 基站升级<br> 8 平板基站参数设置 <br>9 基站软件狗功能 <br>10 信道评估 <br>11 通用附加配置 <br>12 TCPIP相关配置 <br>13 基站测试 <br>14 白名单管理 <br>15 基站OEM读<br> 16 基站OEM写 <br>17 基站键盘SN名单管理 <br>18 基站键盘SN名单管理-长包<br>22 基站下载多包 <br>23 基站上传多包(和AES加密冲突)<br> 24 AES加密写设置 <br>25 CRC 读设置<br> 26 CRC 写设置<br> 27 基站下载单包<br> 28 基站下载单包-快速设置-1024字节<br><br>30 组网相关 <br>31 测试相关<br> 32 Log信息 <br>33 SDK退出 <br>34 读基站字符串<br>35 写基站字符串 | | ||
559 | + | ||
560 | +## 5.2 基础管理类 | ||
561 | + | ||
562 | +### 5.2.1 通用附加配置 | ||
563 | + | ||
564 | +  用于配置基站的其他特性,特别是新加特性。例如V4.5版本时候,支持教育体系下,基站要新加基站名称和配对模式设定。 | ||
565 | + | ||
566 | +电脑向基站发送: | ||
567 | + | ||
568 | +| **字节** | **标识符** | **描述** | | ||
569 | +| --- | --- | --- | | ||
570 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
571 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
572 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
573 | +| 4 | MODE | 1 读取基站配对模式和密码 <br>2 写基站配对模式和密码<br>其他模式附表:<br>3 读取基站多信道模式参数<br>4 设置基站多信道模式参数<br>5-读取考勤基站时钟设置<br>6-写考勤基站时钟设置<br>7-读取考勤基站射频衰减设置<br>8-写考勤基站射频衰减<br>9-读取免配对SN号模式下的网络状态<br>10-写免配对SN号模式下的网络状态<br>11-读取免配对SN号模式下的基站设置<br>12-写免配对SN号模式下的基站设置<br>13-读取考勤基站去重设置<br>14-写考勤基站去重设置<br>15 读取基站快速配对低功率设置<br>16 写基站快速配对低功率设置 <br>17 写基站设备状态,例如NFC <br>18 读基站设备状态 <br>19 写NFC刷卡信息<br> 20 NFC刷卡返回 <br>21 读基站数据开关 <br>22 写基站数据开关<br>23 读基站名称<br>24 写基站名称<br>25 读基站登录密码(S6)<br>26 写基站登录密码(S6)<br>27 读基站Plus模式(S6) LOGMODE = 1 0<br>28 写基站Plus模式(S6) LOGMODE = 1 0 对应相应开关 <br>29 写基站配置-快速响应信标模式 (MODE下一字节为快速休眠持续时间单位S 填0基站默认10S,意思10S之后基站自动回到正常休眠信标发送) (基站正常模式信标内WCT\_Pos位0-7循环发送,快速响应信标模式为一直发送7,让键盘以30MS周期休眠持续固定市场 基站自动关闭该模式) <br>30 读空闲设置-反馈参数设置<br> 31 写空闲设置-反馈参数设置 <br>32 读空闲设置-语言设置 <br>33 写空闲设置-语言设置 <br>34 读基站组网公开位<br>35 写基站组网公开位 | | ||
574 | +| 5 | LOGMODE | (以下参数只对MODE=1有效)<br>配对模式,固定还是自由登录<br>(只支持4-8模式)<br> 4配对SN号模式 <br>5 自由SN号模式 <br>6 免配对SN号模式 <br>~~7 免配对同频点SN号模式(正道远)~~~~ <br>8 免配对多频点SN号模式(正道远)~~<br>7 配对序列号+编号模式(S6Plus体系)-K1套装模式<br>8 白名单序列号+编号模式(S6Plus体系)-K1白名单模式 | | ||
575 | +| 6-8 | PWD | 自由模式下基站的密码,必须满3位,ASC字符 <br>000不用核对<br>25、26新模式下,2字节,高位前,密码范围9999,0不用核对 | | ||
576 | +| 6-17 | BASENAME | 如果是写基站名称字符串指令,从6开始,12字节,0提前结束 | | ||
577 | +| -29 || 参数无意义 | | ||
578 | + | ||
579 | +基站应答: | ||
580 | + | ||
581 | +| **字节** | **标识符** | **描述** | | ||
582 | +| --- | --- | --- | | ||
583 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
584 | +| 2 | BASEID | 应答的基站的编号 | | ||
585 | +| 3 | CMDTYPE | 应答类型 11通用附加配置 | | ||
586 | +| 4 | MODE | 对应指令MODE值 | | ||
587 | +| 5 | LOGMODE | 当前LOGMODE值 | | ||
588 | +| 6- | PWD-BASENAME | 自由模式下基站的密码或者是基站名称 | | ||
589 | +| -29 || 参数无意义 | | ||
590 | + | ||
591 | +### 5.2.2 考勤基站时钟设置 | ||
592 | + | ||
593 | +用于配置基站的其他特性,特别是新加特性。例如V4.5版本时候,支持教育体系下,基站要新加基站名称和配对模式设定。 | ||
594 | + | ||
595 | +电脑向基站发送: | ||
596 | + | ||
597 | +| **字节** | **标识符** | **描述** | | ||
598 | +| --- | --- | --- | | ||
599 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
600 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
601 | +| 3 | CMDTYPE | 基站管理命令类型11 通用附加配置 | | ||
602 | +| 4 | MODE | 5-读取考勤基站时钟设置6-写考勤基站时钟设置 | | ||
603 | +| 5 | HOUR | 考勤基站时钟的时 | | ||
604 | +| 6 | MIN | 考勤基站时钟的分 | | ||
605 | +| 7 | SEC | 考勤基站时钟的秒 | | ||
606 | +| 8-29 || 参数无意义 | | ||
607 | + | ||
608 | +基站应答: | ||
609 | + | ||
610 | +| **字节** | **标识符** | **描述** | | ||
611 | +| --- | --- | --- | | ||
612 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
613 | +| 2 | BASEID | 应答的基站的编号 | | ||
614 | +| 3 | CMDTYPE | 应答类型 11通用附加配置 | | ||
615 | +| 4 | MODE | 5 返回考勤基站配置参数 | | ||
616 | +| 5 | HOUR | 考勤基站时钟的时 | | ||
617 | +| 6 | MIN | 考勤基站时钟的分 | | ||
618 | +| 7 | SEC | 考勤基站时钟的秒 | | ||
619 | +| 8-29 || 参数无意义 | | ||
620 | + | ||
621 | +### 5.2.2b 考勤基站射频衰减值设置 | ||
622 | + | ||
623 | +电脑向基站发送: | ||
624 | + | ||
625 | +| **字节** | **标识符** | **描述** | | ||
626 | +| --- | --- | --- | | ||
627 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
628 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
629 | +| 3 | CMDTYPE | 基站管理命令类型11 通用附加配置 | | ||
630 | +| 4 | MODE | 7-读取考勤基站射频衰减设置8-写考勤基站射频衰减 | | ||
631 | +| 5 | ATT1 | 内读头衰减值0-31 | | ||
632 | +| 6 | ATT2 | 外读头衰减值0-31 | | ||
633 | +|||| | ||
634 | +| 8-29 || 参数无意义 | | ||
635 | + | ||
636 | +基站应答: | ||
637 | + | ||
638 | +| **字节** | **标识符** | **描述** | | ||
639 | +| --- | --- | --- | | ||
640 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
641 | +| 2 | BASEID | 应答的基站的编号 | | ||
642 | +| 3 | CMDTYPE | 应答类型 11通用附加配置 | | ||
643 | +| 4 | MODE | 7 返回考勤基站射频衰减设置 | | ||
644 | +| 5 | ATT1 | 内读头衰减值 | | ||
645 | +| 6 | ATT2 | 外读头衰减值 | | ||
646 | +|||| | ||
647 | +| 8-29 || 参数无意义 | | ||
648 | + | ||
649 | +### 5.2.3 免配对SN号模式网络状态(正道远) | ||
650 | + | ||
651 | +在5.2.1节基站配对模式是7和8的时候有效。 | ||
652 | + | ||
653 | +电脑向基站发送: | ||
654 | + | ||
655 | +| **字节** | **标识符** | **描述** | | ||
656 | +| --- | --- | --- | | ||
657 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
658 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
659 | +| 3 | CMDTYPE | 基站管理命令类型11 通用附加配置 | | ||
660 | +| 4 | MODE | 9-读取免配对SN号模式下的网络状态10-写免配对SN号模式下的网络状态 | | ||
661 | +| 5 | NET | 服务器在线情况 0 离线 1 在线,基站数据可以上传SDK定时10秒向基站设置一次,相当于握手信号,否则基站认为离线,不再接收键盘数据 | | ||
662 | +| 6 ||| | ||
663 | +| 7-29 || 参数无意义 | | ||
664 | + | ||
665 | +基站应答: | ||
666 | + | ||
667 | +| **字节** | **标识符** | **描述** | | ||
668 | +| --- | --- | --- | | ||
669 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
670 | +| 2 | BASEID | 应答的基站的编号 | | ||
671 | +| 3 | CMDTYPE | 应答类型 11通用附加配置 | | ||
672 | +| 4 | MODE | 9 返回免配对SN号模式下的网络状态| | ||
673 | +| 5 | NET | 同设置值 | | ||
674 | +| 6-29 || 参数无意义 | | ||
675 | + | ||
676 | +### 5.2.4 TCPIP相关配置 | ||
677 | + | ||
678 | +注意:仅支持TCPIP连接功能的基站才能执行这些指令。 | ||
679 | + | ||
680 | +电脑向基站发送: | ||
681 | + | ||
682 | +| **字节** | **标识符** | **描述** | | ||
683 | +| --- | --- | --- | | ||
684 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
685 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
686 | +| 3 | CMDTYPE | 基站管理命令类型<br>12 TCPIP相关配置 | | ||
687 | +| 4 | MODE | 1 读取基站4字节的IP地址,高位前<br> 2 设置基站4字节的IP地址,高位前<br> 3 读取基站6字节的MAC地址 <br>4 设置基站6字节的MAC地址<br> 5 读取基站4字节的子网掩码<br> 6 设置基站4字节的子网掩码 <br>7 读取基站4字节的网关地址 <br>8 设置基站4字节的网关地址<br>9 读取基站4字节的DNS地址<br>10 设置基站4字节的DNS地址<br>11 读取基站4字节的待连接服务器地址<br>12 设置基站4字节的待连接服务器地址<br>13 读取网络端口参数<br>14 设置网络端口参数<br>15 读取服务器4字节的IP地址<br>16 设置服务器4字节的IP地址<br>17 读取服务器用户名<br>18 设置服务器用户名<br>19 读取服务器密码<br>20 设置服务器密码| | ||
688 | +| 5-10 | IPMAC | 设置的IP地址或MAC地址字节数据、掩码、网关 | | ||
689 | +| 11-29 || 参数无意义 | | ||
690 | + | ||
691 | +基站应答: | ||
692 | + | ||
693 | +| **字节** | **标识符** | **描述** | | ||
694 | +| --- | --- | --- | | ||
695 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
696 | +| 2 | BASEID | 应答的基站的编号 | | ||
697 | +| 3 | CMDTYPE | 应答类型<br> 12 TCPIP相关配置 | | ||
698 | +| 4 | MODE | 1 当前的IP地址<br> 3 当前的MAC地址<br> 5 当前的子网掩码 <br>7 当前的网关地址 <br>9 读取基站4字节的DNS地址<br>11 读取基站4字节的待连接服务器地址<br>13 读取网络端口参数 | | ||
699 | +| 5-10 | IPMAC | 当前的IP地址或MAC地址字节数据、掩码、网关 | | ||
700 | +| 11-29 || 参数无意义 | | ||
701 | + | ||
702 | +#### 5.2.4.1 基站IP地址 | ||
703 | + | ||
704 | +电脑向基站发送(参考IP地址: 200.200.100.251): | ||
705 | + | ||
706 | +| **字节** | **标识符** | **描述** | | ||
707 | +| --- | --- | --- | | ||
708 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
709 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
710 | +| 3 | CMDTYPE | 基站管理命令类型<br> 12 TCPIP相关配置 | | ||
711 | +| 4 | MODE | 1 读取基站4字节的IP地址,高位前<br>2 设置基站4字节的IP地址,高位前 | | ||
712 | +| 5 | IP\_ADDR | 十六进制,IP地址,如:200 | | ||
713 | +| 6 | IP\_ADDR | 十六进制,IP地址,如:200 | | ||
714 | +| 7 | IP\_ADDR | 十六进制,IP地址,如:100 | | ||
715 | +| 8 | IP\_ADDR | 十六进制,IP地址,如:251 | | ||
716 | +| 9-29 || 参数无意义 | | ||
717 | + | ||
718 | +基站应答(参考IP地址: 200.200.100.251): | ||
719 | + | ||
720 | +| **字节** | **标识符** | **描述** | | ||
721 | +| --- | --- | --- | | ||
722 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
723 | +| 2 | BASEID | 应答的基站的编号 | | ||
724 | +| 3 | CMDTYPE | 应答类型<br> 12 TCPIP相关配置 | | ||
725 | +| 4 | MODE | 1 读取基站4字节的IP地址,高位前 | | ||
726 | +| 5 | IP\_ADDR | 十六进制,IP地址,如:200 | | ||
727 | +| 6 | IP\_ADDR | 十六进制,IP地址,如:200 | | ||
728 | +| 7 | IP\_ADDR | 十六进制,IP地址,如:100 | | ||
729 | +| 8 | IP\_ADDR | 十六进制,IP地址,如:251 | | ||
730 | +| 9-29 || 参数无意义 | | ||
731 | + | ||
732 | +#### 5.2.4.2 基站MAC地址 | ||
733 | + | ||
734 | +电脑向基站发送(参考MAC地址: EA-37-35-82-23-51): | ||
735 | + | ||
736 | +| **字节** | **标识符** | **描述** | | ||
737 | +| --- | --- | --- | | ||
738 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
739 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
740 | +| 3 | CMDTYPE | 基站管理命令类型 <br>12 TCPIP相关配置 | | ||
741 | +| 4 | MODE | 3 读取基站6字节的MAC地址<br>4 设置基站6字节的MAC地址 | | ||
742 | +| 5 | MAC | 十六进制,MAC地址,如:0xea | | ||
743 | +| 6 | MAC | 十六进制,MAC地址,如:0x37 | | ||
744 | +| 7 | MAC | 十六进制,MAC地址,如:0x35 | | ||
745 | +| 8 | MAC | 十六进制,MAC地址,如:0x82 | | ||
746 | +| 9 | MAC | 十六进制,MAC地址,如:0x23 | | ||
747 | +| 10 | MAC | 十六进制,MAC地址,如:0x51 | | ||
748 | +| 11-29 || 参数无意义 | | ||
749 | + | ||
750 | +基站应答(参考MAC地址: EA-37-35-82-23-51): | ||
751 | + | ||
752 | +| **字节** | **标识符** | **描述** | | ||
753 | +| --- | --- | --- | | ||
754 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
755 | +| 2 | BASEID | 应答的基站的编号 | | ||
756 | +| 3 | CMDTYPE | 应答类型<br> 12 TCPIP相关配置 | | ||
757 | +| 4 | MODE | 3 读取基站6字节的MAC地址 | | ||
758 | +| 5 | MAC | 十六进制,MAC地址,如:0xea | | ||
759 | +| 6 | MAC | 十六进制,MAC地址,如:0x37 | | ||
760 | +| 7 | MAC | 十六进制,MAC地址,如:0x35 | | ||
761 | +| 8 | MAC | 十六进制,MAC地址,如:0x82 | | ||
762 | +| 9 | MAC | 十六进制,MAC地址,如:0x23 | | ||
763 | +| 10 | MAC | 十六进制,MAC地址,如:0x51 | | ||
764 | +| 11-29 || 参数无意义 | | ||
765 | + | ||
766 | +#### 5.2.4.3 基站子网掩码 | ||
767 | + | ||
768 | +电脑向基站发送(参考掩码地址: 255.255.255.0): | ||
769 | + | ||
770 | +| **字节** | **标识符** | **描述** | | ||
771 | +| --- | --- | --- | | ||
772 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
773 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
774 | +| 3 | CMDTYPE | 基站管理命令类型<br> 12 TCPIP相关配置 | | ||
775 | +| 4 | MODE | 5 读取基站4字节的子网掩码<br>6 设置基站4字节的子网掩码 | | ||
776 | +| 5 | MAC | 十六进制,掩码地址,如:255 | | ||
777 | +| 6 | MAC | 十六进制,掩码地址,如:255 | | ||
778 | +| 7 | MAC | 十六进制,掩码地址,如:255 | | ||
779 | +| 8 | MAC | 十六进制,掩码地址,如:0 | | ||
780 | +| 9-29 || 参数无意义 | | ||
781 | + | ||
782 | +基站应答(参考掩码地址: 255.255.255.0): | ||
783 | + | ||
784 | +| **字节** | **标识符** | **描述** | | ||
785 | +| --- | --- | --- | | ||
786 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
787 | +| 2 | BASEID | 应答的基站的编号 | | ||
788 | +| 3 | CMDTYPE | 应答类型<br> 12 TCPIP相关配置 | | ||
789 | +| 4 | MODE | 5读取基站4字节的子网掩码 | | ||
790 | +| 5 | MAC | 十六进制,掩码地址,如:255 | | ||
791 | +| 6 | MAC | 十六进制,掩码地址,如:255 | | ||
792 | +| 7 | MAC | 十六进制,掩码地址,如:255 | | ||
793 | +| 8 | MAC | 十六进制,掩码地址,如:0 | | ||
794 | +| 9-29 || 参数无意义 | | ||
795 | + | ||
796 | +#### 5.2.4.4 基站网关地址 | ||
797 | + | ||
798 | +电脑向基站发送(参考网关地址: 200.200.100.1): | ||
799 | + | ||
800 | +| **字节** | **标识符** | **描述** | | ||
801 | +| --- | --- | --- | | ||
802 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
803 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
804 | +| 3 | CMDTYPE | 基站管理命令类型<br> 12 TCPIP相关配置 | | ||
805 | +| 4 | MODE | 7 读取基站4字节的网关地址<br>8 设置基站4字节的网关地址 | | ||
806 | +| 5 | GATEWAY | 十六进制,网关地址,如:200 | | ||
807 | +| 6 | GATEWAY | 十六进制,网关地址,如:200 | | ||
808 | +| 7 | GATEWAY | 十六进制,网关地址,如:100 | | ||
809 | +| 8 | GATEWAY | 十六进制,网关地址,如:1 | | ||
810 | +| 9-29 || 参数无意义 | | ||
811 | + | ||
812 | +基站应答(参考网关地址: 200.200.100.1): | ||
813 | + | ||
814 | +| **字节** | **标识符** | **描述** | | ||
815 | +| --- | --- | --- | | ||
816 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
817 | +| 2 | BASEID | 应答的基站的编号 | | ||
818 | +| 3 | CMDTYPE | 应答类型<br> 12 TCPIP相关配置 | | ||
819 | +| 4 | MODE | 7读取基站4字节的网关地址 | | ||
820 | +| 5 | GATEWAY | 十六进制,网关地址,如:200 | | ||
821 | +| 6 | GATEWAY | 十六进制,网关地址,如:200 | | ||
822 | +| 7 | GATEWAY | 十六进制,网关地址,如:100 | | ||
823 | +| 8 | GATEWAY | 十六进制,网关地址,如:1 | | ||
824 | +| 9-29 || 参数无意义 | | ||
825 | + | ||
826 | +#### 5.2.4.5 基站DNS地址 | ||
827 | + | ||
828 | +电脑向基站发送(参考DNS地址: 200.200.100.1): | ||
829 | + | ||
830 | +| **字节** | **标识符** | **描述** | | ||
831 | +| --- | --- | --- | | ||
832 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
833 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
834 | +| 3 | CMDTYPE | 基站管理命令类型<br> 12 TCPIP相关配置 | | ||
835 | +| 4 | MODE | 9读取基站4字节的DNS地址10设置基站4字节的DNS地址 | | ||
836 | +| 5 | DNS | 十六进制,网关地址,如:200 | | ||
837 | +| 6 | DNS | 十六进制,网关地址,如:200 | | ||
838 | +| 7 | DNS | 十六进制,网关地址,如:100 | | ||
839 | +| 8 | DNS | 十六进制,网关地址,如:1 | | ||
840 | +| 9-29 || 参数无意义 | | ||
841 | + | ||
842 | +基站应答(参考DNS地址: 200.200.100.1): | ||
843 | + | ||
844 | +| **字节** | **标识符** | **描述** | | ||
845 | +| --- | --- | --- | | ||
846 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
847 | +| 2 | BASEID | 应答的基站的编号 | | ||
848 | +| 3 | CMDTYPE | 应答类型 <br>12 TCPIP相关配置 | | ||
849 | +| 4 | MODE | 9读取基站4字节的DNS地址 | | ||
850 | +| 5 | DNS | 十六进制,网关地址,如:200 | | ||
851 | +| 6 | DNS | 十六进制,网关地址,如:200 | | ||
852 | +| 7 | DNS | 十六进制,网关地址,如:100 | | ||
853 | +| 8 | DNS | 十六进制,网关地址,如:1 | | ||
854 | +| 9-29 || 参数无意义 | | ||
855 | + | ||
856 | +#### 5.2.4.6 基站待连接服务器地址 | ||
857 | + | ||
858 | +电脑向基站发送(参考服务器地址: 200.200.100.1): | ||
859 | + | ||
860 | +| **字节** | **标识符** | **描述** | | ||
861 | +| --- | --- | --- | | ||
862 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
863 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
864 | +| 3 | CMDTYPE | 基站管理命令类型 <br>12 TCPIP相关配置 | | ||
865 | +| 4 | MODE | 11 读取基站4字节的待连接服务器地址<br>12 设置基站4字节的待连接服务器地址 | | ||
866 | +| 5 | SERVERIP | 十六进制,网关地址,如:200 | | ||
867 | +| 6 | SERVERIP | 十六进制,网关地址,如:200 | | ||
868 | +| 7 | SERVERIP | 十六进制,网关地址,如:100 | | ||
869 | +| 8 | SERVERIP | 十六进制,网关地址,如:1 | | ||
870 | +| 9-29 || 参数无意义 | | ||
871 | + | ||
872 | +基站应答(参考服务器地址: 200.200.100.1): | ||
873 | + | ||
874 | +| **字节** | **标识符** | **描述** | | ||
875 | +| --- | --- | --- | | ||
876 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
877 | +| 2 | BASEID | 应答的基站的编号 | | ||
878 | +| 3 | CMDTYPE | 应答类型<br> 12 TCPIP相关配置 | | ||
879 | +| 4 | MODE | 11读取基站4字节的待连接服务器地址 | | ||
880 | +| 5 | SERVERIP | 十六进制,网关地址,如:200 | | ||
881 | +| 6 | SERVERIP | 十六进制,网关地址,如:200 | | ||
882 | +| 7 | SERVERIP | 十六进制,网关地址,如:100 | | ||
883 | +| 8 | SERVERIP | 十六进制,网关地址,如:1 | | ||
884 | +| 9-29 || 参数无意义 | | ||
885 | + | ||
886 | +#### 5.2.4.7 基站连接端口参数 | ||
887 | + | ||
888 | +电脑向基站发送: | ||
889 | + | ||
890 | +| **字节** | **标识符** | **描述** | | ||
891 | +| --- | --- | --- | | ||
892 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
893 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
894 | +| 3 | CMDTYPE | 基站管理命令类型 <br>12 TCPIP相关配置 | | ||
895 | +| 4 | MODE | 13 读取网络端口参数<br>14 设置网络端口参数 | | ||
896 | +| 5 | LOCAL\_IP | 基站IP地址获取方式:0=手动指定;1=DHCP获取 | | ||
897 | +| 6 | CONNET\_M | 连接服务器方式:0=IP地址方式;1=域名方式 | | ||
898 | +| 7-10 | HEART\_TIME | 心跳时间长度:[0, 65535] 秒 | | ||
899 | +| 11-14 | CLIENT\_PORT | TCP Client连接端口:[0, 65535] | | ||
900 | +| 15-18 | LISTEN\_PORT | TCP Server监听端口:[0, 65535] | | ||
901 | +| 19-22 | SERVER\_PORT | 待连接服务器的服务端口:[0, 65535] | | ||
902 | +| 23-29 || 参数无意义 | | ||
903 | + | ||
904 | +基站应答: | ||
905 | + | ||
906 | +| **字节** | **标识符** | **描述** | | ||
907 | +| --- | --- | --- | | ||
908 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
909 | +| 2 | BASEID | 应答的基站的编号 | | ||
910 | +| 3 | CMDTYPE | 应答类型 <br>12 TCPIP相关配置 | | ||
911 | +| 4 | MODE | 13读取网络端口参数 | | ||
912 | +| 5 | LOCAL\_IP | 基站IP地址获取方式:0=手动指定;1=DHCP获取 | | ||
913 | +| 6 | CONNET\_M | 连接服务器方式:0=IP地址方式;1=域名方式 | | ||
914 | +| 7-10 | HEART\_TIME | 心跳时间长度:[0, 65535] 秒 | | ||
915 | +| 11-14 | CLIENT\_PORT | TCP Client连接端口:[0, 65535] | | ||
916 | +| 15-18 | LISTEN\_PORT | TCP Server监听端口:[0, 65535] | | ||
917 | +| 19-22 | SERVER\_PORT | 待连接服务器的服务端口:[0, 65535] | | ||
918 | +| 23-29 || 参数无意义 | | ||
919 | + | ||
920 | +#### 5.2.4.8 服务器IP地址 | ||
921 | + | ||
922 | +电脑向基站发送(参考IP地址: 200.200.100.251): | ||
923 | + | ||
924 | +| **字节** | **标识符** | **描述** | | ||
925 | +| --- | --- | --- | | ||
926 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
927 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
928 | +| 3 | CMDTYPE | 基站管理命令类型<br> 12 TCPIP相关配置 | | ||
929 | +| 4 | MODE | 15 读取服务器4字节的IP地址,高位前<br>16 设置服务器4字节的IP地址,高位前 | | ||
930 | +| 5 | IP\_ADDR | 十六进制,IP地址,如:200 | | ||
931 | +| 6 | IP\_ADDR | 十六进制,IP地址,如:200 | | ||
932 | +| 7 | IP\_ADDR | 十六进制,IP地址,如:100 | | ||
933 | +| 8 | IP\_ADDR | 十六进制,IP地址,如:251 | | ||
934 | +| 9-29 || 参数无意义 | | ||
935 | + | ||
936 | +基站应答(参考IP地址: 200.200.100.251): | ||
937 | + | ||
938 | +| **字节** | **标识符** | **描述** | | ||
939 | +| --- | --- | --- | | ||
940 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
941 | +| 2 | BASEID | 应答的基站的编号 | | ||
942 | +| 3 | CMDTYPE | 应答类型 <br>12 TCPIP相关配置 | | ||
943 | +| 4 | MODE | 15 读取服务器4字节的IP地址,高位前 | | ||
944 | +| 5 | IP\_ADDR | 十六进制,IP地址,如:200 | | ||
945 | +| 6 | IP\_ADDR | 十六进制,IP地址,如:200 | | ||
946 | +| 7 | IP\_ADDR | 十六进制,IP地址,如:100 | | ||
947 | +| 8 | IP\_ADDR | 十六进制,IP地址,如:251 | | ||
948 | +| 9-29 || 参数无意义 | | ||
949 | + | ||
950 | +#### 5.2.4.9 服务器用户名 | ||
951 | + | ||
952 | +电脑向基站发送: | ||
953 | + | ||
954 | +| **字节** | **标识符** | **描述** | | ||
955 | +| --- | --- | --- | | ||
956 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
957 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
958 | +| 3 | CMDTYPE | 基站管理命令类型<br> 12 TCPIP相关配置 | | ||
959 | +| 4 | MODE | 17 读取服务器用户名<br>18 设置服务器用户名 | | ||
960 | +| 5 | SEVER\_name\_LEN | 服务器用户名字节个数 | | ||
961 | +| 6-56 | SEVER\_name | 服务器用户名字符(50字节) | | ||
962 | +|||| | ||
963 | +|||| | ||
964 | +|||| | ||
965 | + | ||
966 | +基站应答: | ||
967 | + | ||
968 | +| **字节** | **标识符** | **描述** | | ||
969 | +| --- | --- | --- | | ||
970 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
971 | +| 2 | BASEID | 应答的基站的编号 | | ||
972 | +| 3 | CMDTYPE | 应答类型 <br>12 TCPIP相关配置 | | ||
973 | +| 4 | MODE | 17读取服务器用户名 | | ||
974 | +| 5 | SEVER\_name\_LEN | 服务器用户名字节个数 | | ||
975 | +| 6-56 | SEVER\_name | 服务器用户名字符(50字节) | | ||
976 | +|||| | ||
977 | +|||| | ||
978 | +| 9-29 || 参数无意义 | | ||
979 | + | ||
980 | +#### 5.2.4.9 服务器密码 | ||
981 | + | ||
982 | +电脑向基站发送: | ||
983 | + | ||
984 | +| **字节** | **标识符** | **描述** | | ||
985 | +| --- | --- | --- | | ||
986 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
987 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
988 | +| 3 | CMDTYPE | 基站管理命令类型 <br>12 TCPIP相关配置 | | ||
989 | +| 4 | MODE | 19 读取服务器密码20 设置服务器密码 | | ||
990 | +| 5 | SEVER\_code\_LEN | 服务器密码字节个数 | | ||
991 | +| 6-56 | SEVER\_code | 服务器密码字符(50字节) | | ||
992 | +|||| | ||
993 | +|||| | ||
994 | +|||| | ||
995 | + | ||
996 | +基站应答: | ||
997 | + | ||
998 | +| **字节** | **标识符** | **描述** | | ||
999 | +| --- | --- | --- | | ||
1000 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1001 | +| 2 | BASEID | 应答的基站的编号 | | ||
1002 | +| 3 | CMDTYPE | 应答类型 <br>12 TCPIP相关配置 | | ||
1003 | +| 4 | MODE | 19读取服务器密码 | | ||
1004 | +| 5 | SEVER\_code\_LEN | 服务器密码字节个数 | | ||
1005 | +| 6-56 | SEVER\_code | 服务器密码字符(50字节) | | ||
1006 | +|||| | ||
1007 | +|||| | ||
1008 | +| 9-29 || 参数无意义 | | ||
1009 | + | ||
1010 | +### 5.2.5 免配对SN号模式基站设置(正道远) | ||
1011 | + | ||
1012 | +在5.2.1节基站配对模式是7和8的时候有效。 | ||
1013 | + | ||
1014 | +电脑向基站发送: | ||
1015 | + | ||
1016 | +| **字节** | **标识符** | **描述** | | ||
1017 | +| --- | --- | --- | | ||
1018 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1019 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1020 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1021 | +| 4 | MODE | 11-读取免配对SN号模式下的基站设置<br>12-写免配对SN号模式下的基站设置,此模式下第5字节后面数据有效 | | ||
1022 | +| 5 | ATTN | 0 键盘考勤关闭<br>1 键盘考勤打开 | | ||
1023 | +| 6 | REPORT | 0 键盘定时报告状态关闭<br>1 打开 | | ||
1024 | +| 7 | BEACON | 0 基站发投票信标关闭<br>1 打开,基站在测试模式,可控制进入测试模式的键盘进行在线测试、写号等 | | ||
1025 | +| 8-29 || 参数无意义 | | ||
1026 | + | ||
1027 | +基站应答: | ||
1028 | + | ||
1029 | +| **字节** | **标识符** | **描述** | | ||
1030 | +| --- | --- | --- | | ||
1031 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1032 | +| 2 | BASEID | 应答的基站的编号 | | ||
1033 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1034 | +| 4 | MODE | 11 返回免配对SN号模式下的基站设置 | | ||
1035 | +| 5 | ATTN | 0 键盘考勤关闭<br>1 键盘考勤打开 | | ||
1036 | +| 6 | REPORT | 0 键盘定时报告状态关闭<br>1 打开 | | ||
1037 | +| 7 | BEACON | 0 基站发投票信标关闭<br>1 打开,基站在测试模式,可控制进入测试模式的键盘进行在线测试、写号等 | | ||
1038 | +| 8-29 || 参数无意义 | | ||
1039 | + | ||
1040 | +### 5.2.6 考勤基站去重配置 | ||
1041 | + | ||
1042 | +电脑向基站发送: | ||
1043 | + | ||
1044 | +| **字节** | **标识符** | **描述** | | ||
1045 | +| --- | --- | --- | | ||
1046 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1047 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1048 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1049 | +| 4 | MODE | 13-读取考勤基站去重设置<br>14-写考勤基站去重设置 | | ||
1050 | +| 5 | FLAG | 是否设置去重: 0=不去重; 1=去重; | | ||
1051 | +| 6 | COUNT | 去重秒数=[1, 5] | | ||
1052 | +|||| | ||
1053 | +| 8-29 || 参数无意义 | | ||
1054 | + | ||
1055 | +基站应答: | ||
1056 | + | ||
1057 | +| **字节** | **标识符** | **描述** | | ||
1058 | +| --- | --- | --- | | ||
1059 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1060 | +| 2 | BASEID | 应答的基站的编号 | | ||
1061 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1062 | +| 4 | MODE | 13返回考勤基站考勤基站去重设置 | | ||
1063 | +| 5 | FLAG | 是否设置去重: 0=不去重; 1=去重; | | ||
1064 | +| 6 | COUNT | 去重秒数=[1, 5] | | ||
1065 | +|||| | ||
1066 | +| 8-29 || 参数无意义 | | ||
1067 | + | ||
1068 | +### 5.2.7 软件狗功能 | ||
1069 | + | ||
1070 | +电脑向基站发送: | ||
1071 | + | ||
1072 | +| **字节** | **标识符** | **描述** | | ||
1073 | +| --- | --- | --- | | ||
1074 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1075 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1076 | +| 3 | CMDTYPE | 基站管理命令类型<br>9 基站软件狗功能 | | ||
1077 | +| 4 | MODE | 1 核对密码 <br>2 读用户区 <br>3 写用户区 <br>4 读出密码(内部功能,不对用户公开)<br> 5 修改密码(内部功能,不对用户公开)<br>6 读出基站唯一硬件编号UID | | ||
1078 | +| 5 | USERZONE | 用户区号,读写用户区时候有意义,1-4,每区16字节,SDK支持按字节读写,都先需要核对密码才能读写 | | ||
1079 | +| 6-21 | USERINFO | 读密码和用户区信息时候,参数无意义<br>核对密码和修改密码时候,前8字节是密码字符串,不足8字节补00,后8字节无意义<br>写用户区信息时候,是16字节用户信息,字符串格式,不足16字节补00 | | ||
1080 | +| 22-24 || 参数无意义 | | ||
1081 | + | ||
1082 | +基站应答: | ||
1083 | + | ||
1084 | +| **字节** | **标识符** | **描述** | | ||
1085 | +| --- | --- | --- | | ||
1086 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1087 | +| 2 | BASEID | 应答的基站的编号 | | ||
1088 | +| 3 | CMDTYPE | 应答类型 <br>9 基站软件狗功能应答 | | ||
1089 | +| 4 | RESULT | 结果类型 <br>1核对密码状态 <br>2返回用户信息 <br>3返回密码<br>6 返回基站UID | | ||
1090 | +| 5 | STATUS | 核对密码时,1成功 2失败<br>返回用户信息时候,是用户区号,1为1区,2为2区<br>返回密码时候,本字节无意义 | | ||
1091 | +| 6-21 | USERINFO | 核对密码时候参数无意义。<br>返回用户区时候是16字节用户区字符串,如果1-4区未正确核对密码,不能操作,返回字符串"LOCK"。<br>返回密码时候,前8字节有效。<br>返回UID时候,STM32系列是12字节 | | ||
1092 | +| 22-24 || 参数无意义 | | ||
1093 | + | ||
1094 | +### 5.2.8 低功率快速配对 | ||
1095 | + | ||
1096 | +用于控制基站进入快速配对时候,是否降低功率,以满足多教室同时配对需求 | ||
1097 | + | ||
1098 | +电脑向基站发送: | ||
1099 | + | ||
1100 | +| **字节** | **标识符** | **描述** | | ||
1101 | +| --- | --- | --- | | ||
1102 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1103 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1104 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1105 | +| 4 | MODE | 15-读取基站快速配对低功率模式<br>16-写基站快速配对低功率模式 | | ||
1106 | +| 5 | ENABLE | 是否低功率: 0=不使用; 1=使用; | | ||
1107 | +|||| | ||
1108 | +| 6-29 || 参数无意义 | | ||
1109 | + | ||
1110 | +基站应答: | ||
1111 | + | ||
1112 | +| **字节** | **标识符** | **描述** | | ||
1113 | +| --- | --- | --- | | ||
1114 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1115 | +| 2 | BASEID | 应答的基站的编号 | | ||
1116 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1117 | +| 4 | MODE | 15返回基站快速配对低功率设置 | | ||
1118 | +| 5 | ENABLE | 是否低功率: 0=不使用; 1=使用 | | ||
1119 | +|||| | ||
1120 | +| 6-29 || 参数无意义 | | ||
1121 | + | ||
1122 | +### 5.2.9 语音基站状态控制/显示 | ||
1123 | + | ||
1124 | +用于控制语音基站状态显示;语音键盘的数据是通过无线路由器转usb直接传给sdk,而基站 | ||
1125 | + | ||
1126 | +本身无法检测到是否有数据传输,所以需要sdk将一些状态信息传输给基站的mcu,显示到lcd、led上。 | ||
1127 | + | ||
1128 | +电脑向基站发送: (先1秒1次执行写) | ||
1129 | + | ||
1130 | +| **字节** | **标识符** | **描述** | | ||
1131 | +| --- | --- | --- | | ||
1132 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1133 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1134 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1135 | +| 4 | MODE | 17-读取语音基站状态<br>18-写语音基站状态 | | ||
1136 | +| 5 | DEV\_STAT | 设备状态 0-正常 \>1故障 <br>1 WIFI连接错误<br>2 NFC读卡器连接错误 | | ||
1137 | +| 6 | SDK\_STAT | 电脑数据灯闪烁模式<br> 0 灭 1快闪<br>SDK连接上后总发送1,基站闪烁显示,但最好间隙随机 | | ||
1138 | +| 7 | KEY\_STAT | 键盘数据等闪烁模式<br>0 灭 N\>0 1秒内闪烁N次,暂1到10<br>SDK1秒收到键盘应答数据,根据键盘个数送1到10,如果1秒内没收到任何键盘数据,送0 | | ||
1139 | +| 8 | VOTE\_MODE | 投票模式,投票信标中的MODE值<br>用于基站显示状态 | | ||
1140 | +| ~~9~~ | ~~Fast\_charge\_STAT~~ | ~~是否在快充状态;1=快速充电;0=普通充电~~ | | ||
1141 | +|||| | ||
1142 | +| 8-29 || 参数无意义 | | ||
1143 | + | ||
1144 | +基站应答: | ||
1145 | + | ||
1146 | +| **字节** | **标识符** | **描述** | | ||
1147 | +| --- | --- | --- | | ||
1148 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1149 | +| 2 | BASEID | 应答的基站的编号 | | ||
1150 | +| 3 | CMDTYPE | 应答类型 <br>11通用附加配置 | | ||
1151 | +| 4 | MODE | 17返回语音基站状态 | | ||
1152 | +| 5 | DEV\_STAT || | ||
1153 | +| 6 | SDK\_STAT || | ||
1154 | +| 7 | KEY\_STAT || | ||
1155 | +| 8 | VOTE\_MODE || | ||
1156 | +| 9.。 || 参数无意义 | | ||
1157 | + | ||
1158 | +### 5.2.10 基站写NFC信息 | ||
1159 | + | ||
1160 | +用于基站本身带NFC,刷卡写键盘信息,基站返回2次信息,第1次表示收到,第2次是刷卡写成功的时候返回键盘SN和当前信息。 | ||
1161 | + | ||
1162 | +电脑向基站发送: (SDK按64字节长度发送包) | ||
1163 | + | ||
1164 | +| **字节** | **标识符** | **描述** | | ||
1165 | +| --- | --- | --- | | ||
1166 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1167 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1168 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1169 | +| 4 | MODE | 19 写NFC学生信息<br>20 读键盘NFC学生信息 | | ||
1170 | +| 5 | MSGTYPE | 信息类型<br> 1 学生信息(学号、姓名、金币)--为了简单,先1次写完,SDK按64字节长度发送包<br>4 学生信息,单条48字节,IDSTR48字节是姓名NAME内容 | | ||
1171 | +| 6-21 | IDSTR | 16字符学号信息,0xFF开始的话表示不修改键盘原有的信息 | | ||
1172 | +| 22-37 | NAME | 16字符姓名信息,0xFF开始的话表示不修改 | | ||
1173 | +| 38-41 | MONEY | 金币,4字节,高位在前,全部0xFFFF表示不修改 | | ||
1174 | +|| 。。。 || | ||
1175 | +| 。。58 ||| | ||
1176 | + | ||
1177 | +基站应答: | ||
1178 | + | ||
1179 | +| **字节** | **标识符** | **描述** | | ||
1180 | +| --- | --- | --- | | ||
1181 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1182 | +| 2 | BASEID | 应答的基站的编号 | | ||
1183 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1184 | +| 4 | MODE | 19 刷卡写应答<br>20 返回刷卡读信息(19类刷卡ok也返回) | | ||
1185 | +| 5 | STATUS | ~~1 收到指令~~<br>~~2 刷卡写ok格式1,先只返回SN~~<br>STATUS等于发送的MSGTYPE<br>(S6体系,T2体系目前都回1) | | ||
1186 | +| 6-9 | SN | 刷卡键盘的SN, 4字节,高位前 | | ||
1187 | +| 10-11 | SN2 | 政务体系6字节SN的后面2字节 | | ||
1188 | +| 12-13 | ID | 键盘编号,高位在前 | | ||
1189 | +| .。 || 参数无意义 | | ||
1190 | + | ||
1191 | +针对G1政务商务应用股东姓名比较长(52字节)情况: | ||
1192 | + | ||
1193 | +| 5 | MSGTYPE | 信息类型<br>2股东姓名(52字节),SDK按64字节长度发送包 | | ||
1194 | +| --- | --- | --- | | ||
1195 | +| 6-57 | STOCKNAME | 股东姓名(52字节),00提前结束<br>NFC是4字节一段,刚好13段 | | ||
1196 | +| 58 ||| | ||
1197 | + | ||
1198 | +针对G1政务商务应用股东股权数情况: | ||
1199 | + | ||
1200 | +| 5 | MSGTYPE | 信息类型<br>3股东股权数目,SDK按64字节长度发送包 | | ||
1201 | +| --- | --- | --- | | ||
1202 | +| 6-13 | STOCKNAME | 股东股权数(8字节)<br>键盘端是按BCD码,例如1234就是1234FFFFFFFFFFFF | | ||
1203 | +| 14.。。 ||| | ||
1204 | +| 。。58 ||| | ||
1205 | + | ||
1206 | +### 5.2.11 基站数据开关配置 | ||
1207 | + | ||
1208 | +用于C200K基站设置投票数据发送通道:USB or TCPIP | ||
1209 | + | ||
1210 | +电脑向基站发送: | ||
1211 | + | ||
1212 | +| **字节** | **标识符** | **描述** | | ||
1213 | +| --- | --- | --- | | ||
1214 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1215 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1216 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1217 | +| 4 | MODE | 21 读基站数据开关<br>22 写基站数据开关 | | ||
1218 | +| 5 | DATA\_SW | 0:投票数据收发接口是USB<br>1: 投票数据收发接口是TCPIP | | ||
1219 | +| 6 || 参数无意义 | | ||
1220 | +|||| | ||
1221 | +|||| | ||
1222 | +|| 。。。 || | ||
1223 | +|||| | ||
1224 | + | ||
1225 | +基站应答: | ||
1226 | + | ||
1227 | +| **字节** | **标识符** | **描述** | | ||
1228 | +| --- | --- | --- | | ||
1229 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1230 | +| 2 | BASEID | 应答的基站的编号 | | ||
1231 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1232 | +| 4 | MODE | 21 读基站数据开关<br>22 写基站数据开关 | | ||
1233 | +| 5 | DATA\_SW | 0:投票数据收发接口是USB<br>1: 投票数据收发接口是TCPIP | | ||
1234 | +| 6 || 参数无意义 | | ||
1235 | +|||| | ||
1236 | +|||| | ||
1237 | +| .。 || 参数无意义 | | ||
1238 | + | ||
1239 | +### 5.2.12 基站容量配置 | ||
1240 | + | ||
1241 | +电脑向基站发送: | ||
1242 | + | ||
1243 | +| **字节** | **标识符** | **描述** | | ||
1244 | +| --- | --- | --- | | ||
1245 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1246 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1247 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1248 | +| 4 | MODE | 23 基站容量配置 | | ||
1249 | +| 5 | MODE1 | 1 设置<br>2 读取 | | ||
1250 | +| 6-7 | KPNUMS | 容量,带键盘个数,高位在前 | | ||
1251 | +| 8 | LOCK | 是否锁定当前键盘,锁定就不继续添加键盘<br>1 锁定 0 不锁定 | | ||
1252 | +|||| | ||
1253 | +|| 。。。 || | ||
1254 | +|||| | ||
1255 | + | ||
1256 | +基站应答: | ||
1257 | + | ||
1258 | +| **字节** | **标识符** | **描述** | | ||
1259 | +| --- | --- | --- | | ||
1260 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1261 | +| 2 | BASEID | 应答的基站的编号 | | ||
1262 | +| 3 | CMDTYPE | 应答类型 <br>11通用附加配置 | | ||
1263 | +| 4 | MODE | 23 基站容量配置 | | ||
1264 | +| 5 | MODE1 | 2 返回容量配置信息 | | ||
1265 | +| 6-7 | KPNUMS | 容量,带键盘个数,高位在前 | | ||
1266 | +| 8 | LOCK | 是否锁定当前键盘,锁定就不继续添加键盘<br>1 锁定 0 不锁定 | | ||
1267 | +|||| | ||
1268 | +| .。 || 参数无意义 | | ||
1269 | + | ||
1270 | +### 5.2.13 基站测试 | ||
1271 | + | ||
1272 | +电脑向基站发送: | ||
1273 | + | ||
1274 | +| **字节** | **标识符** | **描述** | | ||
1275 | +| --- | --- | --- | | ||
1276 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1277 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1278 | +| 3 | CMDTYPE | 基站管理命令类型13基站测试 | | ||
1279 | +| 4 | MODE | 1 基站进入射频测试模式(FCC测试模式)<br> 2 基站退出射频测试模式<br> 3 模块射频测试,参数是CHAN和MDNO <br>4 外设功能测试,参数是CHAN(老版本3是发送N包,4是纯接收N包,5是接收键盘信号,6是RSSI监听,7是读RSSI)<br> 10 基站蜂鸣器响一下<br><br>11 写音质测试刷卡参数(具体描述在后面)<br>12 读音质测试刷卡参数 | | ||
1280 | +| 5 | CHAN | 信道,0是缺省,否则指定信道(FCC用到)<br>外设功能测试时候是功能,0 是自动(比如led和蜂鸣器) | | ||
1281 | +| 6 | MDNO | 模块编号 一般1-4<br>或FCC测试模式(老版本没带这个参数,直接连续载波发射)<br>0和1=连续载波发射 2连续发送 3接收模式 | | ||
1282 | +| 6-29 || 参数无意义 | | ||
1283 | + | ||
1284 | +基站应答: | ||
1285 | + | ||
1286 | +| **字节** | **标识符** | **描述** | | ||
1287 | +| --- | --- | --- | | ||
1288 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1289 | +| 2 | BASEID | 应答的基站的编号 | | ||
1290 | +| 3 | CMDTYPE | 应答类型<br>13 基站测试 | | ||
1291 | +| 4 | MODE | 1 基站进入射频测试模式<br> 2 基站退出射频测试模式<br> 3 基站测试结果反馈<br>4 | | ||
1292 | +| 5 || 预留 | | ||
1293 | +| 6 | Rfid num | Mode=3时基站反馈模块的测试结果;测试结果通过5.6.3报告给SDK | | ||
1294 | +| 7-8 | Tx\_total | 高位在前 | | ||
1295 | +| 9-10 | Tx\_sucess | 高位在前 | | ||
1296 | +| 11-12 | Rx\_total | 高位在前 | | ||
1297 | +| 13-14 | Rx\_sucess | 高位在前 | | ||
1298 | +||| 参数无意义 | | ||
1299 | + | ||
1300 | +音质测试刷卡基站(T2用)相关指令: | ||
1301 | + | ||
1302 | +| **字节** | **标识符** | **描述** | | ||
1303 | +| --- | --- | --- | | ||
1304 | +| 4 | MODE | 11 写音质测试刷卡参数<br>12 读音质测试刷卡参数 | | ||
1305 | +| 5 | TEST\_FUNC | 暂1,音质测试 | | ||
1306 | +| 6-7 | VOLUME | 音量下限值,2字节,高位前 | | ||
1307 | +| 8-9 | NOISE | 噪音上限值,2字节,高位前 | | ||
1308 | +|||| | ||
1309 | + | ||
1310 | +备注: | ||
1311 | + | ||
1312 | +1、仅专用音质测试基站支持本指令,其他不要支持 | ||
1313 | + | ||
1314 | +2、基站应答,用MODE=12返回 | ||
1315 | + | ||
1316 | +3、基站刷卡写数据地址,在原来wifi\_name的区域,把TEST\_FUNC开始的数据写入 | ||
1317 | + | ||
1318 | +```c | ||
1319 | +uint8_t match_code[3]; //addr=40 | ||
1320 | +uint8_t frequency_point //addr=43 | ||
1321 | +uint8_t wifi_name[12]; //addr=44 | ||
1322 | +uint8_t wifi_pass[16]; //addr=56 // 14-17区:wifi密码 | ||
1323 | +uint8_t Preserve[16]; //addr=72 // 18-22区:保留16字节,空出来,以后可能是云网址 | ||
1324 | +``` | ||
1325 | + | ||
1326 | +### 5.2.14 基站调试信息互动 | ||
1327 | + | ||
1328 | +用于读取基站当前调试变量值、log记录等。 | ||
1329 | + | ||
1330 | +基站先应答,具体的信息可以多条,用3.3.5节的基站log信息打包返回。 | ||
1331 | + | ||
1332 | +SDK向基站发送: | ||
1333 | + | ||
1334 | +| **字节** | **标识符** | **描述** | | ||
1335 | +| --- | --- | --- | | ||
1336 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1337 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1338 | +| 3 | CMDTYPE | 基站管理命令类型<br>32 基站调试信息互动 | | ||
1339 | +| 4 | MODE | SDK可填入不同值,基站来根据不同值具体反馈信息<br>1 读取 | | ||
1340 | +|||| | ||
1341 | + | ||
1342 | +基站应答: | ||
1343 | + | ||
1344 | +| **字节** | **标识符** | **描述** | | ||
1345 | +| --- | --- | --- | | ||
1346 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1347 | +| 2 | BASEID | 应答的基站的编号 | | ||
1348 | +| 3 | CMDTYPE | 应答类型<br> 32基站调试信息互动 | | ||
1349 | +| 4 | MODE | 同SDK指令 | | ||
1350 | + | ||
1351 | +### 5.2.15 SDK退出通知 | ||
1352 | + | ||
1353 | +用于基站加硬件usb复位尝试重连时候。 | ||
1354 | + | ||
1355 | +如果SDK正常退出,通知到基站,基站就知道不是故障断开。 | ||
1356 | + | ||
1357 | +SDK向基站发送: | ||
1358 | + | ||
1359 | +| **字节** | **标识符** | **描述** | | ||
1360 | +| --- | --- | --- | | ||
1361 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1362 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1363 | +| 3 | CMDTYPE | 基站管理命令类型<br>33 SDK退出连接 | | ||
1364 | +|||| | ||
1365 | + | ||
1366 | +基站应答: | ||
1367 | + | ||
1368 | +| **字节** | **标识符** | **描述** | | ||
1369 | +| --- | --- | --- | | ||
1370 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1371 | +| 2 | BASEID | 应答的基站的编号 | | ||
1372 | +| 3 | CMDTYPE | 33 收到断开 | | ||
1373 | +|||| | ||
1374 | + | ||
1375 | +### 5.2.16 NFC指纹管理 | ||
1376 | + | ||
1377 | +用于NFC刷卡进行指纹管理。 | ||
1378 | + | ||
1379 | +SDK向基站发送: | ||
1380 | + | ||
1381 | +| **字节** | **标识符** | **描述** | | ||
1382 | +| --- | --- | --- | | ||
1383 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1384 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1385 | +| 3 | CMDTYPE | 基站管理命令类型<br>34 NFC指纹管理 | | ||
1386 | +| 4 | CMD |1、指纹清空,并加指纹<br>2、新加指纹<br>3、指纹清空| | ||
1387 | +| 5 | FPNUM | 指纹数量,例如加2个指纹,表示新录入2个指纹 | | ||
1388 | + | ||
1389 | +基站应答: | ||
1390 | + | ||
1391 | +| **字节** | **标识符** | **描述** | | ||
1392 | +| --- | --- | --- | | ||
1393 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1394 | +| 2 | BASEID | 应答的基站的编号 | | ||
1395 | +| 3 | CMDTYPE | 34 收到指纹管理 | | ||
1396 | +|||| | ||
1397 | + | ||
1398 | +### 5.2.17 NFC写指定配对码 | ||
1399 | + | ||
1400 | +用于NFC刷卡进行键盘的指定绑定不同教室的基站,所以配对码不同。 | ||
1401 | + | ||
1402 | +刷卡后用3.3.5节刷卡消息回报。 | ||
1403 | + | ||
1404 | +SDK向基站发送: | ||
1405 | + | ||
1406 | +| **字节** | **标识符** | **描述** | | ||
1407 | +| --- | --- | --- | | ||
1408 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1409 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1410 | +| 3 | CMDTYPE | 基站管理命令类型<br>35 NFC写指定配对码 | | ||
1411 | +| 4 | ATC | 4字节配对码 | | ||
1412 | +|||| | ||
1413 | + | ||
1414 | +基站应答: | ||
1415 | + | ||
1416 | +| **字节** | **标识符** | **描述** | | ||
1417 | +| --- | --- | --- | | ||
1418 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1419 | +| 2 | BASEID | 应答的基站的编号 | | ||
1420 | +| 3 | CMDTYPE | 35 收到 | | ||
1421 | +|||| | ||
1422 | + | ||
1423 | +### 5.2.18 管理基站指令清空 | ||
1424 | + | ||
1425 | +  管理基站可能一直有电,上次软件退出可能还有指令没执行,比如残留了NFC指纹管理指令还没执行。软件连接后清空比较保险。 | ||
1426 | + | ||
1427 | +SDK向基站发送: | ||
1428 | + | ||
1429 | +| **字节** | **标识符** | **描述** | | ||
1430 | +| --- | --- | --- | | ||
1431 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1432 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1433 | +| 3 | CMDTYPE | 基站管理命令类型<br>36 管理指令清空 | | ||
1434 | +|||| | ||
1435 | + | ||
1436 | +基站应答: | ||
1437 | + | ||
1438 | +| **字节** | **标识符** | **描述** | | ||
1439 | +| --- | --- | --- | | ||
1440 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1441 | +| 2 | BASEID | 应答的基站的编号 | | ||
1442 | +| 3 | CMDTYPE | 36 收到管理指令清空 | | ||
1443 | +|||| | ||
1444 | + | ||
1445 | +### 5.2.19 SDK读写基站字符串 | ||
1446 | + | ||
1447 | +用于SDK判断基站是否已连接(双SDK连接基站BUG) | ||
1448 | + | ||
1449 | +SDK向基站发送: | ||
1450 | + | ||
1451 | +| **字节** | **标识符** | **描述** | | ||
1452 | +| --- | --- | --- | | ||
1453 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1454 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1455 | +| 3 | CMDTYPE | 基站管理命令类型<br>34 读基站字符串 | | ||
1456 | + | ||
1457 | +基站应答: | ||
1458 | + | ||
1459 | +| **字节** | **标识符** | **描述** | | ||
1460 | +| --- | --- | --- | | ||
1461 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1462 | +| 2 | BASEID | 应答的基站的编号 | | ||
1463 | +| 3 | CMDTYPE | 34 读基站字符串 | | ||
1464 | +| 4-44 | String | 基站存储字符串 40字节 | | ||
1465 | + | ||
1466 | +SDK向基站发送: | ||
1467 | + | ||
1468 | +| **字节** | **标识符** | **描述** | | ||
1469 | +| --- | --- | --- | | ||
1470 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1471 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1472 | +| 3 | CMDTYPE | 基站管理命令类型<br>35 写基站字符串 | | ||
1473 | +| 4-44 | String | 40字节字符串 | | ||
1474 | + | ||
1475 | +基站应答: | ||
1476 | + | ||
1477 | +| **字节** | **标识符** | **描述** | | ||
1478 | +| --- | --- | --- | | ||
1479 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1480 | +| 2 | BASEID | 应答的基站的编号 | | ||
1481 | +| 3 | CMDTYPE | 35 读基站字符串 | | ||
1482 | +| 4-44 | String | 基站存储字符串 40字节 | | ||
1483 | + | ||
1484 | +### 5.2.20 读写基站设置-反馈参数 | ||
1485 | + | ||
1486 | +==基站需保存参数到Eeprom,上电恢复。== | ||
1487 | + | ||
1488 | +电脑向基站发送: | ||
1489 | + | ||
1490 | +| **字节** | **标识符** | **描述** | | ||
1491 | +| --- | --- | --- | | ||
1492 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1493 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1494 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1495 | +| 4 | MODE | 30 读空闲设置-反馈参数设置<br>31 写空闲设置-反馈参数设置 | | ||
1496 | +| 5 | KEYREP | 反馈模式(参数解释对应键盘协议空闲模式下参数) | | ||
1497 | +| 6 | KEYMAX | 反馈有效按键(参数解释对应键盘协议空闲模式下参数) | | ||
1498 | + | ||
1499 | +基站应答: | ||
1500 | + | ||
1501 | +| **字节** | **标识符** | **描述** | | ||
1502 | +| --- | --- | --- | | ||
1503 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1504 | +| 2 | BASEID | 应答的基站的编号 | | ||
1505 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1506 | +| 4 | MODE | 30 读空闲设置-反馈参数设置<br>31 写空闲设置-反馈参数设置 | | ||
1507 | +| 5 | KEYREP | 反馈模式(参数解释对应键盘协议空闲模式下参数) | | ||
1508 | +| 6 | KEYMAX | 反馈有效按键(参数解释对应键盘协议空闲模式下参数) | | ||
1509 | + | ||
1510 | +### 5.2.21 读写基站设置-语言设置 | ||
1511 | + | ||
1512 | +==基站需保存参数到Eeprom,上电恢复。== | ||
1513 | + | ||
1514 | +电脑向基站发送: | ||
1515 | + | ||
1516 | +| **字节** | **标识符** | **描述** | | ||
1517 | +| --- | --- | --- | | ||
1518 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1519 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1520 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1521 | +| 4 | MODE | 32 读空闲设置-语言设置33 写空闲设置-语言设置 | | ||
1522 | +| 5 | ATTRIB\_EX1 | 语言选择(参数解释对应键盘协议空闲模式下参数) | | ||
1523 | + | ||
1524 | +基站应答: | ||
1525 | + | ||
1526 | +| **字节** | **标识符** | **描述** | | ||
1527 | +| --- | --- | --- | | ||
1528 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1529 | +| 2 | BASEID | 应答的基站的编号 | | ||
1530 | +| 3 | CMDTYPE | 应答类型 <br>11通用附加配置 | | ||
1531 | +| 4 | MODE | 32 读空闲设置-语言设置33 写空闲设置-语言设置 | | ||
1532 | +| 5 | KEYREP | 反馈模式(参数解释对应键盘协议空闲模式下参数) | | ||
1533 | + | ||
1534 | +### 5.2.22 读写基站组网公开位 | ||
1535 | + | ||
1536 | +==基站需保存参数到Eeprom,上电恢复。== | ||
1537 | + | ||
1538 | +电脑向基站发送: | ||
1539 | + | ||
1540 | +| **字节** | **标识符** | **描述** | | ||
1541 | +| --- | --- | --- | | ||
1542 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1543 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1544 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1545 | +| 4 | MODE | 34 读基站组网公开位<br>35 写基站组网公开位 | | ||
1546 | +| 5 | Conterl | 1:开 0:关 对于基站组网广播信标的==基站信息公开位(0x51信标内ST-Bit第一个Bit)== | | ||
1547 | + | ||
1548 | +基站应答: | ||
1549 | + | ||
1550 | +| **字节** | **标识符** | **描述** | | ||
1551 | +| --- | --- | --- | | ||
1552 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1553 | +| 2 | BASEID | 应答的基站的编号 | | ||
1554 | +| 3 | CMDTYPE | 应答类型 <br>11通用附加配置 | | ||
1555 | +| 4 | MODE | 34 读基站组网公开位35 写基站组网公开位 | | ||
1556 | +| 5 | Conterl | 1:开 0:关 | | ||
1557 | + | ||
1558 | +### 5.2.23 基站复位 | ||
1559 | + | ||
1560 | +电脑向基站发送: | ||
1561 | + | ||
1562 | +| **字节** | **标识符** | **描述** | | ||
1563 | +| --- | --- | --- | | ||
1564 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1565 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1566 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1567 | +| 4 | MODE | 36 基站复位 | | ||
1568 | +|||| | ||
1569 | + | ||
1570 | +基站应答: | ||
1571 | + | ||
1572 | +| **字节** | **标识符** | **描述** | | ||
1573 | +| --- | --- | --- | | ||
1574 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1575 | +| 2 | BASEID | 应答的基站的编号 | | ||
1576 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1577 | +| 4 | MODE | 36 收到复位指令 | | ||
1578 | +| 5 ||| | ||
1579 | + | ||
1580 | +### 5.2.24 基站刷卡清指纹和姓名 | ||
1581 | + | ||
1582 | +电脑向基站发送: | ||
1583 | + | ||
1584 | +| **字节** | **标识符** | **描述** | | ||
1585 | +| --- | --- | --- | | ||
1586 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1587 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1588 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1589 | +| 4 | MODE | 37 基站刷卡清空指纹和姓名 | | ||
1590 | +|||| | ||
1591 | + | ||
1592 | +基站应答: | ||
1593 | + | ||
1594 | +| **字节** | **标识符** | **描述** | | ||
1595 | +| --- | --- | --- | | ||
1596 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1597 | +| 2 | BASEID | 应答的基站的编号 | | ||
1598 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1599 | +| 4 | MODE | 37 收到 | | ||
1600 | +| 5 ||| | ||
1601 | + | ||
1602 | +### 5.2.25 基站刷卡写生僻字(12号字体) | ||
1603 | + | ||
1604 | +电脑向基站发送: | ||
1605 | + | ||
1606 | +| **字节** | **标识符** | **描述** | | ||
1607 | +| --- | --- | --- | | ||
1608 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1609 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1610 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1611 | +| 4 | MODE | 39 基站刷卡写生僻字 | | ||
1612 | +| 5 | Cont | 预留 | | ||
1613 | +| 6-7 | GB\_CODE | GB18030\_编码 | | ||
1614 | +| 8 - 31 | GB\_DATA | 点阵库数据(24字节) | | ||
1615 | +|||| | ||
1616 | + | ||
1617 | +基站应答: | ||
1618 | + | ||
1619 | +| **字节** | **标识符** | **描述** | | ||
1620 | +| --- | --- | --- | | ||
1621 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1622 | +| 2 | BASEID | 应答的基站的编号 | | ||
1623 | +| 3 | CMDTYPE | 应答类型<br> 11通用附加配置 | | ||
1624 | +| 4 | MODE | 39 收到 | | ||
1625 | +| 5 ||| | ||
1626 | + | ||
1627 | +基站NFC写入规则(基站自己写缓存,写满之后保留最新数据、缓存在使用刷卡生效之后清空) | ||
1628 | + | ||
1629 | +地址从200开始 片区200/4=50 总消耗空间(26\*8+1+1=210字节) | ||
1630 | + | ||
1631 | +数据格式: | ||
1632 | + | ||
1633 | +| **字节** | **标识符** | **描述** | | ||
1634 | +| --- | --- | --- | | ||
1635 | +| 1 | Cont | 0x01 (控制字,暂固定为1表示有效) | | ||
1636 | +| 2-3 | GB\_CODE | GB18030\_编码 | | ||
1637 | +| 4-27 | GB\_DATA | 点阵库数据(24字节) | | ||
1638 | +| ... | GB\_CODEx | GB18030\_编码 (最大缓存8个生僻字) | | ||
1639 | +| ... | GB\_CODEx | 点阵库数据(24字节) | | ||
1640 | +| 28 | End | 0x55 (表示停止,后续没有内容了) | | ||
1641 | +|||| | ||
1642 | +|||| | ||
1643 | +|||| | ||
1644 | +|||| | ||
1645 | + | ||
1646 | +### 5.2.26 基站刷卡生效控制 | ||
1647 | + | ||
1648 | +电脑向基站发送: (暂时在刷卡基站与最新基站生效,后续新产品都使用该方式,老产品不动) | ||
1649 | + | ||
1650 | +| **字节** | **标识符** | **描述** | | ||
1651 | +| --- | --- | --- | | ||
1652 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1653 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1654 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1655 | +| 4 | MODE | 40 基站刷卡生效控制 | | ||
1656 | +| 5 | Control | 1、开始多条NFC指令,等命令 2 才能开始刷卡<br>2、多条NFC指令结束,可以启动刷卡 | | ||
1657 | + | ||
1658 | +基站应答: | ||
1659 | + | ||
1660 | +| **字节** | **标识符** | **描述** | | ||
1661 | +| --- | --- | --- | | ||
1662 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1663 | +| 2 | BASEID | 应答的基站的编号 | | ||
1664 | +| 3 | CMDTYPE | 应答类型 <br>11通用附加配置 | | ||
1665 | +| 4 | MODE | 40 收到 | | ||
1666 | +| 5 | Control || | ||
1667 | + | ||
1668 | +### 5.2.27 基站指纹刷卡生效控制 | ||
1669 | + | ||
1670 | +用于G1答题基站的生产测试模式,暂停指纹核对才能刷卡。 | ||
1671 | + | ||
1672 | +电脑向基站发送: | ||
1673 | + | ||
1674 | +| **字节** | **标识符** | **描述** | | ||
1675 | +| --- | --- | --- | | ||
1676 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1677 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1678 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1679 | +| 4 | MODE | 41 基站指纹刷卡生效控制 | | ||
1680 | +| 5 | Control | 1、不用指纹核对也可以刷卡<br>2、重新启用指纹核对后才能刷卡(基站也可以重新上电后恢复) | | ||
1681 | + | ||
1682 | +基站应答: | ||
1683 | + | ||
1684 | +| **字节** | **标识符** | **描述** | | ||
1685 | +| --- | --- | --- | | ||
1686 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1687 | +| 2 | BASEID | 应答的基站的编号 | | ||
1688 | +| 3 | CMDTYPE | 应答类型 <br>11通用附加配置 | | ||
1689 | +| 4 | MODE | 41 收到 | | ||
1690 | +| 5 | Control | Conttol值 | | ||
1691 | + | ||
1692 | +### 5.2.28 基站扫描干扰频点 | ||
1693 | + | ||
1694 | +电脑向基站发送: | ||
1695 | + | ||
1696 | +| **字节** | **标识符** | **描述** | | ||
1697 | +| --- | --- | --- | | ||
1698 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1699 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1700 | +| 3 | CMDTYPE | 基站管理命令类型<br>11 通用附加配置 | | ||
1701 | +| 4 | MODE | 42 基站扫描频点 | | ||
1702 | +| 5 | Type | 0、基站停止扫描(预留)<br> 1、基站开启扫描(预留)<br>2、读取扫描结果 | | ||
1703 | + | ||
1704 | +基站应答: | ||
1705 | + | ||
1706 | +| **字节** | **标识符** | **描述** | | ||
1707 | +| --- | --- | --- | | ||
1708 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1709 | +| 2 | BASEID | 应答的基站的编号 | | ||
1710 | +| 3 | CMDTYPE | 应答类型 <br>11通用附加配置 | | ||
1711 | +| 4 | MODE | 42基站扫描频点 | | ||
1712 | +| 5 | type | 0 <br>1<br>2 -基站报告扫描频点结果 | | ||
1713 | +| 6 | NUM | 扫描到的频点个数,最大12个<br>目前是干扰频点 | | ||
1714 | +| 7-18 | FREQ || | ||
1715 | + | ||
1716 | +## 5.3 白名单设置 | ||
1717 | + | ||
1718 | +### 5.3.1 白名单按区设置 | ||
1719 | + | ||
1720 | +用于白名单批次全部更新或读取,软件自己编个循环,按区读取或写,每区10个SN号同时操作,区数和基站有关,例如20区,就是支持200个键盘的名单。 | ||
1721 | + | ||
1722 | +电脑向基站发送: | ||
1723 | + | ||
1724 | +| **字节** | **标识符** | **描述** | | ||
1725 | +| --- | --- | --- | | ||
1726 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1727 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1728 | +| 3 | CMDTYPE | 基站管理命令类型<br>14 白名单相关配置 | | ||
1729 | +| 4 | MODE | 1 读取指定区的白名单SN号表<br>2 改写指定区的SN号表 | | ||
1730 | +| 5 | ZONE | 区号,0-19(最大和基站有关),每区10个SN号<br> 4字节一个SN,高位前,SN号全00表示空<br>注意:写第0区时候基站自动把其他区清除空 | | ||
1731 | +| 6-9 | SN1 | 第一个SN,高位前,SN号全00表示空 | | ||
1732 | +| 10-13 | SN2 | 第2个SN | | ||
1733 | +| 14-17 | SN3 | 第3个SN | | ||
1734 | +| 18… | SN4---SN10 | 第4到第10个SN | | ||
1735 | +|||| | ||
1736 | +| …58 || 参数无意义 | | ||
1737 | + | ||
1738 | +基站应答:(读取和改写都返回,SDK判断是否写正确) | ||
1739 | + | ||
1740 | +| **字节** | **标识符** | **描述** | | ||
1741 | +| --- | --- | --- | | ||
1742 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1743 | +| 2 | BASEID | 应答的基站的编号 | | ||
1744 | +| 3 | CMDTYPE | 应答类型<br> 14 白名单相关配置 | | ||
1745 | +| 4 | MODE | 1返回对应区的白名单表 | | ||
1746 | +| 5 | ZONE | 区号 | | ||
1747 | +| 6-9 | SN1 | 第一个SN,高位前,SN号全00表示空 | | ||
1748 | +| 10-13 | SN2 | 第2个SN | | ||
1749 | +| 14-17 | SN3 | 第3个SN | | ||
1750 | +| 18… | SN4---SN10 | 第4到第10个SN | | ||
1751 | +| …58 ||| | ||
1752 | + | ||
1753 | +### 5.3.2 白名单单独设置 | ||
1754 | + | ||
1755 | +用于白名单单个或多个单独添加或删除,一次可最多操作10个SN。 | ||
1756 | + | ||
1757 | +电脑向基站发送: | ||
1758 | + | ||
1759 | +| **字节** | **标识符** | **描述** | | ||
1760 | +| --- | --- | --- | | ||
1761 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1762 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1763 | +| 3 | CMDTYPE | 基站管理命令类型<br> 14 白名单相关配置<br>17 T2基站白名单单独配置 | | ||
1764 | +| 4 | MODE | 3 清除白名单SN号表(SN1后数据空)<br> 4 白名单增加SN<br> 5 白名单删除SN(相当于软件单独指定任意键盘)<br>6 查询白名单是否有SN | | ||
1765 | +| 5 || 空 | | ||
1766 | +| 6-9 | SN1 | 第一个SN,高位前,SN号全00表示空 | | ||
1767 | +| 10-13 | SN2 | 第2个SN | | ||
1768 | +| 14-17 | SN3 | 第3个SN | | ||
1769 | +| 18… | SN4---SN10 | 第4到第10个SN | | ||
1770 | +|||| | ||
1771 | +| …58 || 参数无意义 | | ||
1772 | + | ||
1773 | +基站应答:(读取和改写都返回,SDK判断是否写正确) | ||
1774 | + | ||
1775 | +| **字节** | **标识符** | **描述** | | ||
1776 | +| --- | --- | --- | | ||
1777 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1778 | +| 2 | BASEID | 应答的基站的编号 | | ||
1779 | +| 3 | CMDTYPE | 应答类型<br> 14 白名单相关配置 | | ||
1780 | +| 4 | MODE | 对应SDK的MODE值 | | ||
1781 | +| 5 | STATUS | 0 有失败<br>1 全部执行成功 | | ||
1782 | +| 6 | SN1\_OK | 第1个SN的执行结果 0 失败 1成功 | | ||
1783 | +| 7 | SN2\_OK | 第2个SN的执行结果 0 失败 1成功 | | ||
1784 | +| 8 | SN3\_OK | 第3个SN的执行结果 0 失败 1成功 | | ||
1785 | +| 9…15 | SN4---SN10 | 第4到第10个SN的执行结果 0 失败 1成功 | | ||
1786 | +|||| | ||
1787 | + | ||
1788 | +### 5.3.3 基站键盘SN名单管理 | ||
1789 | + | ||
1790 | +T2双基站时候,需要管理可连接键盘SN。 | ||
1791 | + | ||
1792 | +为避免和白名单接口冲突,CMDTYPE改17,其他操作和白名单一致。 | ||
1793 | + | ||
1794 | +### 5.3.4 基站键盘SN名单管理-长包 | ||
1795 | + | ||
1796 | +用于T2基站,1个长指令包读写所有键盘SN名单。 | ||
1797 | + | ||
1798 | +电脑向基站发送: | ||
1799 | + | ||
1800 | +| **字节** | **标识符** | **描述** | | ||
1801 | +| --- | --- | --- | | ||
1802 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1803 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1804 | +| 3 | CMDTYPE | 基站管理命令类型18 T2基站SN名单管理-长包格式 | | ||
1805 | +| 4 | MODE | 1 读取名单<br> 2 写名单<br> 3 双基站下白名单删除SN,由SDK判断双基站有键盘SN号相同后发出指令,避免老基站占坑 <br>4 锁定键盘,可以n个 <br>5 锁定所有当前在线的键盘 <br>6 解锁键盘<br>7 解锁所有锁定的键盘 | | ||
1806 | +| 5 | TYPE | 名单类型,暂1 | | ||
1807 | +| 6 | NUM | SN的个数 | | ||
1808 | +| 7-10 | SN1 | 第一个SN,高位前,4字节 | | ||
1809 | +| 11-14 | SN2 | 第2个SN | | ||
1810 | +||| 。。。 | | ||
1811 | +| … || 第NUM个SN | | ||
1812 | + | ||
1813 | +基站应答: | ||
1814 | + | ||
1815 | +| **字节** | **标识符** | **描述** | | ||
1816 | +| --- | --- | --- | | ||
1817 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
1818 | +| 2 | BASEID | 应答的基站的编号 | | ||
1819 | +| 3 | CMDTYPE | 应答类型 <br>18 T2基站SN名单管理-长包格式 | | ||
1820 | +| 4 | MODE | 对应SDK的MODE值 | | ||
1821 | +| 5 | TYPE | 名单类型,暂1 | | ||
1822 | +| 6 | NUM | SN的个数 | | ||
1823 | +| 7-10 | SN1 | 第一个SN,高位前,4字节 | | ||
1824 | +| 11-14 | SN2 | 第2个SN | | ||
1825 | +|||| | ||
1826 | + | ||
1827 | +## 5.4基站下载多包 | ||
1828 | + | ||
1829 | +目的:解决电脑直接和键盘下载多包耗时长的问题; | ||
1830 | + | ||
1831 | +原理: | ||
1832 | + | ||
1833 | +修改前:下载多包是电脑与键盘通信,基站仅仅做转发,电脑通过usb多次询问,耗时多; | ||
1834 | + | ||
1835 | +修改后:电脑将升级的文件数据发送给基站,由基站来完成传输和询问,最后在上报给电脑。 | ||
1836 | + | ||
1837 | +流程: | ||
1838 | + | ||
1839 | +S1,电脑先把下载键盘的ID或SN表单传给基站—5.4.2节。 | ||
1840 | + | ||
1841 | +S2, 电脑发送进入下载状态指令给基站---5.4.1节,然后基站开始逐个通知键盘进入下载状态—键盘新版协议6.2节;基站将失败的键盘上报给电脑(电脑需要回应表示收到)---5.4.5节;通知完所有键盘后基站告知电脑(有指令,5.4.5节)可以进入下一阶段通信。 | ||
1842 | + | ||
1843 | +S3, 电脑收到基站信号后,开始发送256字节是数据块,每次16字节,分16次完成,基站每次都要对16字节回应,保证数据收到;然后电脑告知基站启动一轮发送,5.4.5节; | ||
1844 | + | ||
1845 | +S4,基站启动广播发给键盘和查询状态—键盘新版6.3节,基站会将失败的键盘上报给电脑(5.4.5节,电脑需要回应表示收到);数据块发送给了所有键盘后,基站会告知电脑可以进入下一个数据块的发送(5.4.5节);重复S3-S4直到完成所有数据。 | ||
1846 | + | ||
1847 | +S5,电脑通知基站退出下载,基站通知所有(包括失败的)键盘退出下载,并报告状态(只报告失败和全部完成,5.4.5节)。 | ||
1848 | + | ||
1849 | +### 5.4.1 开始/结束基站下载多包 | ||
1850 | + | ||
1851 | +电脑向基站发送: | ||
1852 | + | ||
1853 | +| **字节** | **标识符** | **描述** | | ||
1854 | +| --- | --- | --- | | ||
1855 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1856 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1857 | +| 3 | CMDTYPE | 基站管理命令类型22 基站下载多包 | | ||
1858 | +| 4 | MODE | 1 进入或退出下载状态 | | ||
1859 | +| 5 | ID/SN | 1:2字节ID模式; <br>2:4字节SN; <br>3:6字节SN模式 | | ||
1860 | +| 6 | ~~NC~~ | (DOWNTYPE) 原指令漏了 | | ||
1861 | +| 7 | DCMD | 模式 1进入下载; 0退出下载; | | ||
1862 | +||| (以下数据在下载键盘固件时候有效) | | ||
1863 | +| 8 | HVER | 键盘硬件版本 | | ||
1864 | +| 9-11 | SVER | 键盘软件版本,3字节,10进制数字<br>一定要和固件内部版本号相同,便于上位机软件好对比版本,知道键盘升级成功 | | ||
1865 | +| 12-13 | CRC-16 | 固件校验字 | | ||
1866 | +| 14-17 | FILELEN | 固件文件大小,4字节,高位在前 | | ||
1867 | +|||| | ||
1868 | + | ||
1869 | +基站应答: | ||
1870 | + | ||
1871 | +| **字节** | **标识符** | **描述** | | ||
1872 | +| --- | --- | --- | | ||
1873 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
1874 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1875 | +| 3 | CMDTYPE | 基站管理命令类型<br>22 基站下载多包 | | ||
1876 | +| 4 | MODE | 1 进入或退出下载状态 | | ||
1877 | +| 5 | ID/SN | 1:2字节ID模式; <br>2:4字节SN; <br>3:6字节SN模式 | | ||
1878 | +| 6 | ~~NC~~ || | ||
1879 | +| 7 | DCMD | 模式 1进入下载 0退出下载 | | ||
1880 | +| 8 | HVER | 键盘硬件版本 | | ||
1881 | +| 9-11 | SVER | 键盘软件版本,3字节,10进制数字<br>一定要和固件内部版本号相同,便于上位机软件好对比版本,知道键盘升级成功 | | ||
1882 | +| 12-13 | CRC-16 | 固件校验字 | | ||
1883 | +| 14-17 | FILELEN | 固件文件大小,4字节,高位在前 | | ||
1884 | +|||| | ||
1885 | + | ||
1886 | +### 5.4.2 下载指定升级键盘的ID/SN号给基站 | ||
1887 | + | ||
1888 | +电脑分多次将ID/SN号传输给基站。 | ||
1889 | + | ||
1890 | +电脑向基站发送: | ||
1891 | + | ||
1892 | +| **字节** | **标识符** | **描述** | | ||
1893 | +| --- | --- | --- | | ||
1894 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1895 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1896 | +| 3 | CMDTYPE | 基站管理命令类型<br>22发送升级键盘的ID/SN | | ||
1897 | +| 4 | MODE | 2 下载ID/SN表单 | | ||
1898 | +| 5 | ID/SN All | 升级键盘的总个数 | | ||
1899 | +| 6 | ID/SN PACK | 当前包序号,从0开始 | | ||
1900 | +| 7-54 | ID/SN | 7-12 SN1; 13-18 SN2; 19-24 SN3….<br>6字节SN,高位在前,每次可下8个SN键盘;不够的用0xFFFF填补 | | ||
1901 | + | ||
1902 | +基站应答: | ||
1903 | + | ||
1904 | +| **字节** | **标识符** | **描述** | | ||
1905 | +| --- | --- | --- | | ||
1906 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
1907 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1908 | +| 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | ||
1909 | +| 4 | MODE | 2 下载ID/SN表单 | | ||
1910 | +| 5 | ID/SN All | 升级键盘的总个数 | | ||
1911 | +| 6 | ID/SN Current | 当前包序号,从0开始 | | ||
1912 | +| 7-54 | ID/SN | 7-12 SN1; 13-18 SN2; 19-24 SN3….<br>6字节SN,高位在前,每次可下8个SN键盘;不够的用0xFFFF填补 | | ||
1913 | + | ||
1914 | +### 5.4.3电脑发数据包给基站 | ||
1915 | + | ||
1916 | +流程上可以电脑向基站主动发送(在基站报告本次发送完成后),也可以基站主动申请要。 | ||
1917 | + | ||
1918 | +电脑向基站发送: | ||
1919 | + | ||
1920 | +| **字节** | **标识符** | **描述** | | ||
1921 | +| --- | --- | --- | | ||
1922 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1923 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1924 | +| 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | ||
1925 | +| 4 | DOWNCMD | 4 下载具体数据--16字节 <br>6 下载具体数据—512字节每片段 <br>7 下载具体数据---64字节(48字节有效,区别于4类型的16字节有效) 10 基站问64字节包(根据代码补充)<br>11 基站问512字节包(根据代码补充) | | ||
1926 | +| 5 | DOWNTYPE | 多包类型<br>30 短信广播信息(SDK组包模式) | | ||
1927 | +| 6 | DOWNID | 数据包标识码(DOWNTYPE=30时,是总包数)<br>文件下载模式时候是最高位地址 V4.52<br>由于非文件下载模式PACKH加上PACKL,只能下载65536字节,文件下载模式为支持大文件,用DOWNID作为高位地址,可以下载16384K字节 | | ||
1928 | +| 7 | PACKH | 数据段编号,0-255 | | ||
1929 | +| 8 | PACKL | 数据片编号, 0-15(每片段16字节) ; <br>如果是每次512字节的PACKDATA,PACKL=0和1,1K数据传输2次;48字节的传21包 | | ||
1930 | +| 9-24 | PACKDATA | 16字节的数据,48字节数据 或 512字节的数据(对应usb1024字节长包指令) | | ||
1931 | + | ||
1932 | +备注:参数的具体意义见表决器协议6.3 | ||
1933 | + | ||
1934 | +基站应答: | ||
1935 | + | ||
1936 | +| **字节** | **标识符** | **描述** | | ||
1937 | +| --- | --- | --- | | ||
1938 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
1939 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1940 | +| 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | ||
1941 | +| 4 | MODE | 4下载具体数据的应答或请求具体数据<br>6 下载具体数据的应答或请求传输—512字节每片段<br>7 下载具体数据(48字节有效) | | ||
1942 | +| 5 | DOWNTYPE | 多包类型 | | ||
1943 | +| 6 | DOWNID | 数据包标识码<br>文件下载模式时候是最高位地址 V4.52<br>由于非文件下载模式PACKH加上PACKL,只能下载65536字节,文件下载模式为支持大文件,用DOWNID作为高位地址,可以下载16384K字节 | | ||
1944 | +| 7 | PACKH | 数据段编号,0-255 | | ||
1945 | +| 8 | PACKL | 数据片编号, 0-15<br>如果是每次512字节的PACKDATA,PACKL=0和1<br>如果是每次64字节的PACKDATA,PACKL=0-21 基站保存1K数据再发给键盘 | | ||
1946 | +| 9-24 | PACKDATA | 16字节的数据<br>或 512字节的数据(对应usb1024字节长包指令)<br>48字节有效数据 | | ||
1947 | + | ||
1948 | +### 5.4.4电脑通知基站本次数据块发送完毕 | ||
1949 | + | ||
1950 | +用于SDK主动控制数据块传输的过程。SDK是分片段传输,基站被动响应,并不知道数据块传输完成,所以留给SDK控制,基站收到这条指令后,就开始向键盘下载这块数据。 | ||
1951 | + | ||
1952 | +电脑向基站发送: | ||
1953 | + | ||
1954 | +| **字节** | **标识符** | **描述** | | ||
1955 | +| --- | --- | --- | | ||
1956 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1957 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1958 | +| 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | ||
1959 | +| 4 | DOWNCMD | 5 本次数据块下载完成 | | ||
1960 | +|||| | ||
1961 | +|||| | ||
1962 | + | ||
1963 | +备注:参数的具体意义见表决器协议6.3 | ||
1964 | + | ||
1965 | +基站应答: | ||
1966 | + | ||
1967 | +| **字节** | **标识符** | **描述** | | ||
1968 | +| --- | --- | --- | | ||
1969 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
1970 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1971 | +| 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | ||
1972 | +| 4 | MODE | 5本次数据块下载完成 | | ||
1973 | +|||| | ||
1974 | +|||| | ||
1975 | + | ||
1976 | +### 5.4.5基站主动发送 键盘更新状态 | ||
1977 | + | ||
1978 | +基站主动发送状态: | ||
1979 | + | ||
1980 | +| **字节** | **标识符** | **描述** | | ||
1981 | +| --- | --- | --- | | ||
1982 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
1983 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1984 | +| 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | ||
1985 | +| 4 | MODE | 6 上报状态<br>9 上报状态,告诉sdk,底层键盘固件升级完成<br>10 向sdk请求(索要)数据包(数据包以1K为单位)byte6之后的数据无效 | | ||
1986 | +| 5 | PACKH | 数据段编号,0-255<br>申请的数据包号PACK\_H | | ||
1987 | +| 6 | PACKL | 数据片编号, 0-15<br>申请的数据包号PACK\_L | | ||
1988 | +| 7 | Update status | 2-失败;(包括通知键盘进入下载和数据块下载失败;)<br>1-全部完成,电脑可以下一个流程(包括本次256字节成功、键盘进入下载、键盘退出下载) | | ||
1989 | +| 8-13 | Keypad ID/SN | ID/SN 号,固定6字节, 高位在前 | | ||
1990 | +| 14-24 | NC | 参数无意义 | | ||
1991 | + | ||
1992 | +电脑确认: | ||
1993 | + | ||
1994 | +| **字节** | **标识符** | **描述** | | ||
1995 | +| --- | --- | --- | | ||
1996 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
1997 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
1998 | +| 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | ||
1999 | +| 4 | MODE | 6 上报状态 | | ||
2000 | +| 5 | PACKH | 数据段编号,0-255 | | ||
2001 | +| 6 | PACKL | 数据片编号, 0-15 | | ||
2002 | +| 7 | Update status | 2-失败;(包括通知键盘进入下载和数据块下载失败;)<br>1-全部完成,电脑可以下一个流程(包括本次256字节成功、键盘进入下载、键盘退出下载) | | ||
2003 | +| 8-13 | Keypad ID/SN | ID/SN 号,固定6字节, 高位在前 | | ||
2004 | +| 14-24 | NC | 参数无意义 | | ||
2005 | + | ||
2006 | +### 5.4.6T2soc基站说明 | ||
2007 | + | ||
2008 | +1、多包下载的数据传输(键盘固件升级),增加每次传512字节,见5.4.3节 | ||
2009 | + | ||
2010 | +2、维持原先SDK控制下载流程的方式 | ||
2011 | + | ||
2012 | +3、基站和模块之间的SPI指令沿用本指令体系,只是BaseID相当于ModelID | ||
2013 | + | ||
2014 | +4、本流程一样适用于模块固件升级,只是少SN号指定步骤 | ||
2015 | + | ||
2016 | +5、基站主控收到一段数据后,给模块分别发送,然后模块对自己带的键盘进行下载 | ||
2017 | + | ||
2018 | +6、下载失败的键盘报告给主控 | ||
2019 | + | ||
2020 | +7、本模块键盘下载一段完成,模块报告基站主控 | ||
2021 | + | ||
2022 | +8、基站主控判断全部模块完成本段数据,报告给sdk | ||
2023 | + | ||
2024 | +9、sdk再传输下一段数据 | ||
2025 | + | ||
2026 | +## 5.5基站上传多包 | ||
2027 | + | ||
2028 | +目的:键盘上传多包提速,用于键盘上传课后练习结果; | ||
2029 | + | ||
2030 | +【SDK主动模式】 | ||
2031 | + | ||
2032 | +原理: | ||
2033 | + | ||
2034 | +修改前:上传多包是电脑SDK与键盘通信,基站仅仅做转发,电脑通过usb多次询问,耗时多; | ||
2035 | + | ||
2036 | +修改后:电脑将要取多包的类型、对应键盘的SN或ID告诉基站,由基站来完成传输和询问,数据动态上报给电脑。一次只支持1个键盘取包,取包完成,SDK才能执行新的取包。 | ||
2037 | + | ||
2038 | +流程: | ||
2039 | + | ||
2040 | +S1, 应用软件开启收作业模式时候,键盘先提交多包申请,SDK解析传给应用软件,应用软件先记录下键盘SN和多包类型。 | ||
2041 | + | ||
2042 | +S2, 应用软件调用SDK,向基站发送5.5.1节的开始基站上传多包,基站应答1表示收到指令,这时候SDK要停止询问数据的流程,等待基站报告数据和状态 | ||
2043 | + | ||
2044 | +S3,基站按键盘的多包上传流程执行,先点名,然后获取数据长度,然后查询。如果点名失败或者取包失败,基站用5.5.2节报告失败,如果最终成功,也报告成功 | ||
2045 | + | ||
2046 | +S4,成功或者失败,SDK都会重新开始前面停下的询问数据流程;注意,基站上报状态是不需要SDK应答的,只发送一次,为避免sdk接收漏掉,SDK要做超时判断,例如5秒没有状态报告,就认为失败; | ||
2047 | + | ||
2048 | +S5,基站执行取包过程中所有键盘的应答,对应键盘协议4.1、4.2、4.3节的所有键盘的应答,基站都会转发给SDK,原有SDK对多包应答的处理可以不动,其实主要就是对4.2节多包数据片段的保存和组合 | ||
2049 | + | ||
2050 | +### 5.5.1 开始/结束基站上传多包(SDK主动模式) | ||
2051 | + | ||
2052 | +适用于SDK主动模式,电脑向基站发送: | ||
2053 | + | ||
2054 | +| **字节** | **标识符** | **描述** | | ||
2055 | +| --- | --- | --- | | ||
2056 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2057 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2058 | +| 3 | CMDTYPE | 基站管理命令类型<br>23 基站上传多包 | | ||
2059 | +| 4 | MODE | 1 进入取多包模式<br> 0 停止取多包模式 | | ||
2060 | +| 5 | ID/SN | 1:2字节ID模式; <br>2:4字节SN; <br>3:6字节SN模式 | | ||
2061 | +| 6-11 | IDSN | ID或SN,高位前<br>ID模式下前2字节有效,SN4模式下前4字节有效 | | ||
2062 | +| 12 | PACKTYPE | 多包类型,这和键盘提交的多包申请里的类型一致 | | ||
2063 | +| 13 | PACKID | 数据包辨别码,一般是0,和键盘提交的多包申请里数据一致 | | ||
2064 | +|||| | ||
2065 | + | ||
2066 | +基站应答: | ||
2067 | + | ||
2068 | +| **字节** | **标识符** | **描述** | | ||
2069 | +| --- | --- | --- | | ||
2070 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2071 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2072 | +| 3 | CMDTYPE | 基站管理命令类型<br>23 基站上传多包 | | ||
2073 | +| 4 | STATUS | 1 收到指令 | | ||
2074 | +|||| | ||
2075 | +|||| | ||
2076 | +|||| | ||
2077 | + | ||
2078 | +### 5.5.2 基站报告执行状态(改3.3.4节) | ||
2079 | + | ||
2080 | +参见3.3.4节基站多包上传状态报告。 | ||
2081 | + | ||
2082 | +下面指令仅是参考,不适用。 | ||
2083 | + | ||
2084 | +~~基站主动向电脑发送:~~ | ||
2085 | + | ||
2086 | +| **字节** | **标识符** | **描述** | | ||
2087 | +| --- | --- | --- | | ||
2088 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2089 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2090 | +| 3 | CMDTYPE | 基站管理命令类型<br> ~~23 基站上传多包状态~~ | | ||
2091 | +| 4 | MODE | 2 键盘点名失败 <br>3 取包失败<br>4 取包完成 | | ||
2092 | +| 5 | ID/SN | 1:2字节ID模式; <br>2:4字节SN; <br>3:6字节SN模式 | | ||
2093 | +| 6-11 | IDSN | 键盘的ID或SN | | ||
2094 | +|||| | ||
2095 | + | ||
2096 | +注意:由于5.8G系统基站取多包2.5ms内能取6包,USB透传键盘0xA0的应答数据,SDK实测会丢包,所以键盘包数据改成投票结果类结果传输 | ||
2097 | + | ||
2098 | +### 5.5.3 基站主动模式 | ||
2099 | + | ||
2100 | +  当键盘申请多包上传时候,基站不会转发申请给SDK,而是自动转多包接收,完成多包的收取(包含数据暂存),然后向SDK报告多包接收成功(3.2.4节基站多包状态报告),然后SDK收取基站暂存的多包内容。 | ||
2101 | + | ||
2102 | +  如果基站接收失败,也会向SDK报告,同样在3.3.4节。 | ||
2103 | + | ||
2104 | +### 5.5.4 SDK询问基站多包数据 | ||
2105 | + | ||
2106 | +SDK收到3.2.4节里面基站申请提交多包数据后,根据每包长度,依次读取。 | ||
2107 | + | ||
2108 | +电脑向基站发送: | ||
2109 | + | ||
2110 | +| **字节** | **标识符** | **描述** | | ||
2111 | +| --- | --- | --- | | ||
2112 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2113 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2114 | +| 3 | CMDTYPE | 基站管理命令类型<br>23 基站上传多包 | | ||
2115 | +| 4 | MODE | 2 取基站多包数据 | | ||
2116 | +| 5 | PACKTYPE | 多包类型,这和键盘提交的多包申请里的类型一致 | | ||
2117 | +| 6 | PACKID | 数据包辨别码,一般是0,和键盘提交的多包申请里数据一致 | | ||
2118 | +| 7-8 | DATALEN | 每次应答片段数据长度,short,高位前<br>等同于申请包里面的DATALEN,不要变 | | ||
2119 | +| 9-10 | PACKNO | 片段编号,1开始,最大值=申请包的PACKLEN/DATALEN | | ||
2120 | +|||| | ||
2121 | + | ||
2122 | +基站应答: | ||
2123 | + | ||
2124 | +| **字节** | **标识符** | **描述** | | ||
2125 | +| --- | --- | --- | | ||
2126 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2127 | +| 2 | BASEID | 基站编号 | | ||
2128 | +| 3 | CMDTYPE | 基站管理命令类型<br>23 基站上传多包 | | ||
2129 | +| 4 | MODE | 2 取基站多包数据 | | ||
2130 | +| 5 | PACKTYPE | 多包类型 | | ||
2131 | +| 6 | PACKID | 数据包辨别码 | | ||
2132 | +| 7-8 | DATALEN | 每次应答片段数据长度,short,高位前<br>等同于申请包里面的DATALEN,不要变 | | ||
2133 | +| 9-10 | PACKNO | 片段编号,1开始 | | ||
2134 | +| 11-12 | CRC16 | DATA段数据的效验值 | | ||
2135 | +| 13-16 || 空 | | ||
2136 | +| 17- | DATA | 从第17字节开始,共DATALEN字节数据 | | ||
2137 | + | ||
2138 | +## 5.6基站下载单包 | ||
2139 | + | ||
2140 | +目的:键盘单包下载指令提速,用于下发姓名、自定义文字信息等,而且支持SDK连续写入多条; | ||
2141 | + | ||
2142 | +原理: | ||
2143 | + | ||
2144 | +修改前:下载单包是电脑SDK与键盘通信,基站仅仅做转发,SDK多次询问,判断收到键盘应答才停止,一般100ms一个间隔,时间较长; | ||
2145 | + | ||
2146 | +修改后: | ||
2147 | + | ||
2148 | +1、SDK告诉基站要执行的单包下载的内容,然后由基站执行对键盘的单包下载,间隔可以调整到10ms保证键盘可靠应答(键盘代码如果先应答再执行可加快速度),如果收到键盘应答就转发给SDK(和原来类似),如果10ms没收到键盘应答就重发(原来是SDK判断超时重发),重发次数可以根据实际情况调整,比如可先定10次,如果10次键盘没应答就向SDK报告执行失败。 | ||
2149 | + | ||
2150 | +2、基站内部有队列,SDK可以连续写入多条单包下载指令,队列数目可以暂定60(相当于1次可写60个键盘信息),如果满了向SDK报告队列满,没法执行; | ||
2151 | + | ||
2152 | +3、基站还是每次执行队列中的1条,成功就清除,空出队列空间;失败的时候可以马上清除,也可以优化,例如放到队列后面,重新执行1次(有些键盘一下子无线不行,过会就好了) | ||
2153 | + | ||
2154 | +4、基站执行下载单包的时候,还是要注意间隔性地插入投票信标取包过程,避免长时间执行单包下载导致键盘离线或没法提交数据; | ||
2155 | + | ||
2156 | +5、由于键盘单包下载SN位置有不同,有6字节19-24位置的,也有4字节5-8位置的,所以可以先只对第11类的读写个人信息指令执行基站下载模式; | ||
2157 | + | ||
2158 | +6、由于SDK要向应用反馈执行结果,而且可能是1个键盘连续写多个信息,所以有1个指令流水号,SDK内部向基站写指令的时候,也通过队列记录SN号和执行的操作类型,等基站反馈执行结果的时候,通过流水号好取出对应的键盘SN和操作类型反馈给应用,也好删除队列中的记录; | ||
2159 | + | ||
2160 | +### 5.6.1基站下载单包 | ||
2161 | + | ||
2162 | +电脑向基站发送: | ||
2163 | + | ||
2164 | +| **字节** | **标识符** | **描述** | | ||
2165 | +| --- | --- | --- | | ||
2166 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2167 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2168 | +| 3 | CMDTYPE | 基站管理命令类型<br>27 基站下载单包 | | ||
2169 | +| 4 | DataPos | 下载单包指令流水号,每次加1,用于分辨执行结果,SDK自动维护 | | ||
2170 | +| 5 | KEYCMD | 一般是0x30,对应键盘单包指令的KEYCMD字节 | | ||
2171 | +| 6-30 | Datas | 25字节,从KEYCMD算起,一般是26字节 | | ||
2172 | +|| (CRC) | SDK指令不用加CRC,基站发的时候,根据版本填写CRC | | ||
2173 | +|||| | ||
2174 | +|||| | ||
2175 | + | ||
2176 | +基站应答: | ||
2177 | + | ||
2178 | +| **字节** | **标识符** | **描述** | | ||
2179 | +| --- | --- | --- | | ||
2180 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2181 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2182 | +| 3 | CMDTYPE | 基站管理命令类型<br>27基站下载单包 | | ||
2183 | +| 4 | DataPos | 对应写入的DataPos,用于SDK好判断哪条写指令的结果 | | ||
2184 | +| 5 | STATUS | 1 收到指令 <br>2 基站队列满,没法执行 <br>3 执行ok <br>4 执行错误(键盘超时没有应答) | | ||
2185 | +|||| | ||
2186 | +|||| | ||
2187 | + | ||
2188 | +如果键盘有应答,基站向SDK转发键盘的0xB0应答外,还要同时报告成功,注意DataPos值要对,SDK要根据DataPos值来删除队列和反馈SN给应用。 | ||
2189 | + | ||
2190 | +### 5.6.2 T2Soc基站下载单包-长包1024字节 | ||
2191 | + | ||
2192 | +电脑向基站发送:(也可用于基站主控向模块发送) | ||
2193 | + | ||
2194 | +| **字节** | **标识符** | **描述** | | ||
2195 | +| --- | --- | --- | | ||
2196 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2197 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2198 | +| 3 | CMDTYPE | 基站管理命令类型<br>28 T2Soc基站下载单包 | | ||
2199 | +| 4 | DataPos | 下载单包指令流水号,每次加1,用于分辨执行结果,SDK自动维护 | | ||
2200 | +| 5 | Format | 格式,暂定1 | | ||
2201 | +| 6 | CMDNUM | 后面单包下载指令数目,每条58字节,最多17条 | | ||
2202 | +| 7 || 空 | | ||
2203 | +| 8-65 | CMD\_1 | 第一条指令58字节,第1个字节对应键盘单包下载指令的0x38指令码 | | ||
2204 | +| 66.. | CMD\_2 | 第2条指令58字节 | | ||
2205 | +|| …. | 第N条指令58字节… | | ||
2206 | +|||| | ||
2207 | + | ||
2208 | +基站应答: | ||
2209 | + | ||
2210 | +| **字节** | **标识符** | **描述** | | ||
2211 | +| --- | --- | --- | | ||
2212 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2213 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2214 | +| 3 | CMDTYPE | 28基站下载单包 | | ||
2215 | +| 4 | DataPos | 对应写入的DataPos,用于SDK好判断哪条写指令的结果 | | ||
2216 | +|||| | ||
2217 | + | ||
2218 | +### ~~5.6.3 基站下载单包失败报告(改3.2.1节)~~ | ||
2219 | + | ||
2220 | +考虑到主动报告流程需要应答确认,已经改为3.2.1节当成投票结果来报告。 | ||
2221 | + | ||
2222 | +~~基站主动发送:(使用5.6.1节的应答结构和命令码)~~ | ||
2223 | + | ||
2224 | +| **字节** | **标识符** | **描述** | | ||
2225 | +| --- | --- | --- | | ||
2226 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2227 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2228 | +| 3 | CMDTYPE | 基站管理命令类型<br>27基站下载单包 | | ||
2229 | +| 4 | DataPos | 对应写入的DataPos,用于SDK好判断哪条写指令的结果 | | ||
2230 | +| 5 | STATUS | 4执行错误(键盘超时没有应答) | | ||
2231 | +| 6 | CMD | 0x38 键盘命令码,快速设置是0x38<br>其实从本字节开始的N个字节,都是对应设置指令的,这样SDK配合DataPos能准确判断键盘是哪个指令执行失败,注意基站要准确返回DataPos | | ||
2232 | +| 7-10 | SN | 执行失败的键盘SN,4字节 | | ||
2233 | +| 11 | KCMD | 快速设置的哪个类型的指令 | | ||
2234 | +|||| | ||
2235 | + | ||
2236 | +SDK应答: | ||
2237 | + | ||
2238 | +| **字节** | **标识符** | **描述** | | ||
2239 | +| --- | --- | --- | | ||
2240 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2241 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2242 | +| 3 | CMDTYPE | 27基站下载单包 | | ||
2243 | +| 4 | DataPos | 基站送回的DataPos | | ||
2244 | +| 5 | STATUS | 4执行错误收到 | | ||
2245 | + | ||
2246 | +## 5.7 组网相关【T2soc】 | ||
2247 | + | ||
2248 | +  本章节用于T2Soc多模块基站的组网功能用到的SPI指令。架构上基站主控芯片负责和SDK的通讯,然后通过SPI给各模块指令和收取数据,具体的业务操作都是模块Soc完成。 | ||
2249 | + | ||
2250 | +### 5.7.1模块配置 | ||
2251 | + | ||
2252 | +基站主控上电的时候,先对各模块进行配置。 | ||
2253 | + | ||
2254 | +基站主控向模块发送: | ||
2255 | + | ||
2256 | +| **字节** | **标识符** | **描述** | | ||
2257 | +| --- | --- | --- | | ||
2258 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2259 | +| 2 | MD\_ID | 指定的模块接收,1-4,为0时候不指定,一般是0 | | ||
2260 | +| 3 | CMDTYPE | 30 组网相关 | | ||
2261 | +| 4 | CMD | 1 模块配置 | | ||
2262 | +| 5 | MODULE\_ID | 设置模块编号,1-4,主模块编号1 | | ||
2263 | +| 6 | IDNUM | 模块总数量1-4,相当于用几个模块 | | ||
2264 | +| 7-10 | MATCHCODE | 配对码,4字节 | | ||
2265 | +| 11-14 | FREQ1-4 | 4字节,频点1-4,频点1是主频点 | | ||
2266 | +| 15 | NODEMAX | 每频点带键盘最多数目 | | ||
2267 | +|||| | ||
2268 | + | ||
2269 | +模块应答: | ||
2270 | + | ||
2271 | +| **字节** | **标识符** | **描述** | | ||
2272 | +| --- | --- | --- | | ||
2273 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2274 | +| 2 | MD\_ID | 应答的模块ID | | ||
2275 | +| 3 | CMDTYPE | 30 模块配置指令应答 | | ||
2276 | +| 4 | CMDACK | 1 模块配置应答 | | ||
2277 | +| 5 ||| | ||
2278 | + | ||
2279 | +### 5.7.2组网状态报告 | ||
2280 | + | ||
2281 | +模块向基站主控发送:(或者主控转发给模块) | ||
2282 | + | ||
2283 | +| **字节** | **标识符** | **描述** | | ||
2284 | +| --- | --- | --- | | ||
2285 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2286 | +| 2 | MD\_ID | 模块编号 | | ||
2287 | +| 3 | CMDTYPE | 30 组网相关 | | ||
2288 | +| 4 | CMD | 2 组网状态报告消息<br>3 转发组网报告(基站把CMD2转发成3) | | ||
2289 | +| 5 | STATUS | 0 离线 1在线(入网) | | ||
2290 | +| 6 | MD\_REP | CMD=2的时候要转发消息的模块的编号<br>CMD=3的时候,是消息来源的模块ID | | ||
2291 | +| 7-10 | KEYSN | 键盘SN,4字节 | | ||
2292 | +| 11 | HW | 键盘硬件代号 | | ||
2293 | +| 12-14 | SW1-SW3 | 键盘固件版本,3字节 | | ||
2294 | +| 15 | VOLT | 电池电压 | | ||
2295 | +|||| | ||
2296 | + | ||
2297 | +接收方应答: | ||
2298 | + | ||
2299 | +| **字节** | **标识符** | **描述** | | ||
2300 | +| --- | --- | --- | | ||
2301 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2302 | +| 2 | MD\_ID | 模块ID,主控芯片ID=0 | | ||
2303 | +| 3 | CMDTYPE | 30 模块配置指令应答 | | ||
2304 | +| 4 | CMDACK | 2 组网状态报告收到<br>3 离线收到 | | ||
2305 | +|||| | ||
2306 | + | ||
2307 | +备注: | ||
2308 | + | ||
2309 | +4模块之间要共享组网信息,主要是副模块要知道有新键盘安排给我,和主模块知道副模块有键盘离线。 | ||
2310 | + | ||
2311 | +入网操作只在主模块1上执行,所以入网报告都是主模块发起的,基站主控芯片收到后,如果MD\_REP不是1,就还要把相同的报告通过CMD3报告给模块MD\_REP,这样模块MD\_REP知道有1个键盘安排到自己的频点。 | ||
2312 | + | ||
2313 | +离线报告的时候,都是各模块独立报告,SDK收到后,如果MD\_REP=1,要转发给主模块。 | ||
2314 | + | ||
2315 | +所以各模块发消息的时候,自己处理好MD\_REP的值。 | ||
2316 | + | ||
2317 | +### 5.7.3入网键盘信息汇总 | ||
2318 | + | ||
2319 | +基站主控向主模块发送: | ||
2320 | + | ||
2321 | +| **字节** | **标识符** | **描述** | | ||
2322 | +| --- | --- | --- | | ||
2323 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2324 | +| 2 | MD\_ID | 1或0,基站主控只询问主模块 | | ||
2325 | +| 3 | CMDTYPE | 30 组网相关 | | ||
2326 | +| 4 | CMD | 4 读取在线键盘信息 | | ||
2327 | +| 5 | MODULE\_ID | 询问那个模块的在线键盘情况,1-4<br>如果有4个模块,就询问4次 | | ||
2328 | + | ||
2329 | +模块应答: | ||
2330 | + | ||
2331 | +| **字节** | **标识符** | **描述** | | ||
2332 | +| --- | --- | --- | | ||
2333 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2334 | +| 2 | MD\_ID | 1,主模块 | | ||
2335 | +| 3 | CMDTYPE | 30 模块配置指令应答 | | ||
2336 | +| 4 | CMDACK | 4 读取在线键盘信息应答 | | ||
2337 | +| 5 | MODULE\_ID | 哪个模块ID的情况 | | ||
2338 | +| 6 | NUMS | 在线键盘数目 | | ||
2339 | +| 7 | INFOTYPE | 1 状态格式1,每个键盘信息共10字节 | | ||
2340 | +| 8 | NOP | 空,备用 | | ||
2341 | +| 9-12 | KEYSN | 4字节键盘SN | | ||
2342 | +| 13-16 | HW-SW3 | 4字节,键盘类型代码,SW1-SW3 | | ||
2343 | +| 17-18 | VOLT-NOP | 1字节电压值,1字节空 | | ||
2344 | +||| 下1个键盘的信息 | | ||
2345 | +|||| | ||
2346 | + | ||
2347 | +备注:SDK向基站询问时候,也可以遵照本指令,基站相当于模块1。 | ||
2348 | + | ||
2349 | +### 5.7.4 SDK读在线键盘 | ||
2350 | + | ||
2351 | +SDK向基站发送: | ||
2352 | + | ||
2353 | +| **字节** | **标识符** | **描述** | | ||
2354 | +| --- | --- | --- | | ||
2355 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2356 | +| 2 | BASEID | 基站编号,0广播 | | ||
2357 | +| 3 | CMDTYPE | 30 组网相关 | | ||
2358 | +| 4 | CMD | 5 读取在线键盘信息 | | ||
2359 | +| 5 ||| | ||
2360 | + | ||
2361 | +基站应答: | ||
2362 | + | ||
2363 | +| **字节** | **标识符** | **描述** | | ||
2364 | +| --- | --- | --- | | ||
2365 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2366 | +| 2 | BASEID | 基站编号 | | ||
2367 | +| 3 | CMDTYPE | 30 模块配置指令应答 | | ||
2368 | +| 4 | CMDACK | 5读取在线键盘信息应答 | | ||
2369 | +| 5 | OK | 1收到 | | ||
2370 | +| 6-7 | TOTAL | 在线键盘数目,高位前 | | ||
2371 | + | ||
2372 | +具体键盘SN号通过基站报告状态类返回,具体3.2.3节在线键盘状态报告。 | ||
2373 | + | ||
2374 | +## 5.7 测试相关 | ||
2375 | + | ||
2376 | +用于基站进行自动测试,或者返回LOG信息。 | ||
2377 | + | ||
2378 | +SDK向基站发送:(T2soc基站主控转发给模块) | ||
2379 | + | ||
2380 | +| **字节** | **标识符** | **描述** | | ||
2381 | +| --- | --- | --- | | ||
2382 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2383 | +| 2 | MD\_ID | 指定的模块接收,1-4,为0时候不指定,一般是0 | | ||
2384 | +| 3 | CMDTYPE | 31 测试相关 | | ||
2385 | +| 4 | TESTMODE | 测试模式 <br>1、载波测试 ,MODE1是频点 <br>2、指定键盘进行通讯测试,测试结果通过LOG结果返回 MODE1-MODE4是SN号 <br>3、模拟产生投票结果,MODE1、2是结果条数量,高位前然后SDK或应用统计接收到的结果数量,显示出来 | | ||
2386 | +| 5 | MODE1 | 参数1 | | ||
2387 | +| 6 | MODE2 | 参数2 | | ||
2388 | +| 7 | MODE3 || | ||
2389 | +| 8 | MODE4 || | ||
2390 | +|||| | ||
2391 | + | ||
2392 | +基站s应答: | ||
2393 | + | ||
2394 | +| **字节** | **标识符** | **描述** | | ||
2395 | +| --- | --- | --- | | ||
2396 | +| 1 | BASECMD | 0xE1 基站管理类指令 | | ||
2397 | +| 2 | MD\_ID | 应答的模块ID | | ||
2398 | +| 3 | CMDTYPE | 31 测试指令应答 | | ||
2399 | +| 4 | CMDACK | 1 收到 | | ||
2400 | +| 5 ||| | ||
2401 | + | ||
2402 | +## 5.8 基站组合多包-新 | ||
2403 | + | ||
2404 | +用于64字节包基站,组合成长包与基站通信,1个长指令包读写与基站通信。 | ||
2405 | + | ||
2406 | +电脑向基站发送: | ||
2407 | + | ||
2408 | +| **字节** | **标识符** | **描述** | | ||
2409 | +| --- | --- | --- | | ||
2410 | +| 1 | BASECMD | 0x61 基站管理类指令 | | ||
2411 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2412 | +| 3 | CMDTYPE | 19 短包组合长包 | | ||
2413 | +| 4 | PackMax | 总包数量 总共这包包含多少个64字节的包 | | ||
2414 | +| 5 | PackCurrent | 当前包号 从1开始 第几包。 | | ||
2415 | +| 6-7 | CRC-16 | 从8开始计算 全部Data的CRC校验 | | ||
2416 | +| 8-End | Data | 原包指令数据 末尾数据补0 | | ||
2417 | + | ||
2418 | +基站应答: | ||
2419 | + | ||
2420 | +| **字节** | **标识符** | **描述** | | ||
2421 | +| --- | --- | --- | | ||
2422 | +| 1 | BASECMD | 0xE1 基站管理类指令应答 | | ||
2423 | +| 2 | BASEID | 指定的基站编号,为0时候不指定 | | ||
2424 | +| 3 | CMDTYPE | 19 短包组合长包 | | ||
2425 | +| 4 | PackMax | 总包数量 总共这包包含多少个64字节的包 | | ||
2426 | +| 5 | PackCurrent | 当前包号 从1开始 第几包。 | | ||
2427 | +| 6-7 | CRC-16 | 从8开始计算 全部Data的CRC校验 | | ||
2428 | +| 8-End | Data | 原包指令数据 | | ||
2429 | + | ||
2430 | +目前实现是Sdk送一次,基站应答一次,直到sdk送完所有包。 | ||
2431 | + | ||
2432 | +### 5.8.1 CMDTYPE概述 | ||
2433 | + | ||
2434 | +具体数据包格式,由data数据段拼接后,头一个字节决定后面数据的解析。 | ||
2435 | + | ||
2436 | +| **字节** | **标识符** | **描述** | | ||
2437 | +| --- | --- | --- | | ||
2438 | +| 1 | CMDTYPE | 类型 <br>1:单包下载 <br>2:单包下载ACK <br>3:扩展信标预置<br> 4:扩展信标预置ACK<br> 5、(带题干文字内容的)测验题| | ||
2439 | +| N | Data | 数据详细内容根据指令不同解释不同 | | ||
2440 | + | ||
2441 | +### 5.8.2 组合多包-快速下发 | ||
2442 | + | ||
2443 | +电脑向基站发送:(也可用于基站主控向模块发送) | ||
2444 | +基站应答: | ||
2445 | +使用5.8协议外层包裹打包成(最大)1024数据长度【sdk并没有按这种方式实现】 | ||
2446 | +Data 为下载单包具体内容 具体为: | ||
2447 | + | ||
2448 | +指令下发: | ||
2449 | + | ||
2450 | +| **字节** | **标识符** | **描述** | | ||
2451 | +| --- | --- | --- | | ||
2452 | +| 1 | CMDTYPE | 1 单包下载内容 | | ||
2453 | +| 2 | DataPos | 下载单包指令流水号,每次加1,用于分辨执行结果,SDK自动维护 | | ||
2454 | +| 3 | Len1 | SN1+Tr\_Count+Data1 长度 1 Byte | | ||
2455 | +| 4-7 | SN1 | Sn号 4 Byte | | ||
2456 | +| 8 | Tr\_Count | 传输序号 1 Byte | | ||
2457 | +| 9 | Data1 | 单包下载内容 N Byte | | ||
2458 | +|| Len2 | SN2+Data2 长度 | | ||
2459 | +|| SN2 | Sn号 | | ||
2460 | +|| Tr\_Count | 传输序号 | | ||
2461 | +|| Data2 | 单包下载内容 | | ||
2462 | +|| Len3 | SN2+Data2 长度 | | ||
2463 | +|| SN3 | Sn号 | | ||
2464 | +|| Tr\_Count | 传输序号 | | ||
2465 | +|| Data3 | 单包下载内容 | | ||
2466 | +| 。。。 | 。。。 | 。。。 | | ||
2467 | + | ||
2468 | +基站应答:【sdk连续发完多包,然后基站应答的方式才用到】 | ||
2469 | + | ||
2470 | +| **字节** | **标识符** | **描述** | | ||
2471 | +| --- | --- | --- | | ||
2472 | +| 1 | CMDTYPE | 2 单包下载内容应答 | | ||
2473 | +| 2 | DataPos | 对应写入的DataPos,用于SDK好判断哪条写指令的结果 | | ||
2474 | +|||| | ||
2475 | + | ||
2476 | +### 5.8.3 组合多包-扩展信标 | ||
2477 | + | ||
2478 | +电脑向基站发送:(也可用于基站主控向模块发送) | ||
2479 | +基站应答: | ||
2480 | +使用5.8协议外层包裹打包成(最大)1024数据长度 | ||
2481 | +具体为: | ||
2482 | +扩展信标预置,在下轮《设置投票模式信标》开始生效,生效时基站将17信标中MODE的BIT7位置1,并周期性在17信标前发送0x34扩展投票信息(键盘协议2.5节)。 | ||
2483 | + | ||
2484 | +指令下发: | ||
2485 | + | ||
2486 | +| **字节** | **标识符** | **描述** | | ||
2487 | +| --- | --- | --- | | ||
2488 | +| 1 | CMDTYPE | 3 扩展信标预置,在下轮《设置投票模式信标》开始生效 | | ||
2489 | +| 2 | DataPos | 下载单包指令流水号,每次加1,用于分辨执行结果,SDK自动维护 | | ||
2490 | +| 3-4 | LEN | 有效Cmd\_Data 长度 | | ||
2491 | +| N | Cmd\_Data | 键盘协议Cmd\_Data数据 | | ||
2492 | + | ||
2493 | +基站应答: | ||
2494 | + | ||
2495 | +| **字节** | **标识符** | **描述** | | ||
2496 | +| --- | --- | --- | | ||
2497 | +| 1 | CMDTYPE | 4 扩展信标预置应答 | | ||
2498 | +| 2 | DataPos | 对应写入的DataPos,用于SDK好判断哪条写指令的结果 | | ||
2499 | + | ||
2500 | +### 5.8.4 组合多包-测验题内容 | ||
2501 | + | ||
2502 | +指令下发: | ||
2503 | + | ||
2504 | +| **字节** | **标识符** | **描述** | | ||
2505 | +| --- | --- | --- | | ||
2506 | +| 1 | CMDTYPE | 5 测验题内容 | | ||
2507 | +| 2- || 本字节开始是键盘协议的测验题内容<br>比如2.4.5节的type开始的数据 | | ||
2508 | +|||| | ||
2509 | + | ||
2510 | +# 六、版本历史 | ||
2511 | + | ||
2512 | +V0.5 新体系基础框架。 | ||
2513 | + | ||
2514 | +V0.6 增加3.2.3新考勤打包格式,增加5.2.2节考勤射频衰减值设置 | ||
2515 | + | ||
2516 | +V0.7 5.2.1节增加免配对同频和多频点SN模式的类型;(键盘协议部分增加的键盘主动发信模式,不用更改3.2.1节的打包格式;)增加5.2.3节SDK握手,告知PC后台传数据正常,可以给键盘发确认包;增加5.2.4节TCPIP网络设置;增加5.2.5节设置考勤、心跳、基站测试模式; | ||
2517 | + | ||
2518 | +V0.75增加白名单模式,可设置SN号白名单,增加5.3节 | ||
2519 | + | ||
2520 | +V0.76基站设置增加考勤基站去重设置5.2.6节,5.2.1节补充附加配置的模式列表 | ||
2521 | + | ||
2522 | +V0.8版本,增加了序列号和编号同时传的数据包打包格式,修改了3.2.1节和3.2.2节;加上5.2.7节软件狗,并支持基站UID读取; | ||
2523 | + | ||
2524 | +V0.9 | ||
2525 | + | ||
2526 | +1. 拷贝原商务体系基站下载多包5.4节,原先用于无线升级键盘固件提速 | ||
2527 | +2. 完善2.3.2节设置基站广播信标发送内容 | ||
2528 | +3. 2.1节基站配置修改成套装、白名单模式,白名单支持智能和授权 | ||
2529 | +4. 2.8节基站特性增加快速配对低功率控制 | ||
2530 | +5. 增加5.2.9节wifi基站状态控制显示 | ||
2531 | + | ||
2532 | +V0.93 | ||
2533 | + | ||
2534 | +完善了K1使用到的基站广播信息,2.3节 | ||
2535 | + | ||
2536 | +V0.94 | ||
2537 | + | ||
2538 | +1、增加5.5节基站取多包,用于A1取课后作业结果 | ||
2539 | + | ||
2540 | +2、增加基站NFC刷卡写姓名学号等,5.2.10节 | ||
2541 | + | ||
2542 | +3、刷卡指令根据G1要求,增加股东姓名、股权数、应答SN支持6字节和编号ID返回 | ||
2543 | + | ||
2544 | +V0.95 | ||
2545 | + | ||
2546 | +1、增加2.4节设置扩展投票信标,以支持新东方的自定义题型提示 | ||
2547 | + | ||
2548 | +V0.96 | ||
2549 | + | ||
2550 | +1、2.3.2节的设置200题型,支持sdk回读,用于sdk崩溃后恢复 | ||
2551 | + | ||
2552 | +V0.97 | ||
2553 | + | ||
2554 | +增加3.2.8节,用于处理状态报告带16字符姓名时候,基站和SDK不好兼容老协议的问题 | ||
2555 | + | ||
2556 | +V0.98 | ||
2557 | + | ||
2558 | +增加5.6节 基站下载单包 | ||
2559 | + | ||
2560 | +V0.99 | ||
2561 | + | ||
2562 | +1、增加5.7节组网相关,先用于T2Soc语音系统的模块SPI指令。 | ||
2563 | + | ||
2564 | +2、增加5.6.2节T2Soc基站单包下载长包指令 | ||
2565 | + | ||
2566 | +3、SDK和主控之间的多包下载具体数据,每片段16字节改512字节 | ||
2567 | + | ||
2568 | +4、支持S6soc新升级方法,修改5.4.3节和增加5.4.5节 | ||
2569 | + | ||
2570 | +5、5.2.4节增加MQTT服务器设置 | ||
2571 | + | ||
2572 | +6、增加5.2.11节usb还是tcp传输数据设置 | ||
2573 | + | ||
2574 | +V0.99-5 | ||
2575 | + | ||
2576 | +1、增加5.2.12节(T2)基站容量设置,白名单没动 | ||
2577 | + | ||
2578 | +V0.99-6 | ||
2579 | + | ||
2580 | +1、增加3.3节基站主动报告结果类,当成键盘结果提交 | ||
2581 | + | ||
2582 | +2、增加5.3.3节基站键盘SN名单管理 | ||
2583 | + | ||
2584 | +V0.99-7 | ||
2585 | + | ||
2586 | +1、增加5.2.13节基站测试模式(老商务协议体系的指令) | ||
2587 | + | ||
2588 | +V0.99-8 | ||
2589 | + | ||
2590 | +1、增加3.2.2节基站自检结果报告类型 | ||
2591 | + | ||
2592 | +V0.99-9 | ||
2593 | + | ||
2594 | +1、5.2.13节增加基站受控蜂鸣器响一声,提示用户基站连接上 | ||
2595 | + | ||
2596 | +2、增加5.7.4节SDK读键盘在线状态; | ||
2597 | + | ||
2598 | +3、增加3.2.3节键盘在线状态汇报; | ||
2599 | + | ||
2600 | +4、基站NFC写键盘姓名,5.2.10节增加48字节姓名模式 | ||
2601 | + | ||
2602 | +5、完善基站多包上传,主要是增加5.5.3节基站主动模式说明,和3.2.4节多包状态报告 | ||
2603 | + | ||
2604 | +6、增加5.5.4节SDK问基站要多包上传数据 | ||
2605 | + | ||
2606 | +7、增加3.3.5节NFC刷卡消息—容量满 | ||
2607 | + | ||
2608 | +8、NFC刷卡消息—增加正常刷卡报告 | ||
2609 | + | ||
2610 | +9、5.2.13节增加NFC刷卡进音质测试模式 | ||
2611 | + | ||
2612 | +V0.99-10 | ||
2613 | + | ||
2614 | +1、3.3.5节刷卡消息,增加首个键盘被移出消息 | ||
2615 | + | ||
2616 | +2、增加5.3.4节,基站白名单长包读写 | ||
2617 | + | ||
2618 | +V0.99-11 | ||
2619 | + | ||
2620 | +1、5.4.3节多包数据下发增加短信息 | ||
2621 | + | ||
2622 | +2、基站上报状态,增加调试log信息上报3.3.6节 | ||
2623 | + | ||
2624 | +3、增加5.2.14节,读取基站调试信息 | ||
2625 | + | ||
2626 | +V0.99-12 | ||
2627 | + | ||
2628 | +1. 增加5.2.15节SDK退出通知 | ||
2629 | +2. 3.5节刷卡消息增加键盘在线数目 | ||
2630 | +3. 3.4节 白名单增加删除基站键盘SN | ||
2631 | +4. 3.4节 基站名单增加锁定和解锁 | ||
2632 | + | ||
2633 | +V0.99-13 | ||
2634 | + | ||
2635 | +1. 基站名称重新定义指令,原先改成密码了,SDK不好兼容,5.2.1节通用配置 | ||
2636 | +2. 密码也改成2字节,原先3字节 | ||
2637 | + | ||
2638 | +V0.99-14 | ||
2639 | + | ||
2640 | +1. 新增5.8章 组合多包方式 基站&SDK通信传输数据 | ||
2641 | + | ||
2642 | +V0.99-15 | ||
2643 | + | ||
2644 | +1、5.8.2节基站组合多包传输,增加传输题干测验数据表模式 | ||
2645 | + | ||
2646 | +2、增加5.2.16节NFC指纹管理 | ||
2647 | + | ||
2648 | +3、增加5.2.17节NFC写指定配对码,和对应的回报消息3.3.5节增加 | ||
2649 | + | ||
2650 | +4、增加5.2.18节管理指令清空 | ||
2651 | + | ||
2652 | +5、增加2.5节空闲信标参数 | ||
2653 | + | ||
2654 | +V0.99-16 | ||
2655 | + | ||
2656 | +1. 添加5.2.16读写基站字符串 | ||
2657 | +2. 删除2.5节空闲信标参数 | ||
2658 | +3. 增加5.2.20 5.2.21基站空闲设置 | ||
2659 | + | ||
2660 | +V0.99-17 | ||
2661 | + | ||
2662 | +1. 增加5.2.22读写基站组网公开位 | ||
2663 | + | ||
2664 | +V0.99-18 | ||
2665 | + | ||
2666 | +1、加5.2.34 基站复位 | ||
2667 | + | ||
2668 | +2、修改5.2.10节NFC写姓名的应答 | ||
2669 | + | ||
2670 | +3、增加5.2.24节基站刷卡清空指纹和姓名 | ||
2671 | + | ||
2672 | +V0.99-19 | ||
2673 | + | ||
2674 | +1. 增加5.2.26节,多条NFC指令执行控制 | ||
2675 | +2. 增加5.2.27节,可暂停指纹核对后才能刷卡 | ||
2676 | + | ||
2677 | +V0.99-20 | ||
2678 | + | ||
2679 | +1、增加5.2.28节基站扫描干扰频点 | ||
0 | \ No newline at end of file | 2680 | \ No newline at end of file |