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

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

3天内不再提示

RESTful API和跨物联网移动数据

李皓圳 来源:深海零下一度1 作者:深海零下一度1 2023-01-10 15:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在本博客系列的第一部分中,我们讨论了物联网(IoT) 的关键组成部分是分散式通信,并研究了网状网络如何消除实现工业 4.0 的许多障碍。一旦设备拥有强大的通信媒介,下一个挑战就是让所有设备都使用通用语言。

一种越来越流行的机制,设备可以通过这种机制在它们之间交换数据和发送命令,这是一种称为 RESTful API 的框架。首先,让我们拼出首字母缩略词。REST 代表 Representational State Transfer,API 代表应用程序编程接口。对于我们这些认为自己是硬件人员而不是软件或 Web 开发人员的人来说,让我们探索一种可能过于简单的方式来理解嵌入式电子环境中的 REST 和 API。让我们从 API 开始。API 是许多 Web 服务发布的一种软件机制,作为第三方开发人员以可控和定义明确的方式安全地与其系统交互的一种方式。例如,如果您曾经使用过第三方 Twitter 应用程序,那么您就间接地利用了 Twitter API。

REST 是一种机制,支持互联网的设备可以通过这种机制通过来回传输看似统一资源定位器 (URL)的内容来与其他设备或服务器通信。无需过于挑剔,在许多流行的基于 REST 的物联网开发平台 API 中找到的文档通过技术上更合适的标题统一资源标识符或 URI 来引用它们。

好吧,让我们将其付诸实践。假设我们要创建一个网站。在那个网站上,我们想创建一个表单,允许我们通过互联网远程打开和关闭 LED

下面的代码片段让我们了解了 Post 方法的格式:

告诉您的设备要做什么!

打开 LED。

关闭 LED。

注意方法=“POST”。这是 RESTful API 利用的 HTTP 方法的示例。其他方法包括 GET、PUT、PATCH 和 DELETE。在许多提供 RESTful API 的物联网嵌入式设备中,POST 和 GET 方法可能是最常用的两种方法。POST方法用于向Web服务器推送数据,GET是向Web服务器请求数据的方法。因此,在我们上面的示例中,POST 方法是一种机制,通过这种机制,最终用户对网站表单的点击被发送到 Web 服务器,而 Web 服务器又向 IoT 设备发出适当的命令。

GET 请求呢?假设我们是连接到执行器的端点设备。我们执行机械动作的决定取决于远处的温度。在这种情况下,端点将通过 GET 方法请求存储在 Web 服务器上的温度值。

下面的代码片段让我们了解了 GET 方法的格式:

WiFiClient客户端;

const char DeviceToken[] = "MY_ID_TOKEN";

const String httpRequest1 = "GET /api/v1.6/devices/Arduino101_MBA/temperature/values?page_size=1&vertical-align: inherit;"> const String httpRequest2 = " HTTP/1.1rn"
"主机:things.ubidots.comrn"
"连接:关闭rnrn";

出于所有意图和目的,我们正在创建特制字符串,这些字符串将通过设备的 Wi-Fi 连接与网络服务器进行通信。这些字符串是 Web 服务器识别的 GET 请求,反过来,将以必须由端点解析的字符串中的数据响应。响应 GET 请求时,JavaScript 对象表示法 (JSON) 等轻量级数据交换格式是从服务器向客户端发送信息的首选方法。许多嵌入式平台都有 JSON 库来帮助解析。

在下面的代码片段中,字符串变量行将保存服务器在远程处理 GET 请求后发回的 JSON 数据包。

字符串行 = "";

client.print(httpRequest1+DeviceToken+httpRequest2);

延迟(500);

while(client.connected()) {
line.concat(client.readStringUntil('n'));
}

为了提取网络服务器传递给执行器端点的温度值,必须解析该字符串。

当硬件工程师试图描述 REST 时,可能有许多软件和 Web 开发人员会睁大眼睛阅读这篇文章。嵌入式工程师同行的重点是了解 RESTful API 正迅速成为物联网设备通信的首选方法,因为它们高度灵活、可扩展、可移植、能够处理多种数据交换格式,可以说更容易开发和提供比简单对象访问协议 (SOAP) 等替代方案具有更好的性能。简而言之,嵌入式工程师和固件开发人员至少应具备该技术的应用知识。当与从事相关移动和网络应用程序工作的同事进行设计讨论时,这种理解将被证明是有用的。

现在就这些了,但请记得回来查看本系列博客的第三部分,届时我们将讨论边缘计算和物联网。

审核编辑:汤梓红

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

    关注

    2939

    文章

    47317

    浏览量

    407858
  • API
    API
    +关注

    关注

    2

    文章

    2147

    浏览量

    66238
  • Restful
    +关注

    关注

    0

    文章

    14

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业联网平台的API数据接口支持对接哪些系统

    工业联网平台的API数据接口支持对接的系统类型广泛,涵盖工业自动化、企业信息化、联网
    的头像 发表于 11-03 09:41 146次阅读

    RESTful API设计原则: 构建易用、可扩展的API接口。

    一、理解REST架构的核心约束 1.1 RESTful API的六大基本原则 Roy Fielding博士在其博士论文中定义了REST架构的六大核心约束: 统一接口(Uniform
    的头像 发表于 10-24 10:45 272次阅读

    RESTful API设计原则: 构建易用、可扩展的API接口

    在当今微服务架构和分布式系统盛行的时代,RESTful API已成为系统间通信的核心桥梁。优秀的API设计不仅能提升开发效率,还能显著降低系统维护成本。本文将深入探讨如何遵循REST
    的头像 发表于 10-20 13:45 335次阅读

    学习联网怎么入门?

    随着联网技术的不断发展,越来越多的人开始关注学习这一领域。但是对于初学者来说,联网似乎是一个庞杂的概念,学习起来很困难。因此,从哪里开始学习
    发表于 10-14 10:34

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

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

    联网平台:设备关联+拖拽式搭建

    提到联网,很多人会想到“传感器采集数据、设备远程控制”,但很少有人知道:让分散的传感器“说话互通”、让不懂编程的人也能搭建物联网应用,背后都离不开“
    的头像 发表于 08-29 15:35 523次阅读

    联网数据中台和联网网关有什么区别

    管理与应用平台,是联网数据的“中枢大脑”。 核心目标 :整合多源异构数据,通过标准化处理(清洗、转换、集成)形成高质量数据资产,并输出为可
    的头像 发表于 08-15 14:40 573次阅读

    淘宝API平台数据同步,多店管理一屏搞定!

    同步中枢 通过淘宝开放平台API构建数据中台,实现: # 示例:平台库存同步核心逻辑import requestsdef sync_inventory(item_id, platforms
    的头像 发表于 07-30 14:41 437次阅读
    淘宝<b class='flag-5'>API</b><b class='flag-5'>跨</b>平台<b class='flag-5'>数据</b>同步,多店管理一屏搞定!

    产品详情查询API接口

    ,使用HTTP协议实现数据传输,支持多种应用场景,包括电商平台、移动应用和数据分析系统。本文将逐步介绍产品详情查询API接口的核心概念、工作原理、实现方法以及实际应用示例,帮助开发者快
    的头像 发表于 07-24 14:39 383次阅读
    产品详情查询<b class='flag-5'>API</b>接口

    联网蓝牙模块有哪些优势?

    随着联网技术的不断发展,蓝牙模块作为联网的重要组成部分,其应用越来越广泛。那么,联网蓝牙模
    发表于 06-28 21:49

    联网的应用范围有哪些?

    联网,简单来说,就是“万相连的互联网”。它以互联网为基石,将用户端延伸至物品与物品之间,实现信息的交换与通信。打个比方,你的智能手表能实
    发表于 06-16 16:01

    联网未来发展趋势如何?

    :随着联网设备和传感器的普及,数据安全和隐私保护将成为联网行业发展的重要关注点。保护用户数据
    发表于 06-09 15:25

    联网工程师为什么要学Linux?

    的工具链和文档支持。 二、开发效率与功能实现 1)开发环境依赖 联网项目常涉及平台编译、内核裁剪、驱动开发等任务,Linux提供了成熟的工具链(如GCC、Makefile)和调试环境,显著
    发表于 05-26 10:32

    为什么选择蜂窝联网

    的基础设施。 数据传输速率和稳健性: 由于 LPWAN 技术通常用于不频繁发送/接收数据的设备,因此许多技术都针对这种使用情况进行了优化。然而,某些操作(如远程固件更新)需要更高的数据传输速率。这正是蜂窝
    发表于 03-17 11:42

    联网就业有哪些高薪岗位?

    架构师: 负责制定联网解决方案,设计联网系统的整体架构,对于整个系统的稳定性、安全性和性能负有重要责任。由于技术要求较高,该岗位通常享有丰厚的薪资待遇。
    发表于 01-10 16:47