MQTT
MQTT Nedir?
Yaygın olarak kullanılan makinalar arası (M2M) mesaj tabanlı bir protokoldür. Lightweight oluşu ve düşük kaynak tüketmesiyle Internet of Things(IoT) ekosisteminde benimsenmiştir. Bu protokol, istek(request)-yanıt(response) yapısına dayalı HTTP’ye karşıt olarak yayın(publish)-abone(subscriber) yapısında TCP/IP bağlantısı kurulur.
Kullanılacak Versiyon
MASS Protokolü kapsamında kullanılacak MQTT versiyonu 5.0'dır.
Hizmet Kalitesi Tasarımı (QoS)
MQTT haberleşme yönteminde mesajların teslim edilmesini güvenceye almak için çeşitli hizmet kalitesi seviyeleri bulunur. MASS protokolün ise QoS 0 kullanılacaktır. Ancak ACK paketlerinin gönderimi ile verinin ulaşıp, ulaşmadığı kontrol edilecektir.
QoS 1 ve QoS 2 yöntemlerinde verinin en az 1 kere ya da kesinlikle 1 kere ulaşması garanti edilsede QoS 0 yöntemine göre yavaştır ve daha fazla bant genişliğine ihtiyaç duyar.
Topicler
Her haberleşme ünitesinin standart olarak abone (subscribe) olacağı ve haberleşme merkezi yazılımının standart olarak yayın (publish) topicler:
| Topic | Örnek | Açıklama |
|---|---|---|
| {/prefix}/request | /request | Genel amaçlı olarak tüm haberleşme ünitelerine gönderilecek mesajlar için kullanılır. |
| {/prefix}/request/flagKodu+seriNumarası | /request/ABC1234567890 | Flag kodu belirtilen haberleşme ünitelerine mesajlar bu kanal üzerinden iletilecektir. |
MQTT topic'i dinlenirken # ve + işaretleri haberleşme ünitesinde kullanılmayacaktır. Örneğin /prefix/# topic'i dinlenmesi durumunda, diğer tüm haberleşme ünitelerine gidecek mesajlarda yakalanacağından, istenmeyen bir yoğunluk oluşturacaktır.
Her haberleşme ünitesinin standart olarak yayın (publish) yapacağı topicler:
| Topic | Örnek | Açıklama |
|---|---|---|
| {/prefix}/response | /response | Genel amaçlı olarak tüm cevaplar için kullanılır. |
| {/prefix}/alarm | /alarm | Oluşan alarm durumları için kullanılır. |