Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Javasacript中两个移动设备之间的距离(离子型)_Javascript_Ionic Framework_Bluetooth Lowenergy_Ibeacon_Indoor Positioning System - Fatal编程技术网

Javascript Javasacript中两个移动设备之间的距离(离子型)

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的本机代码 以下是我已经找到的解决方案: 蓝牙:每部手机都有蓝牙功能,因此当一部手机靠近另一部手机时,

对于我的一个项目,我目前想构建一个Ionic应用程序,为iOS和Android平台编写一次代码。我正在寻找一种方法来测量两个移动设备之间的距离。一个设备应放置在特定位置,另一个设备应在其进入第一个设备的范围(或更具体地说,第一个设备所在的位置)时被检测到

位于特定位置的设备1将连接到internet,访问该位置的设备2也是如此

我已经读过很多不同的实现,但大多数时候它需要Android或iOS的本机代码

以下是我已经找到的解决方案:

  • 蓝牙:每部手机都有蓝牙功能,因此当一部手机靠近另一部手机时,应该不难检测到,但这意味着要与另一部手机配对,而且实际上不可能测量两部手机之间的距离
  • iBeacons和BLE:我们希望避免在发布时购买大量信标。这意味着我们想创建一个移动应用程序,作为一个灯塔,但在很多设备的Android上是不可能的。此外,我们不关心微型位置,这意味着我们不会100%地使用信标
  • GPS:在安全方面不是很好,以确保两台设备的位置都是好的
  • 在位置手动值机:确保设备2进入设备1位置的最佳方法是在 地点。但这有点令人沮丧,因为在这方面没有创新 全部
我的想法真的快用完了。实现应该使用Javascript编写一个快速原型,因此选项有限

我读过一篇关于StackExchange的文章,但问题是没有描述任何实现

换句话说,我希望值机系统知道设备2位于设备1的位置。即使在请求我们的服务器的API之间进行交换,我们如何确保两个设备被关闭,或者至少设备2在特定位置运行

编辑与新闻 为了给可能面临同样情况的人提供更多选择,我联系了一位在微软工作的人,并参与了一个名为:ThaliProject的项目。你可以在谷歌上找到这个项目。谷歌是一个PeerToPeer库,用于在移动设备之间进行通信。但它不适合这个问题:

不幸的是,Thali无法解决您的问题(我们依靠 Android上的Bluetooth 4.2支持(因此我们可以成为一个可靠的中心和 外围设备)

如果您需要在网络之间工作,蓝牙也无法工作 Android和iOS设备,因为苹果使用的是 蓝牙不工作


现在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中