кстати не совсем так, именно у esp32 есть некоторая магия по пробросу HCI сразу на uart, можно посмотреть пример controller_hci_uart_esp32, работает только на изначальной esp32. можно сделать такое и через usb, превратив более новые esp32 в практически стандартный bt usb адаптер. но нужна прошивка.
в этой презентации немало непрозрачных моментов. в приведенном примере hci команды шлются, но они волне стандартные и очень большой вопрос - куда и как вообще они шлются. судя по приложенным исходникам через libusb цепляется некий wireless адаптер, причем не это esp32 как таковой
класс LIBUSB_CLASS_WIRELESS имеют bluetooth адаптеры (не все), а вот у esp32 по умолчанию другой класс, т.е. софт от хацкеров usbbt esp32 по умолчанию не увидит, собcтвенно это запускается и проверятся
а они скромно так умолчали. явно они только берут готовые либы, которые вообще отдельно от idf и склеивают их в .elf Но даже не прошивают, а только дизасамблируют. но поскольку дальше идет общение через libusb ... вопрос только с чем (см. ниже)
esp32 проще как в начальном так и продвинутом изучении, начиная с 5 строек в arduino. и далее. хотя есть и косяки и неочевидные вещи, но на них часто можно нагулить решение.
в nordiс, скажем nrf52 можно максимально глубоко влезть, настолько что далеко всем надо, и вот для этого документация пригодиться, но простых примеров rкакто поменьше будет, даже начиная c arduino. а wifi - вообще отдельная история.
сейчас еще rtl8720 потихоньку набирает - там есть wifi 5ГГц
дизасмят они как раз блоб для общения с hci он распростарнаняется в виде библиотеки .a карта памяти для дизасминга поллезна. сишарп запускают на компе, он через обертку к libusb имеет воможность отправлять команды hci (самый интерес как это работает). обертки есть так же и для обычного c и python
кстати в блобы это запихивают еще и потому что некоторый код для реализации стандарта например bluettoth должен быть сделан строго "по линеечке" чтобы получить сертификацию на стандарт. что собственно не мешает делать авторам btstack и не только пользоватся командами hci, а изучателям блобов находить недокументированые команды. даже странно что раньше не нашли - некоторые исследователи неплохо esp32 подизасамблиоровали.
идея не новая. помню, рекламировали небольшой шкафчик для нескольких айфонов, чтобы на них аж серверный кластер поднимать. и где же все эти датацентры из старых телефонов...
еще один момент - регулярно вcвстречаются (втречались? ситуация изменилась?) те или иные накрутки видимые невооруженным (всем кроме организаторов). это уже вроде классика, но все еще находятся желающие получить жирный приз в конкурсе.
эта верхушка представляет собой всего около 5% от общего объёма контента, доступного в интернете. Всё остальное находится в глубокой (Deep Web) или тёмной (Dark Web) сети.
примерно 90% всех веб‑сайтов находятся в глубокой паутине
тёмная паутина составляет исчезающе малую часть Всемирной паутины, возможно, менее 0,01% от всего айсберга
тут я прямо умилился, напомнило времена когда все приходилось "добывать". UUID "6e400001-b5a3-f393-e0a9-e50e24dcca9e" это изобретение uart именно от nordic, и софт от этой фирмы для android довольно неплох
в "оригинальной концепции" bluetooth, а точнее все таки bluetooth le - эти вещи должны бы передаваться как отдельные характеристики GATT, их там куча стандартных есть,и шифрование всякое есть, но все производители лепят свою отсебятину и любят использовать привычный UART
а он их просто "забывает" или хранит с 2016 года, чтобы достать когда кому то очень понадобиться ;)
кстати не совсем так, именно у esp32 есть некоторая магия по пробросу HCI сразу на uart, можно посмотреть пример controller_hci_uart_esp32, работает только на изначальной esp32. можно сделать такое и через usb, превратив более новые esp32 в практически стандартный bt usb адаптер. но нужна прошивка.
вот когда это в ФЗ пропишут тогда будет считаться
условие 2 со звездочкой: иметь способ доказать любопытным злодеям что пароль вы дейcтвительно не знаете
в этой презентации немало непрозрачных моментов. в приведенном примере hci команды шлются, но они волне стандартные и очень большой вопрос - куда и как вообще они шлются. судя по приложенным исходникам через libusb цепляется некий wireless адаптер, причем не это esp32 как таковой
это любопытно, теперь бы еще понять причем тут импортозамещение
ок круто, мы умеем передавать hci команды без драйверов на bt адаптер, мы их даже подаем, а причем здесь esp32?
я тут покопался в исходниках, libusb похоже должно обращаться не к esp32 а к некоторому bluetooth адаптеру, идентификация у него такая
класс LIBUSB_CLASS_WIRELESS имеют bluetooth адаптеры (не все), а вот у esp32 по умолчанию другой класс, т.е. софт от хацкеров usbbt esp32 по умолчанию не увидит, собcтвенно это запускается и проверятся
а они скромно так умолчали. явно они только берут готовые либы, которые вообще отдельно от idf и склеивают их в .elf Но даже не прошивают, а только дизасамблируют. но поскольку дальше идет общение через libusb ... вопрос только с чем (см. ниже)
nordic похоже можно без блоба.
esp32 проще как в начальном так и продвинутом изучении, начиная с 5 строек в arduino. и далее. хотя есть и косяки и неочевидные вещи, но на них часто можно нагулить решение.
в nordiс, скажем nrf52 можно максимально глубоко влезть, настолько что далеко всем надо, и вот для этого документация пригодиться, но простых примеров rкакто поменьше будет, даже начиная c arduino. а wifi - вообще отдельная история.
сейчас еще rtl8720 потихоньку набирает - там есть wifi 5ГГц
это хитрый замысел. хакеры похищают "безценые" данные терабайтами, а потом оказывается что это мусор, никому не надо
дизасмят они как раз блоб для общения с hci он распростарнаняется в виде библиотеки .a карта памяти для дизасминга поллезна. сишарп запускают на компе, он через обертку к libusb имеет воможность отправлять команды hci (самый интерес как это работает). обертки есть так же и для обычного c и python
кстати в блобы это запихивают еще и потому что некоторый код для реализации стандарта например bluettoth должен быть сделан строго "по линеечке" чтобы получить сертификацию на стандарт. что собственно не мешает делать авторам btstack и не только пользоватся командами hci, а изучателям блобов находить недокументированые команды. даже странно что раньше не нашли - некоторые исследователи неплохо esp32 подизасамблиоровали.
когда то давно на хабре была история как разрабатывали в производство такой чайник со всеми граблями
идея не новая. помню, рекламировали небольшой шкафчик для нескольких айфонов, чтобы на них аж серверный кластер поднимать. и где же все эти датацентры из старых телефонов...
еще один момент - регулярно вcвстречаются (втречались? ситуация изменилась?) те или иные накрутки видимые невооруженным (всем кроме организаторов). это уже вроде классика, но все еще находятся желающие получить жирный приз в конкурсе.
Странная математика вижу тут.
протоколы некоторых чайников популярных производителей довольно подробно разобрали и понаделали типа такого https://github.com/alutov/ESP32-R4sGate-for-Redmond не в html конечно но инфа есть.
тут я прямо умилился, напомнило времена когда все приходилось "добывать". UUID "6e400001-b5a3-f393-e0a9-e50e24dcca9e" это изобретение uart именно от nordic, и софт от этой фирмы для android довольно неплох
в "оригинальной концепции" bluetooth, а точнее все таки bluetooth le - эти вещи должны бы передаваться как отдельные характеристики GATT, их там куча стандартных есть,и шифрование всякое есть, но все производители лепят свою отсебятину и любят использовать привычный UART
в экосистемах сяоми и туя по email выдает ключи шифрования и привязывает устройство. т.е. лепит отсебятину в разрезе bluetooth
temp mail они пока еще не фильтруют, но есть уже и такие случаи..