Например TDA7294

Форум РадиоКот • Просмотр темы - Разработка Bluetooth приложений на модулях Silicon Labs
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс май 05, 2024 16:39:16

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 175 ]     ... , , , 8,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Чт ноя 18, 2021 14:33:38 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Ser60 писал(а):
Они уже вызываются внутри sl_system_init() в main() после конфигурации соответствующих опций проекта.


А какие опции надо выбрать? Ну т.е. я понимаю, что должна появиться папка srvices, но как это сделать?
И какой файл надо приинклюдить, в котором есть описание этой функции? В справке же вообще не шиша нету.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Чт ноя 18, 2021 15:41:40 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7219
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
открываете .slcp файл, там выбираете вкладку software components. Ну и чтобы узнать что там по умолчанию уже стояло, поставьте галочку Installed components и для сужения поиска можно сделать фильтр на "init". И если у того компонента нарисована шестерёнка, то там есть возможность каие-то параметры настроить.
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Чт ноя 18, 2021 16:31:53 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Не, подождите...Мне зачем все эти .slcp? Я всего лишь хочу средствами SDK включить тактирования ядра и периферии от RC осциллятора. Выбрать частоту и коэффициент деления прескалера. Я открываю справку
https://docs.silabs.com/gecko-platform/ ... evice-init
и понимаю, что надо вызвать функции
sl_device_init_clocks()
и
sl_device_init_hfrco()

Пока оставим за скобками, как передавать коэффициенты делителей.

Но вот печаль: при создании пустого проекта студия не добавляет файлы, в которых эти функции описаны. А справка не говорит, что надо заинклюдить. Почему?
Понять из даташита, в каком порядке производить инициализацию тактирования невозможно - не описан порядок действий, как это сделано в даташитах от TI, микрочипа...

А файла с расширением .slcp в моём проекте нет.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Чт ноя 18, 2021 17:17:58 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7219
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
У вас SS пятой версии или четвертой? Хотя по приведенному Вами скриншоту, похоже пятый. Вот эти модули добавляют в проект.

В main.c есть вызов функции sl_system_init(); она находится в
gecko_sdk_3.2.3/platform/service/system/src/sl_system_init.c и содержит
Код:
void sl_system_init(void)
{
  sl_platform_init();
  sl_driver_init();
  sl_service_init();
  sl_stack_init();
  sl_internal_app_init();
}


Вот первая функция sl_platform_init находится в каталоге autogen/sl_event_handler.c:
Код:
void sl_platform_init(void)
{
  CHIP_Init();
  sl_device_init_nvic();
  sl_device_init_dcdc();
  sl_hfxo_manager_init_hardware();
  sl_device_init_hfxo();
  sl_device_init_lfrco();
  sl_device_init_clocks();
  sl_device_init_emu();
  nvm3_initDefault();
  sl_power_manager_init();
}


И вот этот autogen генерится на основании добавленных в software components модулей. А сами функции в SDK platdorm/service...

Для уточнения, когда вы создаёте проект, какой SDK выбираете и какой шаблон? У меня, правда, опыт только в BGM220 и с EFM32GG12. Вот второй я делал с Empty C project, и всё равно, с настройкой тактовой мне возиться не пришлось...

p.s. Вы же видели кнопку "Force Generation" - она находится в slcp файле на главной вкладке.


Вернуться наверх
 
Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Чт ноя 18, 2021 22:53:07 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
parovoZZ писал(а):
Я всего лишь хочу средствами SDK включить тактирования ядра и периферии от RC осциллятора. Выбрать частоту и коэффициент деления прескалера.
Нет проблем. Если хотите сделать это без конфигуратора ресурсов, в RM на чип в разделах CMU и Oscillators всё расписано на уровне регистров. Я не знаю с каким чипом Вы работаете, но ниже мой пример инициализации. HFRCO включается чипом дефолтно во всех МК серии Gecko на дефолтной частоте (какая она зависит от модели МК и указана в RM). Например, в случае ERF32MG12 она 19 мгц. Не утверждая, что это правильный подход, ниже грубый пример для этого чипа без использования каких-либо библиотек.
Спойлер
Код:
void EMU_setup(void)
{
   EMU->PWRCFG = EMU_PWRCFG_PWRCFG_DCDCTODVDD;      // unlock DCDC registers
   EMU->DCDCMISCCTRL = 15<<16;                  // set 320mA current limit
   EMU->DCDCCLIMCTRL = 1<<13;                  // enable current limiter
   EMU->DCDCCTRL = 0;                        // bypass DCDC
   EMU->PWRCTRL = EMU_PWRCTRL_REGPWRSEL;         // power analog blocks from DVDD
}

void CMU_setup(void)
{
   CMU->OSCENCMD = CMU_OSCENCMD_LFXOEN+CMU_OSCENCMD_LFRCODIS+CMU_OSCENCMD_AUXHFRCOEN;
   while (!(CMU->STATUS & CMU_STATUS_LFXORDY)){}   // wait for LFXO stabilize
   CMU->HFCLKSEL = CMU_HFCLKSEL_HF_HFRCO;         // select 19 MHz HFRCO as clock source
   CMU->HFBUSCLKEN0 = CMU_HFBUSCLKEN0_LE;         // enable LE clock access
   CMU->LFACLKSEL = CMU_LFACLKSEL_LFA_LFXO;      // set LFXO as LFA
   CMU->LFECLKSEL = CMU_LFECLKSEL_LFE_LFXO;
}

void GPIO_setup(void)                        // configure GPIO ports
{
   CMU->HFBUSCLKEN0 |= CMU_HFBUSCLKEN0_GPIO;
   CMU->DBGCLKSEL = 1;
   (GPIO->P[3]).MODEH |= GPIO_P_MODEH_MODE8_PUSHPULL;   // red LED control
}
Или лучше на основе API из EMLIB
Спойлер
Код:
void EMU_setup(void)
{
   EMU_DCDCInit_TypeDef dcdcInit = EMU_DCDCINIT_DEFAULT;
   EMU_DCDCInit(&dcdcInit);                     // init DC/DC converter
}

void CMU_setup(void)
{
   CMU_LFXOInit_TypeDef lfxoInit = CMU_LFXOINIT_DEFAULT;
   CMU_LFXOInit(&lfxoInit);
   SystemLFXOClockSet(32768);
   CMU_ClockSelectSet(cmuClock_HF, cmuSelect_HFRCO);   // select 19 MHz HFRCO as clock source
   CMU_ClockEnable(cmuClock_HFLE, true);            // enable LE clock access
   CMU_ClockSelectSet(cmuClock_LFA, cmuSelect_LFXO);
   CMU_ClockSelectSet(cmuClock_LFE, cmuSelect_LFXO);
}

void GPIO_setup(void)                           // configure GPIO ports
{
   CMU_ClockEnable(cmuClock_GPIO, true);
   GPIO_PinModeSet(gpioPortD, 8, gpioModePushPull, 0);   // red LED control
}
Но правильнее всего будет воспользоваться конфигуратором ресурсов, как указал uldemir выше.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Сб ноя 20, 2021 22:34:33 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Никак не могу одолеть эту шайтан студию.
Создаю новый проект, добавляю в него модули. При этом в папку emusb добавляются линки на файлы из sdk. Но в папке emlib добавляется только один файл em_system.c.
Вложение:
em___trable.png [54.08 KiB]
Скачиваний: 121

В includes все пути добавились.
В таком виде студия все ссылки находит и даже компилятор что-то компилирует. Но линкер (ld.exe) в итоге ругается, что не может найти точки входа из файлов библиотеки USB. После чего студия также вываливает ошибки, что упрощает поиск, т.к. из лога ссылок нет (в отличие от IAR). Если из студии перейти по F3 на объявление функций, то студия это выполняет (удивительно). Таким образом выяснил, что не видны следующие файлы:
em_cmu.c
em_emu.c
em_timer.c

Я их тупо скопировал в папку emlib своего проекта и проект собрался.

Так вот вопрос: как средствами студии сделать так, чтобы файлы модуля emlib линковались в папку emlib проекта?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Вс ноя 21, 2021 00:55:27 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
parovoZZ писал(а):
как средствами студии сделать так, чтобы файлы модуля emlib линковались в папку emlib проекта?
Right-click на папку emlib, далее New->File. В Advanced ставим галку на Link to file..., кнопкой Browse выбираем файл и Finish.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Вс дек 19, 2021 02:59:07 
Родился
Аватар пользователя

Зарегистрирован: Вс дек 19, 2021 02:34:42
Сообщений: 2
Рейтинг сообщения: 0
Добрый день.

А с range test в Студии кто-то игрался? У меня проблема - не могу запустить range test на плате без LF кристалла.. Баг странный, т.к. визуально приложение работает, цепляюсь телефоном к устройству, задаю настройки TX, могу работать через консоль, но когда включаю передачу кадров, счетчик тикает, но приемник ничего не ловит. Если эту же прошивку заливаю на плату, где есть LF кварц, то все работает. Чип EFR32MG21.
У меня нет понимания, как правильно проинициализировать LFRCO, возможно проблема в этом.. В студии включил соответствующую настройку, но не увидел появление соотв. файла
Вложение:
SS5.JPG [156.04 KiB]
Скачиваний: 103


Также проделал данную операцию https://docs.silabs.com/bluetooth/3.1/g ... ock-source

но результата нет. В справке говорится про чип EFR32xG22, но по идее и с EFR32MG21 должно работать.

По сути, мне LFRCO не нужен, т.к. в целевом приложении сна нет, но я так понимаю для запуска теста дальности, т.к. это Bluetooth пример, то сон в коде обязателен.

Может натолкнете на мысли, куда копать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Чт дек 23, 2021 02:56:42 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
В справке говорится про чип EFR32xG22, но по идее и с EFR32MG21 должно работать.
Не должно, поскольку в отличии от BG22 у MG21 низкочастотный RC генератор не имеет режима precision с калибровкой от HFXO, и его точность не достаточна во многих случаях для нужд Bluetooth стека. В этой модели нечего конфигурировать для LFRCO, поэтому соответствующий хедер не появляется в проекте. Но если захотите использовать LFRCO, то нужно будет руками поменять выбор его в sl_device_init_clocks(), как в справке написано. С какими-то приложениями и будет работать, но не факт, что с Bluetooth.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Вс янв 02, 2022 20:47:44 
Родился
Аватар пользователя

Зарегистрирован: Вс дек 19, 2021 02:34:42
Сообщений: 2
Рейтинг сообщения: 0
Спасибо за ответ. В моем случае приложение Range Test заработало. Попробовал повторно, и все получилось, почему до этого не получалось, не знаю. Не раз замечал, что иногда не компилируется правильно прошивка, но после закрытия и повторного открытия SS все начинает компилиться. Особенно это выражено, когда комп много раз засыпает и работает без выключения несколько дней. Речь про Windows, на Маках говорят лучше работает. Никто подобные странности SS под Win не замечал?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Пн янв 03, 2022 04:38:52 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Поздравляю! Я свой комп вообще не выключаю месяцами, только в сон помещаю. Studio на нём работает без сбоев стабильно. Проблем, что Вы описали, не наблюдал.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Ср апр 27, 2022 04:25:54 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 4
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Silicon Labs организует серию воркшопов с упражнениями и лабами, посвящённую новейшему семейству SoC xG24, предназначенного для разработки приложений Bluetooth/Matter/OpenThread/Zigbee/Mesh. Для участия требуется регистрация. Зарегистрированным участникам фирма обещает прислать бесплатно демо-плату BRD2601B, см. вводный вебинар по ней. Я свою плату получил сегодня. Понимаю, что отсылка плат участникам из России на настоящий момент может быть пока неактуальной, но для заинтересованных коллег из ближнего зарубежья вполне.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Ср май 04, 2022 13:19:51 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7219
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Глупый вопрос... а чего этот модуль такой внезапно дорогой? на маузере 74 евро! Сам кристалл, даже поштучно, меньше десятки.

Да и странные эти модули. Ну почему, они на breakout соединители выводят те пины, что уже подключены к периферии на самой плате! Я так надеялся, что смогу найти применение для себя этого AI/ML, но... реально ничего к этой плате дополнительно подключить нельзя. Даже набортные кнопки и светодиоды шарятся с этими контактами.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Ср май 04, 2022 18:50:26 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Да, действительно, цена изуверская. Обязательно спрошу их при случае. К сожалению, не смог присутствовать на вчерашнем вебинаре по xG24/Matter, а то спросил-бы там. Могу предположить, что цена высокая частично из-за того, что ML сейчас - это super hot topic. Все с ним буквально с ума посходили, а эта плата замечательно подходит для прототипирования ML приложений, в частности из-за огромного объёма флеша и богатым выбором сенсоров на плате, и в придачу чипа с огромной внешней флеш-памятью. Я занимался ML зимой на старой плате Thunderboard Sense 2 и очень впечатлён как эта тема интегрирована в Studio.

То, что пины на внешнем коннекторе общие с сенсорами не беда, т.к. для каждого сенсора имеется возможность отключить от него пины МК и управляющие сигналы для этих коммутаторов не выведены на внешний коннектор. Зато для большинства ML приложений можно обойтись имеющийся на плате периферией и не нужно подпаивать ещё что-то к ней.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Пн июл 25, 2022 22:35:25 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Для текущей конструкции мне срочно понадобился Bluetooth модуль. К сожалению, при нынешнем дефиците изделий электроники найти его в продаже не представилось возможным. И хотя дистрибюьторы фирмы обещают возобновление их продаж уже в сентябре этого года, модуль мне нужен был прямо сейчас. Кроме того, я давно хотел попробовать изготовить модуль из "рассыпухи". К счатью, сами чипы модуля, включая необходимые пассивные элементы, имеются в продаже в избытке прямо сейчас. И наконец, мне достаточно было Bluetooth чипа с минимальным числом выводов в корпусе QFN32, поскольку в большинстве моих конструкций используется лишь малая часть выводов фабричных модулей, выполненных, кстати, на основе чипов в корпусах с 40 выводами. Сказано - сделано. Тестовый вариант модуля, показанный ниже, выполнен на двусторонней плате, нижняя сторона которой используется исключительно в качестве земли. Не заморачиваясь изготовлением дорожек на обратной стороне платы для тестового варианта, я реализовал несколько неразведённых соединений проволочными перемычками на самодельной плате, выполненной по технологии ЛУТ.
СпойлерИзображение
Хотя геометрия модуля выполнена по образу и подобию промышленных плат, я не претендую на оптимальность согласования антенны с чипом. Интересно было проверить работу модуля в реальных условиях. Для этого я собрал тестовое приложение Bluetooth сервера и выставил модуль на веранде дома. Сам-же пробовал соединится с модулем из разных точек в округе. Ниже привожу результат связи модуля с со старым телефоном Samsung Galaxy S8, который, кстати, не предназначен для установления дальней Bluetоoth связи.
СпойлерИзображение
И хотя далеко не для всех устройств требуется Bluetooth связь с ними на большом расстоянии, как видно из картинки, связь в условиях отсутствия прямой видимости при мощности модуля +8dBm оказалась устойчивой на расстоянии 143м при старой версии Bluetooth-4 (этот телефон не поддерживает Coded PHY версии Bluetooth-5, при котором возможна гораздо большая дальность связи). При использовании фабричного модуля связь с ним возможна на расстояниях того же порядка.

Стоимость самых "дорогих" компонентов модуля (чип + антенна + 2 кварца) по сегодняшним ценам составляет около $7 против цены фабричного модуля в $11. Разница и такая-уж сушественная и делать свой модуль лишь для экономии пары долларов не имеет смысла. Однако, теперь я смогу лучше интегрировать Bluetooth в свои малогабаритные устройства без "платы (модуля) на плате (устройства)". Благодаря воодушевившим меня результатам тестирования, сейчас разрабатываю реальное устройство также на отдельном Bluetоoth чипе. В нём перерабатываю прототип разводки платы под использование деталей минимального размера 0402, которые паять паяльником гораздо проще, чем 0201 на тестовом модуле (печи у меня дома нет).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Пт ноя 11, 2022 07:00:29 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7219
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вопрос по секюрности. Есть устройство без кнопок, дисплея и светодиодов. Хочу сделать безопасное подключение с авторизацией и бондингом. Т.е. на корпусе пишу число - типа passkey и считаю что это устройство инициатор с sl_bt_sm_io_capability_displayonly. Но оказалось, что в этом случае происходит событие sl_bt_evt_sm_passkey_display_id, которое хочет показать свой passkey и ожидает от респондера его же. Можно ли в каком-нибудь режиме сделать так, чтобы валидировался по passkey заранее прописанному и происходило событие sl_bt_evt_sm_confirm_passkey_id. Но как я вычитал, это событие происходит только при типе авторизации numeric comparison и не могу представить сценарий как это применить.

Хм, вообще не вижу как получить число что вводит клиент при авторизации, чтобы самому сказать правильное или нет. Похоже, что стек его в юзеровскую программу не выпускает совсем.

В принципе, устроил бы вариант, Initiator Input & Responder Input - но этот вариант работает, только если оба устройтва KeyboardOnly, что в случае респондера EFR Connect не так.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Сб ноя 12, 2022 19:32:42 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Статью мою читали? Если у ответчика нет средств ввода/вывода, то единственный возможный алгоритм в плане безопасности - это Just Works. При этом идентификация инициатора невозможна и спаривание заключается в обмене ключей шифрования и передаче соответствующих данных в зашифрованном виде.

Для повышения уровня безопасности можно в настройках SM указать запрет на новые бондинги и разрешить соединение только со спаренными ранее клиентами. Обычно я для этих целей использую кнопку, состояние которой проверяется при ресете и если она нажата, то стереть все старые бондинги и разрешить новые. Если кнопки нет, то можно ввести в профиль сервера характеристику типа Lock, управляемую клиентом. Как только клиент запишет 1 в неё, то запретить новые бондинги и т.п. как указано выше и записать эту переменную в NVM, состояние которой будет проверяться при ресете вместо кнопки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Пт янв 06, 2023 08:00:38 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Двумя сообщениями выше я писал про свой первый опыт конструирования Bluetooth модуля на основе радио-чипа и дискретных компонентов. Тогда это была скорее необходимость из-за ковидного дефицита готовых модулей, которая с тех времён во многом уже разрешилась. Для своего нового проекта я решил попробовать SIP (System-In-Package) модуль семейства BGM220SC. В корпус размером 6х6 мм фурма Silicon Labs ухитрилась разместить не только сам радио-чип, но и всю пассивную обвязку, включая РЧ кристалл, дроссель DC/DC конвертера, балун сопряжения с антенной, и даже саму антенну. На плате помимо него следует установить лишь часовой кристалл (опционально), и вытравить специальную конфигурацию земляного контура как часть согласования с антенной. Все размеры контура имеются в ДШ. Извиняюсь за качество снимка, получилось немного не в фокусе.
СпойлерИзображение
Загрузил в него тестовое приложение bluetooth_soc_empty из Simplicity Studio, всё работает на ура. Максимальная мощность этой модели модуля 0 dBm, что достаточно моему приложению для связи в пределах жилой комнаты. Такое решение оптимально, если требуется небольшой радиус связи наряду с минимальными размерами устройства. Как руки дойдут, поставлю на следющую плату аналогичный модуль с выходной мощностью +6 dBm, тогда и на дальность связи будет иметь смысл его протестировать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Пт янв 06, 2023 11:50:16 
Друг Кота
Аватар пользователя

Карма: 19
Рейтинг сообщений: 491
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 3099
Рейтинг сообщения: 0
Глупый вопрос... а чего этот модуль такой внезапно дорогой? на маузере 74 евро! Сам кристалл, даже поштучно, меньше десятки.

Да и странные эти модули. Ну почему, они на breakout соединители выводят те пины, что уже подключены к периферии на самой плате! Я так надеялся, что смогу найти применение для себя этого AI/ML, но... реально ничего к этой плате дополнительно подключить нельзя. Даже набортные кнопки и светодиоды шарятся с этими контактами.

Десятка баксов за чип??? Только ради банальной передачи данных по Bluetooth? Разве не существует дешевых китайских аналогов?

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разработка Bluetooth приложений на модулях Silicon Labs
СообщениеДобавлено: Пт янв 06, 2023 16:31:30 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Дешевых китайских аналогов такого модуля с похожими характеристиками и настолько продвинутой средой разработки не существует. В нём имеется не только "банальный" Bluetooth трансивер, но и куча весьма неплохой периферии как у качественного микроконтроллера, что позволяет выполнять программу пользователя и разработать все устройство на основе одного такого чипа. К тому-же, по современным ценам $10 в розницу за такой модуль даже для любительских поделок совсем не дорого и доступно широкому кругу любителей.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 175 ]     ... , , , 8,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y