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

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

3天内不再提示

物联网开发技术的当前和未来挑战

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

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

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

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

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

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

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

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

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

物联网和数据

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

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

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

具有类似重要性和当今该领域的一大缺失部分是以数据为中心的边缘计算基础架构。此类基础设施需要能够:

标准化 IoT 数据的引入和规范化方式

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

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

简化 AI/ML 推理函数的构建方式并将其部署到边缘

开发和部署挑战

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

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

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

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

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

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

poYBAGNI0ZeACIlJAAEH6lzRtxc260.png

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

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

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

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

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

pYYBAGNI0Z6ALmE5AAJ2Wju9mmg767.png

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

这当然会引发许多问题:

现有应用程序如何跨此不断发展的体系结构进行迁移?

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

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

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

显然,开发、部署和持续支持的问题很快就会在孤立的体系结构中以及在组织中孤立的开发和部署团队中得到解决!

期待

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

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

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

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

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

审核编辑:郭婷

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

    关注

    2903

    文章

    44242

    浏览量

    371033
  • 服务器
    +关注

    关注

    12

    文章

    9012

    浏览量

    85164
  • 深度学习
    +关注

    关注

    73

    文章

    5491

    浏览量

    120958
收藏 人收藏

    评论

    相关推荐

    联网学习路线来啦!

    的方法,成为了未来一个单片机程序员的必备技能。 3.2.2网络通信协议栈 联网开发,离不开网络的支持。作为网络协议的实际统治者——TCP/IP,相信了解一些计算机知识的人都不陌生,在
    发表于 11-11 16:03

    联网技术挑战与机遇

    ,从智能家居、智慧城市到工业自动化、医疗健康等众多领域。然而,联网技术的快速发展也带来了一系列挑战与机遇。 挑战: 安全性问题:
    的头像 发表于 10-29 11:32 540次阅读

    联网技术未来发展

    联网(IoT)技术未来发展充满了广阔的前景和潜力。以下是对联网技术
    的头像 发表于 10-29 10:17 247次阅读

    润和软件星闪派联网开发套件资料+答疑帖

    名书: *附件:星闪派联网开发套件规格说明书_V1.0.pdf *附件:星闪派联网开发套件使
    发表于 09-29 10:24

    浅谈联网的优缺点

    联网(IoT)已成为现代人类世界的一部分,这项技术通过将日常物品连接到互联网并让它们收发有用的数据,改变了各个行业,当然也包括我们的日常生活。然而,就像任何其他
    的头像 发表于 09-06 09:43 1876次阅读

    什么是联网技术

    什么是联网技术联网技术(Internet of Things, IoT)是一种通过信息传感设备,按约定的协议,将任何物体与网络相连接,实现智能化识别、定位、跟踪、监管等功能的
    发表于 08-19 14:08

    机动车控制应用中的当前遥感技术

    电子发烧友网站提供《机动车控制应用中的当前遥感技术.pdf》资料免费下载
    发表于 07-10 10:13 0次下载
    机动车控制应用中<b class='flag-5'>的当前</b>遥感<b class='flag-5'>技术</b>

    4G联网开关求助

    阿里云联网平台 合宙模块780E 724 或者移远4G模块开发一款联网开关,有的APP ,可以直接做固件或者固件带硬件。有可以做的大师可
    发表于 05-19 15:28

    请问联网智能方向主要用什么芯片和技术开发呢?

    各位大侠,现在联网智能家居智能穿戴等方向这么火热和有前景,这方向一般用什么芯片开发的呢? 如果走这方向目前仅学会51和stm32可以吗? 还需要学哪些知识 ?现在一般这行业使用stm32的多吗?
    发表于 05-15 06:25

    ​13种值得关注的联网传感器

    数据是新的石油。当前,我们正进入现代信息技术创新的新时代,联网爆发式增长,信息数据的重要性日益凸显。未来
    的头像 发表于 04-13 08:42 273次阅读

    梯云联:电梯联网行业的未来挑战与企业壁垒

    随着电梯联网技术的迅猛发展,电梯行业正面临着巨大的变革和发展机遇。然而,随之而来的是一系列挑战和壁垒,这对于想要进入这个行业的企业来说是需要重视的。 本文梯云联小编将探讨电梯
    的头像 发表于 03-20 10:23 437次阅读
    梯云<b class='flag-5'>物</b>联:电梯<b class='flag-5'>物</b><b class='flag-5'>联网</b>行业的<b class='flag-5'>未来</b><b class='flag-5'>挑战</b>与企业壁垒

    如何解决联网设备的安全问题

    依据统计数据显示,当前联网技术所面对的挑战,主要来自联网设备
    发表于 02-29 14:58 577次阅读
    如何解决<b class='flag-5'>物</b><b class='flag-5'>联网</b>设备的安全问题

    浅析泛在电力联网发展形态与挑战

    浅析泛在电力联网发展形态与挑战 张颖姣 安科瑞电气股份有限公司 上海嘉定 201801 摘 要: 泛在电力联网
    的头像 发表于 02-26 11:04 468次阅读
    浅析泛在电力<b class='flag-5'>物</b><b class='flag-5'>联网</b>发展形态与<b class='flag-5'>挑战</b>

    什么是Ada4528号卫星输出的当前能力和下沉的能力?

    什么是Ada4528号卫星输出的当前能力和下沉的能力? 感谢 谢谢
    发表于 11-24 08:15

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

    开发人员了解专门针对联网开发而优化的EFM和EFR系列MCU平台,我们将针对亚洲地区于2023年12月12日上午10点(北京时间)在线举办全新MCU专题的Tech Talk
    发表于 11-23 13:45