ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (http://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Прочие вопросы (http://forum.tk-chel.ru/forumdisplay.php?f=6)
-   -   Получение данных из Автограф C# (http://forum.tk-chel.ru/showthread.php?t=5344)

Wade 14.02.2016 09:28

Получение данных из Автограф C#
 
Добрый день!

Не так давно появилась задача написать ПО которое будет аккамулировать данные с ПО Автографа и сравнивать их с другими данными. Задался вопросом, как без участие человека можно их получить.

Хотелось бы узнать у людей может быть кто как то расскавырял .sbin файл, и может быть кто знает что в нем лежит. Может быть техподдержка подскажет :)

Либо примеры кода C# интересуют.

Вообщем кто может поделится опытом буду рад:) Кто даст действительно полезную информацию с меня вознаграждение :)

plex 14.02.2016 09:50

Wade, ковырять sbin файл бесполезно, вам необходимо через COM сервер получить из ПО АвтоГРАФ нужные данные, пробег расход заправки остановки и т.д. Описание COM сервера есть в папке с ПО при установке инсталлятором
Описание COM-сервера АвтоГРАФ.doc
Описание полей DBF для данных.doc
Описание полей DBF для списков.doc

Добавлено через 14 минут
Wade, читать sbin примерно так же как читать .mdf вместо выполнения запроса Select from ... go

Wade 14.02.2016 11:00

Цитата:

Сообщение от plex (Сообщение 126321)
Wade, ковырять sbin файл бесполезно, вам необходимо через COM сервер получить из ПО АвтоГРАФ нужные данные, пробег расход заправки остановки и т.д. Описание COM сервера есть в папке с ПО при установке инсталлятором
Описание COM-сервера АвтоГРАФ.doc
Описание полей DBF для данных.doc
Описание полей DBF для списков.doc

Добавлено через 14 минут
Wade, читать sbin примерно так же как читать .mdf вместо выполнения запроса Select from ... go

Как я понял в sbin лежит какой то объект внутреннего класса. Помещен он туда с помощью сериализации. Думаю скорей всего JavaScriptSerialization лежит в основе этого.

Просто я думаю корректно было бы получать данные из файлов чем через COM объекты.

Сейчас почитаю что можно выжать с OLE

plex 14.02.2016 11:07

Цитата:

Сообщение от Wade (Сообщение 126323)
Как я понял в sbin лежит какой то объект внутреннего класса.

Там лежат исходные данные, по которым АвтоГРАФ делает расчет, например там есть координаты точек трека но нет пробега и остановок, есть состояние входа прибора но нет моточасов и времени включения доп оборудования. Есть уровень с датчика но нет уровня топлива в баке или заправок.

Цитата:

Сообщение от Wade (Сообщение 126323)
Помещен он туда с помощью сериализации.

путем записи точек и других данных контролеером АвтоГРАФ-GSM, алгоритм включает cериализацию, но это сделано в для экономии памяти в контроллере и трафика

Цитата:

Сообщение от Wade (Сообщение 126323)
Думаю скорей всего JavaScriptSerialization лежит в основе этого.

в основе этого лежит микропрограмма контроллера, которая много сложнее.

NickolaDed 14.02.2016 11:11

Wade, Если вы захотите работать с sbin вам нужно будет с нуля написать обработчик той телеметрии что в этих файлах записана.

Используйте OLE, вы получите уже обработанные данные, готовые для восприятия человеаком

Alex 14.02.2016 12:15

Цитата:

Сообщение от Wade (Сообщение 126323)
Как я понял в sbin лежит какой то объект внутреннего класса. Помещен он туда с помощью сериализации. Думаю скорей всего JavaScriptSerialization лежит в основе этого.

Просто я думаю корректно было бы получать данные из файлов чем через COM объекты.

Сейчас почитаю что можно выжать с OLE

Вы мыслите на совсем другом уровне. Нет там никакого JavaScriptSerialization. В sbin сырые данные в двоичном формате. Формат данных закрытый.

Wade 14.02.2016 12:54

Цитата:

Сообщение от Alex (Сообщение 126326)
Цитата:

Сообщение от Wade (Сообщение 126323)
Как я понял в sbin лежит какой то объект внутреннего класса. Помещен он туда с помощью сериализации. Думаю скорей всего JavaScriptSerialization лежит в основе этого.

Просто я думаю корректно было бы получать данные из файлов чем через COM объекты.

Сейчас почитаю что можно выжать с OLE

Вы мыслите на совсем другом уровне. Нет там никакого JavaScriptSerialization. В sbin сырые данные в двоичном формате. Формат данных закрытый.

Дарвин тоже считал что солнце можно потушить :) Для этого я и пришел на форум, т.к система меня очень привлекла, + отзывчивые люди на форуме. Попробуем что нибудь придумать :) Большое спасибо.

Alex 14.02.2016 14:06

Цитата:

Сообщение от Wade (Сообщение 126327)
Дарвин тоже считал что солнце можно потушить Для этого я и пришел на форум, т.к система меня очень привлекла, + отзывчивые люди на форуме. Попробуем что нибудь придумать Большое спасибо.

Вам дали хороший совет - забирать готовые данные через COM. Работая с сырыми данными вам придется самим отлаживать алгоритмы фильтрации, которые наши программисты совершенствуют уже почти 10 лет.

denisio 15.02.2016 04:21

Цитата:

Сообщение от Wade (Сообщение 126327)
Цитата:

Сообщение от Alex (Сообщение 126326)
Цитата:

Сообщение от Wade (Сообщение 126323)
Как я понял в sbin лежит какой то объект внутреннего класса. Помещен он туда с помощью сериализации. Думаю скорей всего JavaScriptSerialization лежит в основе этого.

Просто я думаю корректно было бы получать данные из файлов чем через COM объекты.

Сейчас почитаю что можно выжать с OLE

Вы мыслите на совсем другом уровне. Нет там никакого JavaScriptSerialization. В sbin сырые данные в двоичном формате. Формат данных закрытый.

Дарвин тоже считал что солнце можно потушить :) Для этого я и пришел на форум, т.к система меня очень привлекла, + отзывчивые люди на форуме. Попробуем что нибудь придумать :) Большое спасибо.

http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service

SK 15.02.2016 05:26

Wade, поясните Вашу задачу.

В sbin лежат именно что "сырые" данные, упакованные побитно в записи для максимальной компактификации при передаче через GSM и другие сети связи.
Упаковка данных "фирменная ручная" безо всяких сериализаторов.
"Сырые" данные - означает, что они неотфильтрованные и, если, например, Вы посчитаете по ним пробег простым сложением длин отрезков от точки до точки, то получите полную чушь. То же самое касается топлива и ряда других параметров.

У Вас задача написать свою систему с нуля или получить уже правильные данные, обработанные алгоритмами, которые дорабатывались годами ? Со всеми задетектированными событиями, заправками, сливами, превышениями, остановками и прочими штуками через сервис http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service или OLE/COM.

Зачем расковыривать SBIN вообще ? Если Вам так хочется - сервер АвтоГРАФ умеет на лету реплицировать поступающие данные не только в sbin, но и в SQL-БД или любые другие источники данных, поддерживаемые MS ODBC. Там "сырые" данные (те же самые, что пишутся в sbin) уже будут разложены в удобном виде по полям и таблицам. Пользуйтесь на здоровье, если хотите сами всё обрабатывать и проходить все грабли.

Если же надо просто последнее местоположение - то для этого есть специальный открытый формат запроса к нашему серверному ПО для этого.

P.S.: sbin расковыривать можете попробовать, но это может оказаться неэффективно, т.к. мы, ввиду проприетарности формата, меняем его без предупреждения при доработках и "распаковщик" для одной прошивки может оказаться бессильным или некорректно работающим при другой прошивке. И, по опыту, Вы будете обвинять нас, что приборы выдают что-то неправильное. )))


Текущее время: 08:12. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot