#android #bluetooth #mobile-development #xiaomi
#Android #bluetooth #мобильная разработка #xiaomi
Вопрос:
Я хочу подключиться к приложению Mi Fit таким же образом, как Notify для Mi Band. В этом приложении есть два варианта подключения к Mi Band. Для первого, который подключается к нему, требуется токен авторизации от freemyband, и, возможно, для этого также необходимо установить рутированный телефон / пользовательское приложение Mi Fit. Я понимаю этот метод, но есть возможность подключиться к Mi Band через приложение Mi Fit, для которого требуется его запущенный экземпляр, и ему не нужен рутированный телефон.
Мой вопрос в том, как я могу подключиться к Smart Band через приложение Mi Fit?
Ответ №1:
Во-первых, я нашел хорошо документированный неофициальный SDK для Mi Band — я на самом деле не пробовал его и поэтому не буду вдаваться в подробности этого варианта. Для полноты картины я решил включить это в этот ответ.
Xiaomi, компания, стоящая за Mi Band, имеет SDK для Android (а также iOS). Он был выпущен в 2015 году и, согласно нескольким онлайн-отчетам, похоже, все еще работает. К сожалению, он доступен только на упрощенном китайском языке, хотя при использовании хорошего программного обеспечения для перевода вы сможете его прочитать.
В разделе часто задаваемых вопросов они также включают два варианта контактов на случай, если у вас возникнут какие-либо вопросы, например, адрес электронной почты, DevFit@xiaomi.com
имя и идентификатор группы Tencent QQ: 385428920
. Для справки вот переведенная версия:
Если у вас возникнут какие-либо проблемы во время интеграции, пожалуйста, свяжитесь с нами: DevFit@xiaomi.com . Вы также можете добавить группу QQ: 385428920, в группе будут инженеры, которые ответят на ваши вопросы.
Упомянутый SDK содержит огромное разнообразие доступных точек данных, таких как TYPE_BODY_FAT_PERCENTAGE
, TYPE_HEART_RATE_BPM
, TYPE_SPEED
и многие другие. Все хорошо документировано и объяснено, какой тип данных вы получите, как вы можете его запросить. (см. 2. Основные понятия и 3. Формат данных).
После дальнейших поисков я нашел обновленную документацию от сентября 2020 года. Вся документация написана на китайском языке, хотя включает в себя весь процесс от создания учетной записи и проверки до публикации приложения, которое запрашивает, например, информацию от Mi Band.
Это не означает, что другие приведенные выше варианты не работают — это просто обновленная версия, поэтому я настоятельно рекомендую проверить и оценить различные возможности, чтобы найти правильное решение проблемы — многие дороги ведут в Рим.
Комментарии:
1. Спасибо за ваш ответ! Я уже пробовал первый, о котором вы упомянули, насколько я помню, это был простой клиент Bluetooth LE, считывающий данные с помощью GATT. С небольшой модификацией я смог считывать данные с Mi Band, но моя проблема в том, что это просто считывает данные в реальном времени, и вы не можете получить доступ к историческим данным и данным сна. Я также видел второй SDK, но он показался мне устаревшим, поэтому я не стал его пробовать. Я вернусь, если у меня будут какие-то результаты с этим SDK. Еще раз спасибо за вашу помощь!
2. @Norbert Держите меня в курсе! Проводя свое исследование, я также заглянул на Github от Xiaomi — там много репозиториев (хотя, к сожалению, я китаец); возможно, стоит взглянуть и на них (я проверил их, но на первый взгляд ничего не смог найти).
3. @Norbert Я нашел обновленный API! Очевидно, что вся их страница на китайском языке, хотя, просмотрев документацию, которая была обновлена в сентябре 2020 года, я нашел полезную информацию , например, как запросить учетную запись разработчика, с какими разрешениями и так далее. Я обновлю свой ответ.
4. О, ничего себе! Спасибо! Я проверю документацию. Я надеюсь, что смогу прочитать его с помощью Google Translate.
Ответ №2:
В новейшей версии приложения Mi Fit (которую вы получаете из магазина Android Google Play Store или iOS App Store) возникают проблемы при аутентификации для подключения к любому устройству Mi Band (я не могу точно вспомнить проблему, но она, по сути, создала своего рода неизбежную петлю. Приложение попросит вас ввести код аутентификации с дисплея вашего устройства Mi Band, но когда появится диалоговое окно для ввода кода, также появится окно с ошибкой, которое не позволит вам ввести код и заставит вас повторно создать новый код аутентификации, после чего произойдет то же самое.)
Простое решение этой проблемы — загрузить более старый SDK Mi Band. новейшая версия, которая все еще работает, — 4.0.15. Вы можете просто погуглить «Mi Fit 4.0.15» или просто нажать на эту ссылку (https://www.apkmirror.com/apk/anhui-huami-information-technology-co-ltd/mi-fit/mi-fit-4-0-15-release) , хотя, по моему опыту, не все сайты работали для загрузки. Перейдите по ссылке на своем мобильном телефоне, а затем сопряжение устройства Mi Band должно быть относительно простым.
Комментарии:
1. Извините, но я думаю, что мой вопрос был неоднозначным. Мой вопрос касался разработки приложения (на Java, Kotlin и т. Д.), Которое подключается к приложению Mi Fit и синхронизирует данные.
2. Я прошу прощения. Я оставлю свои ответы здесь для нуждающихся прохожих.