我的解决方案可能适用于当前使用的技术,例如笔和 Microsoft Surface 中的蓝牙和 Wifi。但是您需要自己编写一些部分(大多数提到的技术都在开源库中)。
将触控笔与 Surface 配对后,您应该将 Wifi 和蓝牙连接到触控笔。
1. 选项
有一篇很好的文章,解释了我们将用于近距离三角测量笔的蓝牙三角测量,除了我们将使用蓝牙和 wifi(我们没有第 3 点),所以它不会像 3 点那么精确。但是使用 2 个点,您实际上可以通过此表测量距离并找到他们的交点在哪里,在如此小的空间内它是可行的。
对第二个三角测量点使用与 Wifi 类似的方法,您可以在那里查看 Wifi 三角测量的源代码。
下一步将校准笔在支架中的位置,这意味着笔将位于 Surface 的一侧(为简化起见,假设它仅在右侧较短的一侧)
从这里你可以计算屏幕的面积
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)
这就是它的工作原理,你需要让这个软件在后台运行,它可能会对电池产生严重影响,你需要外部 wifi 适配器来上网。
我没有 Microsoft Surface,所以我无法自己编写代码,因为我没有设备可以尝试,但这是可行的想法。只需稍微调整精度,它就可以实现真正的精确定位。
2. 选项
wifi三角定位:https ://github.com/kevindu/wifi-ap-positioning
可以单独使用,如果可以进入笔的固件可以通过蓝牙传输位置,但是这个选项不会那么精确。