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

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

3天内不再提示

将物联网设备连接到云服务

星星科技指导员 来源:嵌入式计算设计 作者:Rajan Mistry 2022-11-30 14:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

物联网IoT) 方面,云在允许开发人员在边缘设备和远程数字服务之间分配计算方面发挥着重要作用。这种架构为多种解决方案开辟了潜力,在这些解决方案中,设备和云服务使用高效的协议在当今的高速通信通道上协同工作。当然,支持所有这些需要从物理层到应用层的强大双向通信。

在本博客中,我们将简要回顾有助于促进 IoT 通信的常见传输和应用层协议,然后了解如何让 IoT 边缘设备与 Microsoft Azure 和 AWS IoT 通信。

物联网连接协议

无论边缘到云的物联网通信多么复杂,这一切都归结为设备和远程服务之间通过互联网进行的双向数据通信。

从传输层开始,设备到云的通信通常通过TCP(传输控制协议)或UDP(用户数据报协议)通道进行。TCP是面向连接的可靠,这意味着发送的每个数据包都需要确认已收到。但是,随着可靠性的提高,开销也随之而来,有时对于物联网应用程序,TCP 标头可能大于有效负载本身。另一方面,UDP 是无连接且不可靠的,这意味着为了速度,它允许丢失数据包。TCP用于数据必须通过的地方,而UDP用于某些数据丢失可以接受的地方(例如,在流式传输视频时)。

在应用层,HTTP(超文本传输协议)已成为基于Web的通信中最标准化的协议之一。它是作为客户端-服务器时代的请求-响应模型开发的,其中客户端(例如浏览器)打开TCP连接以向返回响应的服务器(例如Web服务器)发送请求。TLS 通常用于保护通过 TCP 的 HTTP 通信,而 DTLS 通过 UDP 执行类似的功能。IoT 设备可以使用此设置与使用 RESTful/SOAP Web 服务的 Web 服务器进行通信。

例如,设备可以使用 HTTP GET/POST 方法通过 TCP/IP 连接与服务器通信,并提供以 XML、JSON 或其他格式格式化的有效负载。每个步骤(TCP/IP、HTTP、XML/JSON)都会不断增加有效负载的开销,这是最终应用程序正在寻找的唯一相关信息。

因此,另一个应用层协议MQTT(消息队列遥测传输)在物联网中变得流行起来。它是一种轻量级协议,代码占用空间小,适用于嵌入式物联网设备等受限环境。最值得注意的是,它采用发布-订阅模型,通过中央 MQTT“代理”促进设备之间的一对多通信——这正是物联网通常需要的通信类型!

了解了这些底层协议后,现在让我们看看边缘到云通信的工作原理。在本博客中,我们将以高通MDM9206 LTE调制解调器和高通®®骁龙™移动平台为例,因为它们说明了制造商如何从硬件级别到API通信堆栈的支持可以促进物联网到云的开发。

将 MDM9206 LTE 调制解调器物联网设备连接到 Azure

MDM9206 是一种相当专业的设备,通常与另一个处理器结合使用,用作调制解调器。

为了方便通信,您可以使用支持TLS,DTLS,MQTT和HTTP的高通® LTE IoT SDK,并提供用于连接到Azure IoT Hub的“填充层”[2]。

此填充层包括 Azure 输入/输出 (I/O) 和平台填充层库,作为用户空间中 ThreadX 平台上 Azure 应用程序开发的包的一部分。Azure 应用程序使用 Microsoft Azure SDK 定义的 API 与 Azure IoT SDK C 模块进行交互。Azure IoT SDK C 模块使用适配器层与 ThreadX IoT 堆栈进行交互。下图显示了 ThreadX IoT 设备上的 Azure 应用程序体系结构:

pYYBAGOG_yGADLseAAHwqb6x3o0153.png

ThreadX 设备上 Azure 应用程序的体系结构。图片由高通技术公司提供

此填充层还包括许多脚本,这些脚本设置生成环境以为设备构建应用程序。

将具有 MDM9206LTE 调制解调器的物联网设备连接到 AWS IoT

该开发工具包还可用于使用 MQTT 消息与 AWS IoT 进行通信。GitHub上有一个演示和项目,提供了一些很棒的资源:IoT Goods Cart和merchant-cart-aws-iot项目。

将设备连接到 AWS IoT 所涉及的关键步骤包括:

创建 EC2 实例并启用正确的端口

将应用程序添加到 EC2 实例

从 AWS IoT 获取应用程序的证书和私有密钥

构建设备端应用程序,并将其与证书和私钥以及任何其他支持文件一起传输到设备

使用设备设置传感器映射以跟踪产品库存水平

启动浏览器并导航到您的 AWS IoT 应用程序

在设备上运行应用程序

如果您有兴趣了解更多信息,请查看项目的示例应用程序模块,了解如何通过 MQTT 将库存水平发布到 EC2。您还可以通过查看aws_iot_mqtt*.c 文件来了解 MQTT 通信的工作原理。

将运行在骁龙平台上的基于 Linux 的物联网设备连接到 AWS IoT

骁龙移动平台为物联网解决方案提供了更广泛的功能。它们还使开发人员能够集成以各种编程语言编写的更高级别的 SDK 和库。

基于 Snapdragon 的设备与使用 MQTT 的 AWS IoT 之间的通信可以通过其中一个 AWS IoT 开发工具包(例如 AWS IoT Device SDK for Python)[4] 来完成。

连接到 AWS IoT 所涉及的关键步骤包括:

1. 在 AWS 中创建项目

创建一个“事物”

将“事物”连接到设备

选择编程语言

生成证书和策略并将其添加到项目中

2. 在客户端/设备上安装 AWS IoT 所需的开发工具包

3. 使用以下实现创建设备端应用程序:

将 AWS 模块添加到客户端代码

在传递私钥和证书的代码中实例化客户端

启动连接

订阅主题并指定回调以接收回馈信息

根据应用的要求发布消息

结论

通过标准 OSI 模型协议工作的设备到云通信为云服务提供了骨干。物联网设备到云的连接可以在专用硬件(如MDM9206 LTE调制解调器)和更通用的设备(如骁龙移动平台)上实现。

更一般地说,这种设备到云的架构为在物联网设备和/或云上进行处理提供了一组丰富的选项。但是,归根结底,这完全取决于您如何通过互联网在设备和远程服务之间实现双向数据通信。

审核编辑:郭婷

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

    关注

    2942

    文章

    47397

    浏览量

    408919
  • 调制解调器
    +关注

    关注

    3

    文章

    882

    浏览量

    40635
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    由Memfault赋能的Nordic-nRF Cloud服务硬核加持联网通信应用

    的 nRF Cloud,它是完整的设备可观测性、设备管理和定位服务平台,使开发人员能够以前所未有的便捷和效率监控、管理和更新其设备。 它不仅支持 Nordic 的 nRF91 系列蜂窝
    发表于 11-27 22:30

    学习联网怎么入门?

    联网的基本概念和技术是学习联网的重要第一步。联网是指互联网上的物品相互
    发表于 10-14 10:34

    学习联网可以做什么工作?

    健康、智能制造等领域。以下是一些常见的职业方向: 联网工程师:从事物联网系统的设计、开发、测试、维护和升级等工作,包括传感器、无线通信、计算、大数据等技术的应用。   嵌入式软件工
    发表于 10-11 16:40

    智能家居体验升级关键!联网平台靠跨设备数据关联发力

    在数字浪潮席卷全球的今天,联网平台已成为智能家居的“大脑”与“中枢”,正以前所未有的深度和广度重新定义着我们的居住体验,连接起分散的智能设备
    的头像 发表于 09-22 15:06 414次阅读

    通过JTAG连接到联网板时,FAQ_MA35D1_There没有响应是怎么回事?

    R0、R145、R146、R147、R149、R151 上的 151 Ω更改为 R41、R42、R43、R44、R45。 FAQ_MA35D1_There尝试通过 JTAG2 连接到
    发表于 09-03 08:28

    【嘉楠堪智K230开发板试用体验】通过K230连接商业联网平台CTWING

    一.前言 K230开发板带了一个WIFI模块,能够连接联网传输数据,对于处于当前联网时代的我们,能够将设备
    发表于 08-29 01:02

    联网平台的作用有哪些?让万互联

    、城市管理、民生服务等诸多领域的运作模式。 一、设备互联的“翻译官”:打破异构设备的通信壁垒 联网的核心是“万
    的头像 发表于 08-07 18:00 813次阅读

    低代码联网平台功能解析:从设备接入到智能应用

    设备、数据与应用的核心枢纽,其功能覆盖了从设备接入到数据处理、应用开发的全流程。以下是其主要功能的详细说明: 一、设备接入与管理 联网
    的头像 发表于 07-31 15:23 757次阅读

    中易联网平台的十大功能

    在数字经济与产业智能化深度融合的浪潮下,中易联网平台以构建了一站式智能化管理生态。平台通过整合联网
    的头像 发表于 07-25 16:33 795次阅读

    联网的应用范围有哪些?

    情况;网络通信技术保障数据在不同设备、系统间稳定传输,像 4G、5G 甚至未来的 6G 网络;大数据与计算技术则对海量的感知数据进行存储、分析和处理,挖掘其中有价值的信息,为决策提供支持。
    发表于 06-16 16:01

    【第二章 模型与设备连接】手把手教你玩转新版正点原子

    【第二章 模型与设备连接】手把手教你玩转新版正点原子玩过联网的朋友们都知道,我们在接触各大主流
    发表于 03-12 09:27

    宇树科技在联网方面

    给其他设备或云端进行分析和处理。 与通信企业合作:宇树科技可能与通信企业展开合作,共同探索5G、6G等新一代通信技术在机器人领域的应用,以提升机器人的通信效率和稳定性,满足联网场景下大量设备
    发表于 02-04 06:48

    使用插件Excel连接到MySQL/MariaDB

    使用插件 Excel 连接到 MySQL/MariaDB 适用于 MySQL 的 Devart Excel 插件允许您将 Microsoft Excel 连接到 MySQL 或 MariaDB
    的头像 发表于 01-20 12:38 1163次阅读
    使用插件<b class='flag-5'>将</b>Excel<b class='flag-5'>连接到</b>MySQL/MariaDB

    采用华为 Flexus 服务器 X 实例部署 MQTT 服务器完成设备

    一、前言 1.1 开发需求 这篇文章讲解: 采用华为最新推出的 Flexus 服务器 X 实例 EMQX 服务器,搭建 MQTT 服务
    的头像 发表于 12-26 18:12 1032次阅读
    采用华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务</b>器 X 实例部署 MQTT <b class='flag-5'>服务</b>器完成<b class='flag-5'>设备</b>上<b class='flag-5'>云</b>

    NTP服务器在联网中的应用

    随着联网(IoT)技术的飞速发展,越来越多的设备连接到联网上,这些设备需要精确的时间同步来
    的头像 发表于 12-18 15:16 1266次阅读