У меня может быть решение, которое будет работать с используемыми в настоящее время технологиями, такими как Bluetooth и Wi-Fi, которые находятся в ручке и на вашем Microsoft Surface. Но вам нужно будет запрограммировать некоторые части самостоятельно (большинство упомянутых техник находятся в библиотеках с открытым исходным кодом).
После того, как вы соедините перо с Surface, вы должны подключиться к перу с помощью Wi-Fi и Bluetooth.
<сильный>1. Вариант
Есть хорошая статья, объясняющая триангуляцию Bluetooth, которую мы будем использовать для триангуляции пера на близком расстоянии, за исключением того, что мы будем использовать Bluetooth и Wi-Fi (у нас нет 3-й точки), поэтому это не будет так точно, как 3 точки. Но с двумя точками вы можете измерить расстояние по этой таблице и найти, где их пересечение, в таком маленьком пространстве это выполнимо.
Используйте аналогичный метод с Wi-Fi для второй точки триангуляции, вы можете увидеть исходные коды для триангуляции Wi-Fi там.
Следующим шагом будет калибровка положения ручки в держателе, что означает, что ручка будет находиться на одной стороне поверхности (для упрощения предположим, что она находится только на правой, более короткой стороне).
из этого вы можете вычислить площадь экрана
Allowed area:
offsetHeightOfPenScreenRation = ScreenHeight - penHardwareHeight
NonValidX = StartpenPositionX - ScreenWidth < penPositionX or StartpenPositionX < penPositionX
NonValidY = StartpenPositionY - ScreenHeight < penPositionY or StartpenPosition+offsetHeightOfPenScreenRation < penPositionY
penIsClose = not ( NonValidX or NonValidY)
Вот как это может работать, вам нужно будет держать это программное обеспечение работающим в фоновом режиме, и это может серьезно повлиять на батарею, вам понадобится внешний адаптер Wi-Fi для Интернета.
У меня нет Microsoft Surface, поэтому я не могу его закодировать, потому что у меня нет устройства, чтобы попробовать его, но это рабочая идея. С небольшой настройкой точности это может быть действительно точное позиционирование.
<сильный>2. Вариант
Триангуляция Wi-Fi: https://github.com/kevindu/wifi-ap-positioning можно использовать отдельно, и вы можете передать местоположение через Bluetooth, если вы можете войти в прошивку пера, но этот вариант не будет таким точным.
person
Jiri Otoupal イり オトウパー
schedule
01.02.2020