Browse Source

New teltonika functions

david.berlinskiy 1 year ago
commit
9fce551393
6 changed files with 74 additions and 0 deletions
  1. BIN
      __pycache__/codec8.cpython-39.pyc
  2. BIN
      __pycache__/decoder.cpython-39.pyc
  3. 52 0
      catcher.py
  4. 11 0
      decoder.py
  5. 11 0
      decoder.py~
  6. 0 0
      text.txt

BIN
__pycache__/codec8.cpython-39.pyc


BIN
__pycache__/decoder.cpython-39.pyc


+ 52 - 0
catcher.py

@@ -0,0 +1,52 @@
+import socket
+import sys
+import time
+from decoder import decode_data
+import ast
+
+imei = '35209308062032'
+def start_server():
+    try:
+        hostname, port = '', 350
+        server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        server.bind((hostname, port))
+        server.listen(1)
+        print('Подключение к teltonika') 
+        connection, client_address = server.accept()
+        data = connection.recv(16)
+        new_imei = data.decode()[2:] 
+        print(new_imei)
+        if new_imei == imei:
+            answer  = '\x01'.encode('utf-8')
+            connection.sendall(answer)
+            print(str(answer))
+            print('Подключено') 
+            catch(connection)
+        else:
+            print('Неправильный imei')    
+    except Exception as e:
+        print("Ошибка")
+        print(e)
+        
+def catch(connection):
+    try:
+        while True:
+            data = connection.recv(8192)
+            data = data.decode()
+            print(f'Получено: {data}')        
+    except:
+        print("Ошибка при получении")
+        connection.close()
+
+def start_server_UDP():
+    hostname, port = '', 350
+    sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 
+    sock.bind((hostname, port))
+    
+    while True:
+       data = sock.recvfrom(8192) 
+       data = decode_data(data)
+       print(data)
+
+if __name__ == "__main__":  
+    start_server_UDP()

+ 11 - 0
decoder.py

@@ -0,0 +1,11 @@
+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)
+
+    return data
+ 

+ 11 - 0
decoder.py~

@@ -0,0 +1,11 @@
+import binascii
+
+def decode_data(data):
+    data = bytes(data[0])
+    imei = data[7].decode()
+    codec_id=data[1]
+    nubmer_of_data=data[9]
+    print(imei,codec_id,nubmer_of_data)
+    # data = data)
+
+    return data

+ 0 - 0
text.txt