物联网模拟:为获取成功进行测试
模拟器可用于生活的方方面面,以便模拟真实环境来进行测试。它们对于预测复杂系统的行为和反应至关重要——从飞行模拟器和电影布景到天气模型以及经济预测。物联网也不例外。
在典型的网络中,部署的复杂性和物联网设备的数量正在不断上升。这就增加了发生意外问题进而造成严重破坏的可能性。物联网部署的灵活性和可扩展性使之极具吸引力,但也让其难以进行大规模测试。这是会导致新项目失败的复杂因素之一。
一份思科报告指出,60% 的物联网项目止步于概念验证阶段。只有一小部分被认为是完全成功的。像这样的报告说明了,要将纸上谈兵的项目转化为能真正发挥潜力的系统有多困难。模拟网络的各种组件后再让整个系统上线,是确保项目成功的最佳方式之一。
当连接设备的数量或分布不仅仅是几个房间或几款产品时,模拟非常重要。而且,模拟一个广泛的网络要比实际建立一个的成本效益大得多。此外,还可以测试罕见的场景,进行容错评估或测量端到端延迟。
传感器数量增多,遇到意外事件的几率就会增大。通过提前模拟这些事件,操作员可以确保做到妥善应对。
MQTT 协议:物联网友好
模拟器多种多样,既有商业软件,也有开源替代品。它们可以通过许多因素来区分,比如可扩展性和支持的协议。
其中流行的一项协议是 MQTT(消息队列遥测传输),这是一个发布-订阅消息传送系统。它在物联网网络中很普遍,因为它是轻量的,代码占用量小。在带宽受限的领域,它也很适用。
来自 Gambit Communications 的 MIMIC MQTT Simulator 等应用程序旨在创建由传感器、执行器和其他 MQTT 客户端组成的大型网络。
物联网传感器可以专注于特定的消息传送协议(如 MQTT),也可以支持多种协议(包括 CoAP、REST 和 AMQP 等)。选择正确的传感器需要首先了解需要什么样的模拟,以及要测试的是整个解决方案中的哪个方面。
模拟单个端点的体系结构行为不同于模拟客户端-代理模型的体系结构行为。MQTT 标准依赖于此模型来通过网络传送消息。Gambit 将 MQTT 视为要模拟的接口。这样它就能有效地表示任何使用该协议的设备,然后将总数扩展到所需的任何级别。
大规模模拟
在某些环境中,模拟器可以帮助您了解各种代理如何实现协议支持的细微差异。
当 Gambit 通过多种服务测试 MQTT 5.0 支持时,它发现了几个可能在生产环境中导致意外行为的场景。在部署之前,在模拟器上测试应用程序有助于避免令人失望的意外。
通过编程,这些组件能以不同的方式进行交互,并由最终用户控制。操作员可以向上和向下扩展模拟,对特定事件进行编程,并实时测量这些更改对被测平台的影响。
MIMIC Simulator 能够将基于英特尔® 物联网网关平台的硬件定位为受测设备 (DUT),并可以创建数以千计的虚拟传感器。每个传感器都可以定义为不同的类型,如温度、压力和位置。通过编程,它们还能可预测地生成独特的流量,或模拟各种故障模式。
MIMIC 支持动态规则,这些规则可在运行中调整模拟并引入新参数。这对于评估分析引擎在现实环境中遇到意外行为时的行为非常重要。这些意外行为包括传感器故障、一组传感器突然失灵或无线电干扰等。仅支持静态规则的工具无法进行调整来测试这类场景(图 1)。
性能测试和边缘案例评估
Gambit 解决方案可用于检查当连接设备的数量增长时,其他物联网组件的性能。客户的分析引擎能否有效地扩展以满足当前或未来的需求?它能否以适当的方式处理意外的极端案例?
模拟不同的发布者和订阅者的比例,或者显著增大连接总数,是对物联网解决方案的灵活性和性能进行基准测试的好方法。
以下视频(视频 1)显示了 10,000 个传感器联机时对端到端延迟的影响。
视频 1。MIMIC 模拟视频
随着传感器数量增加,总(模拟)流量负载也会增加。总体延迟开始缓慢上升。许多变量会影响延迟。其中包括传感器和代理之间的距离、消息有效负载大小、QoS 设置等。物联网模拟器应能够根据需要调整这些设置。
物联网作为一个行业,仍处于起步阶段。模拟器最初是为进行云端测试而设计的,因为大多数物联网处理都发生在这里。向边缘计算的转变正在促使物联网模拟器增加能与边缘服务集成的功能。Gambit 专注于将这些功能添加到其 MQTT 模拟器中,以确保全面覆盖这一不断增长的测试领域。