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
910ca259
Commit
910ca259
authored
May 28, 2020
by
liyuanhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
车安优模拟器增加了实时控制功能
parent
6b298fda
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
179 additions
and
8 deletions
+179
-8
data/messageTools/carData/012201500010.json
data/messageTools/carData/012201500010.json
+1
-1
lib/socket/service/MessageSimulaterService.py
lib/socket/service/MessageSimulaterService.py
+10
-5
templates/messageTools/message/M_simulater_page.html
templates/messageTools/message/M_simulater_page.html
+73
-1
views/messageTools/M_simulater_process.py
views/messageTools/M_simulater_process.py
+95
-1
No files found.
data/messageTools/carData/012201500010.json
View file @
910ca259
{
"time"
:
{
"dateTime"
:
"2020-05-28 14:37:12"
,
"date"
:
"2020-05-28"
,
"time"
:
"14:37:12"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
4444
,
"todayTotalOil"
:
409
,
"todayTotalTime"
:
269
,
"theMilleage"
:
1980
,
"theOil"
:
180
,
"theTime"
:
120
},
"travelData"
:
{
"totalMilleage"
:
10952
,
"totalOil"
:
917
,
"totalTime"
:
669
}}
\ No newline at end of file
{
"time"
:
{
"dateTime"
:
"2020-05-28 14:37:12"
,
"date"
:
"2020-05-28"
,
"time"
:
"14:37:12"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
17121
,
"todayTotalOil"
:
1719
,
"todayTotalTime"
:
1016
,
"theMilleage"
:
4687
,
"theOil"
:
407
,
"theTime"
:
198
},
"travelData"
:
{
"totalMilleage"
:
23629
,
"totalOil"
:
2227
,
"totalTime"
:
1416
}}
\ No newline at end of file
lib/socket/service/MessageSimulaterService.py
View file @
910ca259
...
...
@@ -68,6 +68,10 @@ class MessageSimulaterService():
return
self
.
websocket
def
getTravelStatus
(
self
):
return
self
.
travelStatus
def
getCurLatitude
(
self
):
return
self
.
gpsLine
[
self
.
gpsLineIndex
][
"lat"
]
def
getCurLongtitude
(
self
):
return
self
.
gpsLine
[
self
.
gpsLineIndex
][
"lng"
]
...
...
@@ -89,11 +93,12 @@ class MessageSimulaterService():
self
.
websocket
=
data
def
setSn
(
self
,
data
):
self
.
sn
=
data
def
getCurLatitude
(
self
):
return
self
.
gpsLine
[
self
.
gpsLineIndex
][
"lat"
]
def
getCurLongtitude
(
self
):
return
self
.
gpsLine
[
self
.
gpsLineIndex
][
"lng"
]
def
setCarSpeed
(
self
,
data
):
self
.
data
[
"travelData"
][
"carSpeed"
]
=
data
def
setOilExpend
(
self
,
data
):
self
.
data
[
"travelData"
][
"oilExpend"
]
=
data
def
setSendDur
(
self
,
data
):
self
.
sendDur
=
data
def
sendMsg
(
self
,
msg
):
self
.
socket
.
setTimeOut
(
self
.
timeout
)
...
...
templates/messageTools/message/M_simulater_page.html
View file @
910ca259
...
...
@@ -155,6 +155,21 @@
</div>
</div>
</div>
<div
style=
"display: block; width: 100%; border-width: 1px; border-style: solid; border-color: darkgray; border-radius: 10px; padding: 2px; margin-top: 5px;"
>
<h5><b>
实时控制:
</b>
<span
style=
"border-width:1px;border-style:solid;border-color:darkgray;border-radius:10px;padding:1px 10px;"
>
<label><input
name=
"realtime"
type=
"radio"
value=
"0"
checked=
"checked"
onclick=
"isShowRealTimeCtrArea(this)"
/>
隐藏
</label>
<label
style=
"margin-left:10px;"
><input
name=
"realtime"
type=
"radio"
value=
"1"
onclick=
"isShowRealTimeCtrArea(this)"
/>
显示
</label>
</span>
</h5>
<div
id=
"realTimeCtl_area"
style=
"display:none;"
>
<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"
><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>
</div>
</div>
</div>
<div
style=
"width:100%;padding-bottom:60px;border-bottom: 1px solid #eee;"
>
<h3>
日志:
</h3>
<textarea
id=
"showFeedback"
style=
"width:100%;padding:5px;padding-bottom:60px;"
rows=
"10"
></textarea>
...
...
@@ -710,7 +725,64 @@ function sendSharpSlowdownEvent(){
sendHttpMsg
(
data
,
url
);
}
// -------------------------------- 实时控制js代码-------------------------------------------
//设置隐藏或显示实时控制区域
function
isShowRealTimeCtrArea
(
e
){
var
value
=
$
(
e
).
val
()
if
(
value
==
"
0
"
){
$
(
"
#realTimeCtl_area
"
).
css
(
"
display
"
,
"
none
"
)
}
else
{
$
(
"
#realTimeCtl_area
"
).
css
(
"
display
"
,
"
block
"
)
}
}
//改变车速
function
changeSpeed
(){
var
data
=
{}
var
carId
=
$
(
"
#phoneNum
"
).
val
()
var
speed
=
$
(
"
#change_speed
"
).
val
()
data
[
"
carId
"
]
=
carId
data
[
"
speed
"
]
=
speed
//会话session数据
data
[
"
session
"
]
=
{}
var
sessionId
=
$
(
"
#curSession
"
).
val
()
data
[
"
session
"
][
"
sessionId
"
]
=
sessionId
$
(
"
#carSpeed
"
).
val
(
speed
)
var
host
=
window
.
location
.
host
;
var
url
=
"
http://
"
+
host
+
"
/messageTools/M_simulater_process/changeCarSpeed
"
;
sendHttpMsg
(
data
,
url
);
}
//改变油耗
function
changeOilExpend
(){
var
data
=
{}
var
carId
=
$
(
"
#phoneNum
"
).
val
()
var
oilExpend
=
$
(
"
#change_oilExpend
"
).
val
()
data
[
"
carId
"
]
=
carId
data
[
"
oilExpend
"
]
=
oilExpend
//会话session数据
data
[
"
session
"
]
=
{}
var
sessionId
=
$
(
"
#curSession
"
).
val
()
data
[
"
session
"
][
"
sessionId
"
]
=
sessionId
$
(
"
#oilExpend
"
).
val
(
oilExpend
)
var
host
=
window
.
location
.
host
;
var
url
=
"
http://
"
+
host
+
"
/messageTools/M_simulater_process/changeOilExpend
"
;
sendHttpMsg
(
data
,
url
);
}
//改变发送间隔
function
changeDurTime
(){
var
data
=
{}
var
carId
=
$
(
"
#phoneNum
"
).
val
()
var
durTime
=
$
(
"
#change_durTime
"
).
val
()
data
[
"
carId
"
]
=
carId
data
[
"
durTime
"
]
=
durTime
//会话session数据
data
[
"
session
"
]
=
{}
var
sessionId
=
$
(
"
#curSession
"
).
val
()
data
[
"
session
"
][
"
sessionId
"
]
=
sessionId
$
(
"
#durTime
"
).
val
(
durTime
)
var
host
=
window
.
location
.
host
;
var
url
=
"
http://
"
+
host
+
"
/messageTools/M_simulater_process/changeDurTime
"
;
sendHttpMsg
(
data
,
url
);
}
...
...
views/messageTools/M_simulater_process.py
View file @
910ca259
...
...
@@ -359,7 +359,7 @@ def getConnects():
data
[
"message"
]
=
"Error: 获取在线人数失败失败!"
return
Response
(
json
.
dumps
(
data
),
mimetype
=
'application/json'
)
#-------------------------------------- 报警上报 --------------------------------------
#-------------------------------------- 报警上报
逻辑
--------------------------------------
##########################################
# 【接口类型】发送终端插入报警事件
##########################################
...
...
@@ -544,4 +544,98 @@ def sendSharpSlowdownAlarm():
traceback
.
print_exc
()
data
[
"status"
]
=
"4003"
data
[
"message"
]
=
"Error: 发送急减速事件失败!"
return
Response
(
json
.
dumps
(
data
),
mimetype
=
'application/json'
)
#--------------------------------------- 实时控制逻辑 ---------------------------------------
##########################################
# 【接口类型】改变车速
##########################################
@
M_simulater_process
.
route
(
"/changeCarSpeed"
,
methods
=
[
'POST'
])
def
changeCarSpeed
():
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
.
setCarSpeed
(
params
[
"speed"
])
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'
)
##########################################
# 【接口类型】改变油耗
##########################################
@
M_simulater_process
.
route
(
"/changeOilExpend"
,
methods
=
[
'POST'
])
def
changeOilExpend
():
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
.
setOilExpend
(
params
[
"oilExpend"
])
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'
)
##########################################
# 【接口类型】改变发送间隔
##########################################
@
M_simulater_process
.
route
(
"/changeDurTime"
,
methods
=
[
'POST'
])
def
changeDurTime
():
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
.
setSendDur
(
int
(
params
[
"durTime"
]))
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'
)
\ No newline at end of file
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