MiklPolikov 0 31 марта, 2019 Опубликовано 31 марта, 2019 · Жалоба Всем привет. Направьте пожалуйста в нужную сторону: Раньше устройство передавало данные в приложение на телефоне по Bluetooth 2.0 профиль SPP Теперь нужно сделать Bluetooth 4.0 Данные небольшие и не быстро. Выбрал микросхему BLUENRGQTR Вопрос: Какой выбрать профиль, что бы и на стороне устройства, и на стороне приложения в телефоне было меньше сложностей ? По каким ключевым словам искать примеры? Короче говоря, нужен пинок в правильном направлении. Заранее спасибо ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 31 марта, 2019 Опубликовано 31 марта, 2019 · Жалоба 2 hours ago, MiklPolikov said: Какой выбрать профиль, что бы и на стороне устройства, и на стороне приложения в телефоне было меньше сложностей ? По каким ключевым словам искать примеры? Странный выбор BLUENRGQTR. Там проприетарное API в бинарных либах, причем для хост контроллера. Тут вам вряд ли кто-то поможет. Профили вручную не копают. Стандартный путь до недавнего времени был использовать Bluetooth Developer Studio, но проект закрыли. Теперь если надо делать совместимый BLE с неконфликтующими профилями используют тулсы от Nordic или Silabs. А ST тут маргинал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба У ST то ли путаница с названиями, то ли что-то не доделано на сайте. На BLUENRGQTR документации почти нет. Зато BlueNRG-1 сразу нашёл примеры, и вроде бы всё по-человечески. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 17 hours ago, AlexandrY said: Там проприетарное API в бинарных либах, причем для хост контроллера. Тут вам вряд ли кто-то поможет. Правда, что-ли? А каким образом я скачал их библиотеку с API в исходниках? И вообще, там по SPI бегает вполне стандартный протокол, описанный в спецификации блютус (в документации ST так и написано: команды такие-то - в официальной спецификации). 17 hours ago, AlexandrY said: Профили вручную не копают. Говорить за всех - крайне вредная привычка. 3 hours ago, MiklPolikov said: BlueNRG-1 сразу нашёл примеры Если лишний процессор на плате не пугает (судя по BlueNRG-1, не пугает), рекомендую нордик. У них куча примеров, и с требованиями "мне всё равно что, лишь бы байты переслать" сделать что-нибудь готовое можно очень быстро. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 41 minutes ago, esaulenka said: Правда, что-ли? А каким образом я скачал их библиотеку с API в исходниках? В исходниках вы там хидеры скачали. А я больше верю ST, который ясно говорит, что либы для хост процессора поставляет только в бинарном виде. Так что разберитесь что вы там скачали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 1 minute ago, AlexandrY said: Так что разберитесь что вы там скачали. Продажники уже сколько-то там тыщщ устройств с этим BlueNRG уже напродавали, а я так и не разобрался, что же именно скачал. Спасибо, что открыли мне глаза. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 21 minutes ago, esaulenka said: Спасибо, что открыли мне глаза. Если вы замети, то тут речь не о вас. Бинарные либы - это не конец жизни, просто свидетельство плохого выбора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба Если ВЫ заметили, речь о том, что API BlueNRG и BlueNRG-MS полностью открыт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 18 minutes ago, esaulenka said: Если ВЫ заметили, речь о том, что API BlueNRG и BlueNRG-MS полностью открыт. Да не API нужно, а реализация библиотек GATT. Я знаю что есть открытые стеки BLE, но просто интересно где вы нашли исходники у ST. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integro 0 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 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 много приятнее, хорошая инфраструктура, любая проблема гуглиться за раз, можно купить уже в сертифицированном модуле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба Разговор, напомню, начался с фразы "либы для хост-контроллера бинарные". Весь софт для хост-контроллера открыт. Основное можно посмотреть здесь: x-cube-ble1.zip\X-CUBE-BLE1\Middlewares\ST\STM32_BlueNRG Как скачать x-cube-ble1.zip, думаю, разберётесь. Да, прошивка самого чипа закрытая. Но и у TI, и у NRF точно такой же закрытый бинарник именно ядра протокола. Silabs никогда не смотрел, не знаю. Ну и открытый стек именно на этих BlueNRG вряд-ли кто-то сделает. Документация внутренностей отсутствует напрочь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 25 minutes ago, esaulenka said: Основное можно посмотреть здесь: x-cube-ble1.zip\X-CUBE-BLE1\Middlewares\ST\STM32_BlueNRG У ST какая-то путаница с названиями. Помогите разобраться: В этом архиве библиотеки для BlueNRG-MS , но это не то же самое, что BLUENRGQTR ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 1 апреля, 2019 Опубликовано 1 апреля, 2019 (изменено) · Жалоба 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. Можно написать и загрузить свой собственный софт, т.е. для простых приложений второй контроллер не нужен. Как оно работает, не знаю, даже отладку запускать не пробовал. Изменено 1 апреля, 2019 пользователем esaulenka опечатка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integro 0 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба Я кстати тупанул, пишу BlueNRG-1 думаю о BlueNRGBlueNRG - 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-MasterSlaveBlueNRG-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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 4 hours ago, esaulenka said: Да, прошивка самого чипа закрытая. Но и у TI, и у NRF точно такой же закрытый бинарник именно ядра протокола. Silabs никогда не смотрел, не знаю. Кое что все же понимаете. Так вот объясняю. Чтобы реально делать профиль с большим количеством переменных (а не стандартные никому не нужные профили) на которые могут подписаться удаленные клиенты не тревожа хост контроллер вам нужен прямой доступ к GATT базе данных. Вы же за исходники приняли простые процедуры общения с закрытым от вас стеком BLE и в частности с закрытой базой данных GATT. Эт все равно как API сокетов принять за весь стек TCP. Читайте лучше мануал стр. 23 На Nordic есть полностью открытый стек. Вот на нем и можно делать все что захочется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться