• <noframes id="6fok0"><bdo id="6fok0"><listing id="6fok0"></listing></bdo>
    <ruby id="6fok0"></ruby>

    <progress id="6fok0"></progress>
  • <progress id="6fok0"></progress>
    <ruby id="6fok0"><table id="6fok0"></table></ruby>
  • <progress id="6fok0"><u id="6fok0"><form id="6fok0"></form></u></progress>

    24小時(shí)聯(lián)系電話(huà):18217114652、13661815404

    中文

    您當前的位置:
    首頁(yè)>
    電子資訊>
    行業(yè)資訊>
    MQTT 入門(mén)

    行業(yè)資訊

    MQTT 入門(mén)


    MQTT 入門(mén)

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

    MQTT 是什么以及為什么

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

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

    MQTT 可以使用互聯(lián)網(wǎng)以外的其他通信模式(例如藍牙)

    1:帶有設備的 MQTT 代理

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

    MQTT 入門(mén)

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

    Arduino 設備(此示例使用Arduino Uno

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

    Arduino IDE軟件

    使用Adafruit IO 的帳戶(hù)。

    為了設置我們的環(huán)境,我們需要先做一些事情。讓我們首先設置我們的硬件。我將使用連接到本地網(wǎng)絡(luò )的 Arduino Uno Arduino Ethernet Shield。 

    2:并排放置 Arduino Uno Arduino Ethernet Shield

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

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

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

    4:管理庫菜單選項

    搜索 Adafruit MQTT 庫并單擊安裝:

    5:庫管理器

    系統還會(huì )提示您安裝庫依賴(lài)項。繼續并單擊全部安裝。

    6:庫依賴(lài)項對話(huà)框

    安裝支持庫后,您可以通過(guò)導航到文件 > 示例 > Adafruit MQTT > mqtt_ethernet 打開(kāi)示例。

    7mqtt_ethernet 示例的菜單導航

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

    8My Key 菜單選項

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

    9:準備好上傳的 Arduino Sketch

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

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

    此時(shí)我們已經(jīng)確認數據已成功發(fā)送到 MQTT 代理。要查看服務(wù)器上的實(shí)際數據,讓我們返回我們的 Adafruit IO 帳戶(hù)并單擊“Feeds”,然后單擊“photocell”

    11Adafruit IO 饋送

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

    12:從 Arduino 發(fā)送到 MQTT 代理的實(shí)時(shí)和歷史數據

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

    結論

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

    請輸入搜索關(guān)鍵字

    確定
    色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
  • <noframes id="6fok0"><bdo id="6fok0"><listing id="6fok0"></listing></bdo>
    <ruby id="6fok0"></ruby>

    <progress id="6fok0"></progress>
  • <progress id="6fok0"></progress>
    <ruby id="6fok0"><table id="6fok0"></table></ruby>
  • <progress id="6fok0"><u id="6fok0"><form id="6fok0"></form></u></progress>