mBed Pelion学习笔记(一)Welcome & Introduction

一、 简介

  • Pelion Device Management 是一个与交互和管理连接设备等相关的服务。它包括以下功能:
    ①安全连接:通过它可以进行交互管理和IoT设备管理
    ②端对端远程固件更新 解决方案
    ③有清晰的工作流程和配置机制,能够简化我们的开发过程,能够让我们无缝过渡到部署(实际运用)。
    ④有着灵活的配置机制。能够和任何出厂设置一起使用,为你的设备提供所需的信息去连接到 Device Management 。
    ⑤使用各种接口进行Web应用程序开发:REST APIs,软件开发工具包(SDKs)和在线编译。
    ⑥设备上使用定制的、可在多种操作系统下运行的客户端,用以支持Device Management 的服务。
  • 系统图:

 

二、 Pelion Device Management

  • 为了提供一个端对端的解决方案,Pelion包括两个部分:云端服务、设备客户端。云端服务即Pelion Device Management 服务。
  • 设备客户端由三个部分组成:
    ①Device Management Connect 客户端:提供链接到Device Management 服务器。
    ②Device Management Update 客户端:接受和管理固件更新的安装。
    ③Device Management Provision 客户端:保存配置信息,信息包括:设备证书、服务端URIs、其他参数(设备连接到你的账户所需的)
  • 使用设备管理客户端可以做到:
    ①创建一个唯一的设备ID,在设备管理服务器上注册或者注销设备,设备证书。
    ②基于标准的TSL/DTLS 的安全连接。
    ③在设备管理服务器上管理设备。
    ④从服务端控制设备和应用程序逻辑。
    ⑤通过服务端的控制,用Device Management Update 无线更新设备。
    ⑥使用统一移植层(PAL)将设备移植到不同的平台。

 

三、 Device Management Connect

  • Device Management Connect 提供IoT设备 和 企业软件或Web应用间的安全连接,该安全连接是通过把两者都连接到设备管理服务器、并且让两者有权限互联来实现的。
    一般用的都是业界的通信标准,例如:用LwM2M 协议来做设备管理,用CoAP 来实现设备和设备管理服务器之间的通信。
  • Device Management Connect 提供:
    ①两种客户端:
        a. Device Management Client
        b. Device Management Client Lite:轻量级设备管​​理客户端,使用预共享密钥。
    ②设备管理用LwM2M
    ③通信用CoAP
    ④Web应用和设备管理服务器的连接
    ⑤端对端通道安全:
        a. 设备和服务器之间的连接用的是DTLS/TLS。
        b. Web应用程序和Device Management REST API 之间的连接用的是HTTPS。
    ⑥物联网设备的优化。
  • LwM2M:Lightweight Machine to Machine。Device Management Connect实现了LwM2M 标准,该标准提供了一致的设备管理,可以无视设备硬件和设备上跑的应用的差异。
  • LwM2M包括了以下接口:
    ①引导程序接口:引导设备和Device Management 之间的安全连接。
    ②客户端注册接口:让设备注册到Device Management 。并且显示设备资源,以便Web应用使用。
    ③设备管理和服务支持接口:让应用可以操作设备资源。基于LwM2M Resource model,该接口可以读、写、操作设备。
    ④信息报告接口:让应用可以观察客户端上的资源变化,当有值变化或者满足一定条件时,接收到提醒。
  • CoAP:The Constrained Application Protocol。CoAP协议是一种低开销协议,专为受限设备(有限性能MCU的设备)和低功耗IP网络而设计。 它通常只使用UDP,但Device Management Client 已添加TCP支持。它还支持TLS / DTLS协议,以提供传输安全性和设备身份验证。
  • Device Management Edge:提供IoT 网关支持,当物联网设备无法独立连接时(通常是因为它们使用非IP协议),Device Management Edge提供协议转换。

 

四、 Device Management Update

  • 为实现更新,需要一个设备管理更新客户端运行在设备上,一个设备管理更新服务器来推送更新。
  • 典型更新的工作流程:
    ①先要构建一个新的固件镜像,并把它上传到设备管理服务器。镜像中要包括设备管理更新客户端(这次更新成功后下次还能再远程更新)。
    ②创建并上传清单文件(manifest file)。作用是描述这次更新,并且允许设备选择是否更新。可以使用清单工具创建满足所有设备管理要求的清单。
    ③固件镜像和清单准备好之后,可以合并它们进行一次或多次更新操作,可以针对一些特定设备或一组设备。
  • 设备上的Device Management Update客户端,负责分析、安装固件,报告更新进程。
  • 固件镜像应该有更新客户端和你的应用内容,这样以后才能再次更新。但固件镜像不应该包括BootLoader,因为它是不可更新的。
  • 可以通过以下方式将固件上传到设备管理服务器:
    ①设备管理服务器网站
    ②设备管理的API
    ③设备管理SDK中的一个
    ④清单工具的更新命令
  • 可以通过以下方式发起一次更新操作:
    ①设备管理服务器网站
    ②设备管理的API
    ③设备管理SDK中的一个

 

  • 设备要做一些是否进行固件更新的决定。诸如,该更新是否适用于这台设备;要现在更新还是晚点再更新;固件镜像要放在哪等等。我们要把这些信息在一次更新操作中传达给设备,因此要创建一个包含一些更新元数据的清单。
  • 清单会用私钥进行签名,确保只有可用的、可信任的更新才会写入存储。清单中还包含一个可用于回退到上一版本的序列号,用Unix时间戳实现。可用清单工具来生成清单。
  • 设备管理更新用证书来:确保端对端的安全性;验证固件更新是源自真实且可信的来源。

 

五、 Device Management Provision

  • 在设备大规模生产的过程中,我们可以用Device Management Provision来配置成千上万个拥有唯一加密身份和正确服务器参数的设备。它允许我们创建、注入到设备和安全存放以下连接到设备管理服务器所需的东西:
    私钥、证书、服务器URL、服务器证书、连接参数、固件更新密钥。
  • 要使设备连接到设备管理服务器,我们要将每一个IoT设备配置到符合以下条件:
    ①具有唯一的加密凭证,设备管理服务可用于:
        a. 验证设备。
        b. 生成session encryption keys。
        c. 授权设备使用设备管理系统服务。
    ②配置了向服务器描述设备的信息,用于验证软件更新的密钥,以及用于识别、连接和验证设备管理服务器的正确服务器和连接参数。
  • Provisioning SDK减少了为大规模生产设备准备制造流程的开发时间。它包含以下软件组件:
    ①密钥和配置管理器(KCM):是设备上运行的设备管理客户端软件的一部分。它可以将敏感信息安全地存储在设备的非易失性存储器中。
    ②工厂配置客户端(FCC):设备上运行的设备管理客户端软件的一部分。它将身份证书提取,验证并保存到设备。
    ③(可选)Factory Configurator Utility(FCU):可以集成到工厂车间运行的制造测试和配置设备中,以生成和打包设备身份证书。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章