0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RESTful API和跨物聯(lián)網(wǎng)移動數(shù)據(jù)

李皓圳 ? 來源:深海零下一度1 ? 作者:深海零下一度1 ? 2023-01-10 15:56 ? 次閱讀

在本博客系列的第一部分中,我們討論了物聯(lián)網(wǎng)(IoT) 的關(guān)鍵組成部分是分散式通信,并研究了網(wǎng)狀網(wǎng)絡(luò)如何消除實現(xiàn)工業(yè) 4.0 的許多障礙。一旦設(shè)備擁有強大的通信媒介,下一個挑戰(zhàn)就是讓所有設(shè)備都使用通用語言。

一種越來越流行的機制,設(shè)備可以通過這種機制在它們之間交換數(shù)據(jù)和發(fā)送命令,這是一種稱為 RESTful API 的框架。首先,讓我們拼出首字母縮略詞。REST 代表 Representational State Transfer,API 代表應(yīng)用程序編程接口。對于我們這些認為自己是硬件人員而不是軟件或 Web 開發(fā)人員的人來說,讓我們探索一種可能過于簡單的方式來理解嵌入式電子環(huán)境中的 REST 和 API。讓我們從 API 開始。API 是許多 Web 服務(wù)發(fā)布的一種軟件機制,作為第三方開發(fā)人員以可控和定義明確的方式安全地與其系統(tǒng)交互的一種方式。例如,如果您曾經(jīng)使用過第三方 Twitter 應(yīng)用程序,那么您就間接地利用了 Twitter API。

REST 是一種機制,支持互聯(lián)網(wǎng)的設(shè)備可以通過這種機制通過來回傳輸看似統(tǒng)一資源定位器 (URL)的內(nèi)容來與其他設(shè)備或服務(wù)器通信。無需過于挑剔,在許多流行的基于 REST 的物聯(lián)網(wǎng)開發(fā)平臺 API 中找到的文檔通過技術(shù)上更合適的標題統(tǒng)一資源標識符或 URI 來引用它們。

好吧,讓我們將其付諸實踐。假設(shè)我們要創(chuàng)建一個網(wǎng)站。在那個網(wǎng)站上,我們想創(chuàng)建一個表單,允許我們通過互聯(lián)網(wǎng)遠程打開和關(guān)閉 LED

下面的代碼片段讓我們了解了 Post 方法的格式:

告訴您的設(shè)備要做什么!

打開 LED。

關(guān)閉 LED。

注意方法=“POST”。這是 RESTful API 利用的 HTTP 方法的示例。其他方法包括 GET、PUT、PATCH 和 DELETE。在許多提供 RESTful API 的物聯(lián)網(wǎng)嵌入式設(shè)備中,POST 和 GET 方法可能是最常用的兩種方法。POST方法用于向Web服務(wù)器推送數(shù)據(jù),GET是向Web服務(wù)器請求數(shù)據(jù)的方法。因此,在我們上面的示例中,POST 方法是一種機制,通過這種機制,最終用戶對網(wǎng)站表單的點擊被發(fā)送到 Web 服務(wù)器,而 Web 服務(wù)器又向 IoT 設(shè)備發(fā)出適當?shù)拿睢?/p>

GET 請求呢?假設(shè)我們是連接到執(zhí)行器的端點設(shè)備。我們執(zhí)行機械動作的決定取決于遠處的溫度。在這種情況下,端點將通過 GET 方法請求存儲在 Web 服務(wù)器上的溫度值。

下面的代碼片段讓我們了解了 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"
"連接:關(guān)閉rnrn";

出于所有意圖和目的,我們正在創(chuàng)建特制字符串,這些字符串將通過設(shè)備的 Wi-Fi 連接與網(wǎng)絡(luò)服務(wù)器進行通信。這些字符串是 Web 服務(wù)器識別的 GET 請求,反過來,將以必須由端點解析的字符串中的數(shù)據(jù)響應(yīng)。響應(yīng) GET 請求時,JavaScript 對象表示法 (JSON) 等輕量級數(shù)據(jù)交換格式是從服務(wù)器向客戶端發(fā)送信息的首選方法。許多嵌入式平臺都有 JSON 庫來幫助解析。

在下面的代碼片段中,字符串變量行將保存服務(wù)器在遠程處理 GET 請求后發(fā)回的 JSON 數(shù)據(jù)包。

字符串行 = "";

client.print(httpRequest1+DeviceToken+httpRequest2);

延遲(500);

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

為了提取網(wǎng)絡(luò)服務(wù)器傳遞給執(zhí)行器端點的溫度值,必須解析該字符串。

當硬件工程師試圖描述 REST 時,可能有許多軟件和 Web 開發(fā)人員會睜大眼睛閱讀這篇文章。嵌入式工程師同行的重點是了解 RESTful API 正迅速成為物聯(lián)網(wǎng)設(shè)備通信的首選方法,因為它們高度靈活、可擴展、可移植、能夠處理多種數(shù)據(jù)交換格式,可以說更容易開發(fā)和提供比簡單對象訪問協(xié)議 (SOAP) 等替代方案具有更好的性能。簡而言之,嵌入式工程師和固件開發(fā)人員至少應(yīng)具備該技術(shù)的應(yīng)用知識。當與從事相關(guān)移動和網(wǎng)絡(luò)應(yīng)用程序工作的同事進行設(shè)計討論時,這種理解將被證明是有用的。

現(xiàn)在就這些了,但請記得回來查看本系列博客的第三部分,屆時我們將討論邊緣計算和物聯(lián)網(wǎng)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2900

    文章

    44079

    瀏覽量

    370275
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1472

    瀏覽量

    61750
  • Restful
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    3525
收藏 人收藏

    評論

    相關(guān)推薦

    聯(lián)網(wǎng)學習路線來啦!

    ,通過這個網(wǎng)絡(luò)可以實現(xiàn)設(shè)備之間的數(shù)據(jù)交流和互動。 聯(lián)網(wǎng)的核心是數(shù)據(jù),通過采集和分析數(shù)據(jù),可以實現(xiàn)對設(shè)備和環(huán)境的監(jiān)控和控制。
    發(fā)表于 11-11 16:03

    聯(lián)網(wǎng)數(shù)據(jù)分析方法

    在數(shù)字化時代,聯(lián)網(wǎng)(IoT)正迅速成為企業(yè)和個人獲取實時數(shù)據(jù)、提高效率和做出明智決策的關(guān)鍵工具。聯(lián)網(wǎng)設(shè)備,如智能傳感器、可穿戴設(shè)備和智能
    的頭像 發(fā)表于 10-29 11:27 ?296次閱讀

    聯(lián)網(wǎng)和大數(shù)據(jù)的關(guān)系

    在數(shù)字化時代,數(shù)據(jù)已成為一種新的資源,它不僅驅(qū)動著經(jīng)濟的發(fā)展,也在改變著我們的生活方式。聯(lián)網(wǎng)(IoT)和大數(shù)據(jù)(Big Data)作為兩個關(guān)鍵的技術(shù)趨勢,它們之間的關(guān)系日益緊密,共同
    的頭像 發(fā)表于 10-29 10:20 ?248次閱讀

    使用API Post測試阿里云聯(lián)網(wǎng)平臺動態(tài)注冊

    使用API Post測試阿里云聯(lián)網(wǎng)平臺動態(tài)注冊
    的頭像 發(fā)表于 10-05 19:08 ?167次閱讀
    使用<b class='flag-5'>API</b> Post測試阿里云<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>平臺動態(tài)注冊

    基于聯(lián)網(wǎng)的設(shè)備管理

    聯(lián)網(wǎng)設(shè)備管理的重要性日益凸顯,設(shè)備數(shù)量激增帶來數(shù)據(jù)泄露風險。加強設(shè)備安全性、軟件升級與修復(fù)、身份驗證和互操作性是關(guān)鍵。聯(lián)網(wǎng)設(shè)備管理需要
    的頭像 發(fā)表于 09-10 11:04 ?581次閱讀
    基于<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>的設(shè)備管理

    聯(lián)網(wǎng)僵尸網(wǎng)絡(luò)的歷史

    自從聯(lián)網(wǎng) (IoT) 出現(xiàn)以來,我們與技術(shù)交互方式、設(shè)備的自動化以及前所未有的連接方式都發(fā)生了革命性的變化,但這項創(chuàng)新也給我們帶來了各種安全挑戰(zhàn),其中之一就是
    的頭像 發(fā)表于 09-06 09:36 ?605次閱讀

    什么是聯(lián)網(wǎng)技術(shù)?

    夠?qū)A康?b class='flag-5'>物聯(lián)網(wǎng)數(shù)據(jù)進行整合、分析和挖掘,提取有價值的信息。 應(yīng)用層:是聯(lián)網(wǎng)技術(shù)的最終體現(xiàn),直接面向用戶和具體的應(yīng)用場景。包括各類
    發(fā)表于 08-19 14:08

    工控數(shù)據(jù)采集聯(lián)網(wǎng)平臺是什么

    工控數(shù)據(jù)采集聯(lián)網(wǎng)平臺是一種集成化的軟件系統(tǒng),它主要用于在工業(yè)環(huán)境中收集、處理、分析和管理來自各種設(shè)備和傳感器的數(shù)據(jù)。這種平臺結(jié)合了
    的頭像 發(fā)表于 07-23 15:29 ?308次閱讀

    聯(lián)網(wǎng)數(shù)據(jù)采集網(wǎng)關(guān)詳細介紹

    一、聯(lián)網(wǎng)數(shù)據(jù)采集網(wǎng)關(guān)的概述 聯(lián)網(wǎng)數(shù)據(jù)采集網(wǎng)關(guān),簡稱數(shù)據(jù)
    的頭像 發(fā)表于 07-02 16:12 ?966次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>數(shù)據(jù)</b>采集網(wǎng)關(guān)詳細介紹

    plc聯(lián)網(wǎng)數(shù)據(jù)采集平臺是什么

    PLC聯(lián)網(wǎng)數(shù)據(jù)采集平臺是基于聯(lián)網(wǎng)技術(shù),將多個PLC設(shè)備連接到云端的數(shù)據(jù)采集與管理系統(tǒng)。通過采
    的頭像 發(fā)表于 06-24 15:18 ?656次閱讀

    plc聯(lián)網(wǎng)數(shù)據(jù)采集平臺是什么

    PLC(可編程邏輯控制器)聯(lián)網(wǎng)數(shù)據(jù)采集平臺是一種結(jié)合了傳統(tǒng)PLC控制技術(shù)和現(xiàn)代聯(lián)網(wǎng)技術(shù)的系統(tǒng)。它不僅能夠執(zhí)行傳統(tǒng)的PLC控制功能,如監(jiān)控
    的頭像 發(fā)表于 06-21 16:43 ?463次閱讀
    plc<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>數(shù)據(jù)</b>采集平臺是什么

    IO數(shù)據(jù)采集聯(lián)網(wǎng)平臺是什么

    IO數(shù)據(jù)采集聯(lián)網(wǎng)平臺是一種結(jié)合了聯(lián)網(wǎng)技術(shù)的數(shù)據(jù)采集系統(tǒng),它能夠連接到互
    的頭像 發(fā)表于 06-13 10:12 ?422次閱讀

    4G聯(lián)網(wǎng)開關(guān)求助

    阿里云聯(lián)網(wǎng)平臺 合宙模塊780E 724 或者移遠4G模塊開發(fā)一款聯(lián)網(wǎng)開關(guān),有的APP ,可以直接做固件或者固件帶硬件。有可以做的大師可以聯(lián)系我有樣品參考
    發(fā)表于 05-19 15:28

    聯(lián)網(wǎng)設(shè)備成功應(yīng)用的四個要素

    聯(lián)網(wǎng)管理員可以依靠API來調(diào)配設(shè)備,并使用零接觸調(diào)配,這通常包含在聯(lián)網(wǎng)管理軟件中。 這些選項減少了
    發(fā)表于 04-08 11:32 ?146次閱讀

    工業(yè)聯(lián)網(wǎng)網(wǎng)關(guān):實現(xiàn)地域設(shè)備互操作的關(guān)鍵

    工業(yè)聯(lián)網(wǎng)網(wǎng)關(guān):實現(xiàn)地域設(shè)備互操作的關(guān)鍵
    的頭像 發(fā)表于 12-18 14:02 ?532次閱讀