嵌入式开发者不容忽视的物联网组件
扫描二维码
随时随地手机看文章
除了硬件之外,IoT 设备及其相关数据也应当纳为物联网服务的一部分。有了这样的概念,再来做项目测试时将和以往有所不一样。
我们需要将更多的关注点集中在 IoT 提供的服务上。虽然“物体”是物联网中提到最多的术语,但现实情况是消费者和企业并不特别关注物体或者设备本身。物联网真正的核心部分在于这些设备产生的数据以及它们所支持的业务。哪怕是一个非常小的传感器,也应该提供有用的物联网服务。虽然以往的嵌入式设备开发人员大多时候不会考虑到服务层面,但从现在开始他们应当转变思维方式,以满足物联网世界中网络连接所需的功能、质量、性能和安全方面的要求。
IoT 由各类服务组成
尽管“物体”一词是 IoT 术语的一部分,但它并非物联网的核心。实际上,信息采集、基础设施的控制以及这些设备提供的真实世界的感知能力才是物联网的关键。
消费者对自己房间的温度值或者某个摄像机采集的视频并不感兴趣。他们在乎是更高层面的东西: 安全系统保证能够检测到房子周围的一切运动,或者他们的空调能够自动保持舒适的温度。企业在乎的不是工厂中单个逻辑控制器的输出,而是装配线的实际生产量。这是思维方向的重大转变,因为它迫使设备开发人员更好地了解其产品及其业务的应用场景。
设备是服务的重要组成部分
单个的嵌入式设备可能无法提供一项完整的服务; 然而,众多设备连接到一个较大的系统中即可提供一项强大的服务。比方说,在汽车中发动机控制单元(ECU)的作用单独使用时仅仅用于确保发动机基本的运转和排放,但是当它通过无线连接将发动机数据发送给汽车的中央服务器时,就可以实现对发动机燃油消耗数据的跟踪。这些数据可用于智能路线规划和运营成本的预估。因此,ECU 便成为企业战略决策的关键点。
随着我们以设备为中心的思维转向以服务为中心,新的思维方式扩大了单个设备的运行环境和使用范围,从而影响了整个系统的设计。
集合:物联网由大量的“物体”组成,每一个单独的物体都有自己的价值和功能。设备需要组织在一起,以便在更高的层面提供有用的信息。例如,HVAC(暖通空调) 系统不需要报告每个房间的温度。单个传感器向监控系统上报信息(如工业控制中的 SCADA 系统),这些系统将作出本地决策,并将其报告给远程更高级别的系统。
自我监控:如果每个传感器都一直上报其获取到的所有信息,那么高层次的业务决策过程将被海量的数据所淹没。在我们的 HVAC 示例中,本地的监控系统可以根据中央处理器设置的数值(例如,基于天气和电费率)来维护建筑物温度。因此,企业级系统将依靠 HVAC 系统提供的基础服务,可以报告诸如能耗的关键信息。
可替换性: 随着时间的推移,设备集合所提供的服务变得比单个设备本身更有价值。为了满足新的业务需求,现有的传感器和控制器可以完全用新的一批来替换掉。不管是因为设备故障还是系统升级,硬件设备都是可以灵活替换的。从表面上看,这对于设备制造商来说似乎是一件坏事,但是那些真正明白服务和质量的重要性的智能企业终将发展成为市场的领导者。
基于服务的测试对于物联网项目的成败至关重要
一旦遵循了以服务为中心的理念,那么就必须采用对应的设计、实施和测试流程。虽然服务提供业务价值,但是确保设备满足服务层的要求也是至关重要的。显然,单元、子系统和系统级别的功能测试仍然很重要,并且扩大测试范围的好处也立即可见。
和以往仅仅满足个别设备的质量不同,现在我们扩大了范围,考虑的是所提供服务的质量。在 HVAC 示例中,新的温度传感器可能更轻量,成本更低,电池寿命更长,无线覆盖范围更广。但是,它需要与整个建筑物的控制系统一起工作才能体现出价值。
在服务层面进行测试以确保满足非功能性需求。例如,在设备级或常规的软件单元测试期间难以评估性能和可靠性。基于服务的测试可以模拟设备的操作环境,以提供逼真的负载。在 HVAC 示例中,新的温度传感器可以用不同的请求速率进行测试,以查看其是否符合性能要求。
对 IoT 系统的网络攻击将来自网络本身,通过攻击暴露的 API。基于服务的测试可以通过模糊(随机和错误的数据输入)或拒绝服务攻击来创建强大的安全测试模拟环境。HVAC 示例中的新温度传感器可能会按预期请求正常运行,但在过载时会崩溃。攻击者可能会利用这一点来重载系统并导致中断。