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

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

3天内不再提示

“物联网”对嵌入式开发人员意味着什么

星星科技指导员 来源:嵌入式计算设计 作者:Valter Minute 2022-08-28 11:16 次阅读

如今,“物联网”是业界的热门话题之一。每天都有新的支持物联网的产品出现,物联网现在是一个与万维网一样流行的首字母缩略词。甚至有人开玩笑说,我们可能很快就会看到“支持物联网的电阻器”问世,每周我们都会阅读新的研究,这些研究谈论将在几个从今天开始的几年。

但是物联网是关于什么的?

剖析物联网

在我看来,我们需要了解这个定义中包含的实体。让我们从“事物”开始。对于嵌入式开发人员来说,用嵌入式设备很容易识别它们,我认为这样做是正确的。该定义包括基于微控制器的小型设备以及运行全功能操作系统的更复杂的设备。

那么“物联网”仅仅是将设备连接到互联网吗?

我不这么认为。这就像将互联网定义为连接到基于 TCP/IP 的网络的个人电脑、平板电脑和智能手机一样;我们会错过其中的一个重要部分。

我们已经有许多连接的设备。多项研究评估,自 2008 年以来,连接到互联网的设备数量超过了人,但物联网仍远未成为我们日常生活中的现实。

近年来,互联网已经发展,从万维网革命开始时的静态“电子邮件和网页”模式转变为我们今天拥有的庞大且有时有用的信息和服务(和猫视频)组合。

同样,在我们真正生活在“物联网”时代之前,连接设备也需要进化、互操作、共享和访问信息。

物联网的“互联网”方面是关于处理可以由设备收集的大量数据并提取有用的信息,这些信息可以改善我们今天使用许多服务和设备的方式。这听起来像是大海捞针,但好消息是,借助云计算,我们拥有每秒过滤许多大海捞针所需的处理能力。

“物联网设备”不可能存在(它只是一个“东西”),但我们可以设计一个作为物联网解决方案一部分的设备。该设备将不再是“产品”,而是将成为一个更大项目的一部分,该项目涉及为其增加价值的服务。

我们在设备上也有处理能力,物联网并不意味着所有的处理都必须在云中完成,但另一方面,全面了解设备的整体情况对于让更多信息和更有效的决策。

汽车和交通系统的物联网

让我们考虑交通。单车可以知道路网,获取交通拥堵、道路施工等信息,但它只知道自己的目的地。一个管理系统可以从多辆知道他们在哪里以及他们想去哪里的车辆收集信息,可以提供优化的方向,让人们避免现有的交通拥堵,并且不会在此过程中产生新的交通拥堵。在这种情况下,连接系统可以真正改善人们的驾驶方式。当然,目前这是不可能的;大多数导航系统都没有连接,那些有连接的系统使用不同的协议。但是已经可以进行一些具体的实施来优化,例如公共交通。

这个过程必须克服巨大的挑战。

实施挑战

互操作性绝对是其中之一,但人们可能不喜欢未经授权访问可能比存储在 PC、手机和平板电脑上的信息更私人的信息的想法,他们对安全和隐私的担忧也是合理的。

还有一个重大的设计挑战:将视角从设备转变为解决方案。产品将包括硬件、本地软件和服务。一些要求不会改变——我们仍然需要可靠的硬件和高效的开发工具——但其他要求将被添加到组合中。

作为嵌入式开发人员,我们将面临新的挑战,不得不将我们的软件视为更复杂解决方案的一部分。我们需要了解整个系统的运行方式,从传感器收集的比特到这些数据如何在云中存储和处理,再到它在设备上生成的作为反馈的动作。

假装设计物联网系统不会改变我们的工作方式,只关注嵌入式软件,并且仅将连接性视为功能之一,这将限制我们对项目的影响。

考虑到连接性的设计

设备(事物)必须与后端(互联网)交互才能执行不同的活动:

提供数据(遥测)

需要来自后端的数据或操作(查询)

从后端执行所需的操作(命令)

从后端或其他设备接收信息(通知)

Clemens Vasters 的一篇题为“连接设备的服务辅助通信”的 MSDN 文章清楚地描述了将设备连接到 Internet 服务的这些模式和挑战。

由于我们用于构建嵌入式设备的硬件和软件有许多不同的供应商,因此物联网的“互联网”方面也有不同的供应商。微软、亚马逊和谷歌等公司正在努力为广大的公司和开发人员提供基于云的服务。其中许多服务可用于构建物联网系统。

这些服务可以收集、存储和处理设备获取的数据,并充分利用从中提取的信息。我们也可以使用“传统的”内部服务器,但其中许多项目对可扩展性和可靠性的要求使得基于云的方法成为一种自然的解决方案。

微软提供全方位的产品,从面向嵌入式设备的操作系统(.NET 微框架、Windows Embedded Compact 和 Standard 产品线以及新的 Windows 物联网开发人员计划)到基于其 Azure 平台的基于云的服务。

这将让开发人员在物联网系统的不同组件上使用一套一致的工具和编程语言。另一方面,微软为不同的操作系统和语言发布了 SDK,允许创建一个由运行不同操作系统(或根本没有操作系统)的设备组成的系统。

Azure 提供了一个称为服务总线的消息传递系统。使用消息,而不是 Web API 使用的请求-响应机制,允许服务以异步方式处理信息。这导致更好的可扩展性和更高的可靠性。可以在不中断服务的情况下处理请求数量的峰值,并且一旦将消息传递到服务总线,设备甚至可以将自己与网络断开连接,而无需等待处理。

我们物联网所需的所有通信模式都可以使用消息传递来实现。设备可以使用高级消息队列协议 (AMQP) 或 HTTPS 直接连接到服务总线。前一种协议是为消息传递而设计的,以二进制格式打包信息,通常会导致较低的带宽使用。其他消息传递协议,如 MQTT(在不支持 AMQP 和 HTTPS 所需的额外加密和安全功能的低资源设备上很常见)和 CoAP 可以使用协议适配器进行集成,比如微软自己为项目 Reykjavik(Azure 设备)实施的协议适配器网关)。

利用这些协议的现有开源实现和 Microsoft 提供的 SDK,将简化设备与后端服务之间通信的开发,并让开发人员专注于为整个解决方案增加价值的实现部分。

审核编辑:郭婷

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

    关注

    4983

    文章

    18295

    浏览量

    288593
  • 适配器
    +关注

    关注

    8

    文章

    1824

    浏览量

    66956
  • 操作系统
    +关注

    关注

    37

    文章

    6290

    浏览量

    121898
收藏 人收藏

    评论

    相关推荐

    #人工智能 #嵌入式开发 #联网 #仪器仪表 #智能驱鸟

    联网嵌入式开发
    风河智能
    发布于 :2024年04月12日 10:46:50

    嵌入式人工智能的就业方向有哪些?

    ,LinuxQT开发工程师 C++开发 QT嵌入式图形开发 基于STM32MP157的人脸识别智能门锁项目 基于STM32MP157的智能环境检测项目 六:
    发表于 02-26 10:17

    嵌入式开发学习的十三法则分享

    嵌入式开发学习是一个不断积累和总结的过程,来自一个嵌入式开发高级工程师为我们总结的关于嵌入式开发学习的十三法则,大家不妨参考一下: 一、冗余度法则 在嵌入式系统具有足够的冗余度
    发表于 12-21 06:32

    嵌入式开发测试秘诀

    。 多年前,一位工程师为了对嵌入式拥有更深层次理解的追求,曾发出这样的疑问:“我怎么才能知道并懂得我的系统到底在干些什么呢?”。同时代的嵌入式开发人员问得最多的问题大都围绕“我怎么才能使程序跑得更快”、“什么编译器最
    的头像 发表于 11-24 16:18 252次阅读

    为什么嵌入式没有35岁危机?

    技术在各个领域的应用越来越广泛。从智能手机到智能家居,从工业自动化到智能交通,无处不体现嵌入式技术的身影。这意味着嵌入式技术的从业人员需求
    发表于 11-17 10:33

    开关电源开发人员必看

    电子发烧友网站提供《开关电源开发人员必看.pdf》资料免费下载
    发表于 11-08 15:41 0次下载
    开关电源<b class='flag-5'>开发人员</b>必看

    Linux系统的嵌入式开发是什么

    嵌入式开发听起来很高大上,但其实它就在我们身边。   嵌入式开发是指将操作系统、应用程序或数据存储在嵌入式设备中,如手机、平板电脑、智能家居等。   随着物联网时代的到来,
    的头像 发表于 10-12 15:40 1038次阅读

    什么是嵌入式Linux?

    什么是嵌入式Linux? 对于很多电气、电信、通信专业的同学来说,对口专业就业方向主要有软、硬件两个方向。无论是对于学生还是就业而言,软硬件的开发学习,嵌入式
    发表于 10-11 13:47

    从事嵌入式工作有哪些优势?

    。 那么从事嵌入式工作有哪些优势? 一是工作强度相对较低。开发企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都不同,开发人员往往疲于奔命,重复劳动
    发表于 10-08 15:05

    SD NAND 结合 lichee rv dock加载tina镜像,后续考虑ubuntu镜像

    的机器学习框架和工具,如TensorFlow Lite和Keras。这使得开发人员可以在嵌入式设备上运行机器学习模型,实现智能边缘计算。 总之,Maix Linux是一个专为联网
    发表于 08-24 17:20

    ARM开发人员套件1.2版开发人员指南

    本书包含的信息将帮助您解决为基于ARM的处理器开发代码时的特定问题。 一般来说,本书中的章节假定您正在使用ARM开发人员套件(ADS)来开发代码。 ADS由一套应用程序以及支持文档和示例组成,使您能
    发表于 08-23 07:29

    SystemReady Pre-Silicon参考指南

    ”。 “正常工作”意味着在基于Arm的设备上开箱即用的通用现成操作系统、管理程序和固件,为系统集成商、软件开发人员和最终用户提供无缝体验。硅供应商可以依靠标准化的层,并专注于创新和部署差异化的层。
    发表于 08-10 07:17

    ARM GPU最佳实践开发人员指南

    我们的指南提供了在为Arm Immortalis和Mali GPU开发时如何优化应用程序的建议。这些建议是为那些希望开始使用Arm GPU的成熟开发人员准备的。
    发表于 08-10 06:58

    IzoT BACnet 开发人员指南

    IzoT BACnet 开发人员指南
    发表于 07-04 20:48 0次下载
    IzoT BACnet <b class='flag-5'>开发人员</b>指南

    什么人适合学习嵌入式开发

    到底什么专业的人适合学嵌入式?或从事过自动化相关工作的人员,适合参加嵌入式学习吗?等等系列问题,接下来就问大家一一解答:究竟什么样的人才适合学习嵌入式开发
    发表于 06-07 15:55