реклама на сайте
подробности

 
 
> Универсальный формат для взаимодействия с железкой. Концепция, Поиск наиболее удобного варианта реализации протокола обмена
dotnot
сообщение Oct 30 2014, 22:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 29-05-12
Пользователь №: 72 074



Доброго! Вопрос более концептуальный чем практический (именно по системотехнике) - мне интересно не как это сделать, а как это сделать наиболее красиво, легко, понятно, правильно, удобно.
Смысл таков: есть железка с МК (кортекс М3), которая может соединятся с компом или андроидом по разным интерфейсам: usb/bluetooth/gsm-инет. Причем каждый из этих интерфейсов в конкретный момент времени используется только один. Пока еще софта ни какого особо нет. Хотелось бы придумать какой-нибудь наиболее универсальный способ или формат обмена данными чтобы его можно было с наименьшими трудо-затратами, и наименьшей кривизной реализовать поверх этих интерфейсов (то есть вообще любых байт-ориентированных интерфейсов). Раньше до этого я всегда все делал руками: придумывал единый логический формат (байты заголовка, размера, данных, црц), и его подгонял под разную физику. Такой подход работает, но меня не покидает чувство будто я что-то делаю не так и чувство брака знаний в технологиях, поэтому в начале нового проекта решил проконсультироваться с профессионалами. Может есть какие-нибудь готовые решения/стандарты/либы? Интересно узнать как это реализовывают опытные разработчики.

Сообщение отредактировал dotnot - Oct 30 2014, 22:07
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
Егоров
сообщение Oct 31 2014, 02:48
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048



Все зависит от конкретной области применения.
Далее Вам чего-то насоветуют, во многих вариантах. Но обратите внимание на факты.
Телеграфный протокол USART существует уже более сотни лет. И что, есть там единый стандарт?
Пусть не физический, но хотя бы логический? Нет, там разная длина синхросигнала, количество бит в слове, стоповых бит, методы подсчета контрольной суммы.
И то же самое по упаковке кадров. Заголовки, методы защиты от искажений, методы уплотнения и куча всего другого.
Каждый сам себе Эдисон.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 31 2014, 06:55
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(dotnot @ Oct 31 2014, 00:04) *
Хотелось бы придумать какой-нибудь наиболее универсальный способ или формат обмена данными чтобы его можно было с наименьшими трудо-затратами, и наименьшей кривизной реализовать поверх этих интерфейсов (то есть вообще любых байт-ориентированных интерфейсов).


Ни один из названных вами интерфейсов не является байт ориентированным.
Они все пакетные на физическом уровне.
Если вам они кажутся байт ориентированными значит вы уже имеете с ними дела через слой других протоколов.
И тут надо уточнять, что на самом деле не USB, а скажем виртуальный COM порт через CDC профиль, поверх USB.
Или не Bluetooth, а виртуальный COM порт через SPP профиль поверх RFCOMM.
С GSM-ом то же самое, только еще большая глубина вложенности протоколов.


И все они эмулируют байт ориентированность с разной степенью кривизны.
Через это достаточно сносно работают только очень медленные человеко-машинные протоколы типа VT100.
А протоколы IoT не должны полагаться на виртуальные COM порты, а работать на более адаптированных для специфики среды уровнях, а потому ни о какой универсальности речи быть не может.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 31 2014, 07:20
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



SCPI
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016