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

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

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Rajan Mistry 2022-06-24 10:48 次阅读

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

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

物联网连接协议

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

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

在应用层,HTTP(超文本传输协议)已经成为基于网络的通信最标准化的协议之一。它是作为客户端-服务器时代的请求-响应模型开发的,其中客户端(例如,浏览器)打开 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“代理”促进设备之间的一对多通信——这正是物联网通常需要的通信类型!

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

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

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

为了促进通信,您可以使用Qualcomm® LTE for IoT SDK,它支持 TLS、DTLS、MQTT 和 HTTP,并提供“垫片层”用于连接到Azure IoT Hub。

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

pYYBAGK1J82ADc1LAAIkaRtOIrM117.png

ThreadX 设备上 Azure 应用程序的体系结构。

此 shim 层还包括许多脚本,这些脚本设置构建环境来为您的设备构建应用程序。

使用 MDM9206 LTE 调制解调器将 IoT 设备连接到 AWS IoT

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

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

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

将应用程序添加到 EC2 实例

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

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

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

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

在设备上运行应用程序

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

将在 Snapdragon 平台上运行的基于 Linux 的 IoT 设备连接到 AWS IoT

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

使用 MQTT 的基于 Snapdragon 的设备和 AWS IoT 之间的通信可以通过其中一个 AWS IoT SDK(例如AWS IoT Device SDK for Python) 来完成。

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

1. 在 AWS 中创建一个项目

创造一个“东西”

将“事物”连接到设备

选择编程语言

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

2. 在客户端/设备上安装 AWS IoT 所需的 SDK

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

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

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

开始连接

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

根据您的应用要求发布消息

结论

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

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

审核编辑:郭婷

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

    关注

    54

    文章

    10906

    浏览量

    100742
  • IOT
    IOT
    +关注

    关注

    186

    文章

    3984

    浏览量

    193200
  • AWS
    AWS
    +关注

    关注

    0

    文章

    393

    浏览量

    23930
收藏 人收藏

    评论

    相关推荐

    基于机智联网平台的智能垃圾回收箱与控制系统研究

    在后台远程监控设备的运行情况,在设备出现问题时及时处理。另外,智能垃圾回收箱作为一种回收设备,要对箱中的回收实时监控,防止可回收被盗走。
    发表于 04-09 17:25

    桂花网蓝牙网关:功能强大、应用广泛的联网连接设备

    联网迅速发展的今天,蓝牙网关作为连接设备的关键组件,发挥着越来越重要的作用。北京桂花网公司作为一家专业的
    发表于 12-12 16:06

    服务器怎么连接到设备,MQTT和TCP的通讯方式有什么不同?

    采用ESP8266进行开发,服务器怎么连接到设备的,MQTT 和TCP的通讯方式有什么不用呢
    发表于 11-02 08:34

    联网专业前景怎么样?

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

    基于飞腾派的边缘联网

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

    阿里联网平台基础概念讲解

    产品 设备的集合,通常指一组具有相同功能的设备联网平台为每个产品颁发全局唯一的ProductKey。每个产品下可以有成千上万的设备
    发表于 09-11 07:41

    浅谈工业联网平台

    存储:提供亿万级时序数据存储服务,用户可连接自有数据库,ERP、MES、仓储管理、设备管理等各类信息化系统数据存储本地; “零”代码组态设计:可视化组态操作,轻松搭建工业组态。总结
    发表于 08-10 15:45

    如何使用Alexa语音服务集成在受约束的联网设备上设置语音命令

    本指南供硬件和软件架构师学习如何使用Alexa语音服务集成在受约束的联网设备上设置语音命令。AWS
    发表于 08-02 12:53

    如何模块连接到联网和Arduino板?

    我如何模块连接到联网和 Arduino 板
    发表于 06-12 06:12

    联网中的直接设备连接

    的三种对比鲜明的物联网架构。这三种架构是传统的“网络服务设备”、“虚拟云设备”和“点对点”直接到设备
    的头像 发表于 06-06 10:54 1073次阅读
    物<b class='flag-5'>联网</b>中的直接<b class='flag-5'>设备</b><b class='flag-5'>连接</b>

    基于机智联网平台的智能种树小车

    过程的信息传递、发送命令等,联网机智模块可以实时上报种植数据至平台。制作了装置模型样机,试验测试结果表明:该装置完成一棵树的种植时间需要约8.45 s,完成区域10 m×10 m
    发表于 05-31 19:38

    WiFi如何连接到蜂窝模块?

    和平板电脑可以使用该热点上网。我希望 4-8 位用户连接到我的热点并上网冲浪。但是,我也希望我的设备能够执行通常的 IoT 操作并同时与通信。我的移动应用程序也可以直接控制设备,因为
    发表于 05-24 08:41

    如何房间的窗户连接到联网

    看看我是如何制作一个很棒的项目的,我房间的窗户连接到联网
    发表于 05-22 07:40

    求分享ESP12F连接到具有SIM 800的SIP服务器的指南

    大家好,我正在开发一个 IVRS,计划使用 SIM800 GSM 模块作为呼叫网关,该网关通过 ESP12-f 进一步连接到 SIP 服务器以在 IP 服务器上建立呼叫。我想知道有没
    发表于 05-19 12:32

    如何ESP8266连接到Google表格?

    我正在尝试通过 ESP8266 模块数据从 arduino 连接到 google 表格。我没有使用节点 mcu,这是大多数教程的基础。我有一个连接到 arduino mega
    发表于 05-08 08:13