Я хочу создать простой протокол ответа на запрос, чтобы аутентифицировать пользователя на Arduino через смартфон (Android и iOS) с использованием BLE. У меня проблемы с тем, как это будет реализовано с помощью BLE. То, что я хочу сделать:Проверка подлинности смартфона BLE
- Arduino отправляет/транслирует вызов
- смартфон получает вызов и вычисляет ответ
- Smarpthone посылает ответ на Arduino
, как я думал о реализации этой цели является при запуске кнопки Arduino (периферийная и серверная) начнет рекламу. В идеале событие будет срабатывать на смартфоне (центральном и клиентском) при появлении определенного сервиса. Затем смартфон подключается к Arduino, считывает характеристику вызова и записывает ответ на него. Это хороший подход?
Похоже, что невозможно вызвать событие при появлении службы BLE, и мне постоянно нужно будет сканировать смартфон, который очень интенсивен. Не знаете, как обойти это? Geofencing на самом деле не вариант, поскольку он может быть внутри. Может быть, обнаруживает, что пользователь идет, ездя на велосипеде, стоя на месте? Любые предложения приветствуются =).
Вы прочитали основной раздел руководства по режиму программирования Bluetooth от Apple? В нем описывается сценарий, когда после обнаружения периферии вы можете выполнить операцию «connect». Если периферийное устройство в настоящее время не видно, соединение будет завершено позднее, когда периферийное устройство станет видимым.Я предполагаю, что у Android будет что-то подобное – Paulw11
OP, похоже, никто не понял ваш вопрос. Вы когда-либо реализовали протокол BLE и ответ? У меня есть та же самая потребность, я хочу, чтобы BLE занимался проблемой для периферии при подключении. Периферийное устройство должно вычислить ответ, а затем записать его обратно в центральный. Затем центральный должен проверить, действительно ли ответ действителен, прежде чем продолжить. Возможно, простой общий ключ будет работать, но не уверен, насколько легко было бы декомпилировать приложение iOS и открыть общий ключ. – user1689158