chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

怎樣從中傳輸MQTT消息ESP8266/NodeMCU到運行MQTT代理的樹莓派

454398 ? 來源:工程師吳畏 ? 2019-07-30 09:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

電路圖

怎樣從中傳輸MQTT消息ESP8266/NodeMCU到運行MQTT代理的樹莓派

圖1. 教程電路

什么是MQTT?

消息隊列遙測傳輸(MQTT)是一種消息傳遞協(xié)議,可在任何具有Internet連接的設(shè)備上運行,使其成為物聯(lián)網(wǎng)中最常用的協(xié)議之一項目。它被設(shè)計用于具有低帶寬限制的系統(tǒng),因此非常適用于家庭自動化或任何物聯(lián)網(wǎng)(IoT)應(yīng)用。

MQTT的優(yōu)勢包括其低帶寬,簡單的實現(xiàn),它適用于不可靠的連接。

圖2. 基于MQTT的系統(tǒng)

MQTT需要使用“代理” - 一個接收和發(fā)送MQTT消息的應(yīng)用程序。在本教程中,我們的代理是Mosquitto,它將安裝在Raspberry Pi上。 MQTT系統(tǒng)的第二個組件是“客戶端”,它連接到中央代理并可以發(fā)布或訂閱MQTT消息。

MQTT消息由主題標識,該主題是消息的一部分。在本教程中,我們將發(fā)布和訂閱“makerpro/mqtt_tutorial/light”主題。

在Raspberry Pi上安裝Mosquitto Broker

我建議的第一步是更新Raspberry Pi上的軟件。打開終端并輸入以下命令:

sudo apt-get update

sudo apt-get upgrade

sudo reboot

一旦你的Pi重新啟動,你可以再次在終端類型中安裝我們的MQTT代理Mosquitto:

sudo apt install -y mosquitto mosquitto-clients

通過創(chuàng)建終端的兩個新實例來測試Mosquitto。在一個終端輸入以下內(nèi)容:

mosquitto_sub -v -t makerpro/mqtt_tutorial/light

在另一個新終端輸入:

mosquitto_pub -t makerpro/mqtt_tutorial/light -m ‘helloWorld’

在第二個終端上按Enter鍵后,您會看到消息“makerpro/mqtt_tutorial/light helloWorld“在第一個終端上,如圖3所示。

圖3. Raspberry Pi Mosquitto測試

在您的Raspberry Pi上成功測試了Mosquitto,您需要通過輸入命令 hostname -I 找到其IP地址。

hostname -I

這將返回一個像192.168.0.47這樣的數(shù)字,如圖4所示。你的Pi可能會給你一個稍微不同的數(shù)字。

重要你把這個數(shù)字寫在安全的地方。 NodeMCU需要它才能連接到我們的Mosquitto服務(wù)器。

圖4. Raspberry Pi IP地址

構(gòu)建電路

本教程的電路(如圖5所示)包含LDR,10K電阻和我們的電路NodeMCU開發(fā)板。

圖5. 面包板電路

LDR和電阻形成一個分壓器,NodeMCU的模擬輸入讀取他們之間的電壓。當(dāng)LDR的電阻隨照度變化時,LDR和電阻之間的電壓電平發(fā)生變化,如表1所示。

表1 。照明/電壓/ADC電平

安裝Arduino IDE和PubSubClient您計算機上的庫

您將使用Arduino IDE對NodeMCU開發(fā)板進行編程和閃存。在我們進入編程之前,需要安裝各種步驟。

下載并安裝IDE

運行Arduino并從“文件”菜單中顯示“首選項”對話框

在“其他板管理器URL”文本框中粘貼以下內(nèi)容文本:http://arduino.esp8266.com/stable/package_esp8266com_index.json

單擊確定

從工具/板菜單中選擇“Board Manager”

在搜索框中鍵入“esp8266”,然后安裝“esp8266 by ESP8266 Community”,

從工具/主板中選擇“通用ESP8266模塊”

通過工具/打開庫管理器管理圖書館。..

搜索“PubSubClient”,然后安裝Nick O‘Leary的PubSubClient

圖6。 PubSubClient

調(diào)整并將軟件上傳到NodeMCU

首先,下載副本來自Github的NodeMCU軟件。

在將代碼上傳到你的主板之前,你需要做一些更改文件頂部的Wi-Fi和代理地址。

const char *WIFI_NETWORK_NAME = “********”;

const char *WIFI_PASSWORD = “*********”;

const char *MQTT_BROKER = “192.168.0.47”;

將WIFI_NETWORK_NAME和WIFI_PASSWORD更改為您的家庭網(wǎng)絡(luò)登錄詳細信息。例如,如果您的Wi-Fi網(wǎng)絡(luò)名為myWifi,則頂行如下所示:

const char *WIFI_NETWORK_NAME = “myWifi”;

將變量MQTT_BROKER更新為Raspberry Pi的IP地址(您創(chuàng)建了一個早期的說明)。

實施

將NodeMCU和Raspberry Pi連接到同一網(wǎng)絡(luò)非常重要。請注意,如果重新啟動Raspberry Pi,它可能會更改其IP地址,這也意味著更改NodeMSC的代碼。

一旦啟動,NodeMCU上的軟件將定期讀取其ADC,然后發(fā)送MQTT消息到存儲在Raspberry Pi上的代理。然后,代理將消息重新分發(fā)給訂閱該主題的任何客戶端。

NodeMCU代碼利用串行端口輸出調(diào)試消息。如果連接Arduino IDE的串行監(jiān)視器,您應(yīng)該看到類似于圖7中的消息的輸出。

圖7. NodeMCU的串行輸出

您應(yīng)該開始在您的經(jīng)紀人處接收MQTT消息,您可以通過打開Pi上的終端窗口并輸入以下內(nèi)容來確認:

mosquitto_sub -v -t makerpro/mqtt_tutorial/light

這將允許您在控制臺中接收常規(guī)消息,如圖8所示。

圖8. 訂閱makerpro/mqtt_tutorial/light主題。

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

    關(guān)注

    122

    文章

    2067

    瀏覽量

    108944
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    965

    瀏覽量

    48549
  • NODEMCU
    +關(guān)注

    關(guān)注

    13

    文章

    289

    瀏覽量

    22997
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    708

    瀏覽量

    24424
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    請問一下我想用ESP8685直接替換ESP8266而不用寫程序,可以讓ESP8685直接通過之前ESP8266的外掛的flash運行程序嗎

    請問一下我想用ESP8685直接替換ESP8266而不用寫程序,可以讓ESP8685直接通過之前ESP8266的外掛的flash運行程序嗎
    發(fā)表于 09-17 12:06

    【RA4M2-SENSOR】—— 16.完結(jié)篇《使用AT指令通過MQTT遠程控制RA4M2-SENSOR》

    上節(jié)我講解了如何通過ESP8266的AT指令,使用MQTT協(xié)議連接遠程物聯(lián)網(wǎng)云,并將數(shù)據(jù)上傳到手機端,這次我反其道而行之,使用手機或者MQTT.fx上面發(fā)送的指令,遠程控制RA4M2-SENSOR
    發(fā)表于 09-01 14:31

    【RA4M2-SENSOR】—— 15. 使用AT指令連接到MQTT云服務(wù)器上傳數(shù)據(jù)

    上一節(jié)我已經(jīng)實現(xiàn)了使用AT指令訪問ESP8266連接心知天氣網(wǎng)站獲取天氣預(yù)報,是通過HTTP協(xié)議來實現(xiàn)的。 ESP8266除了連接HTTP協(xié)議外,還可以通過TCP IP協(xié)議連接MQTT云服務(wù)器,本次
    發(fā)表于 09-01 13:56

    物聯(lián)網(wǎng)MQTT網(wǎng)關(guān)是什么

    物聯(lián)網(wǎng)MQTT網(wǎng)關(guān)是一種采用MQTT物聯(lián)網(wǎng)協(xié)議的智能設(shè)備或軟件組件,其核心功能是連接不同通信協(xié)議的物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器,實現(xiàn)設(shè)備間的數(shù)據(jù)交換與集中管理,同時支持邊緣計算、安全防護和協(xié)議轉(zhuǎn)換
    的頭像 發(fā)表于 08-29 15:24 ?450次閱讀

    完整指南:如何搭建樹莓MQTT代理服務(wù)器?

    。MQTT通過TCP/IP運行,使用代理服務(wù)器管理客戶端之間的消息分發(fā),允許設(shè)備訂閱特定主題,并且僅在發(fā)布相關(guān)數(shù)據(jù)時接收更新。其關(guān)鍵特性包括:低帶寬占用:非常適合
    的頭像 發(fā)表于 08-04 17:03 ?474次閱讀
    完整指南:如何搭建<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>MQTT</b><b class='flag-5'>代理</b>服務(wù)器?

    【RA-Eco-RA6M4開發(fā)板評測】——7.使用RA6M4開發(fā)板通過MQTT實現(xiàn)遠程IOT溫度上傳到手機,不限距離全世界級別

    () { } FSP_CPP_FOOTER #endif 在手機上輸入這個 初始化ESP8266MQTT網(wǎng)絡(luò)連接 #include \"esp8266.h\" static volatile bool
    發(fā)表于 07-25 21:07

    精通 MQTT:消息隊列遙測傳輸指南!

    引言MQTT(消息隊列遙測傳輸)是一種輕量級消息協(xié)議,專為低帶寬、高延遲和不可靠的網(wǎng)絡(luò)環(huán)境設(shè)計。它廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT)應(yīng)用、消息系統(tǒng)以及實時數(shù)據(jù)通信領(lǐng)域。本指南深入探討了MQTT的工作原理
    的頭像 發(fā)表于 06-16 16:56 ?702次閱讀
    精通 <b class='flag-5'>MQTT</b>:消息隊列遙測<b class='flag-5'>傳輸</b>指南!

    【RA4L1-SENSOR】+ 一直被模仿從未被超越 + 使用MQTT上傳RA4L1開發(fā)板溫度云端,并通過云控制RA4L1反向點燈

    爛,所以我就寫一篇比較有深度的創(chuàng)意的帖子吧?。。。?! 手頭上剛好有個ESP8266模塊,于是就像使用ESP8266連接RA4L1開發(fā)板,通過MQTT協(xié)議可以將RA4L1板上的溫度數(shù)據(jù)上傳到云端,實現(xiàn)
    發(fā)表于 06-15 17:07

    【RA-Eco-RA4M2開發(fā)板評測】使用RA4M2和ESP8266實現(xiàn)MQTT協(xié)議上傳傳感器數(shù)據(jù)云服務(wù)器并反向點燈控制

    刑事勘察,非常的智能化! 基于這樣一個便捷的生活目的,我特地使用瑞薩的RA4M2開發(fā)板來做一個基于ESP8266 MQTT協(xié)議的IOT遠程控制設(shè)備,它可以配合板子上搭載的傳感器,比如溫度,濕度
    發(fā)表于 05-29 15:29

    ESP8266燒錄與機智云一鍵配網(wǎng)教程

    ESP8266模塊因其低成本和高性能,廣泛應(yīng)用于智能家居和工業(yè)自動化等領(lǐng)域。機智云平臺提供了一鍵配網(wǎng)功能,簡化了設(shè)備的聯(lián)網(wǎng)過程。本教程將詳細介紹如何使用ESP8266進行燒錄,并通過機智云實現(xiàn)一鍵配
    的頭像 發(fā)表于 05-24 11:04 ?1170次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與機智云一鍵配網(wǎng)教程

    如何在MQTT中發(fā)布和訂閱實體

    消息發(fā)送到MQTT代理(Broker)上的特定主題(Topic)。發(fā)布者無需知道有哪些客戶端訂閱了該主題,只需將消息發(fā)送到代理即可。 訂閱(Subscribe):客戶端向MQTT
    的頭像 發(fā)表于 05-20 17:21 ?729次閱讀

    《DNESP32S3使用指南-IDF版_V1.6》第五十五章 基于MQTT協(xié)議連接阿里云服務(wù)器

    的邏輯了。但這時主題消息還沒有發(fā)給訂閱了這個主題的客戶端,代理要根據(jù)質(zhì)量級別(QoS)來決定怎樣處理這個主題。所以這里充分體現(xiàn)了是MQTT協(xié)議是異步通信模式,不是立即端端反應(yīng)的,如下
    發(fā)表于 03-18 09:22

    MQTT物聯(lián)網(wǎng)平臺有哪些?有哪些功能?

    MQTT(Message Queuing Telemetry Transport)是一種基于客戶端-服務(wù)器架構(gòu)的發(fā)布/訂閱模式的消息傳輸協(xié)議,它廣泛應(yīng)用于機器與機器的通信(M2M)以及物聯(lián)網(wǎng)環(huán)境
    的頭像 發(fā)表于 03-15 14:23 ?1095次閱讀
    <b class='flag-5'>MQTT</b>物聯(lián)網(wǎng)平臺有哪些?有哪些功能?

    esp8266連接阿里云平臺時mqtt連接超時

    esp8266nodemcu在使用arduino.ide連接阿里云平臺的時候,wifi配置正常但連接不上mqtt,顯示報錯如下: Attempting MQTT connection...失敗, rc=-4 5秒! 這是我所
    發(fā)表于 10-26 21:39

    esp8266加入c51單片機單通道程序怎么寫

    要將ESP8266模塊加入C51單片機的單通道程序中,您需要了解如何通過串行通信(UART)與ESP8266進行通信。以下是如何實現(xiàn)這一點的步驟和示例代碼。 步驟 1:硬件連接 首先,您需要
    的頭像 發(fā)表于 10-18 11:32 ?1976次閱讀