当您的设备组有 20 台设备时,开发人员可以简单地查看日志并手动搜索常见问题,或者快速构建一些简单的 Python 脚本来解析数据以确定原因。但是当舰队规模扩大到数千或数百万时,Command-F 搜索和简单的脚本无法捕获所有错误——而且它们肯定不会出现新问题。
鉴于消费者对物联网设备的需求不断增加以及跨平台连接性的增加,错误的可能性和频率——无论是常见的还是不常见的——都在加速。正如供应商不能再发布期望不再与他们交互的产品一样,固件工程师必须适应不断变化的需求和不断改进的设备功能的复杂性。制定构建、监控和更新的计划对于现代设备开发至关重要。
预测错误并在构建时牢记它们
不幸的是,无法预测每个最终用户使用您的设备的输入和操作环境。因此,与其采用被动式的开发方法,即在发布日在 Reddit 上被恼怒的用户首先注意到问题,您应该采取积极主动的开发立场。作为常规设备管理的一部分,具有前瞻性的开发特权通过内置的未来修复和更新将产品推出市场,包括:
确保可以重置为绝对出厂条件的设备可以恢复到旧固件或建立最小固件路径
当车队范围的趋势表明正确的方向时评估设备诊断趋势和运输更新,而不是需要一定天数的测试或浸泡时间
遵循第 0 天工作流程,将固件冻结在最低限度状态并交付产品,期望您在交付后不断改进算法并更新设备
监控以减轻潜在问题
长期以来,设备制造商一直依赖最终用户有效地充当产品测试人员,等待受影响的客户向客服报告问题。但社交媒体渠道和高客户期望的结合使这种方法不合时宜且具有风险。最终用户不只是想要“足够好”的产品——他们希望设备能够提供独特、高效和方便的功能;与其他设备和应用程序的无缝集成;安全; 和定期更新,所有这些都没有中断。当这些期望没有得到满足时,他们经常准备让每个人都知道。
设备监控对于满足这些需求和确保整个设备的健康状况至关重要。部署一个系统来监控事件、它们发生的次数以及它们在设备中触发的操作(崩溃、重置或触发断言)。捕获关键指标,例如:
电池寿命因系统变化或事件而下降
蓝牙断开次数
CPU 处于活动状态的滴答声或秒数
设备在一小时内连接到蓝牙的时间
有了监控系统,就可以及早发现(并修复)问题,而且通常完全不会影响最终用户的体验。
采用分阶段推出方法来缓解潜在问题
分阶段推出(逐步向所有设备提供版本)提供了更好的控制和可观察性,从而降低了风险敞口。分阶段推出允许开发人员限制版本更新和补丁中意外错误的影响,同时捕获用于分类和修复的最新指标。
在最简单的层面上,分阶段推出可以包括供应商的员工及其愿意作为初始测试受众的联系。除了使用朋友和家人方法进行测试之外,设备制造商还可以选择一定比例的最终用户,他们的设备可以被监控以评估潜在问题。
或者,开发人员可以通过定时监控设备来实现不太正式的分阶段部署版本。当设备以预定的时间间隔调用时,开发人员可以在特定时间段内推送 OTA 有效负载,并监控在签入期间收到更新的设备。
尽管设备电源、间歇性连接和资源有限等诸多限制因素,设备开发人员都在推动创新。通过采用预测问题的主动开发方法,开发人员可以减轻硬件开发的额外复杂性,并倾向于动态和迭代过程,从而产生更好、更强大的产品,并随着时间的推移而改进。
审核编辑:郭婷
-
电源
+关注
关注
182文章
16424浏览量
244150 -
物联网
+关注
关注
2860文章
41250浏览量
357384 -
监控系统
+关注
关注
21文章
3565浏览量
168516
发布评论请先 登录
相关推荐
评论