Microsoft Azure IoT – IoT İletişim Protokolleri ve Çalışma Prensiplerinin Detayları
Merhabalar, bu makalemizde IoT eko sistemi içerisinde çalışan aygıtların tamamının kullandığı, kullanmak zorunda olduğu protokollerin işleyişi, nerelerde kullanıldığı ve protokol özelliklerini paylaşacağım.
MS Azure IoT veya benzeri bulut tabanlı/ on premise sistemlerde IoT Yönetimi için temel olarak kullanılan protokollerin bilinmesine dair detayları paylaşacağım.
Protokol Nedir?
Protokol cihazların kendi aralarında iletişim kurabilmesi için kullandıkları belli temel kurallara bağlı olarak inşa edilen ve cihazların karşılıklı iletişim kurduklarında, ortak yayın frekansı, ortak kapı numarası vb. değerler ile eş paydada buluştuğu iletişim ağının en temel gereksinimlerindendir. Protokoller kümesinin detaylarını “OSI” referans modeli incelemektedir.
Protokol tercih edilirken, cihaz üzerinde tüketeceği güç, ip adres yapısı, ip kapasitesi, yönlendirme protokolleri, protokol güvenlik uyumlulukları ve network yönetimi başlıkları altında incelenerek protokol tercihine karar verilmelidir.
LoWPAN, 6LoWPAN, Zigbee, Ziwave, BLE, RF Protokolleri, TCP/IP, UDP, HTTPS, HTTP, CoAP, MQTT
IEEE 802.15.4 Endüstri Standartı Protokol Yapısı;
Küçük paket boyutlarına sahiptir, 128 Byte’lık MAC adresi bilgisi, 102 Byte’lık payload kapasitesine sahiptir.
64 bit MAC adresi bilgisi kullanır ancak, taşıma esnasında 16bit’lik kısa adres formlarıyla anons edilir
Çoklu topoloji tiplerini desteklerler, Star, Hub, Mesh, Full Mesh gibi.
AES şifreleme metodunu desteklerler
Veri aktarım hızları 20kbps ile 250kbps arasındadır
10m ile 30m mesafe aralığında iletişim sağlayabilir
LoWPAN;
Düşük maliyetli cihazlarda, düşük güç tüketimi ihtiyacı olan ürünler için “wireless” standartıdır
IEEE 802.15.4 ile uyumlu, IEEE 802.15.3 protokolünü kullanır
Network ağ topoloji tipi olarak, “star” ve “mesh” dizaynında çalışabilir. Birden fazla “mesh” ve “star” protokolleri birlikte çalışabilirler.
Günümüz şartlarında bu protokol kullanılabilir.
6LoWPAN;
IP protokolü ara yüzü kullanır
Düşük güç tüketimine sahiptirler
ISM yayın frekansın kullanır 2.4 Ghz yayın frekansında çalışırlar
2.4Ghz kablosuz iletişiminde, Wifi, Bluetooth ve Zigbee gibi protokoller ile çalışabilirler
Gömülü uygulamalar için uzun ömürlü batarya ihtiyaçlarından ötürü tercih edilen protokoller sınıfına girer
API’lar ile basit bir şekilde özelleştirilebilir
Protokol “stack” yapısı aşağıdaki gibidir
IoT Protokolleri Node’dan Ağ Geçidine, Ağ geçidinden Sunucuya iki kategoride protokolleri sınıflandırabilir.
Zigbee;
Düşük veri aktarım kapasitesi
Düşük güç tüketimi
Lisansız yayın bandın da çalışma
Global 2.4Ghz yayın frekansında 250kbps
868Mhz Avrupa Yayın bandında 20kbps desteği
915Mhz Kuzey Amerika yayın bandında 40kbps desteği
30m ile 90m arası çalışma mesafe aralığı var
Hibrid topoloji yapılarında çalışabilirler
Zigbee protokolü İçerik Yapısı
ZWave;
900Mhz ile 100kbps çalışma aralığına sahiptir
232 nod’a kadar cihaz desteği vardır
250 civarında üreticiye desteği olan bir konsorsiyuma sahiptir
Mesh networkler üzerinde dizayn edilebilir birincil ve ikincil kontroller mantığı ile çalışabilirler
BLE;
Temelde Bluetooth özelliklerini kullanır, Bluetooth v4.0 özellikleri sayesinde düşük güç tüketimine sahiptir
Kablosuz teknolojilerine ait genel gelişim tablosu aşağıdaki gibidir
İletişim Protokolleri ve Kanalları
TCP/IP;
IP tabanlı iletişim ve temel erişim protokollerini kullanır
Hata kontrolü, kararlı çalışma, bilgisayarlar arası iletişim, yerel ve uzak ağlar gibi birçok kullanım alanına ve yeteneğine sahiptir
OSI referans modelinde “Transport” katmanında çalışırlar
UDP;
Mesaj gönderme, alma, ses ve görüntü aktarımı gibi koşullarda yüksek iletim hızına sahip olan durumlarda kullanılır
Doğrulama ve paket iletimi konusunda güvenli değildir
HTTP;
“World Wide Web” protokolü ile veri iletimine aracılık eder
Mantıksal “hyper” linklerle birlikte text tabanlı iletişimi sağlar
HTTPS;
HTTP protokolü ile aynı çalışma timeline sahiptir, ancak güvenli olan versiyonudur
SSL veya TLS güvenlik anahtarları kullanarak uygulama katmanında veriyi gizler
CoAP;
CoAP “Constrained Application Protocol”
HTTP ve Restful konsept yapısını kullanır
HTTP protokolü ile birlikte çalışabilir
GET, PUT, POST ve Delete mesajlarını istemcilere yollayarak çalışırlar
CoAP paketleri HTTP TCP flow paketlerine göre daha düşük boyutlardadır
CoAP protokolü iletimde UDP protokolünü kullanır, TCP çalışmazlar
CoAP Protokolü çalışma doğası aşağıdaki gibidir;
MQTT;
Küçük boyuttaki mesaj paketlerini iletmek için kullanılır
Mesaj iletimi için asenkron iletişim modeli kullanır
Küçük paket yapısına sahip olduğu için, düşük bant genişliklerine ihtiyaç duyarlar
Yayınlama ve Abonelik modellerine sahiptir
Uygulaması, Kurulması kolaydır ve düşük güç, basit protokol yapılandırmalarına sahiptir
TCP tabanlı çalışırlar,6LowPAN ile birlikte çalışabilirler, TCP iletişimi sayesinde
Kablosuz bağlantılarda kesilmelere karşı önlem almaya çalışırlar
Açık kaynak ve Apache organizasyonuna aittir
Uzak veri ölçümlemeleri için uygundur
Sensör ve dışarıdan gelen verilerin iletişimlerini MQTT Broker’lar karşılar
MQTT Mesaj iletimi ve Abonelik dağıtımı aşağıdaki gibidir;
MQTT-S , MQTT ,CoAP ve Rest API çalışması özetleri aşağıdaki tablodaki gibidir.
IoT protokolleri temellerini, cihaz Yönetimi için bilinmesi gerekenler gibi temel detayların ardından, protokollere dair birtakım detayları ve kullanım alanlarına dair bilgilere bu makaleleri seri halde okuduktan sonar elde etmiş olacaksınız.
Umarım faydası olur,
Keyifli okumalar.