Commit 910ca259 authored by liyuanhong's avatar liyuanhong

车安优模拟器增加了实时控制功能

parent 6b298fda
{"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
......@@ -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)
......
......@@ -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);
}
......
......@@ -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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment