Talaan ng mga Nilalaman:

NodeMCU - MQTT Pangunahing Halimbawa: 4 Hakbang
NodeMCU - MQTT Pangunahing Halimbawa: 4 Hakbang

Video: NodeMCU - MQTT Pangunahing Halimbawa: 4 Hakbang

Video: NodeMCU - MQTT Pangunahing Halimbawa: 4 Hakbang
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Hulyo
Anonim
Image
Image

Ipapakita ng araling ito ang pangunahing paggamit ng MQTT protocol sa board ng NodeMCU. Ginagamit namin ang MQTTBox bilang kliyente ng MQTT dito, at gagamitin namin ang NodeMCU upang makumpleto ang mga sumusunod na operasyon:

I-publish ang "hello world" sa paksang "outTopic" bawat dalawang segundo. Mag-subscribe sa paksang "inTopic", i-print ang anumang natanggap na mensahe. Ipinapalagay na ang natanggap na mga kargamento ay mga kuwerdas na hindi mga binary. Kung ang naka-subscribe na mensahe ay "1", sindihan ang onboard LED. Patayin ang onboard LED kung ang mensahe upang mag-subscribe ay "0".

Paghahanda: Osoyoo NodeMCU x1

USB Cable x1

PC x1

Arduino IDE (Versin 1.6.4+)

Ikonekta ang NodeMCU sa PC sa pamamagitan ng USB cable.

Hakbang 1: Pag-install ng Library

Pag-install ng Library
Pag-install ng Library
Pag-install ng Library
Pag-install ng Library

I-install ang PubSubClientlibrary

Kailangan naming i-install ang MQTT endpoint library (PubSubClient) upang makipag-usap sa MQTT broker, mangyaring i-download ang library mula sa sumusunod na link:

I-unzip sa itaas ng file, ilipat ang unzipped folder sa folder ng library ng Arduino IDE.

Buksan ang Idu ng Arduino, mahahanap mo ang "pubsubclient" sa hanay na "Mga Halimbawa".

I-install ang MQTT Client:

gagamitin namin ang MQTTBox bilang client ng MQTT. mangyaring mag-download mula sa:

Hakbang 2: Code

Code
Code
Code
Code

buksan ang Arduino IDE–> File–> Halimbawa–> pubsubclient–> mqtt esp8266, makakakuha ka ng sample code.

I-edit ang code upang magkasya sa iyong sariling mga setting ng WiFi at MQTT bilang mga sumusunod na operasyon: 1) Hotspot Configration: Hanapin sa ibaba ang linya ng code, ilagay ang iyong sariling ssid at password doon.

const char * ssid = "your_hotspot_ssid"; const char * password = "your_hotspot_password";

2) Ang setting ng Address ng MQTT Server, dito ginagamit namin ang libreng MQTT broker na "broker.mqtt-dashboard.com". Maaari mong gamitin ang iyong sariling MQTT broker URL o IP address upang maitakda sa itaas ang halagang mqtt_server. Maaari mo ring gamitin ang ilang sikat na libreng MQTT server upang subukan ang proyekto tulad ng "broker.mqtt-dashboard.com", "iot.eclipse.org" atbp.

const char * mqtt_server = "broker.mqtt-dashboard.com";

3) Mga setting ng Client ng MQTT Kung ang iyong MQTT broker ay nangangailangan ng clientID, username at password authentication, kailangan mong

magbago

kung (client.connect (clientId.c_str ()))

Sa

kung (client.connect (clientId, userName, passWord)) // ilagay ang iyong clientId / userName / passWord dito

Kung hindi, panatilihin lamang ang mga ito bilang default. Pagkatapos gawin iyon, piliin ang kaukulang uri ng board at uri ng port tulad ng sa ibaba, pagkatapos ay i-upload ang sketch sa NodeMCU.

  • Lupon: "NodeMCU 0.9 (ESP-12 Modyul)"
  • Dalas ng CPU: "80MHz" Laki ng Flash: "4M (3M SPIFFS)"
  • Bilis ng Pag-upload:”115200 ″
  • Port: Pumili ng iyong sariling Serial Port para sa iyong NodeMCU

Hakbang 3: I-configure ang MQTT Client (MQTTBOX)

Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)

Sa hakbang na ito, ipapakita namin kung paano lumikha ng isang MQTT client sa MQTTBox.

Buksan ang iyong MQTTBox at i-click ang asul na pindutan upang magdagdag ng isang bagong client ng MQTT.

I-configure ang mga setting ng MQTT CLIENT sa ibaba:

  • MQTT Pangalan ng Client - Pumili ng anumang pangalan na gusto mo
  • Protocol - Piliin ang “mqtt / tcp”
  • Host - I-type ang iyong "mqtt_server" sa haligi na ito, tiyaking pareho ito sa iyong sketch. (Gumagamit kami ng "broker.mqtt-dashboard.com" dito)
  • Panatilihing default ang iba pang mga setting
  • Mag-click upang mai-save ang iyong mga pagbabago.

Susunod, awtomatiko mong ipasok ang bagong pahina. Kung ang lahat ng confanderation sa itaas ay tama, ang "Hindi Nakakonekta" ay mababago sa "Nakakonekta", ang iyong pangalan ng client ng MQTT at pangalan ng Host ay ipapakita sa tuktok ng pahinang ito.

Setting ng paksa: Siguraduhin na ang iyong MQTT client ay naglathala ng paksa ay pareho sa iyong Arduino sketch subscribe paksa (inTopic dito). Siguraduhin na ang paksa ng pag-subscribe ng iyong client ng MQTT ay kapareho ng iyong Arduino sketch na i-publish ang paksa (outTopic dito).

Hakbang 4: Resulta ng Pagpapatakbo ng Program

Resulta ng Pagpapatakbo ng Programa
Resulta ng Pagpapatakbo ng Programa
Resulta ng Pagpapatakbo ng Programa
Resulta ng Pagpapatakbo ng Programa
Resulta ng Pagpapatakbo ng Programa
Resulta ng Pagpapatakbo ng Programa
Resulta ng Pagpapatakbo ng Programa
Resulta ng Pagpapatakbo ng Programa

Kapag tapos na ang pag-upload, kung ang pangalan ng wifi hotspot at setting ng password ay ok, at ang MQTT broker ay konektado, buksan ang Serial Monitor, makikita mo ang nai-publish na mensahe na "hello world" sa serial monitor.

Pagkatapos buksan ang MQTT client at i-publish ang payload na "1" sa paksa, tatanggapin ng NodeMCU ang mga mensaheng ito sa pamamagitan ng pag-subscribe sa "inTopic", at ang LED ay naiilawan.

I-publish ang payload na "0" sa paksang ito, ang NodeMCU LED ay papatayin.

Inirerekumendang: