将任何设备转换为信标:wifi + 蓝牙(datzing like app)

Transform any devices into beacons : wifi + bluetooth (datzing like app)

实际上,我正在为一家与另外两位创始人共同创办的初创公司工作。另一方面,我想开发一个快速原型,以便能够深入研究我可以在我的项目中使用的主题:信标。

这是我想要实现的目标:我希望能够将一个设备用作发射器(使用蓝牙、BLE 或 wifi),另一个能够知道它何时进入第一个范围.我需要它能够进行室内定位(只是一个登记系统,而不是确切地知道人们在那个特定位置的位置)。

我习惯使用 Ionic 编写移动应用程序代码,我更像是一名 Javascript 开发人员。我看到已经有一些东西可以满足我的需求:Dazting,它可以将每个移动设备转换为 "a beacon" 蓝牙或 Wifi。问题是,我想自己做,但老实说,我现在真的不知道他们是如何通过 Wifi 做到这一点的。我知道有一些库可以通过 BLE 发出,但是蓝牙呢?

这是否意味着我必须使用本机代码对其进行编码?

这就是我想要实现的目标:

对于 Datzing 如何实现该目标有任何想法或建议吗?

提前致谢。

Datzing 依赖于移动设备发出的蓝牙经典、蓝牙 LE 和 WiFi 数据包,这些数据包可以通过编程方式或通过在设置中手动选择来被发现。然后可以使用设备的唯一 MAC 地址或 SSID 将检测到的传输与 Datzing 系统上注册的 "Beacon" 联系起来。基本上,它只是在 Datzing 服务器上注册与蓝牙或 WiFi 传输相关联的唯一标识符,这样它们才有意义。

由于操作系统限制,使用此技术在 iOS 设备上传输受到严格限制。用户基本上必须手动转到设置屏幕才能开始排放。 Android 如果您有授予适当权限的本机应用程序,设备会更加灵活。

在检测方面,iOS 也比 Android 受限得多,因为操作系统阻止访问蓝牙设备的原始 MAC 地址并阻止检测 WiFi 的 SSID接入点,除非网络已连接。从 Android 6.0 开始,对原始 MAC 地址的访问也受到限制,使得这样的系统在较新的 Android 设备上与蓝牙的工作效果较差。

在 iOS 和 Android 这两个平台上,使用本机代码可以在操作系统允许的范围内使用这些技术。使用 Ionic 或 Cordova 这样做需要将许多插件(如果它们存在的话)拼凑在一起以桥接到本机功能以访问 WiFi SSID 并进行蓝牙发现和扫描。这不太可能是一个快速原型。

警告:在尝试自己复制 Datzing 之类的系统之前先试用它始终是个好主意,因为限制通常会导致技术不符合营销材料的要求。