0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

现代分布式物联网和物联网数据应用程序开发、部署和持续支持的挑战

星星科技指导员 来源:嵌入式计算设计 作者:Michael Brogioli 2022-11-29 11:40 次阅读

在由两部分组成的系列文章的第一部分中,我们将讨论现代分布式物联网和物联网数据应用程序开发、部署和持续支持的挑战。具体解决的是跨越我们所说的技术“孤岛”的开发挑战,以及跨云、雾和边缘计算节点安全可靠部署以满足现代应用程序需求的挑战。

随着物联网市场的成熟,本文考虑了跨网络的抽象层和计算模型的出现。这些可以从单一统一的程序员角度跨异构计算端点和通信层网络进行应用程序和系统开发。

随着物联网的迅速崛起,以及物联网设备的生产和多样性的增加,我们已经看到创新技术大大提高了生产力和/或产生了全新的商业模式。同时,现代嵌入式和物联网解决方案是分布式和异构的,硬件目标包括低功耗8位MCU,轻量级但功能强大的网络网关以及互联网云服务器的近乎无限的资源。

现代物联网解决方案需要跨不同开发平台或“孤岛”的专业知识。我们使用术语孤岛来表示实现跨网络 IoT 解决方案所需的分段开发和部署流程和工具。随着开发从云转移到系统内的嵌入式组件,需要越来越专业化和昂贵的人才,这些人才仍然被锁定在给定的开发孤岛中。这是因为开发高效、安全和可靠的嵌入式软件仍然需要高度专业化的知识,这些知识伴随着陡峭且通常昂贵的学习曲线。

很多时候,云和应用程序开发人员认为理所当然的高级抽象并没有找到嵌入式开发的方式。也就是说,在跨多个团队、工具和目标开发和部署功能时,即使不是不可能,也很难保持敏捷性——后勤挑战会减缓产品实施和创新的步伐。

该问题的真实体现可能是现代无人机平台,包括用于数据收集的云服务器、高性能网络网关以及本地设备上网络。此外,无人机本身可能由可能运行Linux或其他操作系统的强大应用处理器,各种裸机8位MCU处理功能(如无刷电机控制)以及各种GPU,相机和具有不同可编程性的硬件加速器组成。

许多行业参与者已经开始认识到这个快速增长的问题,例如英特尔公司,他最近表示,“嵌入式和物联网之间的一个关键区别是连接性。我们正在从孤立的设备过渡到一组能够感知周围环境的互联设备。

“如果你考虑所有用于分析的加速器 - CPU,图形,视频加速器,深度学习引擎,FPA - 你谈论的是4-5种不同的编程环境。这与旧的工具环境不同。工具必须以一种允许开发人员尽可能无缝地在云、网关和设备中的所有这些加速器之间移动工作负载和加速的方式完成。1

物联网和物联网数据

有人可能会说,物联网的革命也可以被认为是由DoT或物联网数据驱动的。因此,收集、过滤、规范化、处理和存储数据的高效且经济的基础设施应该是任何物联网部署的核心。

对于许多企业来说,云已成为分析、存储和可视化物联网数据的主要选择。然而,由于延迟、可用性、成本和隐私等明显原因,大多数人会同意某些处理需要在数据源(即物联网设备)附近完成,其中包括边缘和雾计算。结果是,在许多情况下,构建、部署和支持端到端物联网数据管道是一种平衡行为,即决定应该在云中做什么,应该在边缘或其他地方做什么,跨越多个开发目标、生态系统和开发人员资源。

这部分是由于云中的部署是众所周知的,特别是像AWS这样的云供应商已经使用各种工具和服务进行了大规模的数据分析和渲染。对于大多数几乎没有指导或误导原则的企业来说,如何在边缘最好地构建、部署和支持数据驱动的计算基础设施仍然是最佳实践。这在一定程度上与物联网系统的异构性质有关,物联网系统的硬件和软件架构、软件打包和安全功能可能大不相同。

同样重要且当今该领域缺少的一大部分是以数据为中心的边缘计算基础设施。此类基础设施需要能够:

?标准化 IoT 数据的摄取和规范化方式

?提供划分和分配数据处理工作负载的系统方法

?自动扩展数据处理任务,以适应各种数据复杂性和数据量

?简化 AI/ML 推理函数的构建和部署到边缘的方式

开发和部署挑战

市场上有一些袖珍解决方案解决了其中的一两个挑战。例如,AWS Greengrass 服务允许您在嵌入式边缘网关上运行微服务(以 Lambda 函数的形式);Azure IoT Edge 提供类似功能,但以显式容器化应用的形式除外。

然而,在撰写本文时,这些服务包括一个过于简化的物联网和边缘部署模型,目前无法在将聚合数据发送到云之前通过大型物联网边缘设备网络实现复杂的数据处理功能。

这部分是由于这些开发人员强烈接受用于构建安全的云支持的Web应用程序的复杂,敏捷的开发方法,而嵌入式世界在很大程度上已经落后。云和应用程序开发人员认为理所当然的高级抽象在很大程度上没有找到嵌入式开发的方式,这通常使其成为开发完整解决方案中最慢最痛苦的方面。

O‘Reilly最近的一份出版物很好地总结了这一挑战的各个方面。《重新思考编程》一文指出,“编程世界将越来越多地分为训练有素的专业人士和没有深厚背景但拥有大量构建经验的人。前者构建工具、框架、语言和平台;后者连接事物并构建网站、移动应用程序等。2

因此,我们不仅要解决系统架构中各种孤岛(云、雾、设备/嵌入式)的开发挑战,还要解决如何促进构建者以务实的方式部署、配置、重新配置和支持这些健壮的系统,而不需要深入了解底层硬件架构等。

例如,考虑部署包含图 1 中体系结构的应用程序。嵌入式节点可能是低功耗 8、16 或 32 位 MCU 或 DSP 目标,需要深入了解底层硬件架构,并且通常需要牢牢掌握 C 编程语言。该器件可以与各种致动器、传感器和串行通信协议(如 I2CUART 等)接口

自动生成的徽标描述的特写

图1.嵌入式设备直接与云计算通信的示例。

相反,图 1 右侧的云数据存储通常是具有 GB 内存的高度配置的多核服务器,可能运行强大的虚拟化操作系统并执行在具有更高级编程语言的抽象框架中构建的应用程序。

云存储可以执行数据记录、事件处理和类似功能。

正如人们所期望的那样,为每个设备编程逻辑需要不同程度的底层架构知识(或者在云设备的情况下,可能根本没有知识),使用截然不同的框架、编程语言和操作系统支持级别(或者在嵌入式节点的情况下根本没有操作系统)。

现在考虑相同的应用程序,但部署在图 2 所示的体系结构上。虽然该架构仍然包括嵌入式节点和云节点,但集成了用于记录、分析、推理或其他逻辑的雾网关。此节点可能是预配良好的多核 Linux 体系结构,可在 C++ 等中编程。

图2.将雾与云计算相结合的嵌入式设备通信示例。

这当然提出了许多问题:

如何在这个不断发展的体系结构中迁移现有应用程序?

如果有多个嵌入式节点和/或多个雾节点怎么办?

跨不同硬件目标(包括不同级别的计算资源、操作系统支持、带宽和连接)迁移应用程序的系统方法是什么?

此外,还必须考虑从头开始支持安全、不同类型的通信链接和发展范式。

显然,开发、部署和持续支持的问题很快就会在孤立的架构中以及组织中的孤立开发和部署团队中变得棘手!

期待

随着物联网和 DoT 应用的未来需要嵌入式计算、雾计算和云计算协同运行,项目经理和开发人员都必须注意构建和部署这些解决方案所需的人力资源和资本。

高级云开发人员可能不具备嵌入式硬件的复杂知识,并且很多时候不具备这些系统所需的系统级理解和编程技能。同样,嵌入式开发人员很可能不知道云开发中迅速出现的高级开发框架和工具。

必须注意协调许多移动部件,以便对这些系统进行统一和异构的开发、部署和持续支持。

然而,与此同时,孤岛的集成远远超出了给定目标节点的开发。必须考虑设备之间的各种通信通道,以及部署给定物联网应用程序的基础设施的维护。此外,必须在应用程序部署的整个生命周期中持续维护安全配置信息的部署和安全层本身。当物联网应用程序中一个计算节点的应用程序代码、安全层或配置更新时,不仅需要针对支持该应用程序的其他软件和系统进行测试和验证,还需要同时部署。这种迭代部署周期通常由多个互连的软件模块和层(请注意,一些专有和一些第三方或开源)组成,必须跨开发团队和企业加以考虑。

在本文的第 2 部分中,我们将解决给定 IoT 部署孤岛中的特定开发挑战。然后,我们进一步深入研究潜在的面向未来的解决方案,以促进构建这些类型的孤岛跨越系统,考虑给定组织内的语言和部署方案。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16040

    浏览量

    343915
  • 物联网
    +关注

    关注

    2871

    文章

    41709

    浏览量

    358971
收藏 人收藏

    评论

    相关推荐

    分布式IO工业自动化数据采集与分析的核心

    工业自动化生产的效率。在传统的工业自动化生产中,设备的控制和监测通常采用集中式控制方式,这种方式存在着设备连接复杂、数据传输速度慢、故障率高和扩展性差等问题。而分布式IO采用分布式控制方式,将设备按照
    发表于 12-28 14:47

    鸿蒙原生应用开发——分布式数据对象

    分布式数据对象保存 6、分布式数据对象订阅(数据变更,上下线) 7、分布式
    发表于 12-08 10:01

    MCU在线技术讲座-EFM和EFR: 面向联网开发的通用MCU平台

    能力。BB5x系列是电动工具,手持厨房工具(如浸入搅拌机),甚至儿童玩具等电池供电型应用的理想之选,其支持从1.8V到5.5V的多种电压选择,使设备利用纽扣电池即可持续使用多年。
    发表于 11-23 13:45

    联网中台的开发部署有哪些技术挑战?#数据中台 #光点科技

    数据联网
    光点科技
    发布于 :2023年11月16日 17:35:38

    联网专业前景怎么样?

    联网专业前景怎么样? 联网专业在当今技术发展迅速的背景下具有广阔的前景。以下是联网专业的
    发表于 10-20 09:48

    华秋应邀参加IOTE联网

    IoT数智化为数字经济提供了丰富的数据资源,推动经济的发展和创新;同时,数字经济的发展也为联网数智化提供了更多的应用场景和商业机会。IOTE 2023第二十届深圳国际
    发表于 09-22 15:41

    华秋应邀精彩亮相IOTE联网

    IoT数智化为数字经济提供了丰富的数据资源,推动经济的发展和创新;同时,数字经济的发展也为联网数智化提供了更多的应用场景和商业机会。IOTE 2023第二十届深圳国际
    发表于 09-22 15:39

    基于飞腾派的边缘联网

    本帖最后由 zhh763984017 于 2023-9-21 16:53 编辑 今天给大家分享一个飞腾派的一个应用场景——边缘联网关。边缘联网关可以连接各种
    发表于 09-21 16:50

    电池联网应用MCU都用哪些型号的?

    电池联网应用MCU都用哪些型号的
    发表于 09-20 07:57

    联网简介

    联网(IoT)是由物理设备、车辆等组成的网络,家用电器和嵌入有电子设备、软件、传感器等的其他物品,致动器,以及使这些物体能够连接和交换数据
    发表于 09-11 07:18

    ARM联网整体解决方案-数据

    ARM联网整体解决方案提供了一种独特的基于解决方案的方法,将最新的专业处理能力与先进的软件和工具相结合。 ARM联网整体解决方案可随时实施或构建,从而简化您的设计流程和产品
    发表于 08-29 06:06

    OpenHarmony 分布式硬件关键技术

    的“超级终端”。分布式硬件技术能够为开发者的上述需求提供助力,因其能够构建硬件资源池,提供按需定义超级终端硬件的能力,支持多路硬件的协同和调度,且能够使硬件能力自适应。 分布式硬件能够
    发表于 08-24 17:25

    新唐对应四大联网安全攻击的保护措施

    区分为四种类型: 联网设备和服务器之间数据传输的通讯攻击 联网设备从用户到维护的生命周期攻击 对装置内部软件的攻击 直接针对装置内芯片
    发表于 08-21 08:14

    浅谈工业联网平台

    工业互联网平台 工业互联网平台的本质是在传统云平台的基础上叠加联网、大数据、人工智能等新兴技术,搭建对工业
    发表于 08-10 15:45

    联网无线通信技术比较

    相应的大数据采集以及云端应用形成联网大生态(下图为示意图)。   以大家常见的手环为例:通过加速度传感器,脉搏传感器,血氧传感,血压传感等等,加上蓝牙应用层协议(Profiles)和蓝牙内置的MCU,便可
    发表于 05-15 15:57