Nesnelerin
interneti, tüm teknoloji şirketlerinin ilgisini çeken bir konu. Geleceğimizi
nasıl etkileyeceği konusunda analizler, tahminler ve öngörüler üzerinde
çalışılmakta. Piyasadaki payı hızla büyüyen bu alandan pay kapma çalışmaları
yoğun şekilde devam etmekte. Yatırımlar, altyapı çalışmaları ve farklı
yaklaşımlarla yeni yöntemlerin denenmesine standartların oluşmasına tanık
olmaktayız.
Nesnelerin
İnternet'i terimi ilk olarak Kevin Ashton tarafından kullanıldı. “Yanılıyor
olabilirim ama büyük olasılıkla 1999
yılında Procter & Gamble için hazırladığım “Nesnelerin
İnterneti (Internet of Things, IOT)” sunumu ile Nesnelerin İnternet'i ifadesi
kullanılmaya başladı.” diyor Ashton makalesinde.[1]
Eğer
bilgisayarlar bizim yardımımız olmaksızın tüm nesnelerdeki tüm veriyi
bilebiliyor olsalardı, her şeyi takip edebiliyor, sayabiliyor ve çok ciddi bir
israfı önleyebiliyor, maliyetleri düşürebiliyor olurduk. Ne zaman bir şeylerin
değiştirilmesi, tamir edilmesi ya da hizmetten kalkması gerektiğini, onların
yeni ya da zamanlarının geçmiş olduğunu bilebilirdik. Bilgisayarlarımıza öyle
bir güç vermeliyiz ki onlar özgürce kendi bilgilerini toplayabilsinler ve
böylece görebilsinler, duyabilsinler ve koklayabilsinler. RFID ve sensör
teknolojisi bilgisayarları bizim bilgi girmemize bağlı olmaksızın dünyayı
gözlemleme, tanımlama ve anlayabilmesini sağlıyor.
Bu
görüş doğru olmasının yanında akıllı telefonların çok hızlı yayılması ve
özelliklerinin çok gelişmesi ile nesnelerin interneti dünyası akıl almaz bir
boyut kazandı. Artık bu sürekli bağlı (always connected) cihazlar muazzam bir
bilgi kaynağı ve bilgiyi yönetme gücü ile nesnelerin interneti dünyasında yeni
bir çığır açmış durumdalar. Buna ek olarak internet erişimin yaygınlığı ve
kapasitesinin artması ve mikro denetleyici maliyetlerinin düşmesi, cihazların
boyutlarının küçülmesi ile tüm dünya sürekli bağlı, bilgi alınabilir ve kontrol
edilebilir hale geldi.
Gartner’ın
piyasa araştırmalarına göre nesnelerin interneti cihazların sayısının patlama
yaparak 2020 yılında yaklaşık 21 milyar olacağı ifade ediliyor.
2016
yılı itibariyle toplam nesnelerin interneti piyasasının destekleyeceği servis
harcamaları 235 Milyar Dolar ile bir önceki yıla göre %22 artmış olacak.
Nesnelerin internetinin büyüyen önemi ve cihazların nasıl bağlanacağı ve
verilerin nasıl toplanacağı konuları büyü işletmelerde ve BT sektörüne bakış
biçimini değiştiriyor.
IDC’nin
yayınladığı raporda bu piyasanın 2014’te 655.8 milyar dolar iken 2020 yılında 1.7
trilyon olcağı ve servis sağlayıcıların da yıllık büyüme oranlarının %16.9
olacağı belirtiliyor.
Bu
değerlendirmeler ışığında uygulama yazılım ve servislerin(as-a-service)
gelirlerinin büyük bir yüzdesini de 2020 yılında bu alandan elde edileceği
öngörülüyor.
Nesnelerin
İnterneti bize 3 ana konuda her bir işletmeyi etkilemektedir. Bunlar
Communication(iletişim), Control and automation(kontrol ve otomasyon) ve Cost
savings(Maliyet azaltma) [2]
İletişim : Nesnelerin interneti, insan
ve sistemleri birbirine bağlar. Örneğin, sağlık ekipmanları ve insanların
hayati sinyallerini izleyen sensörlerden veriler alınır. Bir çok durumda bu
verilere ulaşamıyorduk ya da kendimiz toplamak zorunda kalıyorduk. Bir başka
örnek verecek olursa nesnelerin interneti özelliğine sahip bir iklimlendirme
sistemi hava filtrelerinin temiz olup olmadığını veya çalışıp çalışmadığının
raporunu verebilir. Neredeyse her firma takip etmesi gereken demirbaşlara
sahiptir. GPS’li bir demirbaş o anki lokasyonu ve hareketi hakkında bilgi
verebilir.
Kontrol ve otomasyon: Çevrimiçi bir
dünyada, işletmelerde bir cihazın durumu görünürlüğe sahiptir ve birçok durumda
işletme ya da müşteri cihazları uzaktan kontrol etme gücüne sahiptir. Örneğin
bir işletme belirli bir ekipmanın uzaktan durdurabilir ya da sıcaklığını vs.
ayarlayabilir. Bunun yanında bir tüketici aracının açabilir ya da çamaşır
makinesini çalıştırabilir. Bir işlem bir takım ikazlar üretebilir ve bunlara
karşı aksiyon alınabilir. Bir kamyon fren sisteminde bulunan öge bozulma
belirtisi gösteriyorsa, aracı servis dışı yapıp bir takvimde bakım çalışmasını
otomatik olarak rezerve edebilir.
Maliyet Düşürme: Birçok kurumun
nesnelerin internetini benimsemelerinin nedeni maliyetleri azaltmaktır.
Ölçümlemeler tahminleme yerine gerçek performans verilerini ve ekipman
durumlarını sağlar. İşletmeler ve özellikle endüstri işletmeleri ekipmanları
servis dışı kaldığında para kaybederler. Nesnelerinin internetinin sağladığı
yeni sensör bilgileriyle bu durumu planlı bakımlarla minimize etme imkanı
sağlar. Sürücü alışkanlıklarını ve hızını ölçümleyen yeni zeki ölçüm cihazları
yakıt tüketimini, araç parça ve sarf malzemelerinin yıpranmaları azaltmaya
yardımcı olur. Yaşam ortamlarındaki akıllı ölçümlemeler ile enerji tüketimi ve
tasarruf fırsatlarının ortaya çıkmasının yolunu açar.
Nesnelerin
İnternet'inin hızla yaygınlaşması ile birlikte bu alanda kullanılan ağ
protokolleri de yeniden gündeme gelmiş, yeni gelişmeyeler olmuş ve mevcut
olanlardan bazıları da yeniden incelenmeye ve değerlendirmeye başlanmıştır.
Bunlardan birisi de MQTT protokolüdür. Bu raporda MQTT daha detaylı
incelenecektir.
MQTT
(Message Queuing Telemetry Transport) Mesaj Kuyruğu Telemetri Taşıma ifadesinin
kısaltılmışıdır. Telemetri: Bir sistem ya da tesisin uzaktan kablo veya
kablosuz olarak izlenmesi veya kontrol edilmesidir. [3]
MQTT,
bir makine’den makineye (M2M) / “Nesnelerin İnterneti“ protokolüdür. Son derece
hafif yayınla/abone ol (publish/subscribe) mesaj taşıma protokolü olarak
tasarlandı.[4] Fiziksel dünya aygıtlarını ve olayları kurumsal sunucularla ve
diğer tüketicilerle bağlamak için optimize edilmiştir.
MQTT, hızla genişleyen sensörlerin,
aktüatörlerin, yazılım işleme teknolojilerine haiz telefonların ve tabletlerin
dünyasını birbirine bağlama zorluklarının üstesinden gelmek için
tasarlanmıştır. Bu prensipler bandwith ve batarya gücünün kısıtlı olduğu hızla
yaygınlaşan M2M ve IOT dünyasının bağlı(connected) aygıtları için onu ideal
protokol haline getirir.[5]
IBM tarafından önerilen MQTT Dünyası ya da
evreni Evrensel Mesajlaşma (Universal Messaging) aşağıdaki gibi tasarlanmıştır.
Evrensel Mesajlaşma (Universal Messaging), herkese
açık, özel ve kablosuz altyapılarda mesaj dağıtımını garanti eden Message Oriented
Middleware ürünüdür.[12] Bu evrende Veri ve Veri Analizi, Veri ve uyarı
iletilen bunların görüntülendiği ve cevap ve kontrol mesajları gönderilen
cihazlar. Diğer uçta da kontrolörler, sensörler ve aktivatörler yer almaktadır.
MQTT, 1999'da Andy
Stanford-Clark (IBM) ve Arlen Nipper (Eurotech) tarafından keşfedildi.
Başlangıçta bir petrol boru hattındaki uydu bağlantıları için kullanılması
öngörülmüş olan protokol, kısa süre önce Ev Otomasyonu (Mouse trap mesajlar)
cihazları arasında yaygınlaştı.
Protokol, yıllarca telif
ücretsiz lisansıyla açıkça yayınlandı ve Eurotech (eski adıyla Arcom) gibi
şirketler, protokolü ürünlerine uyguladı.
Kasım 2011'de IBM ve Eurotech,
Eclipse M2M Sanayi Çalışma Grubu'na ortak katılımlarını ve önerilen Eclipse
Paho projesine MQTT kodunun bağışlanacağını açıkladı.[4]
2013 yılında Uluslararası
Standartlar Organizasyonu OASIS resmen MQTT'yi cihazdan cihaza iletişim için
hafif, açık kaynaklı bir çözüm olarak savunmaya başladı.[6]
IBM'in
Nesnelerin İnternet'in geleceği konusunda yayınladığı bir raporda, 2009'da 2.5
milyar olan ve bugün 10 milyarın üzerinde olduğu düşünülen “bağlı” cihazların
sayısının 2020'de 30 milyarı aşacağı tahmin edilmektedir.
Bağlanan bu aygıtların, yalnızca
gerektiğinde iletişim kurabilecekleri bir protokole ihtiyaçları var.
Sınırlı kaynaklara sahip cihazlar, diğer
çeşitli heterojen cihazlarla iletişim kurabilmelidir., IoT'nin gerekliliklerini
tamamlayan MQ Telemetri Nakil (MQTT) protokolü özellikleri ile öne çıkmaktadır.
[5]
MQTT Karakteristikleri aşağıdaki gibi
sıralanabilir:
·
Hafif(Lightweight) mesaj
kuyruklama ve aktarım protokolü
·
Mesajlar (olaylar) ile asenkron
iletişim modeli
·
Düşük ağ bant genişliği
uygulamaları için düşük yük (2 bayt header)
·
Yayınla / Abone Ol (PubSub)
modeli
·
Veri üreticisinin
(yayınlayıcı-publisher) ve veri tüketici (abone- subscriber) konularından
(mesaj kuyrukları- message queues) ayrılması
·
Düşük karmaşıklık, düşük güç ve
düşük footprint uygulamaları (örneğin WSN - Kablosuz Algılayıcı Ağları)
amaçlayan basit protokol[7]
Yayınla
/ abone kalıbı (pub/sub), bir istemci doğrudan bir uç nokta ile iletişim kuran
geleneksel istemci-sunucu modeline bir alternatiftir. Bununla birlikte, Pub /
Sub, mesajı alan(subscriber) başka bir istemciden (client bir veya daha fazla)
belirli bir mesaj gönderen bir müşteriyi (publisher olarak adlandırır)
ayrıştırır.
Yayınla / abone kalıbı (pub/sub), bir
istemci doğrudan bir uç nokta ile iletişim kuran geleneksel istemci-sunucu
modeline bir alternatiftir. Bununla birlikte, Pub / Sub, mesajı
alan(subscriber) başka bir istemciden (client bir veya daha fazla) belirli bir
mesaj gönderen bir müşteriyi (publisher olarak adlandırır) ayrıştırır.
Bu, yayıncının ve abonenin birbirlerinin
varlığını bilmediği anlamına gelir. Burada hem yayıncı hem de abone tarafından
bilinen, gelen tüm iletileri filtreleyen ve bunları buna göre dağıtan broker
olarak adlandırılan üçüncü bir bileşen daha bulunmaktadır.
Daha önce de belirtildiği gibi,
pub/sub kavramındaki ana unsur
yayıncının ve alıcının ayrıştırılmasıdır ki bu daha farkı boyutlara
ayrıştırılabilir.
Alan(uzay)
ayrıştırma: Yayıncı ve abone birbirlerini tanımak
zorunda değilsiniz (örneğin, IP adresi ve port ile)
Zaman
ayırma: Yayıncı ve abone aynı anda çalışmasına
gerek yoktur.
Eşitleme
ayrılması: Her iki bileşenle ilgili
işlemler(operasyonlar) yayınlama
veya alma sırasında durdurulmaz.
Özetle yayımla/abone olma
(publish/subscribe), bir iletinin yayımcısını ve alıcısını ayrıştırırsa,
iletilerin filtrelenmesi yoluyla yalnızca belirli istemcilerin belirli
iletileri alması mümkündür. Ayrıştırmanın üç boyutu vardır: Alan(uzay), Zaman,
Senkronizasyon.[8]
Scalability
(büyümeye uygunluk, genişleme yetkinliği)
Pub/Sub geleneksel istemci-sunucu
yaklaşımından daha büyük ölçeklenebilirlik sağlar. Bunun nedeni, aracı
üzerindeki operasyonlar son derece paralel hale getirilebilir ve olay odaklı
işlenebilir. Ayrıca, genellikle iletinin önbelleğe alınması ve iletilerin
akıllı yönlendirilmesi, ölçeklenebilirliği artırmak için belirleyici olur.
Ancak, milyonlarca bağlantıyı yayınlamak /
abone olmak için ölçek oluşturmak kesinlikle zor. Yükü dengeleyici olan daha
fazla sunucu üzerinde yük dağıtmak için bu, kümelenmiş komisyoncu düğümleri
kullanılarak başarılabilir.
Mesaj
Filtreleme (Message Filtering)
Her abonenin yalnızca ilgilendiği iletileri
alması için broker tüm iletileri nasıl filtrelemektedir?
Konu tabanlı filtreleme - Subject-based
filtering
İçerik tabanlı filtreleme - Content-based
filtering
Tip tabanlı filtreleme - Type-based filtering
MQTT adı ve mesaj kuyruğu olarak uygulanıp
uygulanmadığı konusundaki belirsizliği ortadan kaldırmak gerekiyor.
Farklılıkları anlatmaya çalışacağız. MQTT, MQseries adlı bir IBM ürününden
gelir ve "mesaj kuyruğu - message queue" ile ilgisi yoktur. MQTT ve
geleneksel mesaj kuyruğu:
Bir message queue, kullanılmadıkça
mesajı depolar
Message queue kullanıldığında bir istemci
tarafından mesaj alınmadığı sürece kuyrukta bekler. Herhangi bir istemci
tarafından işlenmeyen mesaj yoktur. MQTT’de kimsenin konuya(topic’e ) abone
olmaması gibi.
Bir ileti yalnızca bir istemci
tarafından tüketilecek
Bir başka büyük fark, geleneksel kuyrukta
bir iletinin yalnızca bir tüketici tarafından işlenmesidir. Böylece yük belirli
bir sıra için tüm tüketicilere(consumer) dağıtılabilir. MQTT'de, tam tersi bir
şekilde, her abone, konuya(topic) abone olduysa, mesajı alır.
Kuyruklar adlandırılıp ve açık olarak
oluşturulması gerekir.
B konu(topic), bir kuyruktan (queue) çok
daha esnektir. Bir kuyruğu kullanmadan önce, ayrı bir komutla açıkça
oluşturulmalıdır. Bundan sonra mesajlar yayınlamak ya da kullanmak mümkündür.
MQTT'de konular(topic) son derece esnektir ve anında oluşturulabilir. [8]
MQTT protokolü, TCP / IP'nin üzerine
kuruludur ve hem istemci hem de aracı bir TCP / IP katmanı vardır.
MQTT Modeli, yayınlayan, istemci, konu,
abonelik temel kavramlarıyla aşağıdaki gibi gösterilebilir. [11]
MQTT,
yayınlayıcı(publisher) ile abone olan(subscriper) belirler ve bağlantı daima
bir aracı(broker) üzerinden olur.
Bir
istemci hakkında konuşurken neredeyse daima bu bir MQTT istemcisidir. Bu, hem
de yayınlayıcı ve abone olmakta olan bir MQTT istemcisini olarak ifade eder.
Genel olarak, bir MQTT istemcisi hem bir yayıncı hem de abone olabilir.
Bir
MQTT istemcisi, bir mikrodenetleyiciden, tam teşekküllü çalışan bir MQTT
kütüphanesi bulunan ve herhangi bir ağ üzerinden MQTT brokera bağlanan bir
sunucuya kadar her tür aygıt olabilir.
Bir
MQTT istemcisinin karşısında, herhangi bir yayınlama / abone olma
(publish/subscribe)protokolünün kalbi olan MQTT aracısıdır. Uygulamaya bağlı
olarak, bir aracı, binlerce eşzamanlı olarak bağlı MQTT istemcisine kadar
hizmet verebilir.
Sıcaklık ve parlaklık sensör verilerini
internet üzerinden kontrol merkezine gönderen publisher. [9]
Bağlantı, broker'a CONNECT mesajı gönderen
bir istemci vasıtasıyla başlatılır. Aracı bir CONNACK ve durum codu ile yanıt
verir. Bağlantı kurulduktan sonra istemci disconnect komutu gönderene kadar ya
da bağlantı kopana kadar MQTT bağlantıyı açık tutar.
Dönüş kodu Dönüş
kodu Cevabı
(Return Code) (Return Code Answer)
Bağlantı Kabul Edildi
Bağlantı Reddedildi, kabul edilemez
protokol versiyonu
Bağlantı Reddedildi, tanımlayıcı Reddedildi
Bağlantı Reddedildi, “Server unavailable”
Bağlantı Reddedildi, Kullanıcı adı veya
şifresi yanlış
Bağlantı Reddedildi, yetkisiz.
Topic Name: Konuyu
belirler. Bir string’tir. myhome/livingroom/temperature.
QoS : Servis kalitesi: (0,1 or 2) Servisin diğer uca ulaşıldığından emin olup olmamayı
belirler.
Retain-Flag: Aracıda son bilinen değer olarak saklanıp saklanmayacağını belirler.
Payload: Mesajın
içeriği (data-agnostic) imaj, text, şifreli veri, binary gönderilebilir.
Packet Identifier: İstemci/sunucu arası benzersiz(unique) tanımlayıcı. QoS 0 dan
büyükse anlamlıdır. (Sunucu ya da aracı kütüphaneleri tarafından
yönetilir.)
DUP flag: Bu
mesajın kopya olup olmadığını(daha önce gönderilmiş olup olmadığını belirler.
(Sunucu ya da aracı kütüphaneleri tarafından yönetilir.)
Abonelik listesi
Abone mesajı, bir istemci için herhangi bir sayıda abonelik içeriyor olabilir.
Her abonelik bir konu ve QoS içerir. Ayrıca wildcard içerebilir.
Başarılı – Maksimum QoS 0
Başarılı – Maksimum QoS 1
Başarılı – Maksimum QoS 2
128 Başarısız
Konu(topic) bir
UTF-8 dizgisidir(string) ve aracı tarafından, bağlı her bir istemcinin
iletilerini filtrelemek için kullanılır. Bir konu, bir veya daha fazla konu
düzeyinden oluşur. Her bir konu düzeyi bir eğik çizgi (topic level separator)
ile ayrılır.
Publisher birimi, mesajın subscriber
birimlerine iletiminin kalitesini QOS (Qualities of Service) parametresi ile
belirler.
3 Seviye Servis Kalitesi (Mesajin
Kalitesi)
Publisher birimi, mesajın subscriber birimlerine iletiminin kalitesini QOS
(Qualities of Service) parametresi ile belirler. Bu parametre aşağıdaki
değerleri alabilir:
0: Mesaj en fazla birkez iletilir. İletilmeme ihtimali vardır.
1: Mesaj iletilir fakat tekrarlar olabilir
2: Mesaj kesin olarak birkez iletilir. [10]
·
Tüm IoT / M2M protokolleri için
ortak büyük problemdir.
·
MQTT TCP Üzerindedir. Güvenlik
için SSL / TLS kullanımı
·
CONNECT mesajındaki kullanıcı
adı / şifre
·
Yükü şifreleme (Encryption of
payload)(MQTT yükü belirsizler içerir) [13]
Yetkilendirme Mekanizması ile ilgili
çalşmalar yapılmaktadır.
Teklif edilen bir MQTT-IoT Yetkilendirme akış diagramı. [
15]
SMQTT Önerilen bir güvenli MQTT protokolü
Önerilen bir SMQTT mimarisi [13]
Bu başlıkta MQTT’nin IOT’nin öne çıkan
protoklleri ile karşılaştırması yapılacaktır.
·
HTTP’de Pub/sub yerine
Request/Response (1-1, 1-n daha fazla POST)
·
Push on client with (long)
polling (or WebSocket)
·
Daha fazla band genişliği
(ASCII, headers, …)
·
Daha fazla enerji tüketimi
·
Mesajlaşma orta katmanı
entegrasyonu yok
·
Daha karmaşık Client
gereksinimi
·
Quality of Service kavramı
yoktur
·
Güvenlik SSL/TLS
·
RESTful kullanılır.
·
HTTP gibi UDP tabanlı
·
Client/Server (HTTP işlemleri,
durum kodları)
·
“Options” (HTTP header'ları
gibi) binary
·
Client HTTP'den daha basit
·
“Observer” yapısı var ve
“Response back after a while" ile uzun pooling engellenir.
·
Quality of Service,
“confirmable” mesajlarla sağlanır.
·
DTLS güvenliği (Datagram TLS)
·
Kaynak keşfi (Resource
discovery)
·
CoAP düğümü(node) de sunucu
rolü üstlenebilir. NAT problemi var.
·
Kurumsal uygulama odaklı
·
Sunucudan sunucuya mesajlaşma
·
Daha fazla mesaj yapısı
·
Kuyrukta yük dengelemesi (daha
fazla tüketici)
·
Yayınla / Abone kuyruğu
(MQTT'de konu-topic)
·
Filtrelere dayanan sıralara
mesaj yönlendirme ile yönlendirme
·
En küçük paket boyutu 60 bayt
·
Quality of Service (MQTT gibi)
·
Ayrıca "ölü harf kuyruğu -
dead letter queue" kullanır.
·
SSL / TLS temelli güvenlik
MQTT kullanan güç santrali[16]
Kendi
MQTT Sunucu/Aracını kur.
Gereklilikler: Raspberry Pi 2 Internet 30
dakika
Ev otomasyonu
MQTT mesajını Android telefonda test etmek.
Detaylar kaynakta[11]
·
Innovation Begins at Home -
TEDxWarwick - Andy Stanford-Clark
https://www.youtube.com/watch?v=s9nrm8q5eGg
·
MQTT Explained with Arlen
Nipper
https://inductiveautomation.com/what-is-mqtt
·
A developer's guide to the
Internet of Things (IoT) - Coursera
https://tr.coursera.org/learn/developer-iot/lecture/TjFg9/mqtt
·
Building Smarter Planet
Solutions with MQTT and IBM WebSphere MQ Telemetryhttp://www.redbooks.ibm.com/abstracts/sg248054.html
·
Developing applications for
WebSphere MQ Telemetryhttp://www.ibm.com/support/knowledgecenter/SSFKSJ_7.0.1/com.ibm.mq.amqtat.doc/tt60000_.htm
·
Applications using MQTT
https://github.com/mqtt/mqtt.github.io/wiki/Example%20Uses
·
MQTT (Message Queuing Telemetry
Transport) nedir ?
http://www.iot.gen.tr/2016/01/15/mqtt-message-queuing-telemetry-transport-nedir/
·
Tam Bir Akıllı EV Uygulaması
http://www.gnexlab.com/tam-bir-akilli-ev-uygulamasi-bolum-1
[1] RFID Journal,
n 22, 2009, http://www.rfidjournal.com/articles/view?4986
[3] Wikipedia - https://tr.wikipedia.org/wiki/Telemetri
[4] MQTT.ORG - http://mqtt.org
[5] IBM -
https://www.ibm.com/developerworks/community/blogs/5things/entry
/5_things_to_know_ about_mqtt_the_protocol_for_internet_of_things?lang=en
[6] http://www.indusoft.com/blog/2016/09/23/a-history-of-mqtt-protocols-for-iiot-applications
[7] Effective processing of MQTT protocol in internet of
things (IOT) for smart system (International Conference on Quality Up-gradation
in Engineering, Science & Technology (ICQUEST-2016))
[8] Hive MQ -
http://www.hivemq.com/blog/mqtt-essentials-part2-publish-subscribe
[9] Getting Started With MQTT A Practical Guide
[10] Internet of Things - Nesnelerin İnterneti -
http://www.iot.gen.tr
[11] An introduction to mqtt, a protocol for m2m and iot
applications - indigoo.com
[12] Universal Messaging with MQTT – Software AG
TechCommunity
[13] Smart Home & Smart Factory systems MQTT &
IoT protocols comparison
[14] Authorization Mechanism for MQTT-based Internet of Things IEEE
ICC2016-Workshops
[15] Secure MQTT for Internet of Things
(IoT) 2015 Fifth International Conference on Communication Systems and Network
Technologies
[16] Message Queue Telemetry Transport
Protocol(Mqtt) And It’s Real World Applications Mridul Sen Computer Science
Department Old Dominion University.