MQTT Protokolü ile IoT Cihazlarını Kontrol Etmek
MQTT, IoT dünyasının en yaygın haberleşme protokolüdür. Hafif, hızlı ve düşük bant genişliği kullanan bir yapıya sahiptir. Evinizde sensör, lamba, termostat gibi cihazları kontrol etmek istiyorsanız MQTT tam da işinize yarayacak.
MQTT'de üç temel bileşen vardır: broker (merkezi sunucu), publisher (yayıncı) ve subscriber (abone). Broker, yayıncılardan gelen mesajları toplayıp abonelere iletir. Örneğin, oturma odası lambası publisher olarak "salon/lamba/durum" konusuna "açık" mesajı gönderir; eğer bu konuya abone olan başka cihazlar varsa onlar da bu mesajı alırlar.
Mosquitto, en popüler açık kaynak MQTT brokerıdır. Linux/macOS'ta kurulum:
1sudo apt-get install mosquitto mosquitto-clients2sudo systemctl start mosquittoWindows'ta Mosquitto indirebilirsiniz. Kurulum sonrası broker varsayılan 1883 portunda çalışacaktır.
Python'da MQTT kullanmak için `paho-mqtt` kütüphanesini yükleyin:
1pip install paho-mqttŞimdi bir publisher örneği:
1import paho.mqtt.client as mqtt2import time34broker = "localhost"5port = 188367client = mqtt.Client()8client.connect(broker, port, 60)910for i in range(5):11client.publish("salon/lamba", f"Mesaj {i}")12print(f"Yayınlandı: Mesaj {i}")13time.sleep(2)1415client.disconnect()Beklenen çıktı:
1Yayınlandı: Mesaj 02Yayınlandı: Mesaj 13Yayınlandı: Mesaj 24Yayınlandı: Mesaj 35Yayınlandı: Mesaj 4Aynı konuya abone olan bir cihaz:
1import paho.mqtt.client as mqtt23def on_message(client, userdata, msg):4print(f"Alınan: {msg.topic} -> {msg.payload.decode()}")56client = mqtt.Client()7client.on_message = on_message8client.connect("localhost", 1883, 60)9client.subscribe("salon/lamba")10client.loop_forever()11[/cod]1213Subscriber'ı çalıştırıp ardından publisher'ı çalıştırırsanız, subscriber konsolunda gelen mesajları göreceksiniz.1415Komut satırından da test edebilirsiniz. Bir terminalde subscriber başlatın:1617[kod]18mosquitto_sub -t "salon/lamba"Diğer terminalde publish edin:
1mosquitto_pub -t "salon/lamba" -m "Lamba açık"İlk terminal "Lamba açık" mesajını gösterecektir. MQTT temelleri bu kadar basit; gerisi cihazlarınızı bu yapıya bağlamak ve kendi kontrol mantığınızı eklemektir.
0 yorum