NBIOT-lwm2m_Firmware Update
任何复杂的 IoT 系统都必须在其架构中包含设备管理功能。IoT 设备通常部署在恶劣的环境中。并且,当设备发生故障时,可能需要从这些环境中退出并移除,或进行更新以继续在这些环境中运行。
设备管理通过使得保护和监控设备更容易来帮助保护设备及其数据。设备管理功能允许 IoT 开发人员通过执行诸如重置为出厂缺省值或应用更新以修复安全问题或修正错误等操作来控制 IoT 设备。
随着部署的 IoT 设备数量和种类的增加以及 IoT 系统架构的复杂性的增加,管理 IoT 设备变得越来越具有挑战性。
设备管理挑战
管理和维护 IoT 设备所面临的主要挑战包括安全性、互操作性、受限设备、可扩展性和可用性。
安全性
安全性是 IoT 系统各个层面的重要考虑因素。设备管理服务可以通过提供安全的设备注册和认证服务以及支持加密的机器对机器 (M2M) 通信,更容易地保护 IoT 设备本身。阅读我在 developerWorks 博客上发布的 10 大 IoT 安全挑战博文,以了解更多信息,并了解在 IoT 系统中实施设备管理服务可以如何解决其中的许多安全挑战。
互操作性
现在和将来在 IoT 系统中部署的设备可能具有不同的类别、由一系列制造商生产并且使用一系列通信协议。设备管理工具必须支持一致地管理所有设备,以保持异构设备之间的互操作性。查找支持标准设备管理协议的设备管理服务或实施协议和 API 的设备管理服务,以提供一般情况下用于批量管理设备的抽象内容。
受限设备
IoT 设备通常受限,这意味着它们具有有限的电力、内存、处理功能或连接。(阅读我的 IoT 硬件指南以了解有关 IoT 设备的更多信息。)这些约束将影响能否远程管理设备,以及如何有效地应用远程操作。如果设备由电池供电,那么至关重要的是,该设备能够在不耗尽可用的电力的情况下与设备管理器进行通信,并执行更新或操作。如果电源耗尽,导致诸如出厂重置或固件更新之类的操作中断,那么可能会导致设备损坏。
轻量级设备管理协议是 IoT 设备的理想之选,因为它们的设计是高效的,并且可最大限度地减少设备本身需要执行的处理量。这些轻量级设备管理协议可减少设备与管理服务之间的通信带宽和频率,从而节省设备资源。
可扩展性
随着将更多设备添加到系统,设备管理服务需要扩展以处理正在向设备管理服务注册并与之通信的大量设备。设备管理服务必须能够处理需要在任何给定时间执行的日益增多的例程设备管理操作。
自动化是针对 IoT 扩展设备管理的关键,因为手动监控和管理所有设备很快将变得不切实际。只有当发生意外事件时,管理员才需要介入以进行干预。
可用性
设备管理服务必须了解上下文以确保可用性。设备管理包括监控设备的当前状态,以便在更新过程中不尝试重启设备,还包括更广泛地了解网络状态、了解设备状态和可用电量或者在执行维护操作之前当前的设备使用情况。设备管理服务应支持同步管理操作(如固件更新)以最大限度地减少中断。
设备管理协议
许多设备管理挑战可以通过采用标准设备管理协议或通过使用 IoT 平台提供的设备管理服务来解决。(有关更多信息,请阅读我先前的 developerWorks 文章,了解在您的 IoT 解决方案中为何可能需要使用 IoT 平台。)
IoT 设备通常通过轻量级连接协议(如 XMPP(基于 XML 的聊天协议)、CoAP(约束应用协议)或 MQTT(MQ 遥测传输))来执行机器对机器 (M2M) 通信。阅读我的连接和网络协议指南,以了解有关 IoT 通信协议的更多信息。
设备管理协议在这些通用连接协议之上运行,以支持设备注册、认证、查询设备功能以及跨设备一致地执行操作。
已经应用于宽带和移动行业中 IoT 设备的标准化设备管理协议包括 TR-069、OMA DM 和 LWM2M:
- TR-069。宽带论坛的 TR-069 客户端设备 (CPE) WAN 管理协议 (CWMP) 最初是在 2004 年基于 SOAP 开发的,用于管理带宽设备,包括调制解调器、路由器、网关和家庭设备(包括机顶盒)。该协议已经在 IoT 智能家居应用程序中得到应用。
- OMA DM。开放式移动联盟设备管理 (OMA DM) 规范是针对移动电话、PDA 和平板电脑开发的 LWM2M 的前身,并于 2003 年首次发布。它针对具有有限带宽的受限设备而设计,通过一系列协议(包括 HTTP、WAP 或 SMS)来支持 M2M 通信。它可以应用于 IoT 设备以支持供应、配置、固件更新和故障管理。但是,它并不像 LWM2M 那样轻巧。
- LWM2M。OMA 的轻量级机器对机器 (LWM2M) 协议旨在管理通过蜂窝式网络进行通信的设备,例如,传感器网络中的设备。LWM2M 通常通过 CoAP 来实现。有许多支持 LWM2M 协议的开放式源代码实现,包括 ARM mbed、Eclipse Leshan 和 Wakaama。
IoT 设备管理是主动标准化的一个领域,因此这个领域仍相当分散。许多 IoT 参考架构描述了设备管理功能,而大多数 IoT 平台(如 IBM Watson IoT Platform)则实施了定制设备管理服务,这些服务已针对管理 IoT 设备的需求进行定制,以便与特定平台一起使用。
在该 developerWorks 专题中了解如何将 Raspberry Pi 作为受管设备进行连接。
IBM Watson IoT Platform 设备管理协议是通过 MQTT 运行的轻量级设备管理协议。IBM Watson IoT Platform 支持受管设备和非受管设备。受管设备将运行设备管理代理,其包括用于连接到 Watson IoT Platform 的设备管理服务并与之通信的逻辑。
设备管理功能
IoT 平台通常为其设备管理提供 API 和仪表板。这些仪表板和 API 可用于管理设备注册、触发远程操作以及监视、搜索或过滤设备(例如,依据制造商或序列号)。
无论您是考虑采用 IoT 平台提供的设备管理、实施标准设备管理协议的独立服务(例如 Eclipse Leshan 服务器)还是设备管理服务组合,要查找的关键功能包括:
- 供应。当将新设备被添加到系统中时,设备应该安全地向设备管理服务注册自身,并且注册设备的元数据。注册设备将为其提供身份和凭证。
- 认证。认证服务将建立设备的身份。设备使用最初在供应过程中创建的身份,以便无论何时与其他设备、应用程序或服务通信时,另一方都可以确信该设备是可信可靠的设备。
- 配置。设备管理服务通常支持直接将新配置应用于 IoT 设备,或者通过广播新配置来批量更新设备,以及管理设备配置依赖关系。
- 监控和诊断。设备管理服务还负责跟踪设备日志和元数据,例如,服务还可能跟踪设备功能、固件版本、设备的通常位置、设备标识和状态。设备管理服务通常会通过仪表板或 API 来公开此信息以及错误和连接日志,以用于监控运行状况和状态以及诊断和远程调试。日志和状态也可以用于生成警报,例如,如果设备在一段时间内没有生成任何数据。
- 调度远程操作。许多设备管理服务支持调度远程操作,包括设备重启、启用或禁用设备、执行出厂重置以及通过无线更新来触发新的固件下载和更新。无需人工干预即可远程执行这些维护操作,有助于在设备的整个生命周期中节省时间和金钱,并帮助避免错误,最大限度地减少整个过程中的设备停机时间。还无需手动检索或更新安装在难以物理访问的位置中的设备。
- 自动化。当 IoT 系统中部署的设备的数量和范围开始扩大时,自动化就成了一种必然。自动化有助于简化批量应用远程操作,例如,在多个设备上快速执行固件更新以处理安全漏洞。根据设备的不同,可以通过专用设备管理协议来应用这些更新,但对于基于 Linux 的设备,可以使用开放式源代码编排工具(如 Kubernetes)来部署包含跨多个设备的固件、应用程序或操作环境的 Docker 容器。
- 设备最终会发生故障,或者在使用寿命结束时被取代。设备管理服务应该安全地支持停用设备,包括撤销与设备相关的任何令牌和身份,以使其不再能够与系统内的其他设备、应用程序或服务进行通信。
结束语
设备管理服务有助于在 IoT 设备的整个生命周期(包括供应、认证、配置、维护操作、监控以及最终停用)中自动化其管理。设备管理是任何可扩展、安全且可互操作的 IoT 解决方案的关键组件。