İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
MQTT, Nesnelerin İnterneti (IoT) için bir OASIS standart mesajlaşma protokolüdür. Küçük bir kod alanı ve minimum ağ bant genişliği ile uzak cihazları bağlamak için ideal olan son derece hafif bir yayınla/abone ol mesajlaşma aktarımı olarak tasarlanmıştır. MQTT günümüzde otomotiv, imalat, telekomünikasyon, petrol ve gaz gibi çok çeşitli endüstrilerde kullanılmaktadır.
Neden MQTT: MQTT istemcileri çok küçüktür, minimum kaynak gerektirir, bu nedenle küçük mikro denetleyicilerde kullanılabilir. MQTT mesaj başlıkları, ağ bant genişliğini optimize etmek için küçüktür.
Çift Yönlü İletişim: MQTT, cihazdan buluta ve buluttan cihaza mesajlaşmaya izin verir. Bu, mesajların bir grup şeye kolayca iletilmesini sağlar.
Milyonlarca Şeye Ölçeklendirin: MQTT, milyonlarca IoT cihazına bağlanmak için ölçeklenebilir.
Mesaj tesliminin güvenilirliği: Birçok IoT kullanım durumu için önemlidir. Bu nedenle MQTT'nin tanımlanmış 3 hizmet kalitesi seviyesi vardır:
- 0 - en fazla bir kez,
- 1- En az bir kez,
- 2 - tam olarak bir kez
Güvenilir Olmayan Ağlar için Destek: Birçok IoT cihazı, güvenilir olmayan hücresel ağlar üzerinden bağlanır. MQTT'nin kalıcı oturumlar için desteği, istemciyi aracıya yeniden bağlama süresini azaltır.
Güvenlik Etkinleştirildi: MQTT, TLS kullanarak mesajları şifrelemeyi ve OAuth gibi modern kimlik doğrulama protokollerini kullanarak istemcilerin kimliğini doğrulamayı kolaylaştırır.
Gereçler
- NodeMCU ESP8266 (veya) diğer herhangi bir Genel ESP8266 kartı
- Ubidot Kayıtları
- GitHub'dan destek kitaplığı.
- Kodu yüklemek için Arduino IDE.
Adım 1: Arduino IDE'nin İlk Kurulumu
- UbidotsMQTTESP8266 kitaplığını GIT Deposundan indirin
- Arduino IDE'yi açın, "dosya" menüsünden "tercihler"e gidin.
- "Ek Pano Yöneticisi URL'leri" metin alanına aşağıdakini yapıştırın: https://arduino.esp8266.com/stable/package_esp8266… ve devam etmek için Tamam'a basın.
- "Çizim > Kitaplığı Dahil Et" menüsünden ". ZIP Kitaplığı Ekle"ye gidin ve indirilen zip dosyasının yolunu belirtin.
- IDE şu mesajı almazsa bekleyin: Kitaplık, kitaplıklarınıza eklendi. "Kitaplığı Dahil Et" menüsünü kontrol edin.
- "Çizim"den "Kitaplığı Dahil Et"e gidin ve "ESP8266 için Ubidots MQTT"yi kontrol edin
2. Adım: Ubidots API Kimlik Bilgileri
Ubidots'ta oturum açın ve API Kimlik Bilgilerini not edin. Lütfen yalnızca "Varsayılan Simge" değerine ihtiyacımız olacağını unutmayın.
Adım 3: Kod..
#include "UbidotsESPMQTT.h"
#define TOKEN "************************************************** ***" // Ubidots Jetonunuz
#define WIFINAME "********" //SSID'niz
#define WIFIPASS "******************" // Wifi Geçişiniz
Ubidots istemcisi (TOKEN);
geçersiz geri arama(char* konu, bayt* yükü, imzasız int uzunluk)
{
Serial.print("Mesaj geldi[");
Seri.print(konu);
Seri.print("] ");
için (int i=0; i<uzunluk; i++)
{
Serial.print((char)payload);
}
geçersiz kurulum()
{
client.setDebug(true);
Seri.başla(115200);
client.wifiConnection(WIFINAME, WIFIPASS);
client.begin(geri arama);
}
boşluk döngüsü()
{
if(!client.connected())
{
client.reconnect();
}
kayan değer1 = analogRead(A0);
client.add("sıcaklık", değer1);
client.ubidotsPublish("yeni cihazım");
client.loop();
}
Not: Satırların daha iyi girintilenmesi için lütfen ekran görüntülerine bakın.
Adım 4: Kodu Bağlayın, Derleyin ve Yükleyin..
NodeMCU ESP8266'nızı PC/Dizüstü bilgisayarınıza bağlamanın, bağlantı noktasını tanımlamanın, kodu derlemenin ve yüklemenin zamanı değil.
Arduino IDE'de yeniyseniz, süreci daha iyi anlamak için lütfen ekteki ekran görüntülerinden gerekli yardımı alın.
Adım 5: Son Kontrol..
Her şey yolunda giderse, ekran görüntüsünde gösterilene benzer şekilde gözlemleyebilmelisiniz.
"client.ubidotsPublish("my-new-device");" kodundaki bu satır yayınlanır.
Not: Ubodots panosunda hiçbir şeyin gösterilmemesi durumunda, NodeMCU'nun bağlantısını kesmeniz ve yeniden bağlamanız önerilir.
Takipte kalın. Ubidots & NodeMCU ESP8266 ile birkaç tane daha göndermeye çalışıyorum.