Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
A
ademco_hb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
captainwong
ademco_hb
Commits
2dfe80c7
Commit
2dfe80c7
authored
Apr 17, 2020
by
captainwong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
c6a313b6
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
5 deletions
+4
-5
README.md
docs/README.md
+4
-4
server_demo.cpp
server_demo/server_demo.cpp
+0
-1
No files found.
docs/README.md
View file @
2dfe80c7
...
@@ -27,9 +27,9 @@
...
@@ -27,9 +27,9 @@
*
`length`
从
`id`
的左引号开始,至
`timestamp`
的最后一个字节结束的字符串长度,以16进制数字的ASCII码表示,定长4Bytes
*
`length`
从
`id`
的左引号开始,至
`timestamp`
的最后一个字节结束的字符串长度,以16进制数字的ASCII码表示,定长4Bytes
*
`"id"`
事件类型,分为
`NULL, ACK, DUH, ADM-CID, HENG-BO`
等,分别为心跳、回应、错误、主机事件、恒博事件。除事件
`ADM-CID/HENG-BO`
外,其他三种类型的
`data`
段都为空值
`[]`
。
*
`"id"`
事件类型,分为
`NULL, ACK, DUH, ADM-CID, HENG-BO`
等,分别为心跳、回应、错误、主机事件、恒博事件。除事件
`ADM-CID/HENG-BO`
外,其他三种类型的
`data`
段都为空值
`[]`
。
*
`seq`
序号,定长4 Bytes,代表的十进制数字为主机发送命令字的序号,范围
`0001~9999`
,超过
`9999`
则从1开始再次循环。
`seq`
被用来判断主机发出的
`ADM-CID/HENG-BO`
类型命令字是否得到接警平台的正确处理。例:平台要对主机发出的
`NULL/ADM-CID/HENG-BO`
类型事件进行回应,回应的
`seq`
以接收到的
`seq`
为准。主机收到回应后会判断
`seq`
与之前发送的
`seq`
是否相同:相同则说明该事件已得到处理,否则会进行重发。
*
`seq`
序号,定长4 Bytes,代表的十进制数字为主机发送命令字的序号,范围
`0001~9999`
,超过
`9999`
则从1开始再次循环。
`seq`
被用来判断主机发出的
`ADM-CID/HENG-BO`
类型命令字是否得到接警平台的正确处理。例:平台要对主机发出的
`NULL/ADM-CID/HENG-BO`
类型事件进行回应,回应的
`seq`
以接收到的
`seq`
为准。主机收到回应后会判断
`seq`
与之前发送的
`seq`
是否相同:相同则说明该事件已得到处理,否则会进行重发。
*
`Rrcvr`
以R开头的一段十六进制数字字符串,数字长度范围
1~6,暂时仅占位,无意义。字段总长度2~7
Bytes。
*
`Rrcvr`
以R开头的一段十六进制数字字符串,数字长度范围
`1~6`
,暂时仅占位,无意义。字段总长度
`2~7`
Bytes。
*
`Lpref`
以L开头的一段十六进制数字字符串,数字长度范围
1~6,暂时仅占位,无意义。字段总长度2~7
Bytes。
*
`Lpref`
以L开头的一段十六进制数字字符串,数字长度范围
`1~6`
,暂时仅占位,无意义。字段总长度
`2~7`
Bytes。
*
`#acct`
以
#开头,后跟有限位十进制数字,表示主机的账号(有SIM卡的主机为手机号,无SIM卡的是出厂编
号)
*
`#acct`
以
`#`
开头,后跟有限位十进制数字(SIM卡号或出厂编号)或安定宝ID,表示主机的账号(有SIM卡的主机为手机号,无SIM卡的是出厂编号,有些主机直连时使用了安定宝ID为账
号)
*
`data`
格式为
`[]`
(左右中括号,无空格,定长2Byte)或
`[#acct|event gg zone]`
(有空格)。当事件类型为
`NULL/ACK/DUH`
时
`data`
段为
`[]`
;当事件类型为
`ADM-CID/HENG-BO`
时
`data`
段格式为
`[#acct|event gg zone]`
:
*
`data`
格式为
`[]`
(左右中括号,无空格,定长2Byte)或
`[#acct|event gg zone]`
(有空格)。当事件类型为
`NULL/ACK/DUH`
时
`data`
段为
`[]`
;当事件类型为
`ADM-CID/HENG-BO`
时
`data`
段格式为
`[#acct|event gg zone]`
:
*
`#acct`
主机的安定宝ID,4位或6位或8位十六进制数字,如安定宝ID
`16`
编码为6位是
`000010`
*
`#acct`
主机的安定宝ID,4位或6位或8位十六进制数字,如安定宝ID
`16`
编码为6位是
`000010`
*
`event`
定长4Bytes,事件代码,具体含义见后文。
*
`event`
定长4Bytes,事件代码,具体含义见后文。
...
@@ -202,7 +202,7 @@
...
@@ -202,7 +202,7 @@
|098| 中转接警中心| 1 |
|098| 中转接警中心| 1 |
|099| 直连接警中心| 1 |
|099| 直连接警中心| 1 |
|100-199| APP| 100| 1开头,后2位数字使用手机号码的2位尾号|
|100-199| APP| 100| 1开头,后2位数字使用手机号码的2位尾号|
|200-255|
|
微信公众号用户| 56 |
|200-255| 微信公众号用户| 56 |
## 附录
## 附录
...
...
server_demo/server_demo.cpp
View file @
2dfe80c7
...
@@ -287,7 +287,6 @@ int main(int argc, char** argv)
...
@@ -287,7 +287,6 @@ int main(int argc, char** argv)
std
::
lock_guard
<
std
::
mutex
>
lg
(
mutex
);
std
::
lock_guard
<
std
::
mutex
>
lg
(
mutex
);
evntsWaiting4Send
.
push_back
(
EVENT_ARM
);
evntsWaiting4Send
.
push_back
(
EVENT_ARM
);
}
else
if
(
cmd
==
'd'
||
cmd
==
'D'
)
{
}
else
if
(
cmd
==
'd'
||
cmd
==
'D'
)
{
bool
pwd_ok
=
false
;
do
{
do
{
printf
(
"Input 6 digit password:"
);
printf
(
"Input 6 digit password:"
);
scanf
(
"%s"
,
&
pwd
);
scanf
(
"%s"
,
&
pwd
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment