Автоопределение появления телефона в зоне действия блютуза.
- Войдите на сайт для отправки комментариев
Всем привет!
Делаю различные устройства с управлением по блютузу. Проще всего установить на телефон приложение и через него обмениваться данными или командами. Блютуз модули использую разные, как HC-06 так и HM-10. Вторые более универсальные. Решил сделать автооткрывание замка. Идея такая: как только телефон появляется в зоне действия блютуз модуля то и сделать какое-то действие, на пример открыть замок. При этом телефон не доставать, не разблокировать, вообще ничего с ним не делать, а просто оказаться в зоне действия блютуз модуля. Ардуино сама должна определить появление телефона. Вот только как это реализовать - не имею понятия. Может это уже делали и есть готовое решение. В Гугле ничего не нашел по этому поводу. Может у вас есть какие-то идеи на этот счет?
https://4pda.ru/forum/index.php?showtopic=525361
Задачу определения присутствия/отсутствия устройств я тоже начинал с BlueТooth, затем остановился на простеньком Wi-Fi сниффере на ESP8266. (BT не устроил недостаточной дальностью обнаружения и необходимостью держать его постоянно включенным на смартфонах.)
Сниффер был реализован по мотивам https://github.com/skickar/FriendDetector
И, кстати, подумываю о том, чтобы на досуге дополнить его функцией intruder detection для домашнего Wi-Fi.
Например - Вы можете периодически сканировать эфир на предмет появления "своего" аппарата. Не помню только - они MAC светят или что-то другое... Но, полагаю, что понимаете - такие способы являются потенциальной брешью в защите. Тут нужно что-то посильнее наворачивать с шифрованной сессией, обменом паролями, Alice & Bob и всё такое. Ардуине это наврядли удастся потянуть.
Тоже бился над этой проблемой, правда на модуле SIM800C, так ничего и не добился. Чтобы определить что "своё" устройство появилось в радиусе, есть два варианта:
1. постоянно "нюхать" окружение AT+BTSCAN
2. постоянно пытаться законнектиться к спаренному устройству AT+BTCONNECT
И то и другое отправляет модуль в длительный накаут, и ничего другого он обрабатывать не может. Т.е. если задача модуля только одна - ждать появления устройства в радиусе, то вполне себе реализуемо, но если это тоолько одна из многих задач - то нереализуемо ИМХО.