Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
autoCarTimer
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
李远洪
autoCarTimer
Commits
e7f83f82
Commit
e7f83f82
authored
Jun 17, 2020
by
liyuanhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加了可控日志的输出
parent
f46ce3c4
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
84 additions
and
483 deletions
+84
-483
config/log.conf
config/log.conf
+1
-0
data/protocolTools/carData/M202003060520.json
data/protocolTools/carData/M202003060520.json
+1
-1
lib/socket/service/AutoCarTimerService.py
lib/socket/service/AutoCarTimerService.py
+44
-15
result.txt
result.txt
+17
-464
start.py
start.py
+21
-3
No files found.
config/log.conf
0 → 100644
View file @
e7f83f82
0
\ No newline at end of file
data/protocolTools/carData/M202003060520.json
View file @
e7f83f82
{
"time"
:
{
"dateTime"
:
"2020-04-26 17:03:02"
,
"date"
:
"2020-04-26"
,
"time"
:
"17:03:02"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
14190
,
"todayTotalOil"
:
1290
,
"todayTotalTime"
:
645
,
"theMilleage"
:
36102
,
"theOil"
:
3282
,
"theTime"
:
1641
},
"travelData"
:
{
"totalMilleage"
:
36102
,
"totalOil"
:
3282
,
"totalTime"
:
1641
}}
{
"time"
:
{
"dateTime"
:
"2020-06-17 10:22:01"
,
"date"
:
"2020-06-17"
,
"time"
:
"10:22:01"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
3498
,
"todayTotalOil"
:
318
,
"todayTotalTime"
:
159
,
"theMilleage"
:
39600
,
"theOil"
:
3600
,
"theTime"
:
1800
},
"travelData"
:
{
"totalMilleage"
:
39600
,
"totalOil"
:
3600
,
"totalTime"
:
1800
}}
\ No newline at end of file
\ No newline at end of file
lib/socket/service/AutoCarTimerService.py
View file @
e7f83f82
...
@@ -11,6 +11,7 @@ import os
...
@@ -11,6 +11,7 @@ import os
import
random
import
random
import
threading
import
threading
import
time
import
time
import
traceback
from
lib.protocol.report.EventReport_protocol
import
EventReport_protocol
from
lib.protocol.report.EventReport_protocol
import
EventReport_protocol
from
lib.protocol.report.GPSReport_protocol
import
GPSReport_protocol
from
lib.protocol.report.GPSReport_protocol
import
GPSReport_protocol
...
@@ -39,6 +40,7 @@ class AutoCarTimerService():
...
@@ -39,6 +40,7 @@ class AutoCarTimerService():
self
.
oilExpend
=
10
#设置汽车每升能跑多少公里
self
.
oilExpend
=
10
#设置汽车每升能跑多少公里
self
.
carSpeed
=
60
#设置车速度
self
.
carSpeed
=
60
#设置车速度
self
.
directAngle
=
59
#设置默认方向角
self
.
directAngle
=
59
#设置默认方向角
self
.
isLogOut
=
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
}
# 定义初始的obd数据,与上面的OBD数据保持一致,主要用于汽车行驶过程中数据变化量的计算
# 定义初始的obd数据,与上面的OBD数据保持一致,主要用于汽车行驶过程中数据变化量的计算
...
@@ -100,6 +102,7 @@ class AutoCarTimerService():
...
@@ -100,6 +102,7 @@ class AutoCarTimerService():
######################################################
######################################################
def
serviceTravel
(
self
):
def
serviceTravel
(
self
):
while
self
.
serviceStatus
==
1
:
while
self
.
serviceStatus
==
1
:
self
.
isLogOut
=
int
(
self
.
getFileContent
(
"config/log.conf"
))
gpsMsg
=
""
gpsMsg
=
""
OBDMsg
=
""
OBDMsg
=
""
if
self
.
travelStatus
==
0
:
if
self
.
travelStatus
==
0
:
...
@@ -159,10 +162,17 @@ class AutoCarTimerService():
...
@@ -159,10 +162,17 @@ class AutoCarTimerService():
time
.
sleep
(
0.1
)
time
.
sleep
(
0.1
)
self
.
sendMsg
(
gpsMsg
)
self
.
sendMsg
(
gpsMsg
)
self
.
sn
=
self
.
sn
+
1
self
.
sn
=
self
.
sn
+
1
if
self
.
isLogOut
==
1
:
timeS
=
int
(
time
.
time
())
timeArray
=
time
.
localtime
(
timeS
)
datetime
=
time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
,
timeArray
)
self
.
writeToFile
(
"data/log.txt"
,
"["
+
datetime
+
"]gps msg:"
+
gpsMsg
+
"
\n
"
,
type
=
1
)
self
.
writeToFile
(
"data/log.txt"
,
"["
+
datetime
+
"]obd msg:"
+
OBDMsg
+
"
\n
"
,
type
=
1
)
time
.
sleep
(
self
.
sendDur
)
time
.
sleep
(
self
.
sendDur
)
######################################################
######################################################
#点火,发送点火事件
#点火,发送点火事件
######################################################
######################################################
...
@@ -271,6 +281,12 @@ class AutoCarTimerService():
...
@@ -271,6 +281,12 @@ class AutoCarTimerService():
print
(
info
)
print
(
info
)
self
.
writeToFile
(
"result.txt"
,
info
+
"
\n
"
,
1
)
self
.
writeToFile
(
"result.txt"
,
info
+
"
\n
"
,
1
)
#读取文件内容
def
getFileContent
(
self
,
file
):
with
open
(
file
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
content
=
fi
.
read
()
return
content
#随机获取一条GPS 轨迹
#随机获取一条GPS 轨迹
def
getRandomGpsLine
(
self
):
def
getRandomGpsLine
(
self
):
files
=
os
.
listdir
(
"data/protocolTools/GPSLines/"
)
files
=
os
.
listdir
(
"data/protocolTools/GPSLines/"
)
...
@@ -308,6 +324,7 @@ class AutoCarTimerService():
...
@@ -308,6 +324,7 @@ class AutoCarTimerService():
# 根据特定参数,生成OBD CAN消息
# 根据特定参数,生成OBD CAN消息
def
genOBDMsg
(
self
,
fireStatus
=
1
,
ACCStatus
=
0
,
engineSpeed
=
300
,
speed
=
0
,
meterMileage
=
6000
,
\
def
genOBDMsg
(
self
,
fireStatus
=
1
,
ACCStatus
=
0
,
engineSpeed
=
300
,
speed
=
0
,
meterMileage
=
6000
,
\
totailMileage
=
600
,
totalOilExpend
=
30
,
totalRunTime
=
10
):
totailMileage
=
600
,
totalOilExpend
=
30
,
totalRunTime
=
10
):
try
:
OBDObj
=
OBDReport_CAN_protocol
(
DEV_ID
=
self
.
carId
,
WATER_CODE
=
self
.
sn
)
OBDObj
=
OBDReport_CAN_protocol
(
DEV_ID
=
self
.
carId
,
WATER_CODE
=
self
.
sn
)
timeS
=
int
(
time
.
time
())
-
8
*
3600
timeS
=
int
(
time
.
time
())
-
8
*
3600
timeArray
=
time
.
localtime
(
timeS
)
timeArray
=
time
.
localtime
(
timeS
)
...
@@ -323,6 +340,18 @@ class AutoCarTimerService():
...
@@ -323,6 +340,18 @@ class AutoCarTimerService():
OBDObj
.
setTotalRunTime
(
totalRunTime
)
# 设置车辆运行时间
OBDObj
.
setTotalRunTime
(
totalRunTime
)
# 设置车辆运行时间
msg
=
OBDObj
.
generateOBDReportCANMsg
()
msg
=
OBDObj
.
generateOBDReportCANMsg
()
return
msg
return
msg
except
BaseException
as
e
:
# 打印异常信息
# traceback.print_exc()
timeS
=
int
(
time
.
time
())
timeArray
=
time
.
localtime
(
timeS
)
datetime
=
time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
,
timeArray
)
err
=
traceback
.
format_exc
()
if
self
.
isLogOut
==
1
:
self
.
writeToFile
(
"data/log.txt"
,
"["
+
datetime
+
"]"
,
type
=
1
)
self
.
writeToFile
(
"data/log.txt"
,
err
,
type
=
1
)
#收到 某些类型的消息后执行回复操作
#收到 某些类型的消息后执行回复操作
def
doResponse
(
self
,
msg
):
def
doResponse
(
self
,
msg
):
...
...
result.txt
View file @
e7f83f82
This diff is collapsed.
Click to expand it.
start.py
View file @
e7f83f82
#utf-8
#utf-8
import
time
import
traceback
from
lib.socket.service.AutoCarTimerService
import
AutoCarTimerService
from
lib.socket.service.AutoCarTimerService
import
AutoCarTimerService
#写入文件
def
writeToFile
(
path
,
data
,
type
=
1
):
#:代表追加 0:代表覆盖
if
(
type
==
1
):
with
open
(
path
,
"a"
,
encoding
=
'utf-8'
)
as
fi
:
fi
.
write
(
data
)
else
:
with
open
(
path
,
"w"
,
encoding
=
'utf-8'
)
as
fi
:
fi
.
write
(
data
)
def
startSimulaterService
():
def
startSimulaterService
():
autoCarObj
=
AutoCarTimerService
()
autoCarObj
=
AutoCarTimerService
()
autoCarObj
.
setHost
(
"10.100.12.32"
)
# 设置主机地址
autoCarObj
.
setHost
(
"10.100.12.32"
)
# 设置主机地址
autoCarObj
.
setPort
(
9008
)
# 设置端口号
autoCarObj
.
setPort
(
9008
)
# 设置端口号
autoCarObj
.
setCarId
(
"M202003060520"
)
#设置车机号
autoCarObj
.
setCarId
(
"M202003060520"
)
#设置车机号
autoCarObj
.
setSendDur
(
1
)
# 设置发送消息的间隔时间
autoCarObj
.
setSendDur
(
3
)
# 设置发送消息的间隔时间
autoCarObj
.
setTimeout
(
30
)
# 设置socket超时时间
autoCarObj
.
setTimeout
(
30
)
# 设置socket超时时间
autoCarObj
.
setOilExpend
(
10
)
# 设置1L 油跑多少公里
autoCarObj
.
setOilExpend
(
10
)
# 设置1L 油跑多少公里
autoCarObj
.
setSpeed
(
80
)
#设置车速,每小时多少公里
autoCarObj
.
setSpeed
(
80
)
#设置车速,每小时多少公里
...
@@ -19,10 +29,18 @@ def startSimulaterService():
...
@@ -19,10 +29,18 @@ def startSimulaterService():
如果想要每天的9点自动执行一次轨迹行驶,则设置:year=0,month=0,day=0,hour=9,minute=0,second=0
如果想要每天的9点自动执行一次轨迹行驶,则设置:year=0,month=0,day=0,hour=9,minute=0,second=0
如果想要每天的9点30自动执行一次轨迹行驶,则设置:year=0,month=0,day=0,hour=9,minute=30,second=0
如果想要每天的9点30自动执行一次轨迹行驶,则设置:year=0,month=0,day=0,hour=9,minute=30,second=0
'''
'''
autoCarObj
.
startService
(
year
=
0
,
month
=
0
,
day
=
0
,
hour
=
0
,
minute
=
0
,
second
=
1
)
autoCarObj
.
startService
(
year
=
0
,
month
=
0
,
day
=
0
,
hour
=
0
,
minute
=
46
,
second
=
0
)
if
__name__
==
"__main__"
:
if
__name__
==
"__main__"
:
try
:
startSimulaterService
()
startSimulaterService
()
except
BaseException
as
e
:
timeS
=
int
(
time
.
time
())
timeArray
=
time
.
localtime
(
timeS
)
datetime
=
time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
,
timeArray
)
err
=
traceback
.
format_exc
()
writeToFile
(
"data/log1.txt"
,
"["
+
datetime
+
"]"
,
type
=
1
)
writeToFile
(
"data/log1.txt"
,
err
,
type
=
1
)
...
...
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