Arduino ile MQTT Haberleşmesi

Merhaba ,

Bu yazımda maker kültürünün bir nevi çıkış noktasını oluşturan Arduino cihazlarımızı IoT ekosisteminin önemli bir parçasını oluşturan MQTT brokerına nasıl bağlayacağımızı anlatmaya çalışacağım.

MQTT Nedir ?

Message Queuing Telemetry Transport yani MQTT mesajın karşı tarafa gönderilmesi için kullanılan bir haberleşme protokoldür. Bu haberleşme trafiğini kontrol eden yöneticiye BROKER, mesaj yayınına PUBLISH ve bu mesaj yayınına abone olanlara SUBSCRIBE denmektedir. Aşağıdaki görselde bu kavramlar daha iyi anlaşılacaktır.

 

 

Gerekenler

  • Arduino Uno
  • Ethernet Shield
  • 1 Adet Led

Öncelikle cloudMqtt sitesinden bir adet ücretsiz broker ediniyoruz. (5 Bağlantıya kadar ücretsiz)

Hesabımıza giriş yaptıktan sonra details sekmesine geçerek mqtt broker bilgilerimizi alıyoruz.

 

Devre şeması oldukça basit , bu uygulamamızda arduinonun 4 numaralı pinine bağlı olan ledi mqtt aracılığı ile açıp kapatacağız.

 

 

Sonrasında ise arduinomuza aşağıdaki kodu yüklüyoruz.

Arduinomuza MQTT mesajlarını alıp göndermek için Android tarafında MQTT Dashboard isimli uygulamayı kuralım. Bu uygulamayı kullanmamızın sebebi 0 kodlama ile bize ui oluşturma imkanı vermesi.

Uygulamayı açtıktan sonra bir tane mqtt connection yaratıyoruz.

Bağlatıyı oluşturduktan sonra ilgili bağlantıyı seçerek devam ediyoruz.

Yukarıda Publish yazan sekmeye geçiş yapıyoruz. Ve Sağ üstteki + işaretine tıklıyoruz.

Bize eklemek istediğimiz komponenti soruyor. Biz bu denememizde switch komponentini kullanacağız.

Seçim yaptıktan sonra bize komponentin özelliklerini soruyor. Arduino MQTT’de arduino_1/led topic’ine subscribe oluyor(dinliyor) ve gelen mesaj on ise led’i yakıyor , off ise söndürüyor. İlgili alanları bu kurala göre dolduruyoruz.

 

Son olarak ekranımız bu şekile geliyor.

Herşey hazırsa test edebiliriz. Telefonumuzun ekranında on/off switchinin durumunu değiştirdiğimiz zaman ledimizin yanıp söndüğünü ve serial monitorde mesajların görüntülendiğini görmeliyiz.

Arduino serial monitor kullanarak on/off mesajlarını görüntüleyebiliriz. Bir sonraki yazımda sıcaklık sensörü verilerini kullanarak mqtt aracılığı ile grafik çizmeyi anlatacağım.

You may also like...

2 Responses

  1. Ümit dedi ki:

    Mot ile aynı anda kaç adet ardunio izlemesi yapılabiliyor?

    • TygrVrli dedi ki:

      Ümit Selamlar ,

      MQTT kullanarak topicleri ayırırsan , her arduino içine özel bir seri numarası koyduğumuzu düşünelim.

      umitArduino1
      umitArduino2
      umitArduinoN

      şeklinde. Ve mqtt’ye yolladığın datanın payload’ında yahut topic’inde bu seri numarasını kullanırsan istediğin kadar arduino cihazını takip etmen mümkün olacaktır.

Ümit için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

one × 2 =