Автоопределение появления телефона в зоне действия блютуза.

forfrends
Offline
Зарегистрирован: 24.02.2015

Всем привет!

Делаю различные устройства с управлением по блютузу. Проще всего установить на телефон приложение и через него обмениваться данными или командами. Блютуз модули использую разные, как HC-06 так и HM-10. Вторые более универсальные. Решил сделать автооткрывание замка. Идея такая: как только телефон появляется в зоне действия блютуз модуля то и сделать какое-то действие, на пример открыть замок. При этом телефон не доставать, не разблокировать, вообще ничего с ним не делать, а просто оказаться в зоне действия блютуз модуля. Ардуино сама должна определить появление телефона. Вот только как это реализовать - не имею понятия. Может это уже делали и есть готовое решение. В Гугле ничего не нашел по этому поводу. Может у вас есть какие-то идеи на этот счет?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015
Araris
Araris аватар
Offline
Зарегистрирован: 09.11.2012

Задачу определения присутствия/отсутствия устройств я тоже начинал с BlueТooth, затем остановился на простеньком Wi-Fi сниффере на ESP8266. (BT не устроил недостаточной дальностью обнаружения и необходимостью держать его постоянно включенным на смартфонах.) 

Сниффер был реализован по мотивам https://github.com/skickar/FriendDetector

И, кстати, подумываю о том, чтобы на досуге дополнить его функцией intruder detection для домашнего Wi-Fi.

sadman41
Offline
Зарегистрирован: 19.10.2016

Например - Вы можете периодически сканировать эфир на предмет появления "своего" аппарата. Не помню только - они MAC светят или что-то другое... Но, полагаю, что понимаете - такие способы являются потенциальной брешью в защите. Тут нужно что-то посильнее наворачивать с шифрованной сессией, обменом паролями, Alice & Bob и всё такое. Ардуине это наврядли удастся потянуть.  

vlad072
Offline
Зарегистрирован: 01.08.2017

Тоже бился над этой проблемой, правда на модуле SIM800C, так ничего и не добился.  Чтобы определить что "своё" устройство появилось в радиусе, есть два варианта:

1. постоянно "нюхать" окружение AT+BTSCAN

2. постоянно пытаться законнектиться к спаренному устройству AT+BTCONNECT

И то и другое отправляет модуль в длительный накаут, и ничего другого он обрабатывать не может. Т.е. если задача модуля только одна - ждать появления устройства в радиусе, то вполне себе реализуемо, но если это тоолько одна из многих задач - то нереализуемо ИМХО.