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

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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消息由主題標(biāo)識,該主題是消息的一部分。在本教程中,我們將發(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您計算機(jī)上的庫

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

下載并安裝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ò)登錄詳細(xì)信息。例如,如果您的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)紀(jì)人處接收MQTT消息,您可以通過打開Pi上的終端窗口并輸入以下內(nèi)容來確認(rèn):

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

    文章

    2076

    瀏覽量

    110360
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    970

    瀏覽量

    49395
  • NODEMCU
    +關(guān)注

    關(guān)注

    13

    文章

    289

    瀏覽量

    23379
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    732

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    晶科鑫 | 國產(chǎn)26MHz晶振匹配Espressif(樂鑫) ESP8285/ESP8266芯片案例

    【應(yīng)用】國產(chǎn)26MHz頻率晶振應(yīng)用于物聯(lián)網(wǎng)WIFI物聯(lián)網(wǎng)模塊(串口轉(zhuǎn)WiFi模塊),Espressif(樂鑫)ESP8285/ESP8266芯片匹配測試OKESP8285其實是ESP8266的升級版
    的頭像 發(fā)表于 11-21 15:37 ?4562次閱讀
    晶科鑫 | 國產(chǎn)26MHz晶振匹配Espressif(樂鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32開發(fā)板常見的2種下載方式

    ESP32和ESP8266是性價比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領(lǐng)域的DIY項目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗雙核80MHz
    的頭像 發(fā)表于 11-10 20:30 ?904次閱讀
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32開發(fā)板常見的2種下載方式

    ESP32-C3 mqtt操作實踐

    mqtt服務(wù)器基本成功。 3.esp32-c3 mqtt源代碼編譯與配置 前文已經(jīng)搭建好開發(fā)環(huán)境,這里只說明操作步驟。 首先將ESP-IDF中的protocols的例程拷貝
    發(fā)表于 10-31 06:52

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

    上節(jié)我講解了如何通過ESP8266的AT指令,使用MQTT協(xié)議連接遠(yuǎn)程物聯(lián)網(wǎng)云,并將數(shù)據(jù)上傳到手機(jī)端,這次我反其道而行之,使用手機(jī)或者MQTT.fx上面發(fā)送的指令,遠(yuǎn)程控制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ù)交換與集中管理,同時支持邊緣計算、安全防護(hù)和協(xié)議轉(zhuǎn)換
    的頭像 發(fā)表于 08-29 15:24 ?974次閱讀

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

    MQTT通過TCP/IP運行,使用代理服務(wù)器管理客戶端之間的消息分發(fā),允許設(shè)備訂閱特定主題,并且僅在發(fā)布相關(guān)數(shù)據(jù)時接收更新。其關(guān)鍵特性包括:低帶寬占用:非常適合
    的頭像 發(fā)表于 08-04 17:03 ?882次閱讀
    完整指南:如何搭建<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)遠(yuǎn)程IOT溫度上傳到手機(jī),不限距離全世界級別

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

    【RA-Eco-RA6M4開發(fā)板評測】——4.使用ESP8266獲取任意城市的天意預(yù)報

    ) { if(ESP8266_WaitRecive() == REV_OK)//如果收到數(shù)據(jù) { if(strstr((const char *)esp8266_buf, res) != NULL)//如果檢索關(guān)鍵詞 { p
    發(fā)表于 07-23 19:50

    精通 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 ?1006次閱讀
    精通 <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遠(yuǎn)程控制設(shè)備,它可以配合板子上搭載的傳感器,比如溫度,濕度
    發(fā)表于 05-29 15:29

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

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

    《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)用于機(jī)器與機(jī)器的通信(M2M)以及物聯(lián)網(wǎng)環(huán)境
    的頭像 發(fā)表于 03-15 14:23 ?1430次閱讀
    <b class='flag-5'>MQTT</b>物聯(lián)網(wǎng)平臺有哪些?有哪些功能?