Mündəricat:

NodeMCU - MQTT Əsas Nümunəsi: 4 Addım
NodeMCU - MQTT Əsas Nümunəsi: 4 Addım

Video: NodeMCU - MQTT Əsas Nümunəsi: 4 Addım

Video: NodeMCU - MQTT Əsas Nümunəsi: 4 Addım
Video: Zigbee двусторонний энергомонитор постоянного тока MSH - интеграция DC UPS в Home Assistant 2024, Noyabr
Anonim
Image
Image

Bu dərs NodeMCU lövhəsində əsas MQTT protokolu istifadəsini göstərəcək. Biz burada MQTT müştəri olaraq MQTTBoxdan istifadə edirik və aşağıdakı əməliyyatları tamamlamaq üçün NodeMCU -dan istifadə edəcəyik:

Hər iki saniyədə bir "salam dünya" nı "outTopic" mövzusunda dərc edin. "İnTopic" mövzusuna abunə olun, alınan mesajları çap edin. Alınan yüklərin ikili deyil, sətirlər olduğunu qəbul edir. Abunə olan mesaj "1" dirsə, abunə olmaq üçün mesaj "0" olarsa, göyərtədəki LED -i söndürün.

Hazırlanması: Osoyoo NodeMCU x1

USB Kabel x1

PC x1

Arduino IDE (versiya 1.6.4+)

NodeMCU -nu USB kabel vasitəsilə PC -yə qoşun.

Addım 1: Kitabxananın quraşdırılması

Kitabxana Quraşdırılması
Kitabxana Quraşdırılması
Kitabxana Quraşdırılması
Kitabxana Quraşdırılması

PubSubClientlibrary quraşdırın

MQTT brokeri ilə əlaqə qurmaq üçün MQTT son nöqtəsi kitabxanasını (PubSubClient) quraşdırmalıyıq, zəhmət olmasa kitabxananı aşağıdakı linkdən yükləyin:

Yuxarıdakı faylı açın, açılmamış qovluğu Arduino IDE kitabxana qovluğuna köçürün.

Arduino IED -i açın, "Nümunələr" sütununda "pubsubclient" tapa bilərsiniz.

MQTT Müştərisini quraşdırın:

MQTTBox'u MQTT müştəri olaraq istifadə edəcəyik. zəhmət olmasa buradan yükləyin:

Addım 2: Kod

Kod
Kod
Kod
Kod

Arduino IDE açın -> Fayl -> Misal -> pubsubclient–> mqtt esp8266, nümunə kodu alacaqsınız.

Aşağıdakı əməliyyatlar kimi öz WiFi və MQTT parametrlərinizə uyğun olaraq kodu düzəldin: 1) Hotspot Konfiqurasiyası: Aşağıda kod xəttini tapın, öz ssid və şifrənizi ora qoyun.

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

2) MQTT Server Ünvan Ayarı, burada pulsuz "broker.mqtt-dashboard.com" MQTT brokerindən istifadə edirik. Mqtt_server dəyərini təyin etmək üçün öz MQTT broker URL və ya IP ünvanınızdan istifadə edə bilərsiniz. Layihəni sınamaq üçün "broker.mqtt-dashboard.com", "iot.eclipse.org" və s. Kimi məşhur bir pulsuz MQTT serverindən də istifadə edə bilərsiniz.

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

3) MQTT Müştəri Ayarları MQTT brokerinizdən müştəri ID, istifadəçi adı və şifrə doğrulaması tələb olunarsa

dəyişdirmək

əgər (client.connect (clientId.c_str ()))

Üçün

if (client.connect (clientId, userName, passWord)) // clientId/userName/passWord -u bura daxil edin

Əks təqdirdə, onları standart olaraq saxlayın, bundan sonra müvafiq lövhə tipini və port tipini aşağıda göstərildiyi kimi seçin, sonra eskizi NodeMCU -ya yükləyin.

  • Lövhə: "NodeMCU 0.9 (ESP-12 Modulu)"
  • CPU Tezliyi: "80MHz" Flaş Ölçüsü: "4M (3M SPIFFS)"
  • Yükləmə Sürəti:”115200 ″
  • Port: NodeMCU üçün öz Serial Portunuzu seçin

Addım 3: MQTT Müştəri (MQTTBOX) qurun

MQTT Müştərisini (MQTTBOX) konfiqurasiya edin
MQTT Müştərisini (MQTTBOX) konfiqurasiya edin
MQTT Müştərisini (MQTTBOX) konfiqurasiya edin
MQTT Müştərisini (MQTTBOX) konfiqurasiya edin
MQTT Müştərisini (MQTTBOX) konfiqurasiya edin
MQTT Müştərisini (MQTTBOX) konfiqurasiya edin
MQTT Müştərisini (MQTTBOX) konfiqurasiya edin
MQTT Müştərisini (MQTTBOX) konfiqurasiya edin

Bu addımda, MQTTBox -da bir MQTT müştərisinin necə yaradılacağını göstərəcəyik.

Yeni bir MQTT müştəri əlavə etmək üçün MQTTBoxunuzu açın və mavi düyməni basın.

MQTT MÜŞTERİ AYARLARINI aşağıdakı kimi konfiqurasiya edin:

  • MQTT Müştəri Adı - İstədiyiniz adı seçin
  • Protokol - "mqtt/tcp" seçin
  • Ev sahibi - "mqtt_server" inizi bu sütuna yazın, eskizinizlə eyni olduğundan əmin olun. (Burada "broker.mqtt-dashboard.com" istifadə edirik)
  • Digər parametrləri standart olaraq saxlayın
  • Dəyişikliklərinizi saxlamaq üçün vurun.

Sonra, avtomatik olaraq yeni səhifəyə daxil olacaqsınız. Yuxarıdakı bütün konfiqurasiya düzgündürsə, "Bağlanmadı" "Bağlandı" olaraq dəyişəcək, MQTT müştəri adınız və Host adınız bu səhifənin yuxarısında göstəriləcək.

Mövzu ayarı: MQTT müştəri dərc mövzunuzun Arduino eskiz abunə mövzusu ilə eyni olduğuna əmin olun (burada mövzu). MQTT müştəri abunə mövzunuzun Arduino eskiz dərc mövzusu ilə eyni olduğundan əmin olun op outTopic burada.

Addım 4: Proqramın İşləmə Nəticəsi

Proqramın İşləmə Nəticəsi
Proqramın İşləmə Nəticəsi
Proqramın İşləmə Nəticəsi
Proqramın İşləmə Nəticəsi
Proqramın İşləmə Nəticəsi
Proqramın İşləmə Nəticəsi
Proqramın İşləmə Nəticəsi
Proqramın İşləmə Nəticəsi

Yükləmə tamamlandıqdan sonra, wifi qaynar nöqtəsinin adı və parol ayarı düzgündürsə və MQTT brokeri bağlanırsa, Serial Monitoru açın, serial monitorunda "salam dünya" dərc mesajını görəcəksiniz.

Sonra MQTT müştərisini açın və mövzuya "1" yük yükləyin, bu NodeMCU "inTopic" ə abunə olaraq bu mesajları alacaq və LED yanacaq.

Bu mövzuya "0" yük yükləyin, NodeMCU LED sönəcək.

Tövsiyə: