目前的位置: 首页 学术信息 正文

ZDS 2023技术报告分享第68篇:使用Zephyr进行物联网设备管理


前言

2023年Zephyr开发者大会(ZDS)于6月27日至30日在捷克布拉格隆重举行。与以往两次不同,本次ZDS由Zephyr项目规划和管理,并作为首届嵌入式开源峰会(EOSS)的一部分进行。在这个令人期待已久的盛会中,全球Zephyr开发者们共同探讨了Zephyr实时操作系统(RTOS)的最新技术与发展趋势。作为一款开源、灵活和可扩展的嵌入式实时操作系统,Zephyr项目在2014年由英特尔发起,2016年作为Linux基金会项目正式面向公众启动,得到了全球范围内的广泛关注和采用。


ZDS 2023共70余个技术报告,涵盖了使用指导与展示、新功能与技术、架构修改与操作系统、多核异构与虚拟化、模拟器、测试、工业流程与代码管理、安全性、应用案例、工具与调试等丰富多样的内容。湖大嵌入式实验室的小伙伴们将对本次大会的所有技术报告进行逐一收集、整理与分享,尽最大努力为Zephyr开发者提供ZDS 2023技术报告的开发经验、实践成果以及解决方案的参考。



今天分享第68篇技术报告,由彭盼整理,题目为:

使用Zephyr进行物联网设备管理



作者简介



Ryan Erickson

软件开发工程师,Ryan Erickson

Ryan是一位专注于无线物联网产品和模块的嵌入式软件开发人员。



文章简介

Laird Connectivity(莱尔德连接)的Canvas™ Device Manager BLE网关和传感器固件是使用Zephyr构建的,为客户提供了一个开源的设备管理平台。客户可以使用开源固件,并根据自己的需求定制。构建一个完全可以从云端进行100%远程管理的网关和终端传感器解决方案。本文将介绍使用Zephyr子系统构建安全物联网解决方案的所有细节。分为以下三个部分:

  1. 如何通过云端管理网关和终端设备。

  2. 通过云端对设备进行配置。

  3. 远程监控和调试。



Canvas设备管理器

Canvas设备管理器减少了物联网部署的复杂性,并增强了远程设备操作的能力。

  • 工厂配置

  • 设备管理

  • 应用程序交付

  • 遥测使能

Sentrius™ MG100 网关

  • LTE-M / NB-IoT蜂窝连接

  • 蓝牙低功耗(Bluetooth LE)

  • SD卡

  • 运动传感器

  • 电池备份

Sentrius™ BT610 输入/输出传感器

  • IP67级防尘防水等级

  • 电池供电

  • 4个传感器端口

  • 模拟输入(0-10 V直流或4-20毫安)

  • 数字输入(干接点)

  • 数字输出

  • I2C/SPI + UART接口

需求

  • 安全性

  • 使用开放标准和协议

  • 无接触式部署和管理

  • 健康监控



LwM2M协议

LwM2M是来自开放移动联盟(OMA)的应用层协议和基于模式的对象模型,用于物联网设备管理和服务启用(遥测),定义了一个供应商无关、形式良好的设备数据和操作API。

LwM2M设备能力

  • LwM2M物联网设备对象在设备连接时进行了规范化(或者按照LwM2M术语来说,注册)这被提供为一种特殊格式的字符串,称为CoRE链接格式(Link)。

  • CoRE链接字符串指定了终节点上可用的对象链接。

  • 从设备查询的LwM2M对象和资源数据被存储在服务器内,以便应用程序访问 – 每当服务器从设备请求数据时,响应都会被解析,并且相关的数据会被存储在与该设备相关的记录中。

  • 对于终节点来说,IoT设备对象字符串不是通过注册过程提供的,而是作为终节点连接的LwM2M网关上的对象的资源。

通信:服务器 <-> 网关 <-> 终端设备。

服务器需求

  • LwM2M服务器必须

    • 提供对Object 25的“智能”支持,允许应用通过基于网关Object 25实例中存在的资源与终节点进行交互。

  • 根据Object 25实例的填充动态实例化终端设备,以便应用程序可以通过网关查询和与其交互。

  • 允许使用其“前缀”与LwM2M终端节点进行交互。

    • 在应用程序级别提供类似的功能,以便为终端节点提供设备管理和数据资源访问权限。

  • 通过网关支持固件更新和配置到终端节点。

  • 支持访问终端节点上的遥测资源(例如温度传感器)。


LwM2M网关代理方法

利用mcumgr SMP帧结构,在终节点接口上“隧道化”现有的LwM2M网络消息。



SMP上的CoAP概述

简单管理协议(SMP)由一个8字节的头部预置于可选的数据包(链接)。

  • 定义一个新的“用户”组ID,例如5683:LCZ_LWM2M_TRANSPORT_BLE_SMP_GROUP

  • 定义一个“隧道”命令ID来隧道化CoAP消息缓冲区。

  • “操作码”已经定义了写入、写入响应、读取和读取响应。

  • 终节点发送带有与现有LwM2M客户端库中的CoAP相关的缓冲区的SMP消息。

  • 终节点接收/解封接收到的SMP消息并传输到LwM2M客户端库。

Zephyr LwM2M堆栈的修改

  • 将对UDP套接字的依赖分离 - 终端设备和网关

  • 添加用于接收LwM2M消息的挂钩 - 网关



支持可插拔式LwM2M传输

  • 将套接字实现从lwm2m_engine.c中分离出来

  • 在struct lwm2m_ctx中添加传输ID

  • 创建lwm2m_transport.c和lwm2m_transport_udp.c文件



设备管理门户 – EdgeIQ



远程固件调试 - Memfaul



远程遥测云平台选项

标准物联网协议的支持为“构建者”型客户打通了通往应用平台的路径。

安全功能

  • 硬件唯一密钥

  • 双引导程序安全引导

  • 签名固件

  • Shell登录

  • 所有密码在静止状态下加密

  • 加密的BLE通信(广告和连接中发送的数据)



固件开源

上一条:ZDS 2023技术报告分享第69篇:Zephyr中的资源调配 下一条:ZDS 2023技术报告分享第67篇:ThingSet+Zephyr 10分钟内无输出的设备连接

关闭

嵌入式与网络计算湖南省重点实验室
版权所有 © 2023 湖南大学