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
869ff14d
Commit
869ff14d
authored
Jun 02, 2020
by
liyuanhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
M500 模拟器,增加了实时改变剩余油耗功能
parent
0939bd4a
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
61 additions
and
10 deletions
+61
-10
data/protocolTools/carData/M202003060520.json
data/protocolTools/carData/M202003060520.json
+1
-1
lib/protocol/messagePlateform/ResponseBase.py
lib/protocol/messagePlateform/ResponseBase.py
+4
-2
lib/protocol/report/TroubleReport_protocol.py
lib/protocol/report/TroubleReport_protocol.py
+1
-1
lib/socket/service/ProtocolSimulaterService.py
lib/socket/service/ProtocolSimulaterService.py
+5
-2
templates/protocolTools/report/M_carSimulater_page.html
templates/protocolTools/report/M_carSimulater_page.html
+19
-4
views/protocolTools/M_carSimulater_process.py
views/protocolTools/M_carSimulater_process.py
+31
-0
No files found.
data/protocolTools/carData/M202003060520.json
View file @
869ff14d
{
"time"
:
{
"dateTime"
:
"2020-05-29 14:34:14"
,
"date"
:
"2020-05-29"
,
"time"
:
"14:34:14"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
1469
,
"todayTotalOil"
:
134
,
"todayTotalTime"
:
89
,
"theMilleage"
:
307
,
"theOil"
:
22
,
"theTime"
:
19
},
"travelData"
:
{
"totalMilleage"
:
343273
,
"totalOil"
:
32233
,
"totalTime"
:
20392
},
"event"
:
{
"threeRapid"
:
{
"totalRapidlyAccelerate"
:
19
,
"totalSharpSlowdown"
:
18
,
"totalSharpTurn"
:
17
}}}
{
"time"
:
{
"dateTime"
:
"2020-06-02 14:55:40"
,
"date"
:
"2020-06-02"
,
"time"
:
"14:55:40"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
1174
,
"todayTotalOil"
:
109
,
"todayTotalTime"
:
71
,
"theMilleage"
:
1174
,
"theOil"
:
109
,
"theTime"
:
71
},
"travelData"
:
{
"totalMilleage"
:
344447
,
"totalOil"
:
32342
,
"totalTime"
:
20463
},
"event"
:
{
"threeRapid"
:
{
"totalRapidlyAccelerate"
:
19
,
"totalSharpSlowdown"
:
18
,
"totalSharpTurn"
:
17
}}}
\ No newline at end of file
\ No newline at end of file
lib/protocol/messagePlateform/ResponseBase.py
View file @
869ff14d
...
@@ -98,5 +98,7 @@ class ResponseBase(Base):
...
@@ -98,5 +98,7 @@ class ResponseBase(Base):
if
__name__
==
"__main__"
:
if
__name__
==
"__main__"
:
# print(ResponseBase().int2binStr(7,2))
# print(ResponseBase().int2binStr(7,2))
print
(
ResponseBase
()
.
getMsgId
(
"7e0002000001314620111800065b7e"
))
# print(ResponseBase().getMsgId("7e0002000001314620111800065b7e"))
print
(
ResponseBase
()
.
getMsgId
(
"7e80010005013146201118e1480006000200767e"
))
# print(ResponseBase().getMsgId("7e80010005013146201118e1480006000200767e"))
\ No newline at end of file
print
(
ResponseBase
()
.
hex2string
(
"7975616e686f6e67"
))
print
(
ResponseBase
()
.
hexString2int
(
"00001f43 "
))
\ No newline at end of file
lib/protocol/report/TroubleReport_protocol.py
View file @
869ff14d
...
@@ -7,7 +7,7 @@ from lib.protocol.report.ProtocolBase import ProtocolBase
...
@@ -7,7 +7,7 @@ from lib.protocol.report.ProtocolBase import ProtocolBase
class
TroubleReport_protocol
(
ProtocolBase
):
class
TroubleReport_protocol
(
ProtocolBase
):
def
__init__
(
self
,
WATER_CODE
=
26
,
DEV_ID
=
"M121501010001"
,
infoTime
=
"2020-01-20 11:55:58"
,
troubleCount
=
1
,
byte0
=
"02"
,
byte1
=
2
,
byte2
=
3
,
byte3
=
1
,
MILStatus
=
1
):
def
__init__
(
self
,
WATER_CODE
=
26
,
DEV_ID
=
"M121501010001"
,
infoTime
=
"2020-01-20 11:55:58"
,
troubleCount
=
1
,
byte0
=
"02"
,
byte1
=
2
,
byte2
=
3
,
byte3
=
0
,
MILStatus
=
1
):
super
()
.
__init__
()
super
()
.
__init__
()
self
.
WATER_CODE
=
int
(
WATER_CODE
);
# 设置默认消息流水号
self
.
WATER_CODE
=
int
(
WATER_CODE
);
# 设置默认消息流水号
self
.
DEV_ID
=
DEV_ID
# 设置默认设备id
self
.
DEV_ID
=
DEV_ID
# 设置默认设备id
...
...
lib/socket/service/ProtocolSimulaterService.py
View file @
869ff14d
...
@@ -48,9 +48,9 @@ class ProtocolSimulaterService():
...
@@ -48,9 +48,9 @@ class ProtocolSimulaterService():
self
.
GPSValid
=
1
#用来控制GPS数据是有效还是无效 0:无效 1:有效
self
.
GPSValid
=
1
#用来控制GPS数据是有效还是无效 0:无效 1:有效
self
.
lngLatIsOk
=
1
#用来控制经纬度是否都为0 0:都为0 1:正常
self
.
lngLatIsOk
=
1
#用来控制经纬度是否都为0 0:都为0 1:正常
# 定义要发送的obd数据
# 定义要发送的obd数据
self
.
OBDdata
=
{
"fireStatus"
:
1
,
"ACCStatus"
:
0
,
"engineSpeed"
:
300
,
"speed"
:
0
,
"meterMileage"
:
6000
,
"totailMileage"
:
600
,
"totalOilExpen"
:
30
,
"totalRunTime"
:
10
}
self
.
OBDdata
=
{
"fireStatus"
:
1
,
"ACCStatus"
:
0
,
"engineSpeed"
:
300
,
"speed"
:
0
,
"meterMileage"
:
6000
,
"totailMileage"
:
600
,
"totalOilExpen"
:
30
,
"totalRunTime"
:
10
,
"surplusOil"
:
505
}
# 定义初始的obd数据,与上面的OBD数据保持一致,主要用于汽车行驶过程中数据变化量的计算
# 定义初始的obd数据,与上面的OBD数据保持一致,主要用于汽车行驶过程中数据变化量的计算
self
.
OBDdataOri
=
{
"fireStatus"
:
1
,
"ACCStatus"
:
0
,
"engineSpeed"
:
300
,
"speed"
:
0
,
"meterMileage"
:
6000
,
"totailMileage"
:
600
,
"totalOilExpen"
:
30
,
"totalRunTime"
:
10
}
self
.
OBDdataOri
=
{
"fireStatus"
:
1
,
"ACCStatus"
:
0
,
"engineSpeed"
:
300
,
"speed"
:
0
,
"meterMileage"
:
6000
,
"totailMileage"
:
600
,
"totalOilExpen"
:
30
,
"totalRunTime"
:
10
,
"surplusOil"
:
50.5
}
#设置套接字
#设置套接字
def
setSocket
(
self
,
data
):
def
setSocket
(
self
,
data
):
...
@@ -78,6 +78,8 @@ class ProtocolSimulaterService():
...
@@ -78,6 +78,8 @@ class ProtocolSimulaterService():
self
.
data
[
"travelData"
][
"carSpeed"
]
=
data
self
.
data
[
"travelData"
][
"carSpeed"
]
=
data
def
setOilExpend
(
self
,
data
):
def
setOilExpend
(
self
,
data
):
self
.
data
[
"travelData"
][
"oilExpend"
]
=
data
self
.
data
[
"travelData"
][
"oilExpend"
]
=
data
def
setSurplusOil
(
self
,
data
):
self
.
OBDdata
[
"surplusOil"
]
=
data
def
setSendDur
(
self
,
data
):
def
setSendDur
(
self
,
data
):
self
.
sendDur
=
int
(
data
)
self
.
sendDur
=
int
(
data
)
def
setSendType
(
self
,
data
):
def
setSendType
(
self
,
data
):
...
@@ -531,6 +533,7 @@ class ProtocolSimulaterService():
...
@@ -531,6 +533,7 @@ class ProtocolSimulaterService():
OBDObj
.
setTotalMileage
(
totailMileage
)
# 设置总里程值
OBDObj
.
setTotalMileage
(
totailMileage
)
# 设置总里程值
OBDObj
.
setTotalOilExpend
(
totalOilExpend
)
# 设置总耗油量
OBDObj
.
setTotalOilExpend
(
totalOilExpend
)
# 设置总耗油量
OBDObj
.
setTotalRunTime
(
totalRunTime
)
# 设置车辆运行时间
OBDObj
.
setTotalRunTime
(
totalRunTime
)
# 设置车辆运行时间
OBDObj
.
setSurplusOil
(
self
.
OBDdata
[
"surplusOil"
])
# 设置剩余油量
msg
=
OBDObj
.
generateOBDReportCANMsg
()
msg
=
OBDObj
.
generateOBDReportCANMsg
()
return
msg
return
msg
...
...
templates/protocolTools/report/M_carSimulater_page.html
View file @
869ff14d
...
@@ -162,10 +162,11 @@
...
@@ -162,10 +162,11 @@
</h5>
</h5>
<div
id=
"realTimeCtl_area"
style=
"display:none;"
>
<div
id=
"realTimeCtl_area"
style=
"display:none;"
>
<div
style=
"padding:10px;"
>
<div
style=
"padding:10px;"
>
<span
style=
"margin-left:10px"
><label>
车速度(Km/h):
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_speed"
type=
"text"
class=
"form-control"
value=
"60"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeSpeed()"
>
改变车速
</button></span>
<span
style=
"margin-left:10px;display: inline-block;"
><label>
车速度(Km/h):
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_speed"
type=
"text"
class=
"form-control"
value=
"60"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeSpeed()"
>
改变车速
</button></span>
<span
style=
"margin-left:10px"
><label>
油耗(Km/L):
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_oilExpend"
type=
"text"
class=
"form-control"
value=
"10"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeOilExpend()"
>
改变油耗
</button></span>
<span
style=
"margin-left:10px;display: inline-block;"
><label>
油耗(Km/L):
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_oilExpend"
type=
"text"
class=
"form-control"
value=
"10"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeOilExpend()"
>
改变油耗
</button></span>
<span
style=
"margin-left:10px"
><label>
上报间隔(秒):
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_durTime"
type=
"text"
class=
"form-control"
value=
"5"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeDurTime()"
>
改变上报间隔
</button></span>
<span
style=
"margin-left:10px;display: inline-block;"
><label>
上报间隔(秒):
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_durTime"
type=
"text"
class=
"form-control"
value=
"5"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeDurTime()"
>
改变上报间隔
</button></span>
<span
style=
"margin-left:10px;"
><button
title=
"点击后,将会把上报的消息存到本地,不上报消息;用来模拟车机无信号的情况"
type=
"button"
class=
"btn btn-primary"
onclick=
"storeMsg()"
id=
"storeMsgBut"
>
存储上报消息
</button><label
style=
"color:red;"
id=
"storeMsgLab"
>
未存储...
</label></span>
<span
style=
"margin-left:10px;display: inline-block;"
><button
title=
"点击后,将会把上报的消息存到本地,不上报消息;用来模拟车机无信号的情况"
type=
"button"
class=
"btn btn-primary"
onclick=
"storeMsg()"
id=
"storeMsgBut"
>
存储上报消息
</button><label
style=
"color:red;"
id=
"storeMsgLab"
>
未存储...
</label></span>
<span
style=
"margin-left:10px;display: inline-block;"
><label>
剩余油量(%):
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_surplusOil"
type=
"text"
class=
"form-control"
value=
"50.5"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeSurplusOil()"
>
改变剩余油量
</button></span>
<span
style=
"margin-top:10px;display:inline-block;border-width:1px;border-style:solid;border-color:darkgray;border-radius:10px;padding:1px 10px;margin-left:10px;"
>
<span
style=
"margin-top:10px;display:inline-block;border-width:1px;border-style:solid;border-color:darkgray;border-radius:10px;padding:1px 10px;margin-left:10px;"
>
<label><input
name=
"GPSValie"
value=
"1"
type=
"radio"
onclick=
"changeGPSValid(this)"
checked=
"checked"
>
GPS有效
</label>
<label><input
name=
"GPSValie"
value=
"1"
type=
"radio"
onclick=
"changeGPSValid(this)"
checked=
"checked"
>
GPS有效
</label>
<label
style=
"margin-left:10px;color:red;"
><input
name=
"GPSValie"
value=
"0"
type=
"radio"
onclick=
"changeGPSValid(this)"
>
GPS无效
</label>
<label
style=
"margin-left:10px;color:red;"
><input
name=
"GPSValie"
value=
"0"
type=
"radio"
onclick=
"changeGPSValid(this)"
>
GPS无效
</label>
...
@@ -825,6 +826,20 @@ function changeDurTime(){
...
@@ -825,6 +826,20 @@ function changeDurTime(){
url
=
"
/protocolTools/M_carSimulater_process/changeDurTime
"
;
url
=
"
/protocolTools/M_carSimulater_process/changeDurTime
"
;
sendjson
(
data
,
url
);
sendjson
(
data
,
url
);
}
}
//改变剩余油耗
function
changeSurplusOil
(){
var
data
=
{}
var
carId
=
$
(
"
#carId
"
).
val
()
var
surplusOil
=
parseInt
(
parseFloat
(
$
(
"
#change_surplusOil
"
).
val
())
*
10
)
data
[
"
carId
"
]
=
carId
data
[
"
surplusOil
"
]
=
surplusOil
//会话session数据
data
[
"
session
"
]
=
{}
var
sessionId
=
$
(
"
#curSession
"
).
val
()
data
[
"
session
"
][
"
sessionId
"
]
=
sessionId
url
=
"
/protocolTools/M_carSimulater_process/changeSurplusOil
"
;
sendjson
(
data
,
url
);
}
//控制发送数据是否保存到本地
//控制发送数据是否保存到本地
function
storeMsg
(){
function
storeMsg
(){
var
butTxt
=
$
(
"
#storeMsgBut
"
).
text
()
var
butTxt
=
$
(
"
#storeMsgBut
"
).
text
()
...
...
views/protocolTools/M_carSimulater_process.py
View file @
869ff14d
...
@@ -1085,6 +1085,37 @@ def controlStoreMsg():
...
@@ -1085,6 +1085,37 @@ def controlStoreMsg():
data
[
"message"
]
=
"Error: 控制是否存储消息到本地失败!"
data
[
"message"
]
=
"Error: 控制是否存储消息到本地失败!"
return
Response
(
json
.
dumps
(
data
),
mimetype
=
'application/json'
)
return
Response
(
json
.
dumps
(
data
),
mimetype
=
'application/json'
)
##########################################
# 【接口类型】改变剩余油量
##########################################
@
M_carSimulater_process
.
route
(
"/changeSurplusOil"
,
methods
=
[
'POST'
])
def
changeSurplusOil
():
params
=
request
.
get_data
()
params
=
json
.
loads
(
params
.
decode
(
"utf-8"
))
sessionId
=
params
[
"session"
][
"sessionId"
]
data
=
{}
if
not
sessionId
in
connects
.
keys
():
data
[
"status"
]
=
"4003"
data
[
"message"
]
=
"Error: 未启动服务,不可改变剩余油量!"
return
Response
(
json
.
dumps
(
data
),
mimetype
=
'application/json'
)
service
=
connects
[
sessionId
][
"service"
]
travelStatus
=
service
.
getTravelStatus
()
#获取汽车行驶状态
if
travelStatus
==
0
or
travelStatus
==
2
:
data
[
"status"
]
=
"4003"
data
[
"message"
]
=
"Error: 汽车还未行驶,不可改变剩余油量!"
elif
travelStatus
==
1
:
try
:
service
.
setSurplusOil
(
int
(
params
[
"surplusOil"
]))
data
[
"status"
]
=
"200"
data
[
"message"
]
=
"改变剩余油量成功!"
except
BaseException
as
e
:
# 打印异常信息
traceback
.
print_exc
()
data
[
"status"
]
=
"4003"
data
[
"message"
]
=
"Error: 改变剩余油量失败!"
return
Response
(
json
.
dumps
(
data
),
mimetype
=
'application/json'
)
##########################################
##########################################
# 【接口类型】控制GPS 是有效还是无效
# 【接口类型】控制GPS 是有效还是无效
##########################################
##########################################
...
...
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