Что ж грустный итог, но интересный. Ничего не получиться, чтобы было прям отлично. Само устройство не отдаёт данные о себе при подключении. В реальности же, iPhone/iPad постоянно слушают BLE эфир и обновляют статус услышанных. Сообщение это слышим и мы, и даже частично понимаем, что там происходит. Первые 7 байт данных.. из 25, а дальше неизвестно, что там и как это дешифровывать. Да, основное получить можно, это заряд наушников, их статус и тд. OpenPods и caPod тоже это делают. Можно питон-скрипт запустить и услышать всё вокруг. Но есть нюанс, а точнее два:
1. Каждые 15 минут, Apple обновляет все MAC адреса всех устройств, что вещают в эфир. И этот MAC не совпадает с тем, которым устройство представляется после подключения. То есть нельзя точно понять, чьи наушники мы слышим
2. И как следствие первого, если наушники вокруг одни ещё нормально, а если кафе, офис, метро там? Так наушники если оба в ушах, выглядят, как одно устройство в сети. Если один в кейсе, а второй в ухе, в эфире 2 устройства. И если рядом будет ещё одно в той же позиции, например у обоих левый на зарядке. Мы вообще не можем понять где чей. Только крайне косвенно догадываться. Идентифицировать явно мы не имеем полноты данных.
В целом есть вопросы про коммуникацию устройств, те что выставленны для всех имеют точность 10% заряда. А между устройствами они получают точность же 1%, значит есть и второй способ связи. Шифрованная часть большая, может и индентификатор уместиться и данные 18 байт - разгуляться можно :)
Ну это было интересно, как минимум, открыл для себе опять что-то новое. Я тут ссылочек накидаю вредных и полезных по теме если интересно.
https://github.com/hexway/apple_bleee
https://github.com/furiousMAC/continuity
https://github.com/hexway/apple_bleee/blob/master/adv_airpods.py
https://github.com/bluez/bluez/issues/260
https://flathub.org/apps/org.freedesktop.Bustle
https://flathub.org/apps/org.gnome.dspy
Post #760
2.32K
ТохЫч. Не только Linux Чёт мне так понравилось расширение про показ батарейки для bluetooth, что захотелось туда и airPods затащить, в целом известно, как читать, не совсем было понятно, как это подружить с bluez и DBus. Ну это вот победил полчаса назад. А дальше нужно из caPods…

- 👍 22
- 🔥 2