Обходим ГЛОНАСС контроль, часть 2

Гранит Навигатор-4.14 Гранит Навигатор-4.14 без крышки

Учимся разговривать с коробками

Дано: Гранит Навигатор 4.14

Задача: Наладить общение

Агрегат на вид симпатичный... компактный... ЗАО "Сантэл-Навигация" отдельный респект за эстетику. Но, ввиду отсутствия независимого источника питания, коробка пригодна только для локального использования. Государственные надзорные службы её сольют. Это было лирическое отступление:)

Погнали.

Для начала (знаю, в России не принято), не плохо было бы ознакомиться с мануалами. Идём на эфтипишник производителя: ftp://testuser:testuser@95.163.85.128 Забираем документацию, утилиту для прошивки Redum Tools, драйвера и сваливаем из секретного места:)

Теперь нам надо настроить коробку под себя. Запускаем Parallels с православным Windows XP... Ну, потому что нет других компьютеров, кроме Макинтоша. Ставим Redum Tools, подаём питание на коробку (на провод «зажигания» в том числе), ждём пока чудо агрегат загрузится, втыкаем мини-юсб, долго и упорно, в лучших традициях мастдая, пытаемся втюхать системе нужный драйвер. Ииии... вот оно! Настройки! Меняем айпишник, порт на свои, предварительно записав дефолтные, они нам пригодятся. Протокол ndtp_v6, будем работать именно с ним, как с официально утверждённым. Сохраняем. Вставляем в девайс рабочую сим-карту с оплаченными инторнетами, ребутим, выносим на солнце:) С коробкой всё; она стучится в нашу сторону.

Осталось открыть нужный порт на роутере и пробросить его на рабочую машину, лучше в то же место, чтобы не путаться. У меня это 4900 порт.

Ок. Всё готово для конструктивного диалога с космосом. Можно начинать общение. Вообще, в сети есть документ для алкоголиков, который описывает протокол передачи данных. Что странно. В теории, эта информация носит закрытый характер. По-этому, не подглядываем. Когда зайдём в тупик, тогда будем посмотреть:)

И так, послушаем коробку. Быстро пишем серверную часть на каком-нибудь научно-популярном языке. Первое, что придёт в голову, для экономии времени. Мы ленивы, не забываем:) Пусть это будет Python.

#coding: utf-8
import socket # импортируем модуль socket

sock = socket.socket() # создаём сокет в переменной sock
sock.bind(('', 4900)) # связываем sock с 4900 портом
sock.listen(1) # слушаем кого-нибудь одного
conn, addr = sock.accept() # принимаем соединение

print 'Connected:', addr # ой, кто же там?

data = conn.recv(1024) # получаем 1024 байта данных
hdata = data.encode('hex') # делаем из бинарных данных human friendly

print 'Data:', hdata # смотрим, что получили

conn.send(b'Hi! You slaves of mechanical boxes.') # Обзываем живущих на той стороне рабами
conn.close() # сливаемся, пока не наваляли

Открываем терминал. Запускаем:

$ python blablabla.py

Получаем...

Connected: ('217.66.157.0', 13233)
Data: 7e7e1c00020050e60200000000000000006400010000000000060002000200b22602000004000000000000

Понятно, что ничего не понятно... Можно долго посылать в ответ матюги с конфетами, но партизан, кроме этого, ничего не скажет. Надо включать фантазию:)

На сегодня задача выполнена. Связь налажена. Идём собираться с мыслями под чашку крепкого кофе.

ГЛОНАСС

0 комментариев

Только авторизованные пользователи могут оставлять комментарии.

Пожалуйста, Авторизуйтесь или Зарегистрируйтесь