Russian Qt Forum

Qt => Работа с сетью => Тема начата: zalivaha от Март 17, 2010, 12:38



Название: Формат передачи данных ASCII и BINARY
Отправлено: zalivaha от Март 17, 2010, 12:38
Прибор подключается через компорт, и работает как сервер, синхронная передача данных.
из redmi:
Синтаксис запроса ASCII:
[<LF>]%R1Q,<RPC>[,<TrId>]:[<P0>][,<P1>,...]<Term>
Дополнительные элементы в скобках []. Угловые скобки<> окружают названия или описания. У этих названий есть переменная значения в зависимости от их типов и значений. Сами угловые скобки не часть переданного текста.Символы, не окруженные скобками, являются буквальным текстом и являются частью протокола.
Запрос: %R1Q, 2108:1000,1^m
Возможный ответ может быть следующие: %R1P, 0,0:0,0.9973260431694,1.613443448007,1.3581^m
Строка терминатора (заданный по умолчанию CR/LF).

Используя библиотеку QSerialDevice, удалось наладить связь в формате ASCII.
вопрос: \x0A%R1Q,5011:\x0D\x0A
ответ : %R1P, 0,0:0,27.596000000001
Но всегда хочется большего.

из redmi: Начиная с Выпуска 2.00 клиент может сделать запросы в двоичном формате, который ускоряет коммуникацию примерно до 40-50 %.
К сожалению про BINARY это вся инфа.

Какие есть соображения как установить связь в BINARY формате?


Название: Re: Формат передачи данных ASCII и BINARY
Отправлено: kuzulis от Март 17, 2010, 14:21
Цитировать
Используя библиотеку QSerialDevice, удалось наладить связь в формате ASCII.
Вообще-то порт работает в этой библе в бинарном режиме всегда!
Так задумано чтобы не обрабатывать всякие там символы и т.п. , т.е. что пошлете в порт - то и примете, без разницы какие там символы будут.
т.е. для драйвера порта символ будет просто рассматриваться как число в диапазоне от 0 до 255 :)

Цитировать
Какие есть соображения как установить связь в BINARY формате?
Это нужно смотреть"бинарный" протокол обмена вашего клиента. т.е его описание.


Название: Re: Формат передачи данных ASCII и BINARY
Отправлено: zalivaha от Март 17, 2010, 15:00
Уфф обрадовал!!! Т.е. возможно уже связь установлена в бинарном формате, так это здорово!!!

К великому сожалению описания "бинарного" протокола обмена нет.
Тогда как установить связь в формате ASCII?

Есть родная библиотека для работы с прибором но тока не весь функционал реализован, полная реализация библиотеки стоит неприлично дорого.
Можно ли прослушать обмен данными в разных форматах родной библиотеки с прибором? пойду погуглю.
Эх непонятки. ???


Название: Re: Формат передачи данных ASCII и BINARY
Отправлено: zalivaha от Март 19, 2010, 11:18
ИДЕЙ НЕТ?
ИДЕЙ НЕТ!


Название: Re: Формат передачи данных ASCII и BINARY
Отправлено: kuzulis от Март 19, 2010, 11:26
Непонятна суть проблемы

если проблнма в :
Цитировать
Можно ли прослушать обмен данными в разных форматах родной библиотеки с прибором? пойду погуглю.
То есть для винды программы-снифферы COM портов. Они в большинстве платные (но можно кряк найти:))

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

Гуглите.


Название: Re: Формат передачи данных ASCII и BINARY
Отправлено: zalivaha от Март 21, 2010, 16:13
Господа профессионалы помогите плиз разобраться с форматом, которые некие разработчики назвали BINARY.
протокола обмена ASCII в первом посте описан, а на бинарный нет описания.

Как его раскурить. Совсем не читабельный. марсианский пля...

Протоколы: