信标和 iBeacon 协议如何适应物联网

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

福布斯 将 2015 年称为 移动灯塔之年 AdWeek 谈到了信标如何影响我们的 社交 方式、 喝醉酒 度假 购物 ,甚至我们如何购买香肠。 Marketing Land 的十位专家预测,今年整个 移动营销领域将变得敏锐地感知位置 。另外,如果谷歌、苹果和 Facebook 都押注于此,你不应该吗?我们将深入了解信标如何与 API 交互、不同信标协议的工作原理以及优质信标体验的要素。但首先:

什么是移动信标?

信标 是小型且通常不显眼的硬件,可通过低功耗蓝牙或 BLE 实现室内通信和定制化移动营销。

那么,信标是物联网的一部分吗?有些人不同意,但我认为信标显然是 物联网 ,因为从字面上讲,它们是连接到一切的核心——智能手机——的最终目标是改善体验。这就是物联网的本质和价值,对吧?

有点。

Dana Blouin 是一名研究功率受限中心节点网络的博士生和一般 IoT 思想领袖,她将信标漂亮地称为“用户体验加用户交互”。

用户体验加用户交互

“我们不直接使用信标。它在那里非常被动,但它给了我们非常积极的体验,”Dana 说。 “这是一个接近中心,通过 BLE 工作,带有推送通知,但我们实际上并没有直接与信标交互,信标正在与我们的移动设备交互。一些应用程序正在推动用户体验。灯塔就是它的背景。灯塔在那里可以更深入地了解我们正在做的事情。”这是整个物联网的一个明显趋势——机器与机器对话并根据这种交互作用,人类除外。

Blouin 举了一个例子,如果你在剃须通道,如果你在 Y 通道购买 This Item,你会收到吉列剃须刀 20% 折扣的推送通知。“你正在从 X 收集数据以提供给 Y。”谈到品牌如何合作,他说这一切都是关于使用信标来了解“彼此得到了什么,你想让对方知道”。

但是,如果我们将信标视为物联网的一部分,就很容易将其视为本已复杂的七层堆栈中的另一个安全和隐私问题。重要的是将其视为 测试 质量保证 另一个机会

信标和 API 如何协同工作?

我们与大数据平台工程师 Oscar Guillen Mateu 和移动开发人员 Ivan Gonzalez Gutierrez 讨论了他们在 MOCA 平台 使用信标的经验,MOCA 平台是一个大数据分析平台,结合了来自开放数据、BLE 信标、GPS、WiFi、用户设置的见解,以及通过 Android 和 iOS 软件开发工具包 (SDK) 的用户行为。

就 MOCA 而言,我们有类似“哦,我在灯塔旁边,这意味着我在这个地方”之类的东西。如果您在这个地方,则意味着应用程序知道您在这家商店,并且这家商店有饮料优惠和折扣。它询问服务器,“折扣是多少?”服务器回复:'可口可乐优惠 10%'。”

Guillen 继续描述了这两个应用程序编程接口或 API 如何交互的过程。 SDK 搜索该区域中的任何信标。信标通知智能手机,然后移动 API 发送有关您所在位置的信息以及用于未来 机器学习的 分析,作为回报,它会询问是否有信息要共享。然后最终用户会收到推送通知。

在云层的另一边,可以在 MOCA 平台网站上找到 控制台 API 。店主可以提出以下问题:

  • 今天有多少用户在商店里?
  • 有多少拥有此个人资料的人来过这里?

“想象一下,你是店主,每次用户与信标交互时,这个用户就在这里,”Guillen 说。这种位置信息与其他数据相结合,可以揭示可以转化为高度细分的营销活动的行为模式。

确保基于 Beacon 的 API 在压力和功率有限的情况下高效

Guillen 说:“你必须足够高效,才能让数百万部手机同时发送数据。您不会被困在处理该数据中。您必须有一个按照自己的节奏处理数据的过程。您正在存储所有信息,[并且]您必须拥有所有偏好,因为用户必须从一开始就拥有所有这些信息,以便优先处理某些任务和其他任务。”

他建议使用 压力模拟器 来生成大量同时访问服务器的虚假用户,以查看您能走多远并了解您的极限。当你达到那个极限时,问问“这够好吗?如果我们添加更多服务器会发生什么,它是否正确扩展?也许我们必须想出另一种方法来横向处理这些信息。”他说,他们的目标始终是尽可能 横向扩展 ——一台服务器拥有 100 万用户,两台服务器拥有 200 万用户,等等。

MOCA 在 2015 年世界移动通信大会上向超过 43,000 名用户提供官方应用程序和信标时就拥有了这一点。冈萨雷斯描述了那里发生的事情:“你看到四个信标。我们将信息发送到后端以创建热图——我们的服务器确实崩溃了,但我们有备份,所以该架构可以正常工作,因为他们维护了服务。”

但是你不仅要确保你的服务器不会崩溃,你还必须确保你不会耗尽电话。

您的软件会影响其运行的每台设备的电池寿命

在用户手机上安装应用程序的客户需要确保该应用程序不会 消耗太多能量 ,因为最终用户只需卸载耗尽所有电池电量的应用程序即可。 “非常重要的是,当处于信标范围内时,我们应该执行高效扫描,否则我们会耗尽设备的电池电量。 iOS 在没有我们干预的情况下执行这种扫描,但在 Android 中,我们可以控制扫描频率,”Gonzalez 说。

Guillen 建议让它每 30 秒或每分钟拉一次,或者根据测试过程中出现的一些特定数据拉一次,然后在实际使用后进行调整。

他还建议了其他方法,您可以在保持电池寿命的同时获得相同级别的数据。 “除了 GPS 之外,手机还有其他机制可以为您提供有关您的位置的信息。只需打开手机,它就可以使用通信塔进行三角测量 [以获得] 大致位置。”您还可以根据短期移动模式设置信息拉动的频率。 “因为你移动得很快,我会更频繁地问,但是,如果你呆在一个地方,”他会改为不经常问,间隔更长。

MOCA 平台包括一个 热图 ,可帮助确定基于运动的最佳牵引时间。 Guillen 说,“为了隐私和电池,你 [有时] 无法跟踪整个地方——在飞机上,它移动得很快,但如果你在咖啡馆待一个小时,你只需发送一次数据即可。”

还有,第一次拉完之后看看有没有消息要发回去,一个节省宝贵电池的好方法是手机可以存储信息,然后它会把它打包成一个包,只发送一次,也许当手机在家中通过 WiFi 充电时。

这一切都使得您必须在多个时间段内(最好是在多个位置)在多个设备上测试任何与信标相关的程序。

您如何确保信标有效?

与所有物联网一样,不仅要测试应用程序和 API 的可行性和效率,还要测试这些“事物”的可行性和效率。在这种情况下,信标可能非常挑剔和不精确,无线电频率很容易被中断。

“在这个特定问题的 SDK 中是可靠性,确定你是否接近灯塔。信号具有很多特性但不稳定。我们已经找到了一种尝试稳定信号的方法,这样我们就可以从信标获得可靠的测量结果,”冈萨雷斯说。

您不仅需要在不同的设备上进行测试,而且还需要使用可能使事情变得更糟的不同障碍和障碍。

“这是信标本身的可靠性,因为这些东西非常敏感,”Guillen 摆弄着一个信标说。 “如果你在中间有墙,那么伸手可及的距离可能比你想要的要短。想要半径三十米,要给它多大的力量?”他建议要求多个信标对更准确的位置进行三角测量,以获得平均距离。

您还需要测试地理定位数据的可靠性,在电池保存、移动和精度之间取得平衡。

“如果你使用多个信标来计算位置,你可以更准确地知道你的用户在商店的哪个部分,例如过道、队列或部分,如果它们很小的话。此外,您不能每五秒询问一次用户的位置,否则您最终会耗尽手机一半的电量。测量信标距离的可靠性,确定你是否在某些区域——我认为这是 SDK 中最具挑战性的部分之一,因为它是可靠性和效率之间的切换。”

为此,他说使用 MOCA 平台的开发人员首先要测试的是 SDK 检测信标的可靠性。您可以 在此处阅读有关移动测试策略的更多信息。

信标的开放性如何确保安全和隐私?

信标 ID 列表和距离近似与信标协议相关联,但到目前为止,大多数信标都具有完全开放的 RF,这意味着多方可以从同一个信标获取信息。

“安全性非常重要,因为您不希望您的帐户或隐私受到损害,因此您必须能够向所有用户授予对您的应用程序的访问权限,但客户必须是唯一能够从他的申请,”吉伦说。

他说这就是 OAuth 发挥作用的地方。“您将需要它,因为手机检索的信息必须链接到用户才能发挥作用。如果有人能够破解信息并发送有关信标的虚假数据——也许说你在这个地方但你不在那里——你的个人资料就会被其他人操纵。这将影响客户,因为他将无法获得良好的分析,因为数据已泄露,”他继续说道。

Gonzalez 插嘴解释说:“你可以发送一个包含错误数据的新配置文件,但你不能破坏其他人的配置文件,因为它的信息在手机内安全管理,并在传输到我们服务器的过程中得到安全管理。”他说这就是用户必须使用 OAuth 登录应用程序的原因,这样他的信息就只是他自己的,不会与其他任何人混合。此外,在客户端,他们也必须经过身份验证,因为他们不希望自己的信息泄露给竞争对手,从而破坏用户并首先销售他们的产品。”

OAuth 和构建的安全平台是确保通过信标传入的信息的安全性、隐私性和准确性的最佳方式。

iBeacon 是主流协议吗?

早在 2013 年,Apple 就凭借其 iBeacon 协议 成为第一个将 Beacon 引入主流新闻的知名品牌。

API 博客的 API 架构总监 Mike Amundsen 表示,iBeacon 本身就是一个非常封闭的系统,他承认“构建平台的一种方法是实际控制空间,这样就没有人可以进入。”但他指出这是局限性的,他说,在物联网中,“必须有人开始考虑协议或格式,独立于某种产品或品牌。”

Amundsen 说“挑战在于协议真的很好”,但他询问是否一个协议真的可以做到这一切。

也许这就是为什么在 iBeacon 一年后,Radius Networks 发布了另一个称为 AltBeacon 协议的 标准,它与 iBeacon 非常相似,但为开源社区创建,目的是提高互操作性。 Gonzalez 表示,AltBeacon“仍将适用于 iOS,但可能与 iBeacon 的方式不同。”

iBeacon 和 AltBeacon 协议只是关于识别信标本身及其位置,而不是信标的作用。

今年年初,Google 推出了与 URL 相关的 uriBeacon 协议。

“现在你可以拥有一个直接与网站信息相关联的信标,而不是仅仅说出你是谁以及你在哪里。你不需要任何其他东西,直接从信标读取这些信息,”冈萨雷斯说。

“这个解决方案 [uriBeacon] 的优点在于它是开放的、实用的,而且对很多人来说都非常简单,但是这个解决方案的缺点是你没有太多的灵活性来使用控制台进行配置,因为——想象一下你在一个商场里有 1000 个信标,你必须去那里为每个单独的信标编程,而且维护成本会很高。其他解决方案,比如我们正在研究的解决方案,你甚至不必去那里。”

测试信标时 QA 应该记住什么?

归根结底,您要测试的一些东西将是所有质量保证的常识性做法,而其他一些只是针对基于信标的世界的技巧。以下是为您的客户及其最终用户测试最佳信标接近体验的清单:

  1. 一如既往,在测试 API 控制台时,将开发人员体验放在首位。
  2. 确保后端同步。确保您在控制台中保存的所有内容都可以毫无问题地发送给您的移动用户。
  3. 检查一下,它能承受压力吗?
  4. 电池消耗是一个重要因素。
  5. 找到适合您需求的正确信标协议。
  6. SDK 必须优先考虑安全和隐私,始终记住代码实际上是在移动设备上运行的。
  7. 出色的近距离体验与出色的用户体验有关。乐趣来自于细节。

您是否使用过信标和信标协议?请在下方告诉我们您的体验!


这篇文章由 Jennifer Riggins 在 SmartBear 博客上撰写。