forked from Profrog/yolo_scan_algorithm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogging_drone.py
More file actions
145 lines (103 loc) · 3.07 KB
/
logging_drone.py
File metadata and controls
145 lines (103 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import serial
import time
import os
import string
import argparse
import cv2
import sys
import time
import math
import re
# 해당 python 파일을 gnss 장비의 로그를 기록한 .txt 파일과 같이 둡니다.
# 로그 .txt 파일의 이름을 input.txt로 변형합니다
# linux 명령어 창에서 "python3 convert.py" 명령어를 통하여 본 프로그램을 실행하면 "output.txt"에 정리되어 나옵니다
global pos_x
pos_x = 0.0
global pos_y
pos_y = 0.0
global pos_z
pos_z = 0.0
global tag1
tag1 = "DE"
global tag2
tag2 = "C0"
global tag3
tag3 = "55"
global tag4
tag4 = "5B"
global tag5
tag5 = "DD"
global tag6
tag6 = "C2"
global tag7
tag7 = "F4"
global tag8
tag8 = "F2"
def tag_checking(data):
if data == tag1:
return 1
elif data == tag2:
return 2
elif data == tag3:
return 3
elif data == tag4:
return 4
elif data == tag5:
return 5
elif data == tag6:
return 6
elif data == tag7:
return 7
elif data == tag8:
return 8
else:
return 9
data2 = open('input.txt', 'r')
data3 = open('output.txt', 'a')
#data2.readline()
string0 = data2.readline()
while string0:
try:
address_s = string0.find('address')
x_s = string0.find('posX')
y_s = string0.find('posY')
z_s = string0.find('posZ')
at_s = string0.find('"at"')
rssi_s = string0.find('rssi')
s_length = 40 #string length
string_address = string0[address_s:address_s + s_length]
stringx = string0[x_s:x_s + s_length]
stringy = string0[y_s:y_s + s_length]
stringz = string0[z_s:z_s + s_length]
string_at = string0[at_s+3:at_s + s_length]
string_rssi = string0[rssi_s : rssi_s + s_length]
string_address_x = string_address.find('"',string_address.find('"')+1)
string_address_y = string_address.find('"', string_address_x+2)
string_address = string_address[string_address_x+1:string_address_y]
string_address2 = string_address[len(string_address)-2:len(string_address)]
string_at_x = string_at.find('"',string_at.find('"')+1)
string_at_y = string_at.find('"', string_at_x+2)
string_at = string_at[string_at_x+1:string_at_y]
file_name = "output_" + str(tag_checking(string_address2)) + ".txt"
data4 = open(file_name, 'a')
#print(string_address)
print("addrress is " + string_at)
linex = re.findall(r'(?<!\.)[-+]?\b\d+\.\d+(?!\.)\b', stringx)
liney = re.findall(r'(?<!\.)[-+]?\b\d+\.\d+(?!\.)\b', stringy)
linez = re.findall(r'(?<!\.)[-+]?\b\d+\.\d+(?!\.)\b', stringz)
line_rssi = re.findall(r'(?<!\.)[-+]?\b\d+\.\d+(?!\.)\b', string_rssi)
if len(str(linex)) > 0:
pos_x = float(str(linex)[2:len(str(linex)) - 2])
if len(str(liney)) > 0:
pos_y = float(str(liney)[2:len(str(liney)) - 2])
if len(str(linez)) > 0:
pos_z = float(str(linez)[2:len(str(linez)) - 2])
output = str(string_at) + " " + str(pos_x) + " " + str(pos_y) + " " + str(pos_z) + " " + str(line_rssi)[2:len(str(line_rssi)) - 2] + "\n"
data4.write(output)
data4.close()
if str(linex)[2:len(str(linex)) - 2] != "":
data3.write(output)
# print(linex)
except:
print("error " + string0)
string0 = data2.readline()