Перейти к содержанию
    

Bluetooth 4.0 Выбор профиля. Общий вопрос.

Всем привет.

Направьте пожалуйста в нужную сторону:

Раньше устройство передавало данные в приложение на телефоне по Bluetooth 2.0 профиль SPP
Теперь нужно сделать Bluetooth 4.0
Данные небольшие и не быстро. 
Выбрал микросхему BLUENRGQTR

Вопрос:
Какой выбрать профиль, что бы и на стороне устройства, и на стороне приложения в телефоне было меньше сложностей ?
По каким ключевым словам искать примеры?
Короче говоря, нужен пинок в правильном направлении.

Заранее спасибо !

 

 


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, MiklPolikov said:

Какой выбрать профиль, что бы и на стороне устройства, и на стороне приложения в телефоне было меньше сложностей ?
По каким ключевым словам искать примеры?

Странный выбор  BLUENRGQTR.
Там проприетарное API в бинарных либах, причем для хост контроллера.  Тут вам вряд ли кто-то поможет. Профили вручную не копают. 
Стандартный путь до недавнего времени был  использовать  Bluetooth Developer Studio, но проект закрыли.
Теперь если надо делать совместимый BLE с неконфликтующими профилями  используют  тулсы от Nordic или Silabs.
А ST тут маргинал. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У ST то ли путаница с названиями, то ли что-то не доделано на сайте.
На BLUENRGQTR документации почти нет.
Зато BlueNRG-1 сразу нашёл примеры, и вроде бы всё по-человечески.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 hours ago, AlexandrY said:

Там проприетарное API в бинарных либах, причем для хост контроллера.  Тут вам вряд ли кто-то поможет.

Правда, что-ли? А каким образом я скачал их библиотеку с API в исходниках?

И вообще, там по SPI бегает вполне стандартный протокол, описанный в спецификации блютус (в документации ST так и написано: команды такие-то - в официальной спецификации).

 

17 hours ago, AlexandrY said:

Профили вручную не копают.

Говорить за всех - крайне вредная привычка.

 

3 hours ago, MiklPolikov said:

BlueNRG-1 сразу нашёл примеры

Если лишний процессор на плате не пугает (судя по BlueNRG-1, не пугает), рекомендую нордик. У них куча примеров, и с требованиями "мне всё равно что, лишь бы байты переслать" сделать что-нибудь готовое можно очень быстро.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

41 minutes ago, esaulenka said:

Правда, что-ли? А каким образом я скачал их библиотеку с API в исходниках?

В исходниках вы там хидеры скачали.
А я больше верю ST, который ясно говорит, что либы для хост процессора поставляет только в бинарном виде.
Так что разберитесь что вы там скачали.  
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, AlexandrY said:

 Так что разберитесь что вы там скачали.  

Продажники уже сколько-то там тыщщ устройств с этим BlueNRG уже напродавали, а я так и не разобрался, что же именно скачал.

Спасибо, что открыли мне глаза.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 minutes ago, esaulenka said:

Спасибо, что открыли мне глаза.

Если вы замети, то тут речь не о вас.  Бинарные либы - это не конец жизни, просто свидетельство плохого выбора. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 minutes ago, esaulenka said:

Если ВЫ заметили, речь о том, что API BlueNRG и BlueNRG-MS полностью открыт.

Да не API нужно, а реализация библиотек GATT.  Я знаю что есть открытые стеки BLE, но просто интересно где вы нашли исходники у ST.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 hours ago, MiklPolikov said:

Теперь нужно сделать Bluetooth 4.0
Данные небольшие и не быстро. 
Выбрал микросхему BLUENRGQTR

 

Bluetooth 4.0 понятие широкое, c учетом того что BlueNRG-1 это BLE, подозреваю что вопрос о BLE ну и исходя из неточности вопроса позволю себе легкий экскурс в BLE.
Подход работы BLE отличаться от классического Bluetooth.
Таких профилей как в обычном BT в BLE по сути нет, в BLE подключение предоставляет доступ к такой сущности как характеристика, набор характеристик объединяться логической группой называемой сервисом. Вот эти вот сервисы, стандартизированы но можно создать и использовать свой custom.
Размер одной характеристики для BLE 4.0 не может превышать 20байт, кол-во характеристик ограничивается ресурсами контроллера в этом кстати один из минусов BlueNRG, там фиксированное MAX кол-во характеристик в отличии от nRF52 или EFR32, (у ST есть еще SoC BlueNRG-2, но не могу сказать о возможностях его стека) Максимальная скорость передачи данных может в разы зависеть от смартфона.

22 hours ago, MiklPolikov said:

Какой выбрать профиль, что бы и на стороне устройства, и на стороне приложения в телефоне было меньше сложностей ?

Для BLE все одинаково организовано не зависимо от набора сервисов, там нет таких проблем как с BT, если есть конект, ПО имеет доступ к характеристикам их можно читать, писать получать нотификации об изменении. Это одинаково работает как на Android так и на Iphone без всяких там танцев с лицензиями и тд.
В BLE кстати, понятие pairing стало опционально, если вам не нужно шифровать данные на уровне BLE канала, от pairing можно отказаться.

 

22 hours ago, MiklPolikov said:

По каким ключевым словам искать примеры?

Как уже было сказано, очень много простых примеров у Nordic в их SDK, при работе с BlueNRG подход для создания характеристик и передачи данных тот же но понятно, другой API. Со стороны смартфона у Nordic есть примеры для Android и Iphone


Говоря про чип BlueNRG-1(MS) вполне себе рабочая IC, но SDK(API) субъективно "грязное", есть warnings при компиляции, code style плавает, постоянно появлялись какие то нюансы, приходилось писать в поддержку...
nRF5x много приятнее, хорошая инфраструктура, любая проблема гуглиться за раз, можно купить уже в сертифицированном модуле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разговор, напомню, начался с фразы "либы для хост-контроллера бинарные".

Весь софт для хост-контроллера открыт.

Основное можно посмотреть здесь: x-cube-ble1.zip\X-CUBE-BLE1\Middlewares\ST\STM32_BlueNRG

Как скачать x-cube-ble1.zip, думаю, разберётесь.

 

Да, прошивка самого чипа закрытая. Но и у TI, и у NRF точно такой же закрытый бинарник именно ядра протокола. Silabs никогда не смотрел, не знаю.

Ну и открытый стек именно на этих BlueNRG вряд-ли кто-то сделает. Документация внутренностей отсутствует напрочь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25 minutes ago, esaulenka said:

Основное можно посмотреть здесь: x-cube-ble1.zip\X-CUBE-BLE1\Middlewares\ST\STM32_BlueNRG

У ST какая-то путаница с названиями. Помогите разобраться:  В этом архиве  библиотеки для BlueNRG-MS , но это не то же самое, что BLUENRGQTR ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

BlueNRG (order code BLUENRGQTR) и BlueNRG-MS (order code BLUNRG-MSQTR) - это, фактически, одно и то же.  Второй пришёл на смену первому (поддержка протокола 4.1, какие-то багфиксы).

Первый, кажется, уже не производят (мы три года назад (!) уже закладывали MS).

Внутри Cortex-M0 с радиоканалом и своей собственной прошивкой, снаружи SPI-slave. Верхняя часть стека должна выполняться на внешнем контроллере.

 

BlueNRG-1 и BlueNRG-2 - попытка ST'шников догнать и перегнать NRF51/52 и CC13xx. Можно написать и загрузить свой собственный софт, т.е. для простых приложений второй контроллер не нужен.

Как оно работает, не знаю, даже отладку запускать не пробовал.

Изменено пользователем esaulenka
опечатка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я кстати тупанул, пишу BlueNRG-1 думаю о BlueNRG

BlueNRG - Bluetooth® low energy wireless network processor, (Not recommended for New Design)
BlueNRG-MS Bluetooth Low Energy Network Processor supporting Bluetooth 4.1 core specification MS-MasterSlave
BlueNRG-1 Bluetooth Low Energy System On Chip(не нужен хост контроллер)
BlueNRG-2 Bluetooth® low energy wireless system-on-chip(не нужен хост контроллер)

BlueNRG-2 от BlueNRG-1 отличается большим размером флеш(256 против 160кБ), и заявлена совместимость с ядром 5.0.
Оба могут работать как master\slave

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, esaulenka said:

Да, прошивка самого чипа закрытая. Но и у TI, и у NRF точно такой же закрытый бинарник именно ядра протокола. Silabs никогда не смотрел, не знаю.

Кое что все же понимаете. 

Так вот объясняю.
Чтобы реально делать профиль с большим количеством переменных (а не стандартные никому не нужные профили) на которые могут подписаться удаленные клиенты  не тревожа хост контроллер вам нужен прямой доступ к GATT базе данных. 
Вы же за исходники приняли простые процедуры общения с закрытым от вас стеком BLE и в частности с закрытой базой данных GATT. 
Эт все равно как API сокетов принять за весь стек TCP.  
Читайте лучше мануал  стр. 23

На Nordic есть полностью открытый стек. Вот на нем и можно делать все что захочется. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...