Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
new-socketemulator
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
李远洪
new-socketemulator
Commits
d4df9057
Commit
d4df9057
authored
Feb 19, 2020
by
liyuanhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交备份
parent
edd1c072
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
67 additions
and
17 deletions
+67
-17
config/messageTools/messageTools.conf
config/messageTools/messageTools.conf
+1
-1
lib/protocol/message/DataUpstreamTransport_msg.py
lib/protocol/message/DataUpstreamTransport_msg.py
+2
-7
lib/protocol/message/Location_msg.py
lib/protocol/message/Location_msg.py
+35
-2
lib/protocol/message/TerminalHeartbeat_msg.py
lib/protocol/message/TerminalHeartbeat_msg.py
+2
-2
lib/protocol/messagePlateform/PlateformVersionInfo_res.py
lib/protocol/messagePlateform/PlateformVersionInfo_res.py
+3
-0
lib/protocol/messagePlateform/PlatformCommon_res.py
lib/protocol/messagePlateform/PlatformCommon_res.py
+3
-0
lib/protocol/messagePlateform/ResponseBase.py
lib/protocol/messagePlateform/ResponseBase.py
+11
-0
lib/protocol/messagePlateform/TerminalRegister_res.py
lib/protocol/messagePlateform/TerminalRegister_res.py
+4
-1
lib/socket/messageTest.py
lib/socket/messageTest.py
+5
-3
templates/messageTools/message/heartBeat_msg_page.html
templates/messageTools/message/heartBeat_msg_page.html
+1
-1
No files found.
config/messageTools/messageTools.conf
View file @
d4df9057
[
socket
]
host
=
10
.
100
.
9
.
17
host
=
10
.
100
.
11
.
20
port
=
9001
lib/protocol/message/DataUpstreamTransport_msg.py
View file @
d4df9057
...
...
@@ -39,7 +39,7 @@ class DataUpstreamTransport_msg(MessageBase):
# 0xF2 故障码数据(状态改变发送)
# 0xF3 休眠进入(进入休眠模式发送)
# 0xF4 休眠唤醒(退出休眠模式发送)
msgType
=
"F
4
"
msgType
=
"F
3
"
msgContent
=
""
if
msgType
==
"F1"
:
msgContent
=
self
.
getDrivingData
()
#驾驶行程数据(熄火发送)
...
...
@@ -214,13 +214,8 @@ class DataUpstreamTransport_msg(MessageBase):
#故障码
troubleCode
=
""
for
i
in
range
(
0
,
troubleCodeNums
):
systemId
=
self
.
int2hexStringByBytes
(
1
)
code1
=
self
.
int2hexStringByBytes
(
10
)
code2
=
self
.
int2hexStringByBytes
(
20
)
code3
=
self
.
int2hexStringByBytes
(
30
)
troubleCode
=
troubleCode
+
systemId
+
code1
+
code2
+
code3
troubleCode
=
troubleCode
+
self
.
int2hexStringByBytes
(
i
,
4
)
data
=
infoTime
+
latitude
+
longitude
+
troubleCodeNumsHex
+
troubleCode
print
(
data
)
return
data
#获取维度
def
getLatitude
(
self
,
data
=
29.40268
):
...
...
lib/protocol/message/Location_msg.py
View file @
d4df9057
...
...
@@ -96,7 +96,7 @@ class Location_msg(MessageBase):
#报警事件 ID 数据项列表
extra_FA
=
"FA"
+
self
.
int2hexStringByBytes
(
int
(
len
(
AlarmEvent_data
()
.
generateAlarmEvent_data
())
/
2
))
+
AlarmEvent_data
()
.
generateAlarmEvent_data
()
data
=
extra_01
+
extra_02
+
extra_31
+
extra_EA
+
extra_EB
data
=
extra_01
+
extra_02
+
extra_31
+
extra_EA
+
extra_EB
# data = extra_01 + extra_02 + extra_11 + extra_12 + extra_13
# data = data + extra_2A + extra_30 + extra_31 + extra_EA + extra_EB
...
...
@@ -169,7 +169,7 @@ class Location_msg(MessageBase):
dataId_0007
=
"0007"
+
self
.
int2hexStringByBytes
(
4
)
+
self
.
int2hexStringByBytes
(
480000
,
4
)
dataId_0010
=
"0010"
+
self
.
int2hexStringByBytes
(
int
(
len
(
self
.
getSpeedupInOneSeconds
())
/
2
))
+
self
.
getSpeedupInOneSeconds
()
dataId_0011
=
"0011"
+
self
.
int2hexStringByBytes
(
int
(
len
(
CarSafeStatusInfo
()
.
generateSecurityStatusData
())
/
2
))
+
CarSafeStatusInfo
()
.
generateSecurityStatusData
()
dataId_0012
=
"0012"
+
self
.
int2hexStringByBytes
(
2
)
+
self
.
int2hexStringByBytes
(
36
2
,
2
)
dataId_0012
=
"0012"
+
self
.
int2hexStringByBytes
(
2
)
+
self
.
int2hexStringByBytes
(
36
,
2
)
dataId_0013
=
"0013"
+
self
.
int2hexStringByBytes
(
1
)
+
self
.
int2hexStringByBytes
(
6
)
#TODO 由于被置灰,所以没有实现
# dataId_0015 = "0015" + self.int2hexStringByBytes(2)
...
...
@@ -354,6 +354,39 @@ class Location_msg(MessageBase):
rollOverAlarm
=
1073741824
#侧翻预警
illegalOpenDoor
=
2147483648
#非法开门报警(终端未设置区域时, 不判断非法开门)
# emergencyAlarm = 0 #紧急报警,触动报警开关后触发
# overspeedAlarm = 0 #超速报警
# fatigueDriving = 0 #疲劳驾驶
# dangerAlarm = 0 #危险预警
# GNSSTrouble = 0 #GNSS 模块发生故障
# GNSSAntennaeLost = 0 #GNSS 天线未接或被剪断
# GNSSAntennaeShortOut = 0 #GNSS 天线短路
# TerminalMainPowerLackVoltage = 0 #终端主电源欠压
# TerminalMainPowerLostConnect = 0 #终端主电源掉电(设备拔出告警)
# TerMinalLCDTrouble = 0 #终端 LCD 或显示器故障
# TTSTrouble = 0 #TTS 模块故障
# cameraTrouble = 0 #摄像头故障
# ICTrouble = 0 #道路运输证 IC 卡模块故障
# speedEarlyWarning = 0 #超速预警
# fatigueDrivingearlyWarning = 0 #疲劳驾驶预警
# retain1 = 0
# retain2 = 0
# retain3 = 0
# drivingOverTime = 0 #当天累计驾驶超时
# stoppingOverTime = 0 #超时停车
# InOutArea = 0 #进出区域
# InOutRouting = 0 #进出路线
# drivingLongOrShort = 0 #路段行驶时间不足/过长
# routingDivergeAlarm = 0 #路线偏离报警
# VSSTrouble = 0 #车辆 VSS 故障
# oilException = 0 #车辆油量异常
# carLost = 0 #车辆被盗(通过车辆防盗器)
# illegalFire = 0 #车辆非法点火
# illegalMoving = 0 #车辆非法位移(拖车告警)
# collisionAlarm = 0 #碰撞预警
# rollOverAlarm = 0 #侧翻预警
# illegalOpenDoor = 0 #非法开门报警(终端未设置区域时, 不判断非法开门)
data
=
emergencyAlarm
+
overspeedAlarm
+
fatigueDriving
+
dangerAlarm
+
GNSSTrouble
+
GNSSAntennaeLost
data
=
data
+
GNSSAntennaeShortOut
+
TerminalMainPowerLackVoltage
+
TerminalMainPowerLostConnect
+
TerMinalLCDTrouble
data
=
data
+
TTSTrouble
+
cameraTrouble
+
ICTrouble
+
speedEarlyWarning
+
fatigueDrivingearlyWarning
...
...
lib/protocol/message/TerminalHeartbeat_msg.py
View file @
d4df9057
...
...
@@ -54,8 +54,8 @@ class TerminalHeartbeat_msg(MessageBase):
msgID
=
"0002"
subPkg
=
0
msgBodyProperty
=
self
.
getMsgBodyProperty
(
msgBodyLen
=
int
(
len
(
self
.
getMsgBody
())
/
2
),
subPkg
=
subPkg
)
#消息体属性
phoneNum
=
self
.
int2BCD
(
1314620111
9
)
#终端手机号
msgWaterCode
=
self
.
int2hexStringByBytes
(
1
,
2
)
#消息流水号
phoneNum
=
self
.
int2BCD
(
1314620111
8
)
#终端手机号
msgWaterCode
=
self
.
int2hexStringByBytes
(
6
,
2
)
#消息流水号
if
subPkg
!=
8192
:
subPkgContent
=
""
#消息包封装项
else
:
...
...
lib/protocol/messagePlateform/PlateformVersionInfo_res.py
View file @
d4df9057
...
...
@@ -3,6 +3,8 @@
'''
定义平台版本信息包上传应答解码类
'''
import
json
from
lib.protocol.message.MessageBase
import
MessageBase
from
lib.protocol.messagePlateform.ResponseBase
import
ResponseBase
...
...
@@ -25,6 +27,7 @@ class PlatefromVersionInfo_res(ResponseBase):
json_msg
[
"body"
]
=
self
.
getMsgBody
()
json_msg
[
"checkCode"
]
=
self
.
getCheckCode
()
json_msg
[
"calculateCheckCode"
]
=
self
.
getCalculateCheckCode
()
#自己计算消息后得到的校验码
json_msg
=
json
.
dumps
(
json_msg
)
return
json_msg
#######################################################
...
...
lib/protocol/messagePlateform/PlatformCommon_res.py
View file @
d4df9057
...
...
@@ -3,6 +3,8 @@
'''
定义平台通用应答消息解码类
'''
import
json
from
lib.protocol.message.MessageBase
import
MessageBase
from
lib.protocol.messagePlateform.ResponseBase
import
ResponseBase
...
...
@@ -25,6 +27,7 @@ class PlatformCommon_res(ResponseBase):
json_msg
[
"body"
]
=
self
.
getMsgBody
()
json_msg
[
"checkCode"
]
=
self
.
getCheckCode
()
json_msg
[
"calculateCheckCode"
]
=
self
.
getCalculateCheckCode
()
#自己计算消息后得到的校验码
json_msg
=
json
.
dumps
(
json_msg
)
return
json_msg
#######################################################
...
...
lib/protocol/messagePlateform/ResponseBase.py
View file @
d4df9057
...
...
@@ -50,6 +50,17 @@ class ResponseBase(Base):
val
=
int
(
data
,
16
)
return
val
#######################################################
# 16进制字符串转换为ascii字符串
#######################################################
def
hex2string
(
self
,
data
):
theStr
=
""
while
data
!=
""
:
tmp
=
data
[:
2
]
data
=
data
[
2
:]
theStr
=
theStr
+
chr
(
int
(
tmp
,
16
))
return
theStr
#######################################################
# BCD时间格式转换为GMD时间格式
#######################################################
...
...
lib/protocol/messagePlateform/TerminalRegister_res.py
View file @
d4df9057
...
...
@@ -3,6 +3,8 @@
'''
定义平台通用应答消息解码类
'''
import
json
from
lib.protocol.message.MessageBase
import
MessageBase
from
lib.protocol.messagePlateform.ResponseBase
import
ResponseBase
...
...
@@ -25,6 +27,7 @@ class TerminalRegister_res(ResponseBase):
json_msg
[
"body"
]
=
self
.
getMsgBody
()
json_msg
[
"checkCode"
]
=
self
.
getCheckCode
()
json_msg
[
"calculateCheckCode"
]
=
self
.
getCalculateCheckCode
()
#自己计算消息后得到的校验码
json_msg
=
json
.
dumps
(
json_msg
)
return
json_msg
#######################################################
...
...
@@ -74,7 +77,7 @@ class TerminalRegister_res(ResponseBase):
authenticationCode
=
body
[
6
:]
#鉴权码
json_body
[
"resWaterCode"
]
=
int
(
resWaterCode
,
16
)
json_body
[
"result"
]
=
int
(
result
,
16
)
json_body
[
"authenticationCode"
]
=
authenticationCode
json_body
[
"authenticationCode"
]
=
self
.
hex2string
(
authenticationCode
)
return
json_body
#######################################################
...
...
lib/socket/messageTest.py
View file @
d4df9057
...
...
@@ -12,10 +12,11 @@ from lib.protocol.message.TerminalHeartbeat_msg import TerminalHeartbeat_msg
from
lib.protocol.message.TerminalRegister_msg
import
TerminalRegister_msg
from
lib.protocol.message.TerminalVersionInfo_msg
import
TerminalVersionInfo_msg
from
lib.protocol.message.TextInfoUpload_msg
import
TextInfoUpload_msg
from
lib.protocol.messagePlateform.PlateformVersionInfo_res
import
PlatefromVersionInfo_res
from
lib.protocol.messagePlateform.PlatformCommon_res
import
PlatformCommon_res
from
lib.protocol.messagePlateform.TerminalRegister_res
import
TerminalRegister_res
host
=
"10.100.
9.17
"
host
=
"10.100.
11.20
"
port
=
9001
# msg = MessageBase().generateMsg()
...
...
@@ -27,12 +28,12 @@ port = 9001
# msg = TerminalVersionInfo_msg().generateMsg() #终端版本信息上报
# msg = QueryTerminalParam_res().generateMsg() #查询终端参数应答
# msg = QueryTerminalProperty_res().generateMsg() #查询终端属性应答消息
#
msg = Location_msg().generateMsg() #位置信息汇报
msg
=
Location_msg
()
.
generateMsg
()
#位置信息汇报
# msg = DataUpstreamTransport_msg().generateMsg() #数据上行透传消息
# msg = TerminalUpdataResult_msg().generateMsg() #终端升级结果通知
# msg = LocationDataBatchUpdate_msg().generateMsg() #定位数据批量上传
# msg = TextInfoUpload_msg().generateMsg() #文本信息上传
msg
=
PlateformUpdateRes_msg
()
.
generateMsg
()
#平台升级数据包应答
#
msg = PlateformUpdateRes_msg().generateMsg() #平台升级数据包应答
#发送单条消息
def
sendSingleMsg
(
msg
):
...
...
@@ -48,6 +49,7 @@ def sendSingleMsg(msg):
print
(
data
)
print
(
PlatformCommon_res
(
data
)
.
getMsg
())
#解析平台通用应答消息
# print(TerminalRegister_res(data).getMsg()) #解析终端注册应答消息
# print(PlatefromVersionInfo_res(data).getMsg()) #解析平台版本信息包上传应答
client
.
close
()
def
closeSocket
(
soc
):
...
...
templates/messageTools/message/heartBeat_msg_page.html
View file @
d4df9057
...
...
@@ -57,7 +57,7 @@
</div>
<H3
style=
"border-bottom: 1px solid #eee;"
>
设置心跳消息内容:
</H3>
<ul
class=
"protocol_content"
style=
"padding:0px;"
>
<label
style=
"color:red;"
>
心跳消息无消息体...
</label>
<label
style=
"color:red;
width:130px;
"
>
心跳消息无消息体...
</label>
</ul>
<H3
style=
"border-bottom: 1px solid #eee;"
>
控制:
</H3>
<div
style=
"width:100%;padding:5px;margin-top:10px;"
>
...
...
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