物联网项目需要可靠的基础设施,以保持您的设备连接、安全,理想情况下还可以永久访问无线固件更新,以支持持续的维护和功能开发——所有这些都可以在您从几个原型扩展到可能数十万个单元时完成。
然而,建立和维护这种基础设施是困难的!特别是如果您的专业领域不是连接和通信,而是嵌入式系统。随着公司向物联网平台寻求帮助,他们面临着一个难题:外包所需物联网基础设施的运营有望缩短上市时间,但代价高昂的是将自己锁定在整个供应商和工具生态系统中,或者至少锁定在操作系统和编程语言的任务中。
您的嵌入式软件工程团队可能会告诉您,在物联网软件架构方面,您做出的最重要的决定是围绕操作系统和编程语言做出的选择,以编写设备端应用程序。这种选择可能会影响您需要的团队的规模和经验、您必须编写的新代码的数量、雇用新工程师的难易程度,最重要的是,交付项目或产品所需的时间。从历史上看,这个决定一直是一个重大决定,因为一旦你做出了这个决定,你基本上就会永远坚持下去——或者至少在未来改变这个决定是非常困难的。
除了操作系统和语言之外,您可能还需要考虑第三方代码进行集成,或者您可能已经为想要重用的传感器等内容预先存在代码和驱动程序。您确实希望能够选择您的开发环境,而不是将其强加给您。
在本文中,我们将探讨一种新的、开放的物联网软件架构方法的好处,称为基于微管理程序的方法。我们将讨论为什么自由地以自己的方式编写代码如此有价值,以及为什么能够进一步改变方法的灵活性会为您的产品带来重大好处,并最终为您的团队取得成功带来重大好处。
面向未来的物联网架构的重要性
可以公平地说,没有人愿意最终成为维护旧产品的团队,不断耗尽资源(例如闪存和RAM),永远优化代码以使其适合,反复不得不将补丁移植回旧产品,而新产品在更现代的操作系统上并获得所有新功能。
有时,您甚至可能最终被迫做出错误的选择来妥协新产品 - “让我们使用与旧产品相同的操作系统和代码”以使其保持一致,即使您知道这不是正确的选择。
作为围绕要使用的体系结构、操作系统和编程语言决策的一部分,您真的希望确保为“未来的你”提供最大的成功机会。这通常意味着在做出设计决策时,不会把你逼到墙角,也不会让你在以后留下大量的技术债务。你可能会觉得你需要一个水晶球来计算未知的未知,你必须在不完全知道未来的情况下这样做:
你会发现一个不可预见的问题,迫使你改变你的计划吗?
是否会有具有更多要求的下一个产品版本?
定义 V2 产品时是否需要支持不同的硬件体系结构?
因此,鉴于操作系统和编程语言的选择是一个很大的选择,您可以做些什么来为未来提供最广泛的选择,并使您的设备最适合未来并保护您的软件团队?
如果您能更轻松地做出此选择,那不是很好吗?如果您今天可以选择一种设备端方法,让您能够根据当前拥有的信息自由地快速、立即地进行创新。也许使您能够尽快推出最小可行产品 (MVP) 或 V1 产品,在此过程中以最有效和最敏捷的方式进行开发。
如果您能够构建在 V1 产品中进一步改变方向的能力,确保您永远不会面临旧产品运行与新产品不同的环境的情况,那不是更好吗?
这种完全的灵活性和控制力就是我所说的“开放方法”,让您的物联网软件架构面向未来,在边缘运行。
以 RUST 作为首选的嵌入式编程语言的出现为例。您今天可能还没有准备好在边缘设备上采用 RUST 环境,但您非常确定,很快,您可能会想要这样做。借助边缘设备上的开放式架构,您可以选择在像 FreeRTOS 这样的东西上构建用 C 编写的应用程序,因为您知道将来可以轻松地将其切换为基于 RUST 的应用程序。您现在可以为您的设备构建“与时俱进”的功能。
最终,能够在时机成熟时改变您的方法将带来更好的整体团队和设备性能,以及更敏捷和高效的开发过程。这反过来将有助于显著降低传统产品的维护成本,并缩短上市时间。这也意味着您可以立即进行优化,而无需过多地为未来而烦恼 - 无论是在开发应用程序时优化代码的功能、性能、可靠性还是安全性。今天好的东西不会永远好。
微管理程序架构如何实现自由选择
如果您已经阅读了本系列的前几篇文章,您就会知道微监控程序是一种物联网方法,它利用微控制器的虚拟机管理程序,在互联网连接的设备上实现可靠和安全的远程操作,例如故障安全的无线固件更新和安全的实时远程调试。它通过利用微控制器内的硬件分离(例如意法半导体的STM32U585)在启动时将其分为两个部分来实现这一点,例如利用Arm® Trustzone®。
此微管理程序不仅分离了设备的安全组件(通常是 TrustZone 传统上可能用于的组件),还分离了连接组件,这意味着您的设备在线和保持在线所需的一切都是微管理程序本身的属性。
微管理程序架构中的这种拆分意味着,现在只需在您的设备上使用基于微管理程序的方法,就可以满足软件团队的未来需求和产品软件架构的挑战,因为这种方法本质上分离了设备端代码架构决策的持久性,以防止供应商或架构锁定。
在基于微管理程序的架构中,对嵌入式开发中使用的操作系统或编程语言没有任何限制。只要您要使用的操作系统或环境可以在您的MCU上运行(在Twilio微监控器的情况下,最初是STM32U585),那么您就可以将其部署在微管理程序世界中。这适用于嵌入式开发中的任何方法,无论是自定义裸机方法,还是构建在“现成”操作系统(例如 FreeRTOS 或 Azure RTOS)之上。
与传统物联网平台的方法相比,这种自由和灵活性是新的。很少有完全自由选择使用什么操作系统和编程语言的情况。使用微管理程序方法,应用程序开发人员和固件工程师不会被锁定在任何特定的软件平台中。开发人员可以选择最适合他们的工具,而不是被迫使用特定的平台方法,因为它是唯一受支持的方法。
在创建面向未来的物联网解决方案时,缺乏平台“锁定”可能是最大的帮助。即使在最坏的情况下,您的提供商之一可能会倒闭,使用基于微监控程序的方法编写代码的事实意味着开发人员不会在特定于平台的工作上浪费任何时间。您可以轻松地将代码移植到另一个操作系统或环境,而不会有太多麻烦,使用微管理程序FOTA功能将此“全新映像”推送到现场的现有设备,最终用户甚至不需要知道潜在的灾难已被避免。
但可以说,最大的好处是,这确实有助于确保您的物联网解决方案随着时间的推移保持适应性和面向未来,即使技术和市场条件发生变化也是如此。
如何了解有关 Twilio Microvisor 的更多信息?
微管理程序提供了一种强大而灵活的物联网方法,使开发人员能够构建安全、可靠和高效的物联网应用程序。通过利用硬件分离,微管理程序可以为物联网设备提供额外的安全层,同时支持远程调试、OTA 固件更新,并且至关重要的是支持具有本机代码执行的多个操作系统和多种编程语言。凭借其众多优势和优势,微管理程序有望在物联网应用的开发和部署中发挥越来越重要的作用。
审核编辑:郭婷
-
传感器
+关注
关注
2552文章
51217浏览量
754603 -
mcu
+关注
关注
146文章
17173浏览量
351656 -
物联网
+关注
关注
2909文章
44736浏览量
374469
发布评论请先 登录
相关推荐
评论