Bu yazıda IOT projelerinde sıklıkla kullanılan MQTT protokolüne ve ESP8266 modülü ile nasıl kullanılabileceğine değineceğim. Öncelikle MQTT nedir ve nasıl çalışır bir bakalım.
Mqtt Nedir
Bu yazıda IOT projelerinde sıklıkla kullanılan MQTT protokolüne ve ESP8266 modülü ile nasıl kullanılabileceğine değineceğim. Öncelikle MQTT nedir ve nasıl çalışır bir bakalım.
Mqtt Nedir
Merhaba hocam, projeyi çalıştırdım,publish oluyor fakat board üzerine gelen publishleri bir türlü alamadım(sizin kodunuzu direk copy paste yapmama rağmen olmuyor).Mqtt lens veya my mqtt programları ile birbiri arasında veri gönderip alabildim ama karta mesajı alamadım(usart irq handlere kesme koymama rağmen kesmeye gitmiyor).Sorun ne olabilir? Teşekkürler
Bildiğiniz gibi NodeMCU Arduino uyumlu olduğu için Arduino için hazırlanan kütüphaneler NodeMCU üzerinde de çalıştırılabilir. Arudino ile ilgili MQTT istemci kütüphanesi ararken bir kaç seçenekle karşılaştım. Bir kaç denemeden sonra elimdeki iki kart ile sorunsuz çalışan arduino-mqtt kütüphanesinde karar kıldım. Kütüphane dosyalarına github projesi halinde buradan ulaşabilirsiniz. Kütüphaneyi Arduino sketch üzerinde bulunan kütüphane yöneticisi ile otomatik yükleyemediğim için github üzerinden zip halinde indirip yükledim. Sonrasında içerisindeki örneklerden de faydalanarak örnek kodlarımı yazdım.
MQTT nedir? Kısaca öğrendik. Bu protokol hakkında biraz daha bilgi edinelim. MQTT, geri arama işlevi içinde yalnızca iletinin konu adına erişebilir. Joker karakter olmayan bir abonelikse, abonelik sırasında kullanılan konu filtresi mesajdaki konu adıyla aynı olacaktır. Bu nedenle, abone olunan konular ve geri arama işlevleri arasında doğrudan bir eşleme oluşturabilir. Ardından, mesaj geldiğinde, mesajdaki konu adına göre ilgili geri aramayı arayabilir ve yürütülebilir. Ancak, bir joker karakter aboneliği ise, mesajdaki konu adı abonelik sırasında kullanılan orijinal konu filtresinden farklı olacaktır. Bu durumda, hangi geri arama işlevinin yürütülmesi gerektiğini belirlemek için mesajdaki konu adını orijinal abonelikle tek tek eşleştirmek gerekir. Bu, müşterinin işleme verimliliğini etkiler. Ayrıca, MQTT bir istemcinin birden fazla abonelik oluşturmasına izin verir, böylece tek bir mesaj joker karakter aboneliğini kullanırken birden çok istemci aboneliğiyle eşleşebilir.
b8c5b4e695