Commit ab8c5f32c9a34e59ef6a499f479b0e8dad8241c3

Authored by huaziforever
2 parents 4d85e3c7 deff7695

Merge branch 'master' of http://120.78.57.84/lee/Protocol

通讯协议-B200W-MQTT协议[内部].md
... ... @@ -14,9 +14,60 @@
14 14 }
15 15 </style>
16 16  
  17 +<br>
  18 +<br>
  19 +<br>
  20 +
  21 +<div style="text-align: center;font-size: 70px;">
  22 +SunVote B200W <br>MQTT通讯协议
  23 +</div>
  24 +<br>
  25 +<br>
  26 +<br>
  27 +<br>
  28 +<div style="text-align: center;font-size: 30px;">
  29 +Ver 1.0.1
  30 +</div>
  31 +<br>
  32 +<br>
  33 +<br>
  34 +<br>
  35 +<br>
  36 +<br>
  37 +
  38 +<div style="text-align: center;font-size: 30px;">
  39 +长沙中天电子设计开发有限公司
  40 +</div>
  41 +
  42 +<br>
  43 +
  44 +<div style="text-align: center;font-size: 30px;">
  45 +二〇二四年十月
  46 +</div>
  47 +
  48 +<br>
  49 +<br>
  50 +<br>
  51 +<br>
  52 +
  53 +文件控制:
  54 +
  55 +文件名:SunVote B200W MQTT通讯协议
  56 +
  57 +起草人:刘琴
  58 +
  59 +最新版本作者: 刘琴
  60 +<br>
  61 +| 文档版本 | 日期 | 作者 | 版本说明 |
  62 +|---|---|---|---|
  63 +|1.0.1| 2024年10月22日|刘琴|1. 初始版|
  64 +
  65 +<br>
  66 +<br>
  67 +
17 68 [TOC]
18 69  
19   -# SunVote B200W_MQTT 接口协议
  70 +# SunVote B200W MQTT通讯协议
20 71  
21 72 # 功能说明
22 73  
... ... @@ -192,7 +243,7 @@
192 243 |抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAQuicker](#fevtqaquicker)|
193 244 ||停止抢答题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
194 245 |待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)<br>[sEvtKpRtFeedback](#sevtkprtfeedback)<br>[sEvtKpHandUp](#sevtkphandup)|
195   -||设置待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)|
  246 +||获取待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)|
196 247 ### 在线测验
197 248 |功能归类|功能|API指令|指令事件|
198 249 |---|---|---|---|
... ... @@ -1869,7 +1920,7 @@
1869 1920 |+port|int||是|端口,默认1883|
1870 1921 |+userName|string||否|连接服务器的用户名,可不设置|
1871 1922 |+password|string||否|连接服务器的密码,可不设置|
1872   -|+interval|int|>=60|否|基站连接服务器失败后重连的间隔时长,单位秒|
  1923 +|+interval|int|>=30|否|基站连接服务器失败后重连的间隔时长,单位秒|
1873 1924  
1874 1925 - **示例代码**
1875 1926 ```json
... ... @@ -1881,7 +1932,7 @@
1881 1932 "port":1883,
1882 1933 "userName":"",
1883 1934 "password":"",
1884   - "interval":60
  1935 + "interval":30
1885 1936 }
1886 1937 }
1887 1938 ```
... ... @@ -2146,7 +2197,7 @@
2146 2197 |dataTag|string|-|否|数据包标识,可为空字符串|
2147 2198 |data|array|-|是|传送参数的对象数组|
2148 2199 |++name|string||是|检测项名称:MCU、RF、FLASH、EEPROM|
2149   -|++state|int||是|检测结果<br>0-功能异常<br>1-功能正常|
  2200 +|++state|int||是|检测结果<br>0-功能正常<br>1-功能异常|
2150 2201  
2151 2202 - **示例代码**
2152 2203 ```json
... ... @@ -2156,19 +2207,19 @@
2156 2207 "data":[
2157 2208 {
2158 2209 "name":"MCU",
2159   - "state":1
  2210 + "state":0
2160 2211 },
2161 2212 {
2162 2213 "name":"RF",
2163   - "state":1
  2214 + "state":0
2164 2215 },
2165 2216 {
2166 2217 "name":"FLASH",
2167   - "state":1
  2218 + "state":0
2168 2219 },
2169 2220 {
2170 2221 "name":"EEPROM",
2171   - "state":1
  2222 + "state":0
2172 2223 }
2173 2224 ]
2174 2225 }
... ... @@ -3578,7 +3629,7 @@
3578 3629  
3579 3630 - **示例代码**
3580 3631 ```json
3581   -//启用举手反馈
  3632 +//获取实时反馈状态
3582 3633 {
3583 3634 "fun":"getKpStbResponse",
3584 3635 "dataTag":"1"
... ... @@ -3645,7 +3696,7 @@
3645 3696 |+questions|array||是|题目详情|
3646 3697 |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
3647 3698 |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
3648   -|++startNo | string||是| 题号起始题号,可以为数字+“-”,单级的题号数字范围1-255,如“1”,“1-1”,“1-1-1”,最多只能输入三级<br>mode=0 时有效,mode=1或2时键盘按顺序显示题号|
  3699 +|++startNo | string||是| 起始题号,可以为数字+“-”,单级的题号数字范围1-255,如“1”,“1-1”,“1-1-1”,最多只能输入三级<br>mode=0 时有效,mode=1或2时键盘按顺序显示题号|
3649 3700 |++count | int||是| 相同参数的连续题目数量, >0 <br>注意:总题数最多支持200题 |
3650 3701 |+simParams|object||否|内部模拟测试参数设置对象|
3651 3702 |++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]|
... ... @@ -3987,7 +4038,7 @@
3987 4038 |++subject | int||是 | 科目序号,1-9,对应键盘中内置的科目1-9<br>键盘答题时可选择科目切换答题|
3988 4039 |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 |
3989 4040 |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。|
3990   -|++startNo | string||是| 题号起始题号,可以为数字+“-”,单级的题号数字范围1-255,如“1”,“1-1”,最多支持两级题号<br>mode=0 时有效,mode=1或2时键盘按顺序显示题号|
  4041 +|++startNo | string||是| 起始题号,可以为数字+“-”,单级的题号数字范围1-255,如“1”,“1-1”,最多支持两级题号<br>mode=0 时有效,mode=1或2时键盘按顺序显示题号|
3991 4042 |++count | int||是| 相同参数的连续题目数量, >0 <br>注意:所有科目的总题数最多支持200题|
3992 4043 |+simParams|object||否|内部模拟测试参数设置对象|
3993 4044 |++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]|
... ... @@ -4108,7 +4159,7 @@
4108 4159 #### 方法
4109 4160 ##### startKpScoreInput
4110 4161 - **主题**:/client/\${baseSN}/send
4111   -- **功能描述**:启动标准测验
  4162 +- **功能描述**:启动自主录分
4112 4163 - **参数说明**
4113 4164  
4114 4165 |参数名|类型|限制|是否必填|说明|
... ... @@ -4121,7 +4172,7 @@
4121 4172 |+questions|array||是|题目详情|
4122 4173 |++max |int||是|可输入的最大值,<=100|
4123 4174 |++digits|int||是|可输入的小数位数,范围0-2|
4124   -|++startNo | string||是| 起始题号(暂不支持自定义题号,只能按顺序显示)|
  4175 +|++startNo | string||是| 起始题号,暂只支持一级题号,范围1-255|
4125 4176 |++count | int||是| 相同参数的题目数量,>0<br>注意:总题数最多支持200题|
4126 4177  
4127 4178 - **示例代码**
... ...
通讯协议-B200W-MQTT协议[外].md
... ... @@ -14,6 +14,57 @@
14 14 }
15 15 </style>
16 16  
  17 +<br>
  18 +<br>
  19 +<br>
  20 +
  21 +<div style="text-align: center;font-size: 70px;">
  22 +SunVote B200W <br>MQTT通讯协议
  23 +</div>
  24 +<br>
  25 +<br>
  26 +<br>
  27 +<br>
  28 +<div style="text-align: center;font-size: 30px;">
  29 +Ver 1.0.1
  30 +</div>
  31 +<br>
  32 +<br>
  33 +<br>
  34 +<br>
  35 +<br>
  36 +<br>
  37 +
  38 +<div style="text-align: center;font-size: 30px;">
  39 +长沙中天电子设计开发有限公司
  40 +</div>
  41 +
  42 +<br>
  43 +
  44 +<div style="text-align: center;font-size: 30px;">
  45 +二〇二四年十月
  46 +</div>
  47 +
  48 +<br>
  49 +<br>
  50 +<br>
  51 +<br>
  52 +
  53 +文件控制:
  54 +
  55 +文件名:SunVote B200W MQTT通讯协议
  56 +
  57 +起草人:刘琴
  58 +
  59 +最新版本作者: 刘琴
  60 +<br>
  61 +| 文档版本 | 日期 | 作者 | 版本说明 |
  62 +|---|---|---|---|
  63 +|1.0.1| 2024年10月22日|刘琴|1. 初始版|
  64 +
  65 +<br>
  66 +<br>
  67 +
17 68 [TOC]
18 69  
19 70 # SunVote B200W MQTT通讯协议
... ... @@ -86,7 +137,6 @@
86 137 |公共事件|键盘上线通知|-|[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)|
87 138 |公共事件|键盘刷卡事件|-|[sEvtBsNfcResults](#sevtbsnfcresults)|
88 139 |公共事件|键盘待机实时按键反馈|-|[sEvtKpRtFeedback](#sevtkprtfeedback)|
89   -|公共事件|键盘举手键实时按键反馈|-|[sEvtKpHandUp](#sevtkphandup)|
90 140  
91 141 ### 基站管理
92 142 |功能归类|功能|API指令|指令/系统事件|
... ... @@ -155,8 +205,8 @@
155 205 ||停止数字题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
156 206 |抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAQuicker](#fevtqaquicker)|
157 207 ||停止抢答题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
158   -|待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)<br>[sEvtKpRtFeedback](#sevtkprtfeedback)<br>[sEvtKpHandUp](#sevtkphandup)|
159   -||设置待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)|
  208 +|待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)<br>[sEvtKpRtFeedback](#sevtkprtfeedback)|
  209 +||获取待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)|
160 210 ### 在线测验
161 211 |功能归类|功能|API指令|指令事件|
162 212 |---|---|---|---|
... ... @@ -328,28 +378,6 @@
328 378 }]
329 379 }
330 380 ```
331   -### sEvtKpHandUp
332   -- **主题**: /basestation/\${baseSN}/receive
333   -- **功能描述**:开启键盘举手功能后,键盘按举手键时上报
334   -- **参数说明**
335   -
336   -|参数名|类型|限制|非空|说明|
337   -|---|---|---|---|---|
338   -|fun|string|-|是|事件名称|
339   -|dataTag|string|-|否|数据包标识|
340   -|data|object|-|是|传送参数的对象|
341   -|+keySn|string||是|举手的键盘SN|
342   -
343   -- **示例代码**
344   -```json
345   -{
346   - "fun":"sEvtKpHandUp",
347   - "dataTag":"1",
348   - "data":{
349   - "keySn":"1234567890"
350   - }
351   -}
352   -```
353 381 ### sEvtStateCode
354 382 - **主题**: /basestation/\${baseSN}/receive
355 383 - **功能描述**:返回基站接收指令状态信息
... ... @@ -1449,7 +1477,7 @@
1449 1477 |+port|int||是|端口,默认1883|
1450 1478 |+userName|string||否|连接服务器的用户名,可不设置|
1451 1479 |+password|string||否|连接服务器的密码,可不设置|
1452   -|+interval|int|>=60|否|基站连接服务器失败后重连的间隔时长,单位秒|
  1480 +|+interval|int|>=30|否|基站连接服务器失败后重连的间隔时长,单位秒|
1453 1481  
1454 1482 - **示例代码**
1455 1483 ```json
... ... @@ -1461,7 +1489,7 @@
1461 1489 "port":1883,
1462 1490 "userName":"",
1463 1491 "password":"",
1464   - "interval":60
  1492 + "interval":30
1465 1493 }
1466 1494 }
1467 1495 ```
... ... @@ -2468,20 +2496,11 @@
2468 2496 |dataTag|string|-|否|数据包标识,可为空字符串|
2469 2497 |data|object|-|是|传送参数的对象|
2470 2498 |+state|int||是|启用待机实时反馈<br>0-不启用<br>1-启用|
2471   -|+mode|int||是|启动待机反馈类型,state=1时有效<br>0-举手<br>1-指定按键反馈|
  2499 +|+mode|int||是|启动待机反馈类型,state=1时有效<br>1 - 指定按键反馈|
2472 2500 |+keys|int||是|有效按键数量,state=1且mode=1时有效, 范围1-10|
2473 2501  
2474 2502 - **示例代码**
2475 2503 ```json
2476   -//启用举手反馈
2477   -{
2478   - "fun":"setKpStbResponse",
2479   - "dataTag":"1",
2480   - "data":{
2481   - "state":1,
2482   - "mode":0
2483   - }
2484   -}
2485 2504 //启用待机按键反馈
2486 2505 {
2487 2506 "fun":"setKpStbResponse",
... ... @@ -2514,7 +2533,7 @@
2514 2533  
2515 2534 - **示例代码**
2516 2535 ```json
2517   -//启用举手反馈
  2536 +//获取实时反馈状态
2518 2537 {
2519 2538 "fun":"getKpStbResponse",
2520 2539 "dataTag":"1"
... ... @@ -2997,7 +3016,7 @@
2997 3016 #### 方法
2998 3017 ##### startKpScoreInput
2999 3018 - **主题**:/client/\${baseSN}/send
3000   -- **功能描述**:启动标准测验
  3019 +- **功能描述**:启动自主录分
3001 3020 - **参数说明**
3002 3021  
3003 3022 |参数名|类型|限制|是否必填|说明|
... ... @@ -3010,7 +3029,7 @@
3010 3029 |+questions|array||是|题目详情|
3011 3030 |++max |int||是|可输入的最大值,<=100|
3012 3031 |++digits|int||是|可输入的小数位数,范围0-2|
3013   -|++startNo | string||是| 起始题号(暂不支持自定义题号,只能按顺序显示)|
  3032 +|++startNo | string||是| 起始题号,暂只支持一级题号,范围1-255|
3014 3033 |++count | int||是| 相同参数的题目数量,>0<br>注意:总题数最多支持200题|
3015 3034  
3016 3035 - **示例代码**
... ...
通讯协议-SDK应用部分.md
... ... @@ -53,6 +53,7 @@ Ver5.1.11
53 53 |5.1.9| 2024年07月19日|陈定敏|1. 增加获取SDK版本接口|
54 54 |5.1.10| 2024年09月03日|陈定敏|1. 移去主动获取在线信息接口|
55 55 |5.1.11| 2024年10月17日|刘琴|1. 增加设置基站容量的接口|
  56 +|5.1.12| 2024年11月01日|刘琴|1. 修改writeKeyMessage接口中keySnList说明|
56 57  
57 58 <br>
58 59  
... ... @@ -707,6 +708,7 @@ infos:{}
707 708  
708 709 fun: "keyPadAuthorize" //
709 710 baseId: "1"//收到的基站ID
  711 +keySnList:[{"keySn": "0112540402"}] //指定键盘SN,不可为空
710 712 params:{} //默认空
711 713  
712 714 | **Json字段** | **字段含义** | **赋值及含义** |
... ... @@ -4630,7 +4632,7 @@ params:{} //数组对象,指定键盘需填
4630 4632 发送:
4631 4633 fun: "addWhiteList" //追加键盘
4632 4634 params:{} //键盘sn
4633   -keySnList:[ "keySn":"2111120140"] //列表不能为空
  4635 +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空
4634 4636  
4635 4637 指令样例:
4636 4638  
... ... @@ -4679,8 +4681,7 @@ infos:{}//
4679 4681 发送:
4680 4682 fun: "delWhiteList" //踢出键盘,删除键盘
4681 4683 params:{} //键盘sn
4682   -keySnList:[ "keySn":"2111120140"] //列表不能为空
4683   -
  4684 +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空
4684 4685  
4685 4686 指令样例:
4686 4687  
... ... @@ -4918,13 +4919,13 @@ infos:{ }//返回基站
4918 4919
4919 4920  
4920 4921 fun: "writeKeypadDevice" //写键盘外设,由led灯、蜂鸣器、马达组合
  4922 +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘
4921 4923 params:{} //
4922 4924  
4923 4925 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置
4924 4926  
4925 4927 | **Json字段** | **字段含义** | **赋值及含义** |
4926 4928 | --- | --- | --- |
4927   -| keySn | 键盘SN |空字符串,为所有在线键盘|
4928 4929 | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)|
4929 4930 | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)|
4930 4931 | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)|
... ... @@ -5427,11 +5428,11 @@ infos:{&quot;keySn&quot;:&quot;1837454011&quot;,&quot;state&quot;:&quot;OK&quot;}//遥控键盘关机
5427 5428  
5428 5429
5429 5430 fun: "writeKeyMessage" //写键盘短消息
  5431 +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘
5430 5432 params:{} // 数组对象,对象中的默认值为空字符串
5431 5433  
5432 5434 | **Json字段** | **字段含义** | **赋值及含义** |
5433 5435 | --- | --- | --- |
5434   -|keySn|键盘SN|空字符串,为所有在线键盘|
5435 5436 |txt|短消息内容|字符串最长40字节[20汉字]|
5436 5437  
5437 5438  
... ... @@ -5552,7 +5553,6 @@ infos:{}//
5552 5553  
5553 5554 | **Json字段** | **字段含义** | **赋值及含义** |
5554 5555 | --- | --- | --- |
5555   -|keySn|键盘SN||
5556 5556 |state|返回信息|OK(成功)|
5557 5557  
5558 5558  
... ...
通讯协议-SDK应用部分[内部].md
... ... @@ -53,6 +53,7 @@ Ver5.1.11
53 53 |5.1.9| 2024年07月19日|陈定敏|1. 增加获取SDK版本接口|
54 54 |5.1.10| 2024年09月03日|陈定敏|1. 外部版移去主动获取在线信息接口,版本号更新|
55 55 |5.1.11| 2024年10月17日|刘琴|1. 增加设置基站容量的接口|
  56 +|5.1.12| 2024年11月01日|刘琴|1. 修改writeKeyMessage接口中keySnList说明|
56 57  
57 58 <br>
58 59  
... ... @@ -707,6 +708,7 @@ infos:{}
707 708  
708 709 fun: "keyPadAuthorize" //
709 710 baseId: "1"//收到的基站ID
  711 +keySnList:[{"keySn": "0112540402"}] //指定键盘SN,不可为空
710 712 params:{} //默认空
711 713  
712 714 | **Json字段** | **字段含义** | **赋值及含义** |
... ... @@ -5566,7 +5568,7 @@ params:{} //数组对象,指定键盘需填
5566 5568 发送:
5567 5569 fun: "addWhiteList" //追加键盘
5568 5570 params:{} //键盘sn
5569   -keySnList:[ "keySn":"2111120140"] //列表不能为空
  5571 +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空
5570 5572  
5571 5573 指令样例:
5572 5574  
... ... @@ -5615,8 +5617,7 @@ infos:{}//
5615 5617 发送:
5616 5618 fun: "delWhiteList" //踢出键盘,删除键盘
5617 5619 params:{} //键盘sn
5618   -keySnList:[ "keySn":"2111120140"] //列表不能为空
5619   -
  5620 +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空
5620 5621  
5621 5622 指令样例:
5622 5623  
... ... @@ -6092,13 +6093,13 @@ infos:{&quot;bic&quot;:&quot;A455&quot;, &quot;pid&quot;: &quot;EA10&quot;}//
6092 6093
6093 6094  
6094 6095 fun: "writeKeypadDevice" //写键盘外设,由led灯、蜂鸣器、马达组合
  6096 +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘
6095 6097 params:{} //
6096 6098  
6097 6099 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置
6098 6100  
6099 6101 | **Json字段** | **字段含义** | **赋值及含义** |
6100 6102 | --- | --- | --- |
6101   -| keySn | 键盘SN |空字符串,为所有在线键盘|
6102 6103 | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)|
6103 6104 | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)|
6104 6105 | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)|
... ... @@ -6657,11 +6658,11 @@ infos:{&quot;value&quot;:&quot;0&quot;}//10秒
6657 6658  
6658 6659
6659 6660 fun: "writeKeyMessage" //写键盘短消息
  6661 +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘
6660 6662 params:{} // 数组对象,对象中的默认值为空字符串
6661 6663  
6662 6664 | **Json字段** | **字段含义** | **赋值及含义** |
6663 6665 | --- | --- | --- |
6664   -|keySn|键盘SN|空字符串,为所有在线键盘|
6665 6666 |txt|短消息内容|字符串最长40字节[20汉字]|
6666 6667  
6667 6668  
... ... @@ -6917,7 +6918,6 @@ infos:{}//
6917 6918  
6918 6919 | **Json字段** | **字段含义** | **赋值及含义** |
6919 6920 | --- | --- | --- |
6920   -|keySn|键盘SN||
6921 6921 |state|返回信息|OK(成功)|
6922 6922  
6923 6923  
... ...