<strike id="0k9r3"><p id="0k9r3"></p></strike>
  • <form id="0k9r3"></form>
    <nav id="0k9r3"></nav>
    <em id="0k9r3"><p id="0k9r3"></p></em>
  • <tr id="0k9r3"><source id="0k9r3"></source></tr>
    <form id="0k9r3"></form>
    <sub id="0k9r3"></sub>

      <sub id="0k9r3"><address id="0k9r3"></address></sub>
      1. <form id="0k9r3"></form>

        24小時聯系電話:18217114652、13661815404

        中文

        您當前的位置:
        首頁>
        電子資訊>
        行業資訊>
        MQTT 入門

        行業資訊

        MQTT 入門


        MQTT 入門

        在當今連接設備無處不在的世界中,物聯網(IoT) 一詞已成為連接到互聯網的小部件的事實上的描述。雖然這個美化的駱駝案例,首字母縮略詞本身就很漂亮,但互聯網連接設備的含義遠比人們意識到的要多。在本文中,我想深入探討 IoT 設備中使用的最流行的協議之一:MQ 遙測傳輸 (MQTT) 協議。我們將簡要介紹它是什么,它是如何工作的,以及它與其他使用的技術相比有何新穎之處。

        MQTT 是什么以及為什么

        在典型的客戶端-服務器設置中,我們有一個將傳感器數據發布到服務器的提供者(即設備本身)和一個請求從服務器查看傳感器數據的消費者。MQTT 也不例外。它是一種用于設備之間通信的輕量級協議。設備通常會將數據發布(即發送)到 MQTT“代理(或服務器),然后將其保留以提供給其他設備或 Web 應用程序。另一個設備或 Web 應用程序將從 MQTT 代理訂閱該數據集(即請求數據),然后 MQTT 代理將該數據傳送給它們。把它想象成一個美化的 Web 服務器,有兩個主要的例外:

        數據包非常輕量級(提高了速度、效率和成本)

        MQTT 可以使用互聯網以外的其他通信模式(例如藍牙)

        1:帶有設備的 MQTT 代理

        由于上述兩個原因,MQTT 已成為物聯網設備非常流行的協議。從歷史上看,人們會使用 HTTP POST/GET 請求來實現這種形式的設備-服務器通信,但這會限制他們使用其他通信設備(如藍牙或 ZigBee)的能力。由于 MQTT 在這方面是不可知的,我們現在可以使用 MQTT在基于網格的網絡中擁有消息傳遞功能,而無需連接到互聯網

        MQTT 入門

        有很多方法可以開始使用 MQTT,包括設計完整的端到端解決方案。為了簡單起見,我們將在本示例中使用 Adafruit 提供的免費 MQTT 代理服務。這將使我們能夠專注于開發過程的客戶端。要開始使用,您需要具備以下條件:

        Arduino 設備(此示例使用Arduino Uno

        支持互聯網連接的 Arduino擴展板(即Arduino 以太網擴展板)或基于 Wifi Arduino 兼容設備,例如ESP8266。

        Arduino IDE軟件

        使用Adafruit IO 的帳戶。

        為了設置我們的環境,我們需要先做一些事情。讓我們首先設置我們的硬件。我將使用連接到本地網絡的 Arduino Uno Arduino Ethernet Shield。 

        2:并排放置 Arduino Uno Arduino Ethernet Shield

        我們需要在 Arduino 頂部堆疊以太網擴展板并將其插入網絡,如下所示:

        3Arduino Uno Arduino Ethernet Shield 連接在一起并插入

        配置好硬件后,讓我們打開 Arduino IDE 并安裝必要的庫。打開 Arduino IDE 并導航到工具 > 管理庫...

        4:管理庫菜單選項

        搜索 Adafruit MQTT 庫并單擊安裝:

        5:庫管理器

        系統還會提示您安裝庫依賴項。繼續并單擊全部安裝。

        6:庫依賴項對話框

        安裝支持庫后,您可以通過導航到文件 > 示例 > Adafruit MQTT > mqtt_ethernet 打開示例。

        7mqtt_ethernet 示例的菜單導航

        在這一點上,我們需要暫停并從我們的 Adafruit IO 帳戶中獲取我們的憑據。登錄Adafruit IO并單擊頂部的我的密鑰

        8My Key 菜單選項

        現在回到您的 Arduino mqtt_ethernet草圖示例,并使用位于您的 Adafruit IO 帳戶中的用戶名活動密鑰字段填寫 AIO_USERNAME AIO_KEY 字段。確保您的設備已連接,然后單擊上傳:

        9:準備好上傳的 Arduino Sketch

        要查看設備的狀態(并確保它已連接到 MQTT 代理),請導航到工具 > 串行監視器。您應該會看到如下所示的輸出:

        10Arduino mqtt_ethernet 示例的串行監視器輸出

        此時我們已經確認數據已成功發送到 MQTT 代理。要查看服務器上的實際數據,讓我們返回我們的 Adafruit IO 帳戶并單擊“Feeds”,然后單擊“photocell”

        11Adafruit IO 饋送

        我們現在可以實時捕獲 Arduino 發送到 MQTT 代理的數據。我們也可以下載歷史數據。

        12:從 Arduino 發送到 MQTT 代理的實時和歷史數據

        恭喜!您現在已經設置了啟用 MQTT 的設備并將您的數據發布到 MQTT 代理?,F在進行下一步,構建您自己的自定義傳感器并將數據發布到您的 MQTT 代理。

        結論

        我們了解了 MQTT 是什么、使用它的原因以及如何在微控制器上實現它。我們還演示了如何開始使用免費的 MQTT 代理服務并查看其服務器上的數據。您現在應該可以根據我們用來將您自己的傳感器數據發布到 MQTT 代理并在云上查看的示例開始您自己的 Arduino 草圖。

        請輸入搜索關鍵字

        確定
        国产在线视频在线