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

 
 
> передача данных по одному байту по блютус, нужен ли протокол?
Zelepuk
сообщение Feb 24 2014, 18:56
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464



Задался вопросом:
если я хочу передавать простые команды по 1 байту от телефона в моё устройство (микроконтроллер+блютус модуль), нужен ли протокол с контролем целосности данных? или можно просто так слать/принимать. Данные по 1 байту и всего возможно всего 10 различных байт (10 команд)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adnega
сообщение Feb 24 2014, 19:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Zelepuk @ Feb 24 2014, 22:56) *
Задался вопросом:
если я хочу передавать простые команды по 1 байту от телефона в моё устройство (микроконтроллер+блютус модуль), нужен ли протокол с контролем целосности данных? или можно просто так слать/принимать. Данные по 1 байту и всего возможно всего 10 различных байт (10 команд)

Вот хорошие 14 команд с контролем целостности: 0x11, 0x22, 0x33... 0xEE.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Feb 25 2014, 18:04
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(adnega @ Feb 24 2014, 23:50) *
Вот хорошие 14 команд с контролем целостности: 0x11, 0x22, 0x33... 0xEE.


Надо брать команды с максимальным расстоянием Хемминга.
http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%...%BD%D0%B3%D0%B0



Цитата(MK2 @ Feb 25 2014, 17:40) *
Работая с модулями HC-05, заметил такую вещь:
при разрыве соединения с платкой, данные на UART в блютуз модуль HC все равно слались в цикле. потом при восстановлении подключения эти данные все равно доходили в правильном порядке!
Т.е. достоверность приема так же есть в протоколе BlueTooth? или так просто реализован стэк в этом модуле?


Блутуз имеет два вида соединения один надежный SCO (connection oriented) и используется для передачи данных, а другой ACL (connection less) используется для потоковых соединений как например аудио или видео. Точно как TCP и UDP.
Имея возможность программировать апликацию внутру чипа CSR вы можете выбрать любой из них для соединения.
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 26 2014, 07:28
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Tarbal @ Feb 25 2014, 22:04) *
Надо брать команды с максимальным расстоянием Хемминга.

Согласен, это первое что мне пришло в голову когда сказали "обоснуй".
Потом подумал, решил что в последовательном канале нужно скорее защищать от сдвига байна на один бит из-за рассинхронизации.
В итоге решил, что в BT все давным-давно сделано и лучше если команды будут наглядными для пользователя: буквы 'w' - записать,
'r' - считать, 'f' - выключить, 'o' - включить и т.п. - в терминалке отлаживать проще будет. И не стал писать)
Go to the top of the page
 
+Quote Post



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

 


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


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