WIALON IPS протокол передачи данных по TPC или UDP данных на сервера от GURTAM. Сам я только начинающий программист. и для себя изучаю возможности языков программирования и сегодня хотел бы описать свой опыт работы с серверами WIALON через Socket на Python.
Пример довольно простой, но понятный и на его основе уже можно делать свои проекты и строить готовые устройства (Полученный опыт я использовал на ESP32). В примере. я довольно просто буду посылать данные и обмениваться ответами с сервером. Кстати протокол текстовый. Весит не мало и по этому не самый оптимальный. Есть три вида протокола. я же рассмотрю полный без CRC.
Сначала нам нужно под грузить наши модули. которые мы будем использовать для работы:
import sys
import socket
import time
import os
Теперь нам нужно создать socket:
sock = socket.socket()
Подключиться к серверу:
sock.connect(('nl2.gpsgsm.org',20332))
Теперь готовим строчку для отправки пакета:
timestr = '#L#imei;NA\r\n'
Отправляем пакет, важно знать, что все данные должны приходить и уходить в байтовом виде, поэтому их нужно кодировать и декодировать функцией:
sock.send(timestr.encode('utf-8'))
Ждем ответ и выводим его в консоль:
data = sock.recv(1024)
print(data)
Проделываем такое еще пару раз с разными форматами пакетов:
time.sleep(5)
timestr = '#P#\r\n' sock.send(timestr.encode('utf-8'))
data = sock.recv(1024)
print(data)
time.sleep(5)
timestr = '#D#NA;NA;5544.6025;N;03739.6834;E;100;100;70;12;0.8;F;F;;NA;qwe:1:200\r\n'
sock.send(timestr.encode('utf-8'))
data = sock.recv(1024)
print(data)
После отправки и получения пакетов не забываем закрывать сокет:
sock.close()
Вот довольно просто, можно на Python сделать программку. которая снимает все параметры работы с ПК и отправляет их на сервер для сбора статистики. Так же можно настроить отправку команд и выполнять их с сервера. Это моя первая статья. надеюсь она будет полезна большому кругу начинающих программистов.