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
74c3d02a
Commit
74c3d02a
authored
Sep 15, 2020
by
captainwong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
09a34f9e
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
70 additions
and
70 deletions
+70
-70
README.md
docs/README.md
+35
-36
gen_event_md.cpp
examples/gen_event_md/gen_event_md.cpp
+35
-34
No files found.
docs/README.md
View file @
74c3d02a
...
@@ -153,58 +153,57 @@
...
@@ -153,58 +153,57 @@
*SMS指主机自身是否可以拨打电话、发送短信,不是指通过阿里语音打电话*
*SMS指主机自身是否可以拨打电话、发送短信,不是指通过阿里语音打电话*
|事件码类型|主机类型|半布防|信号强度|防区|有线防区|SMS|内核|网络|型号|
|事件码类型|主机类型|半布防|信号强度|防区|有线防区|SMS|内核|网络|型号|
|---------|-------|------|-------|----|-------|---|---|---|----|
|---------|-------|------|-------|----|-------|---|---|---|----|
|1707 我是网络模块|3 网络模块+工程主机|√| |1~999|1~8| |jjf|wzq|
<ul><li>
HB-
G250
</li></ul>
|
|1707 我是网络模块|3 网络模块+工程主机|√| |1~999|1~8| |jjf|wzq|
<ul><li>
G250
</li></ul>
|
|1717 我是GPRS主机|4 GPRS主机| |√|1~99| |√|wzq|qfm|
<ul><li>
HB-4040G
</li><li>
HB-5050G
</li><li>
HB-
5050G-4G
</li></ul>
|
|1717 我是GPRS主机|4 GPRS主机| |√|1~99| |√|wzq|qfm|
<ul><li>
4040G
</li><li>
5050G
</li><li>
5050G-4G
</li></ul>
|
|1727 我是液晶主机|5 液晶主机|√|√|1~249| |√|jjf|qfm|
<ul><li>
HB-BJQ560
</li><li>
HB-
BJQ560B
</li></ul>
|
|1727 我是液晶主机|5 液晶主机|√|√|1~249| |√|jjf|qfm|
<ul><li>
BJQ560
</li><li>
BJQ560B
</li></ul>
|
|1737 我是网线主机|6 网线主机| | |1~99| | |wzq|wzq|
<ul><li>
HB-4040R
</li><li>
HB-
5050R
</li></ul>
|
|1737 我是网线主机|6 网线主机| | |1~99| | |wzq|wzq|
<ul><li>
4040R
</li><li>
5050R
</li></ul>
|
|1757 我是三区段主机|8 三区段主机| |√|1~191|61~68|√|jjf|qfm|
<ul><li>
HB-G1000
</li><li>
HB-
G1000-4G
</li></ul>
|
|1757 我是三区段主机|8 三区段主机| |√|1~191|61~68|√|jjf|qfm|
<ul><li>
G1000
</li><li>
G1000-4G
</li></ul>
|
|1767 我是物联卡主机|9 物联卡主机| |√|1~60| | |jjf|qfm|
<ul><li>
HB-
2050-4GW
</li></ul>
|
|1767 我是物联卡主机|9 物联卡主机| |√|1~60| | |jjf|qfm|
<ul><li>
2050-4GW
</li></ul>
|
|1777 我是真彩主机|7 真彩主机| |√|1~68|1~8|√|jjf|qfm|
<ul><li>
HB-G1000
</li><li>
HB-
G1000-4G
</li></ul>
|
|1777 我是真彩主机|7 真彩主机| |√|1~68|1~8|√|jjf|qfm|
<ul><li>
G1000
</li><li>
G1000-4G
</li></ul>
|
|1787 我是简化版物联卡主机|2 简化的物联卡主机| |√|1~99| | |wzq|qfm|
<ul><li>
HB-
5050G-4GW
</li></ul>
|
|1787 我是简化版物联卡主机|2 简化的物联卡主机| |√|1~99| | |wzq|qfm|
<ul><li>
5050G-4GW
</li></ul>
|
|1797 我是GPRS主机能打电话|10 GPRS主机能打电话| |√|1~60| |√|jjf|qfm|
<ul><li>
HB-
2050
</li></ul>
|
|1797 我是GPRS主机能打电话|10 GPRS主机能打电话| |√|1~60| |√|jjf|qfm|
<ul><li>
2050
</li></ul>
|
### *恒博主机型号示例图片*
### *恒博主机型号示例图片*
|型号|示例图片|
|型号|示例图片|
|---|--------|
|---|--------|
|
HB-2050|
<img
alt=
"HB-
2050"
src=
"./主机类型/smartresize/HB-2050-web.png"
/>
|
|
2050|
<img
alt=
"
2050"
src=
"./主机类型/smartresize/HB-2050-web.png"
/>
|
|
HB-2050-4GW|
<img
alt=
"HB-
2050-4GW"
src=
"./主机类型/smartresize/HB-2050-4GW-web.png"
/>
|
|
2050-4GW|
<img
alt=
"
2050-4GW"
src=
"./主机类型/smartresize/HB-2050-4GW-web.png"
/>
|
|
HB-4040G|
<img
alt=
"HB-
4040G"
src=
"./主机类型/smartresize/HB-4040G-web.png"
/>
|
|
4040G|
<img
alt=
"
4040G"
src=
"./主机类型/smartresize/HB-4040G-web.png"
/>
|
|
HB-4040R|
<img
alt=
"HB-
4040R"
src=
"./主机类型/smartresize/HB-4040R-web.png"
/>
|
|
4040R|
<img
alt=
"
4040R"
src=
"./主机类型/smartresize/HB-4040R-web.png"
/>
|
|
HB-5050G|
<img
alt=
"HB-
5050G"
src=
"./主机类型/smartresize/HB-5050G-web.png"
/>
|
|
5050G|
<img
alt=
"
5050G"
src=
"./主机类型/smartresize/HB-5050G-web.png"
/>
|
|
HB-5050G-4G|
<img
alt=
"HB-
5050G-4G"
src=
"./主机类型/smartresize/HB-5050G-4G-web.png"
/>
|
|
5050G-4G|
<img
alt=
"
5050G-4G"
src=
"./主机类型/smartresize/HB-5050G-4G-web.png"
/>
|
|
HB-5050G-4GW|
<img
alt=
"HB-
5050G-4GW"
src=
"./主机类型/smartresize/HB-5050G-4GW-web.png"
/>
|
|
5050G-4GW|
<img
alt=
"
5050G-4GW"
src=
"./主机类型/smartresize/HB-5050G-4GW-web.png"
/>
|
|
HB-5050R|
<img
alt=
"HB-
5050R"
src=
"./主机类型/smartresize/HB-5050R-web.png"
/>
|
|
5050R|
<img
alt=
"
5050R"
src=
"./主机类型/smartresize/HB-5050R-web.png"
/>
|
|
HB-BJQ560|
<img
alt=
"HB-
BJQ560"
src=
"./主机类型/smartresize/HB-BJQ560-web.png"
/>
|
|
BJQ560|
<img
alt=
"
BJQ560"
src=
"./主机类型/smartresize/HB-BJQ560-web.png"
/>
|
|
HB-BJQ560B|
<img
alt=
"HB-
BJQ560B"
src=
"./主机类型/smartresize/HB-BJQ560B-web.png"
/>
|
|
BJQ560B|
<img
alt=
"
BJQ560B"
src=
"./主机类型/smartresize/HB-BJQ560B-web.png"
/>
|
|
HB-G1000|
<img
alt=
"HB-
G1000"
src=
"./主机类型/smartresize/HB-G1000-web.png"
/>
|
|
G1000|
<img
alt=
"
G1000"
src=
"./主机类型/smartresize/HB-G1000-web.png"
/>
|
|
HB-G1000-4G|
<img
alt=
"HB-
G1000-4G"
src=
"./主机类型/smartresize/HB-G1000-4G-web.png"
/>
|
|
G1000-4G|
<img
alt=
"
G1000-4G"
src=
"./主机类型/smartresize/HB-G1000-4G-web.png"
/>
|
|
HB-G250|
<img
alt=
"HB-
G250"
src=
"./主机类型/smartresize/HB-G250-web.png"
/>
|
|
G250|
<img
alt=
"
G250"
src=
"./主机类型/smartresize/HB-G250-web.png"
/>
|
### *恒博主机类型与支持的防区属性对照表*
### *恒博主机类型与支持的防区属性对照表*
*
主机类型与支持的防区属性对照表
|事件码|类型|型号|00 匪警全局|01 匪警紧急|02 火警防区|03 胁迫防区|04 燃气防区|05 淹水防区|06 分机|07 遥控器|08 匪警半局|09 屏蔽防区|0A 门铃防区|0F 旁路防区|
|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|
|1707|3|
<ul><li>
G250
</li></ul>
|√|√|√|√|√|√|√|√|√|√|√|√|
|1717|4|
<ul><li>
4040G
</li><li>
5050G
</li><li>
5050G-4G
</li></ul>
|√|√|√|√|√|√| |√| | | | |
|1727|5|
<ul><li>
BJQ560
</li><li>
BJQ560B
</li></ul>
|√|√|√|√|√|√|√|√|√|√|√|√|
|1737|6|
<ul><li>
4040R
</li><li>
5050R
</li></ul>
|√|√|√|√|√|√| |√| | | | |
|1757|8|
<ul><li>
G1000
</li><li>
G1000-4G
</li></ul>
|√|√|√|√|√|√| |√| |√|√|√|
|1767|9|
<ul><li>
2050-4GW
</li></ul>
|√|√|√|√|√|√| |√| |√|√|√|
|1777|7|
<ul><li>
G1000
</li><li>
G1000-4G
</li></ul>
|√|√|√|√|√|√| |√| |√|√|√|
|1787|2|
<ul><li>
5050G-4GW
</li></ul>
|√|√|√|√|√|√| |√| | | | |
|1797|10|
<ul><li>
2050
</li></ul>
|√|√|√|√|√|√| |√| | | | |
*
防区属性是否支持防拆
*
防区属性是否支持防拆
||00 匪警全局|01 匪警紧急|02 火警防区|03 胁迫防区|04 燃气防区|05 淹水防区|06 分机|07 遥控器|08 匪警半局|09 屏蔽防区|0A 门铃防区|0F 旁路防区|
||00 匪警全局|01 匪警紧急|02 火警防区|03 胁迫防区|04 燃气防区|05 淹水防区|06 分机|07 遥控器|08 匪警半局|09 屏蔽防区|0A 门铃防区|0F 旁路防区|
|----|----|----|----|----|----|----|----|----|----|----|----|----|
|----|----|----|----|----|----|----|----|----|----|----|----|----|
|防拆支持|√|√| |√| | |√| |√| | |√|
|防拆支持|√|√| |√| | |√| |√| | |√|
*
主机类型与支持的防区属性对照表
|事件码类型|主机类型|型号|00 匪警全局|01 匪警紧急|02 火警防区|03 胁迫防区|04 燃气防区|05 淹水防区|06 分机|07 遥控器|08 匪警半局|09 屏蔽防区|0A 门铃防区|0F 旁路防区|
|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|
|1707 我是网络模块|3 网络模块+工程主机|
<ul><li>
HB-G250
</li></ul>
|√|√|√|√|√|√|√|√|√|√|√|√|
|1717 我是GPRS主机|4 GPRS主机|
<ul><li>
HB-4040G
</li><li>
HB-5050G
</li><li>
HB-5050G-4G
</li></ul>
|√|√|√|√|√|√| |√| | | | |
|1727 我是液晶主机|5 液晶主机|
<ul><li>
HB-BJQ560
</li><li>
HB-BJQ560B
</li></ul>
|√|√|√|√|√|√|√|√|√|√|√|√|
|1737 我是网线主机|6 网线主机|
<ul><li>
HB-4040R
</li><li>
HB-5050R
</li></ul>
|√|√|√|√|√|√| |√| | | | |
|1757 我是三区段主机|8 三区段主机|
<ul><li>
HB-G1000
</li><li>
HB-G1000-4G
</li></ul>
|√|√|√|√|√|√| |√| |√|√|√|
|1767 我是物联卡主机|9 物联卡主机|
<ul><li>
HB-2050-4GW
</li></ul>
|√|√|√|√|√|√| |√| |√|√|√|
|1777 我是真彩主机|7 真彩主机|
<ul><li>
HB-G1000
</li><li>
HB-G1000-4G
</li></ul>
|√|√|√|√|√|√| |√| |√|√|√|
|1787 我是简化版物联卡主机|2 简化的物联卡主机|
<ul><li>
HB-5050G-4GW
</li></ul>
|√|√|√|√|√|√| |√| | | | |
|1797 我是GPRS主机能打电话|10 GPRS主机能打电话|
<ul><li>
HB-2050
</li></ul>
|√|√|√|√|√|√| |√| | | | |
## 四、恒博扩展
## 四、恒博扩展
### 4.1 事件报告与远程控制
### 4.1 事件报告与远程控制
...
...
examples/gen_event_md/gen_event_md.cpp
View file @
74c3d02a
...
@@ -178,23 +178,23 @@ std::vector<std::string> get_machine_brands(MachineType t)
...
@@ -178,23 +178,23 @@ std::vector<std::string> get_machine_brands(MachineType t)
case
hb
:
:
common
::
WiFi
:
case
hb
:
:
common
::
WiFi
:
case
hb
:
:
common
::
Camera
:
return
{};
case
hb
:
:
common
::
Camera
:
return
{};
case
hb
:
:
common
::
Gprs_IoT
:
return
{
"
HB-
5050G-4GW"
,
};
case
hb
:
:
common
::
Gprs_IoT
:
return
{
"5050G-4GW"
,
};
case
hb
:
:
common
::
NetMod
:
return
{
"
HB-
G250"
};
case
hb
:
:
common
::
NetMod
:
return
{
"G250"
};
case
hb
:
:
common
::
Gprs
:
return
{
"
HB-4040G"
,
"HB-5050G"
,
"HB-
5050G-4G"
,
};
case
hb
:
:
common
::
Gprs
:
return
{
"
4040G"
,
"5050G"
,
"
5050G-4G"
,
};
case
hb
:
:
common
::
Lcd
:
return
{
"
HB-BJQ560"
,
"HB-
BJQ560B"
};
case
hb
:
:
common
::
Lcd
:
return
{
"
BJQ560"
,
"
BJQ560B"
};
case
hb
:
:
common
::
Wired
:
return
{
"
HB-4040R"
,
"HB-
5050R"
};
case
hb
:
:
common
::
Wired
:
return
{
"
4040R"
,
"
5050R"
};
case
hb
:
:
common
::
TrueColor
:
return
{
"
HB-G1000"
,
"HB-
G1000-4G"
};
case
hb
:
:
common
::
TrueColor
:
return
{
"
G1000"
,
"
G1000-4G"
};
case
hb
:
:
common
::
ThreeSection
:
return
{
"
HB-G1000"
,
"HB-
G1000-4G"
};
case
hb
:
:
common
::
ThreeSection
:
return
{
"
G1000"
,
"
G1000-4G"
};
case
hb
:
:
common
::
IoT
:
return
{
"
HB-
2050-4GW"
};
case
hb
:
:
common
::
IoT
:
return
{
"2050-4GW"
};
case
hb
:
:
common
::
Gprs_Phone
:
return
{
"
HB-
2050"
};
case
hb
:
:
common
::
Gprs_Phone
:
return
{
"2050"
};
default
:
return
{};
default
:
return
{};
break
;
break
;
...
@@ -204,10 +204,10 @@ std::vector<std::string> get_machine_brands(MachineType t)
...
@@ -204,10 +204,10 @@ std::vector<std::string> get_machine_brands(MachineType t)
std
::
string
brand_to_path
(
const
std
::
string
&
brand
)
std
::
string
brand_to_path
(
const
std
::
string
&
brand
)
{
{
std
::
vector
<
std
::
string
>
exts
=
{
"png"
,
"jpg"
};
std
::
vector
<
std
::
string
>
exts
=
{
"png"
,
"jpg"
};
std
::
string
path
=
jlib
::
win32
::
utf16_to_mbcs
(
L"..
\\
..
\\
docs
\\
主机类型
\\
smartresize
\\
"
)
+
brand
;
std
::
string
path
=
jlib
::
win32
::
utf16_to_mbcs
(
L"..
\\
..
\\
docs
\\
主机类型
\\
smartresize
\\
HB-
"
)
+
brand
;
for
(
auto
ext
:
exts
)
{
for
(
auto
ext
:
exts
)
{
if
(
jlib
::
win32
::
fileExists
(
path
+
"-web."
+
ext
))
{
if
(
jlib
::
win32
::
fileExists
(
path
+
"-web."
+
ext
))
{
return
jlib
::
win32
::
utf16_to_mbcs
(
L"./主机类型/smartresize/"
)
+
brand
+
"-web."
+
ext
;
return
jlib
::
win32
::
utf16_to_mbcs
(
L"./主机类型/smartresize/
HB-
"
)
+
brand
+
"-web."
+
ext
;
}
}
}
}
return
{};
return
{};
...
@@ -298,55 +298,56 @@ void print_available_zone_props()
...
@@ -298,55 +298,56 @@ void print_available_zone_props()
printf
(
"%02X %s"
,
(
Char
)
zp
,
jlib
::
win32
::
utf16_to_mbcs
(
zonePropertyToStringChinese
(
zp
)).
data
());
printf
(
"%02X %s"
,
(
Char
)
zp
,
jlib
::
win32
::
utf16_to_mbcs
(
zonePropertyToStringChinese
(
zp
)).
data
());
};
};
printf
(
"* 防区属性是否支持防拆
\n\n
"
);
printf
(
"|"
);
printf
(
"* 主机类型与支持的防区属性对照表
\n\n
"
);
printf
(
"|事件码|类型|型号"
);
for
(
auto
zp
:
all_props
)
{
for
(
auto
zp
:
all_props
)
{
printf
(
"|"
);
print_prop
(
zp
);
printf
(
"|"
);
print_prop
(
zp
);
}
}
printf
(
"|
\n
"
);
printf
(
"|
\n
"
);
printf
(
"|----"
);
printf
(
"|----
|----|----
"
);
for
(
size_t
i
=
0
;
i
<
all_props
.
size
();
i
++
)
{
for
(
size_t
i
=
0
;
i
<
all_props
.
size
();
i
++
)
{
printf
(
"|----"
);
printf
(
"|----"
);
}
}
printf
(
"|
\n
"
);
printf
(
"|
\n
"
);
printf
(
"|防拆支持"
);
for
(
auto
e
:
AdemcoEvents
)
{
if
(
isMachineTypeEvent
(
e
))
{
auto
t
=
hb
::
machineTypeFromAdemcoEvent
(
e
);
if
(
!
machineIsSelling
(
t
))
continue
;
printf
(
"|%04d"
,
(
int
)
e
);
printf
(
"|%d"
,
(
int
)
t
);
print_machine_brands
(
t
);
auto
avail_props
=
getAvailableZoneProperties
(
t
);
for
(
auto
zp
:
all_props
)
{
for
(
auto
zp
:
all_props
)
{
printf
(
"|%s"
,
print_bool
(
zonePropCanReportTamper
(
zp
)));
printf
(
"|%s"
,
print_bool
(
jlib
::
is_contain
(
avail_props
,
zp
)));
}
printf
(
"|
\n
"
);
}
}
}
printf
(
"|
\n\n
"
);
printf
(
"*
主机类型与支持的防区属性对照表
\n\n
"
);
printf
(
"*
防区属性是否支持防拆
\n\n
"
);
printf
(
"|
事件码类型|主机类型|型号
"
);
printf
(
"|"
);
for
(
auto
zp
:
all_props
)
{
for
(
auto
zp
:
all_props
)
{
printf
(
"|"
);
print_prop
(
zp
);
printf
(
"|"
);
print_prop
(
zp
);
}
}
printf
(
"|
\n
"
);
printf
(
"|
\n
"
);
printf
(
"|----
|----|----
"
);
printf
(
"|----"
);
for
(
size_t
i
=
0
;
i
<
all_props
.
size
();
i
++
)
{
for
(
size_t
i
=
0
;
i
<
all_props
.
size
();
i
++
)
{
printf
(
"|----"
);
printf
(
"|----"
);
}
}
printf
(
"|
\n
"
);
printf
(
"|
\n
"
);
printf
(
"|防拆支持"
);
for
(
auto
e
:
AdemcoEvents
)
{
if
(
isMachineTypeEvent
(
e
))
{
auto
t
=
hb
::
machineTypeFromAdemcoEvent
(
e
);
if
(
!
machineIsSelling
(
t
))
continue
;
printf
(
"|%04d %s"
,
(
int
)
e
,
jlib
::
win32
::
utf16_to_mbcs
(
ademcoEventToStringChinese
(
e
,
false
)).
data
());
printf
(
"|%s"
,
jlib
::
win32
::
utf16_to_mbcs
(
machineTypeToWString
(
t
)).
data
());
print_machine_brands
(
t
);
auto
avail_props
=
getAvailableZoneProperties
(
t
);
for
(
auto
zp
:
all_props
)
{
for
(
auto
zp
:
all_props
)
{
printf
(
"|%s"
,
print_bool
(
jlib
::
is_contain
(
avail_props
,
zp
)));
printf
(
"|%s"
,
print_bool
(
zonePropCanReportTamper
(
zp
)));
}
printf
(
"|
\n
"
);
}
}
}
printf
(
"|
\n\n
"
);
}
}
...
...
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