|
@@ -1,11 +1,33 @@
|
|
|
import binascii
|
|
|
|
|
|
-def decode_data(data):
|
|
|
- data = bytes(data[0])
|
|
|
- imei = str(data[7])
|
|
|
- codec_id=data[1]
|
|
|
- nubmer_of_data=data[9]
|
|
|
- print(imei,codec_id,nubmer_of_data)
|
|
|
+class GPS:
|
|
|
+ def __init__(self, data):
|
|
|
+ data = data[0]
|
|
|
+ self.data = bytes(data[0])
|
|
|
+ self.codec_id = data[23]
|
|
|
+ self.number_of_data = data[24]
|
|
|
+ self.gps_data = data[27:42]
|
|
|
|
|
|
- return data
|
|
|
-
|
|
|
+ def decode_gps_data(self):
|
|
|
+ longitude = self.gps_data[0:4]
|
|
|
+ latitude = self.gps_data[4:9]
|
|
|
+ altitude = self.gps_data[9:11]
|
|
|
+ angle = self.gps_data[11:13]
|
|
|
+ speed = self.gps_data[13:15]
|
|
|
+
|
|
|
+ decoded_data = {
|
|
|
+ "Longitude": longitude,
|
|
|
+ "Latitude": latitude,
|
|
|
+ "Altitude": altitude,
|
|
|
+ "Angle": angle,
|
|
|
+ "Speed": speed
|
|
|
+ }
|
|
|
+
|
|
|
+ return decoded_data
|
|
|
+
|
|
|
+ def print_gps_data(self):
|
|
|
+ decoded_data = self.decode_gps_data()
|
|
|
+ for key, value in decoded_data.items():
|
|
|
+ print(key, value)
|
|
|
+
|
|
|
+
|