更多连接的电子设备意味着更多的代码。更多的代码意味着更多的错误。更多的错误意味着需要更多的持续集成和持续交付 (CI/CD) 以使设备保持最新状态而不影响最终用户体验。
错误将永远存在。但为了在它们影响您或您客户部署的 IoT 系统之前帮助捕获和遏制它们,Memfault 为嵌入式开发人员开发了一个基于云的自助设备“可观察性”平台。
与许多其他物联网设备管理解决方案一样,Memfault 平台支持设备监控和 OTA 更新。然而,与其中许多不同的是,该解决方案支持远程调试,该公司的 CTO 表示,该解决方案允许开发团队“通过持续更新和调试来管理连接的设备,而不会对最终用户产生任何影响”。
Memfault 由一个轻量级嵌入式 SDK 组成,该 SDK 从观察到的设备收集数据和事件,一个将设备数据分成可通信块的“打包器”,以及将这些数据包公开给包含 Memfault CLI 的 Web 应用程序的 REST API可以进行调试的工具。
该平台与几乎所有嵌入式硬件目标兼容,包括基于 Android 的设备和运行实时操作系统 (RTOS) 或裸机软件的 Arm Cortex-M 或 ESP32 微控制器。Memfault 不仅可用于持续检测和修复这些平台上的代码错误,还支持自动警报、捕获队列范围的指标,并与 Jira 等流行的开发生命周期工具集成。
运行中的 Memfault 设备可观察性平台
如前所述,Memfault 平台从一个轻量级固件 SDK 开始,该 SDK 集成了用于设备监控、修复和调试的各种模块。在设备上允许 Memfault 固件 SDK 捕获和分析核心系统数据。这些包括调试寄存器、日志、“核心转储”、回溯等,尽管用户只能选择他们打算使用的模块以将占用空间降至最低。
当设备意外崩溃、挂起或断言时,Coredumps 捕获系统状态
重启原因跟踪提供关于设备在现场重启的原因的摘要分析
带有跟踪事件的错误跟踪在系统运行时捕获轻量级错误事件以协助调试
其他通用设备指标
可能需要发送这些和其他数据结构以进行进一步分析。如果是这样,SDK 会将数据分配到小至 9 个字节的数据包中,然后使用 Zigbee、蓝牙、Wi-Fi、LTE、LoRa 或系统可用的其他协议将这些数据包传输到 Internet。然后将这些数据包发布到块 HTTP API,在那里它们可以被 Memfault 云访问、重组和解释。
摄取后,Memfault 云会分析数据中的问题、根本原因,在某些情况下,还会分析恢复选项。
用户可以设置警报以监视特定事件,当 SDK 识别并在云分析期间确认时,这些事件将编译到警报表中并作为通知发布给关键利益相关者。然后,用户可以在托管仪表板视图的 Memfault Web 应用程序或前面讨论的命令行工具(其功能类似于 HTTP API 的客户端)中深入研究问题。安装 CLI 工具后,它应该在您的本地 shell 或终端应用程序中可用。
这些界面可用于将设备添加到群组和/或管理 OTA 版本。
Memfault 设备可观察性平台入门
鉴于 Memfault Device Observability Platform 支持的硬件目标范围广泛,该公司开发了一组文档、示例项目和代码,以帮助潜在用户快速启动和运行他们的设备。这些涵盖了从术语和创建新项目到将数据发布到 Memfault 云以及通过无线方式将更新推送回设备的所有内容。
入门指南适用于 Arm Cortex-M、nRF Connect SDK、Laird Pinnacle 100、ESP32 ESP-IDF 和 ESP8266 RTOS SDK。
审核编辑:郭婷
-
嵌入式
+关注
关注
5082文章
19123浏览量
305146 -
SDK
+关注
关注
3文章
1036浏览量
45935 -
IOT
+关注
关注
187文章
4210浏览量
196776
发布评论请先 登录
相关推荐
评论