Javascript Javasacript中两个移动设备之间的距离(离子型)
对于我的一个项目,我目前想构建一个Ionic应用程序,为iOS和Android平台编写一次代码。我正在寻找一种方法来测量两个移动设备之间的距离。一个设备应放置在特定位置,另一个设备应在其进入第一个设备的范围(或更具体地说,第一个设备所在的位置)时被检测到 位于特定位置的设备1将连接到internet,访问该位置的设备2也是如此 我已经读过很多不同的实现,但大多数时候它需要Android或iOS的本机代码 以下是我已经找到的解决方案:Javascript Javasacript中两个移动设备之间的距离(离子型),javascript,ionic-framework,bluetooth-lowenergy,ibeacon,indoor-positioning-system,Javascript,Ionic Framework,Bluetooth Lowenergy,Ibeacon,Indoor Positioning System,对于我的一个项目,我目前想构建一个Ionic应用程序,为iOS和Android平台编写一次代码。我正在寻找一种方法来测量两个移动设备之间的距离。一个设备应放置在特定位置,另一个设备应在其进入第一个设备的范围(或更具体地说,第一个设备所在的位置)时被检测到 位于特定位置的设备1将连接到internet,访问该位置的设备2也是如此 我已经读过很多不同的实现,但大多数时候它需要Android或iOS的本机代码 以下是我已经找到的解决方案: 蓝牙:每部手机都有蓝牙功能,因此当一部手机靠近另一部手机时,
- 蓝牙:每部手机都有蓝牙功能,因此当一部手机靠近另一部手机时,应该不难检测到,但这意味着要与另一部手机配对,而且实际上不可能测量两部手机之间的距离
- iBeacons和BLE:我们希望避免在发布时购买大量信标。这意味着我们想创建一个移动应用程序,作为一个灯塔,但在很多设备的Android上是不可能的。此外,我们不关心微型位置,这意味着我们不会100%地使用信标
- GPS:在安全方面不是很好,以确保两台设备的位置都是好的
- 在位置手动值机:确保设备2进入设备1位置的最佳方法是在 地点。但这有点令人沮丧,因为在这方面没有创新 全部
现在BLE可以在Android和iOS之间工作,而许多Android 电话不能是外围设备,大多数可以是中央设备 另一种可能是不同的人在玩的是 听起来像是 .一个号码 许多研究小组一直在试验通过超声波进行局部发现 沟通。发送挑战并获得回应即可 您已经证明设备1和2非常接近 彼此
我偶然发现一个名为:SonicNet.JS的JavaScript库能够通过超声波发送数据和字符串,但实际上我正在努力让它在我的计算机上工作。这可能是一个解决方案,可以避免互操作性问题。您可以使用科尔多瓦的蓝牙低能插件().它主要适用于Android和iOS 当然,这些设备应该支持BLE,但许多新智能手机就是这样
您可以从使用
evothings.ble.startScan(成功、错误)扫描您周围开始
然后使用RSSI
和txPower
值获取设备之间的距离。wifi设备的飞行时间如何?基本上,设备A上的应用程序需要发送一个信号。设备B拾取该信号并返回一个带有签名的信号。设备A接收该信号并根据飞行时间计算距离。
或者使用这里的API怎么样?想法是gps+高精度地图。我知道你已经考虑过gps了。但是hd map为你提供了一种方法来验证设备接收到的gps信息,以解决你的安全问题。你试过使用Google Maps API吗?我以前亲自使用过它来做类似的事情(还使用Firebase存储设备的坐标)。不,我没有,但我已经考虑过这个解决方案。问题是,我认为它基于用户的GPS坐标?这意味着它很容易被伪造者入侵?当然,存在一些安全问题……不幸的是,我无法帮助您(尽管您链接的问题应该是此类问题的良好参考).从昨天晚上开始,我一直在尝试安装所有东西并测试他们的演示应用程序,这是:。我可以让两个应用程序相互通信。也许我甚至可以在这些设备之间找到一个范围,谁知道呢。我想Cordoga插件很容易与Ionic集成。它们也是应用程序之间的身份验证,如图所示视频。我会尝试测试应用程序,看看它是如何工作的,我会尝试让主题保持最新,至少做出反馈。经过几天的研究,我得到了两个不同的答案::付费解决方案,但也有:谷歌附近是免费的,但没有与Cordova/Ionic集成。我已经进入了这个方向,问题就像我说的,使用此插件可以监听BLE信号,但实际上不可能在大多数手机上以BLE的形式发射信号。这只可能在iOS和一些Android设备上实现。问题是新手机支持BLE扫描,但不支持发射。因此在我的ca中