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
1f519742
Commit
1f519742
authored
Jul 10, 2020
by
liyuanhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
M500模拟器故障码功能开发完成
parent
6421fbbd
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
106 additions
and
12 deletions
+106
-12
data/protocolTools/carData/M202003060520.json
data/protocolTools/carData/M202003060520.json
+1
-1
lib/protocol/report/OBDReport_CAN_protocol.py
lib/protocol/report/OBDReport_CAN_protocol.py
+2
-6
templates/protocolTools/report/M_carSimulater_page.html
templates/protocolTools/report/M_carSimulater_page.html
+61
-4
templates/protocolTools/report/troubleCode_protocol_page.html
...lates/protocolTools/report/troubleCode_protocol_page.html
+1
-1
views/protocolTools/M_carSimulater_process.py
views/protocolTools/M_carSimulater_process.py
+41
-0
No files found.
data/protocolTools/carData/M202003060520.json
View file @
1f519742
{
"time"
:
{
"dateTime"
:
"2020-07-09 16:58:36"
,
"date"
:
"2020-07-09"
,
"time"
:
"16:58:36"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
1162
,
"todayTotalOil"
:
112
,
"todayTotalTime"
:
70
,
"theMilleage"
:
1162
,
"theOil"
:
112
,
"theTime"
:
70
},
"travelData"
:
{
"totalMilleage"
:
564424
,
"totalOil"
:
51394
,
"totalTime"
:
33858
},
"event"
:
{
"threeRapid"
:
{
"totalRapidlyAccelerate"
:
43
,
"totalSharpSlowdown"
:
31
,
"totalSharpTurn"
:
34
}}}
\ No newline at end of file
{
"time"
:
{
"dateTime"
:
"2020-07-10 10:37:16"
,
"date"
:
"2020-07-10"
,
"time"
:
"10:37:16"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
2573
,
"todayTotalOil"
:
248
,
"todayTotalTime"
:
155
,
"theMilleage"
:
581
,
"theOil"
:
56
,
"theTime"
:
35
},
"travelData"
:
{
"totalMilleage"
:
566997
,
"totalOil"
:
51642
,
"totalTime"
:
34013
},
"event"
:
{
"threeRapid"
:
{
"totalRapidlyAccelerate"
:
43
,
"totalSharpSlowdown"
:
31
,
"totalSharpTurn"
:
34
}}}
\ No newline at end of file
lib/protocol/report/OBDReport_CAN_protocol.py
View file @
1f519742
...
...
@@ -308,12 +308,8 @@ class OBDReport_CAN_protocol(ProtocolBase):
# 单位:0.01V
###################################################
def
getVoltageHex
(
self
,
num
):
valtageStr
=
str
(
num
)
valtageStr
=
valtageStr
.
replace
(
"."
,
""
)
while
(
len
(
valtageStr
)
<
4
):
valtageStr
=
"0"
+
valtageStr
valtageHex
=
hex
(
int
(
valtageStr
))
valtageHex
=
self
.
leftPad
(
str
(
valtageHex
)[
2
:],
4
)
valtage
=
int
(
num
*
100
)
valtageHex
=
self
.
int2hexStringByBytes
(
valtage
,
2
)
return
valtageHex
####################################################
...
...
templates/protocolTools/report/M_carSimulater_page.html
View file @
1f519742
...
...
@@ -193,7 +193,7 @@
<label
style=
"margin-left:10px;color:red;"
><input
name=
"lngLatIsOk"
value=
"0"
type=
"radio"
onclick=
"changeLngLatIsOk(this)"
>
经纬度为0
</label>
</span>
<span
style=
"margin-left:10px;display: inline-block;"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeTravelDirection()"
>
改变行驶方向
</button></span>
<span
style=
"margin-left:10px;display: inline-block;"
><label>
电瓶电压(v) :
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_voltage"
type=
"text"
class=
"form-control"
value=
"1
.
2"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeVoltage()"
>
改变电瓶电压
</button></span>
<span
style=
"margin-left:10px;display: inline-block;"
><label>
电瓶电压(v) :
</label><input
style=
"width:80px;margin-right:5px;"
id=
"change_voltage"
type=
"text"
class=
"form-control"
value=
"12"
><button
type=
"button"
class=
"btn btn-primary"
onclick=
"changeVoltage()"
>
改变电瓶电压
</button></span>
</div>
</div>
</div>
...
...
@@ -205,8 +205,24 @@
</span>
</h5>
<div
id=
"other_area"
style=
"display:none;"
>
<div
style=
"padding:10px;"
>
<div
style=
"border-width:1px;border-style:solid;border-color:darkgray;border-radius:10px;padding:1px 10px;margin:0px 10px;"
>
<h5><i><b>
故障码上报:
</b></i></h5>
<label>
故障码个数:
</label><input
style=
"width:80px;"
id=
"troubleCodeNum"
type=
"text"
class=
"form-control"
value=
"1"
>
<label>
故障码类型:
</label><select
id=
"systemId"
class=
"form-control"
>
<option
value=
"00"
>
发动机故障码
</option>
<option
value=
"01"
>
变速箱故障码
</option>
<option
value=
"02"
>
ABS 故障码
</option>
<option
value=
"03"
>
安全气囊故障码
</option>
</select>
<label>
故障码状态:
</label><select
id=
"status"
class=
"form-control"
style=
"width:100px;"
>
<option
value=
"0"
>
未解决
</option>
<option
value=
"1"
>
已解决
</option>
</select>
<label>
MIL状态:
</label><select
id=
"MILStatus"
class=
"form-control"
style=
"width:80px;"
>
<option
value=
"0"
>
ON
</option>
<option
value=
"1"
>
OFF
</option>
</select>
<button
type=
"button"
class=
"btn btn-primary"
onclick=
"sendTroubleCode()"
>
发送故障码
</button>
</div>
</div>
</div>
...
...
@@ -275,7 +291,7 @@ function getPageData(){
data
[
"
travelData
"
][
"
travelLoop
"
]
=
travelLoop
//其他默认数据
data
[
"
other
"
]
=
{}
var
valtage
=
1.2
*
10
0
var
valtage
=
1.2
*
10
data
[
"
other
"
][
"
valtage
"
]
=
valtage
return
data
;
}
...
...
@@ -1092,6 +1108,47 @@ function changeVoltage(){
url
=
"
/protocolTools/M_carSimulater_process/changeValtage
"
;
sendjson
(
data
,
url
);
}
// -------------------------------- 其他操作js代码-------------------------------------------
//设置隐藏或显示其他操作区域
function
isShowOtheroperCtrArea
(
e
){
var
value
=
$
(
e
).
val
()
if
(
value
==
"
0
"
){
$
(
"
#other_area
"
).
css
(
"
display
"
,
"
none
"
)
}
else
{
$
(
"
#other_area
"
).
css
(
"
display
"
,
"
block
"
)
}
}
//发送故障码
function
sendTroubleCode
(){
var
data
=
{}
var
carId
=
$
(
"
#carId
"
).
val
()
data
[
"
carId
"
]
=
carId
//会话session数据
data
[
"
session
"
]
=
{}
data
[
"
troubleCode
"
]
=
{}
var
sessionId
=
$
(
"
#curSession
"
).
val
()
data
[
"
session
"
][
"
sessionId
"
]
=
sessionId
var
troubleCodeNum
=
parseInt
(
$
(
"
#troubleCodeNum
"
).
val
())
var
systemId
=
$
(
"
#systemId
"
).
val
()
var
status
=
$
(
"
#status
"
).
val
()
var
troubleCode
=
[]
for
(
var
i
=
0
;
i
<
troubleCodeNum
;
i
++
){
var
temp
=
{}
temp
[
"
systemId
"
]
=
systemId
temp
[
"
content1
"
]
=
"
00
"
temp
[
"
content2
"
]
=
"
0
"
+
(
i
+
1
)
temp
[
"
status
"
]
=
status
troubleCode
.
push
(
temp
)
}
var
MILStatus
=
$
(
"
#MILStatus
"
).
val
()
data
[
"
troubleCode
"
][
"
troubleCodeNum
"
]
=
troubleCodeNum
;
data
[
"
troubleCode
"
][
"
troubleCode
"
]
=
troubleCode
;
data
[
"
troubleCode
"
][
"
MILStatus
"
]
=
MILStatus
;
url
=
"
/protocolTools/M_carSimulater_process/porcessTroubleCodeMsg
"
;
sendjson
(
data
,
url
);
}
</script>
{% endblock %}
</div>
...
...
templates/protocolTools/report/troubleCode_protocol_page.html
View file @
1f519742
...
...
@@ -38,7 +38,7 @@
<script>
//发送
电瓶采样
数据包
//发送
故障码
数据包
$
(
"
#sendMsgBtn
"
).
click
(
function
(){
var
WATER_CODE
=
$
(
"
#WATER_CODE
"
).
val
();
var
DEV_ID
=
$
(
"
#DEV_ID
"
).
val
();
...
...
views/protocolTools/M_carSimulater_process.py
View file @
1f519742
#coding:utf-8
import
binascii
import
os
import
time
from
time
import
sleep
...
...
@@ -8,6 +9,7 @@ from configparser import ConfigParser
from
lib.protocol.report.EventReport_protocol
import
EventReport_protocol
from
lib.protocol.report.LoginReport_protocol
import
LoginReport_protocol
from
lib.protocol.report.TroubleCodeReport_protocol
import
TroubleCode_protocol
from
lib.protocol.report.VersionReport_protocol
import
VersionReport_protocol
from
lib.socket.ClientSocket
import
ClientSocket
import
json
...
...
@@ -1482,6 +1484,45 @@ def changeValtage():
data
[
"message"
]
=
"Error: 改变电瓶电压失败!"
return
Response
(
json
.
dumps
(
data
),
mimetype
=
'application/json'
)
#--------------------------------------- 其他操作逻辑 ---------------------------------------
##########################################
# 【接口类型】处理发送的故障码报文
##########################################
@
M_carSimulater_process
.
route
(
"/porcessTroubleCodeMsg"
,
methods
=
[
'POST'
])
def
porcessTroubleCodeMsg
():
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"
]
try
:
conf_R
=
ConfigParser
()
conf_R
.
read
(
"config/protocolTools/protocolTools.conf"
)
cliSocket
=
ClientSocket
(
conf_R
.
get
(
"socket"
,
"host"
),
conf_R
.
getint
(
"socket"
,
"port"
))
cliSocket
.
connect
()
timeS
=
int
(
time
.
time
())
-
8
*
3600
timeArray
=
time
.
localtime
(
timeS
)
UTCTime
=
time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
,
timeArray
)
sn
=
service
.
getSn
()
protocolObj
=
TroubleCode_protocol
(
WATER_CODE
=
sn
,
DEV_ID
=
params
[
"carId"
],
\
UTCTime
=
UTCTime
,
troubleCodeNum
=
params
[
"troubleCode"
][
"troubleCodeNum"
],
troubleCode
=
params
[
"troubleCode"
][
"troubleCode"
],
\
MILStatus
=
params
[
"troubleCode"
][
"MILStatus"
])
msg
=
protocolObj
.
generateMsg
()
service
.
serviceSendMsg
(
msg
,
"发送故障码"
)
service
.
setSn
(
service
.
getSn
()
+
1
)
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'
)
...
...
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