Isi kandungan:

NodeMCU - MQTT Contoh Asas: 4 Langkah
NodeMCU - MQTT Contoh Asas: 4 Langkah

Video: NodeMCU - MQTT Contoh Asas: 4 Langkah

Video: NodeMCU - MQTT Contoh Asas: 4 Langkah
Video: Cara Menghubungkan NodeMCU dengan MQTT | Tutorial Pemrograman Arduino dan IoT 2024, November
Anonim
Image
Image

Pelajaran ini akan menunjukkan penggunaan protokol MQTT asas pada papan NodeMCU. Kami menggunakan MQTTBox sebagai klien MQTT di sini, dan kami akan menggunakan NodeMCU untuk menyelesaikan operasi berikut:

Terbitkan "hello world" ke topik "outTopic" setiap dua saat. Langgan topik "inTopic", cetak sebarang mesej yang diterima. Dengan anggapan muatan yang diterima adalah rentetan bukan binari. Sekiranya mesej yang dilanggan adalah "1", nyalakan LED onboard. Matikan LED onboard jika mesej untuk melanggan adalah "0".

Penyediaan: Osoyoo NodeMCU x1

Kabel USB x1

PC x1

Arduino IDE (Versin 1.6.4+)

Sambungkan NodeMCU ke PC melalui kabel USB.

Langkah 1: Pemasangan Perpustakaan

Pemasangan Perpustakaan
Pemasangan Perpustakaan
Pemasangan Perpustakaan
Pemasangan Perpustakaan

Pasang PubSubClientlibrary

Kita perlu memasang perpustakaan titik akhir MQTT (PubSubClient) untuk berkomunikasi dengan broker MQTT, sila muat turun perpustakaan dari pautan berikut:

Buka zip fail di atas, pindahkan folder yang tidak dizip ke folder perpustakaan Arduino IDE.

Buka Arduino IED, anda boleh menemui "pubsubclient" pada lajur "Contoh".

Pasang Pelanggan MQTT:

kami akan menggunakan MQTTBox sebagai klien MQTT. sila muat turun dari:

Langkah 2: Kod

Kod
Kod
Kod
Kod

buka Arduino IDE–> File–> Contoh–> pubsubclient–> mqtt esp8266, anda akan mendapat contoh kod.

Edit kod tersebut agar sesuai dengan tetapan WiFi dan MQTT anda sendiri seperti operasi berikut: 1) Konfigurasi Hotspot: Cari baris kod di bawah ini, masukkan ssid dan kata laluan anda sendiri di sana.

const char * ssid = "your_hotspot_ssid"; const char * kata laluan = "your_hotspot_password";

2) Tetapan Alamat Pelayan MQTT, di sini kami menggunakan broker MQTT percuma "broker.mqtt-dashboard.com". Anda boleh menggunakan URL atau alamat IP broker MQTT anda sendiri untuk menetapkan nilai mqtt_server di atas. Anda juga boleh menggunakan beberapa pelayan MQTT percuma yang terkenal untuk menguji projek seperti "broker.mqtt-dashboard.com", "iot.eclipse.org" dll.

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

3) Tetapan Pelanggan MQTTJika broker MQTT anda memerlukan pengesahan pelanggan, nama pengguna dan kata laluan, anda perlu

ubah

jika (client.connect (clientId.c_str ()))

Ke

jika (client.connect (clientId, userName, passWord)) // letakkan clientId / userName / passWord anda di sini

Sekiranya tidak, simpan sahaja sebagai lalai. Selepas melakukannya, pilih jenis papan dan jenis port yang sesuai seperti di bawah, kemudian muat naik lakaran ke NodeMCU.

  • Papan: "NodeMCU 0.9 (Modul ESP-12)"
  • Kekerapan CPU: "80MHz" Saiz Kilat: "4M (3M SPIFFS)"
  • Kelajuan Muat Naik:”115200 ″
  • Port: Pilih Port Serial anda sendiri untuk NodeMCU anda

Langkah 3: Konfigurasi Pelanggan MQTT (MQTTBOX)

Konfigurasi Pelanggan MQTT (MQTTBOX)
Konfigurasi Pelanggan MQTT (MQTTBOX)
Konfigurasi Pelanggan MQTT (MQTTBOX)
Konfigurasi Pelanggan MQTT (MQTTBOX)
Konfigurasi Pelanggan MQTT (MQTTBOX)
Konfigurasi Pelanggan MQTT (MQTTBOX)
Konfigurasi Pelanggan MQTT (MQTTBOX)
Konfigurasi Pelanggan MQTT (MQTTBOX)

Dalam langkah ini, kami akan menunjukkan cara membuat klien MQTT di MQTTBox.

Buka MQTTBox anda dan klik butang biru untuk menambah klien MQTT baru.

Konfigurasikan SETTING KLIEN MQTT seperti di bawah:

  • Nama Pelanggan MQTT - Pilih nama yang anda suka
  • Protokol - Pilih "mqtt / tcp"
  • Host - Ketik "mqtt_server" anda di ruangan ini, pastikan ia sama dengan lakaran anda. (Kami menggunakan "broker.mqtt-dashboard.com" di sini)
  • Simpan tetapan lain sebagai lalai
  • Klik untuk menyimpan perubahan anda.

Seterusnya, anda akan memasuki halaman baru secara automatik. Sekiranya semua konfigurasi di atas betul, "Tidak Terhubung" akan berubah menjadi "Bersambung", nama pelanggan MQTT dan nama Host anda akan dipaparkan di bahagian atas halaman ini.

Tetapan topik: Pastikan topik penerbitan klien MQTT anda sama dengan topik langganan sketsa Arduino (dalamTopik di sini). Pastikan topik langganan pelanggan MQTT anda sama dengan topik penerbitan sketsa Arduino anda (Topik di sini).

Langkah 4: Keputusan Menjalankan Program

Keputusan Menjalankan Program
Keputusan Menjalankan Program
Keputusan Menjalankan Program
Keputusan Menjalankan Program
Keputusan Menjalankan Program
Keputusan Menjalankan Program
Keputusan Menjalankan Program
Keputusan Menjalankan Program

Setelah muat naik selesai, jika tetapan nama dan kata laluan hotspot wifi baik, dan broker MQTT disambungkan, buka Serial Monitor, anda akan melihat mesej penerbitan "hello world" di monitor bersiri.

Kemudian buka klien MQTT dan terbitkan payload "1" ke topik, NodeMCU ini akan menerima mesej ini dengan melanggan "inTopic", dan LED akan menyala.

Terbitkan payload "0" ke topik ini, NodeMCU LED akan dimatikan.

Disyorkan: