Как я могу использовать Node-JS, чтобы обнаружить, что мой телефон находится в 1-м метре от моего ноутбука? - PullRequest
0 голосов
/ 28 мая 2018

До того, как вы понизите голос, я знаю, что S / O - для определенных кодовых препятствий, но я искал и искал, и не может за всю жизнь найти ответ на этот вопрос.Пожалуйста пожалуйста помогите!

Может любой посоветовать (даже в широком смысле), где искать - если я хотел создать сценарий / приложение Node JS , которое обнаруживает, если мой телефон находится на расстоянии 1 метра от моего ноутбука / стола / офиса?

В основном, как мне получить что-то вроде:

if (mobProximity < 2) { return makeLEDsAroundDeskGlow() };

...в работе?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Нет простого способа сделать это, потому что единственное, что вы можете измерить, это RSSI.Однако RSSI зависит от разных факторов: от мощности Bluetooth-модуля вашего телефона, чувствительности Bluetooth-адаптера вашего ПК, от количества устройств на 2.4 и многих других.

Однако есть одно более или менее хорошее решение, но оно требуетнекоторое кодирование на стороне телефона.Если ваш телефон поддерживает Bluetooth LE, вы можете запустить приложение, эмулирующее Bluetooth LE Beacon, на свой мобильный.BLE Beacon может отправлять рекламный пакет, который будет включать в себя нечто, известное как «измеренный RSSI».Измеренное значение RSSI представляет собой значение RSSI, измеренное на фиксированном расстоянии.

После этого, когда ваш компьютер (конечно, ваш компьютер также должен иметь возможности BLE) может получить этот пакет рекламы LE.То, что он получил пакет, теперь знает 2 значения RSSI: текущее и «измеренное».Известные оба дают вам способ рассчитать расстояние

double Dist = pow (10.0, (double) (TxRssi - Rssi) / 20.0);

TxRssi - «измеренный» (калиброванный) RSSIзначение измеряется на расстоянии 1 метра.Rssi - текущее значение RSSI.

Еще одно возможное решение: если вы используете Linux на настольном компьютере, вы можете использовать HCI Socket (доступно на github) и расширить его для выполнения HCI INQUIRY с измерением RSSI.Таким образом, может быть достаточно иметь включенный только телефон с Bluetooth (обратите внимание, что современные Android и iOS переключают устройство в режим, недоступный для обнаружения, если настройки Bluetooth не открыты или в течение короткого периода времени, поэтому вам нужно каким-то образом перевести телефон в режим обнаружения навсегда).

С этим (гнездо HCI) вы можете измерить RSSI на фиксированном расстоянии (скажем, 1 метр), а затем сохранить это значение как калиброванное.Затем используйте приведенную выше формулу для расчета расстояния.

0 голосов
/ 28 мая 2018

Вы можете проверить, не можете ли вы найти компьютер с сканированием Bluetooth , но он не будет резким вообще.

В противном случае вам придется покупать определенные предметы, такие как маяки эстимота .

...