IoT Platformu Fizibilitesi

3 245

IoT(Internet of things)(Nesnelerin İnterneti) cihazların internet üzerinden çeşitli haberleşme protokolleri sayesinde birbirleri ile haberleşmesi, veri alışverişi yapabilmesi ve bu sayede internete bağlı olan diğer tüm cihazlarla iletişim kurarak akıllı bir ağ oluşturması şeklinde tanımlanmaktadır.

IoT platformu ile farklı cihazlardan/bileşenlerden alınan verilerin tek bir merkezde toplanması, bileşenler arası iş kuralı temelli entegrasyonun sağlanması, merkezi yazılım üzerinden tüm sistemlerin yönetimi amaçlanmaktadır.

IoT platformu, sahadaki cihazlar ve diğer yazılım sistemleri ile standart protokol ve servisler üzerinden haberleşebilecek, ölçeklenebilir bir mimari ile tasarlanacaktır.

Platformların geliştirilmesindeki bir diğer temel amaç, geliştirilen IoT çözümlerindeki cihaz ve sunucu iletişimlerinde standart protokollerin çoğunlukla kullanılmayışıdır.

IoT platformu ile yerel ya da global IoT çözüm üreticileri ile entegre edilebilir; ayrıca  IoT uygulamalarındaki standartlaşmanın sağlanması, uyumsuzluk ve güvenlik açıkları gibi kronikleşmiş sorunların giderilmesi hedeflenmektedir.

Genel topoloji ve ekosistem aşağıdaki bileşenlerden oluşmaktadır;

  • Sahada kurulu uç cihazlar(Sensör, kamera vs.)
  • Uç cihazlardan gelen verileri toplayan toplayıcı(Gateway)
  • WAN(Wide Area Network): xDSL , FTTX veya GSM
  • IoT platformu
  • Uygulamalar ve Enterprise IT sistemleri(ERP, CRM, Dikey IoT uygulamaları, Billing, İş Gücü Yönetimi, M2M Platformu vs)

Platformun genel mimarisi aşağıdaki gibidir;

iot platform architecture
iot platform market
iot platform icon
iot platform market share
iot platform comparison
iot platform gartner
iot platform open source
iot platform stack
iot platform landscape
bosch iot platform
iot cloud platform
google cloud iot platform
c3 iot platform
iot connectivity management platform
iot data platform
iot development platform
ericsson iot platform
google iot platform
gartner iot platform magic quadrant
huawei iot platform
hitachi iot platform
kaa iot platform
ibm watson iot platform logo
lumada iot platform
microsoft iot platform
iot platform nedir
ptc iot platform
pelion iot platform
iot platforms
iot platforms gartner
iot platforms market share
types of iot platforms
forrester iot platforms
industrial iot platforms
iot cloud platforms
open source iot platform
iot platform architecture
iot platform market
iot platform icon
iot platform market share
iot platform comparison
iot platform gartner
iot platform open source
iot platform stack
iot platform landscape
bosch iot platform
iot cloud platform
google cloud iot platform
c3 iot platform
iot connectivity management platform
iot data platform
iot development platform
ericsson iot platform
google iot platform
gartner iot platform magic quadrant
huawei iot platform
hitachi iot platform
kaa iot platform
ibm watson iot platform logo
lumada iot platform
microsoft iot platform
iot platform nedir
ptc iot platform
pelion iot platform
iot platforms
iot platforms gartner
iot platforms market share
types of iot platforms
forrester iot platforms
industrial iot platforms
iot cloud platforms
open source iot platform

IoT Platformlarında Kullanılan Haberleşme Protokolleri

MQTT

MQTT (Message Queuing Telemetry Transport), yayınlama ve abone olma mantığına dayanan telemetry mesajlaşma protokolüdür.

Makineler arası haberleşmede kullanılacak şekilde tasarlandığı için küçük paketler kullanarak haberleşmektedir.

MQTT Hub merkezli bir iletişim ağına sahiptir.

Tüm cihazlar verileri toplayan bir sunucuya bağlıdırlar. Veri kaybı istenmediğinden MQTT TCP üzerinden çalışır ve basit ve güvenilir bir iletim sağlar.

MQTT’nin  özellikleri:

  •  Protokol paketlerinin küçük oluşu networkteki veri trafiğini azaltmaktadır. (En küçük paket 2 byte’dan oluşmaktadır.) Network bu sayede daha verimli kullanılabilmektedir.
  •  Sistemde 10k publisher ve subscriber birimleri yer alabilmektedir.
  • Çift taraflı asenkron mesajlaşma sağlamaktadır. (Http’de serverdan veri alınabilmesi için sürekli poll edilmesi gerekmektedir.)
  • Sınırlı (ram, işlemci, battery v.s.) kaynaklı birimlerde kullanımı uygundur.
  • Subscriber ve publisher birimleri için kullanılabilecek düşük boyutlu (30-60kb) bir çok dilde (c, java vs) açık kaynak kütüphaneler mevcuttur.

Benzer protokollerden ayrılan en önemli özelliği ise hafif (lightweight) olması ve bu sayede bir çok platformda rahatlıkla kullanılabilmesidir

Uyarlanması basit olan bu protokol, az maliyetli bir ağ yapısı ile düşük veri trafiği sayesinde bant genişliğini çok verimli kullanmaktadır.

REST

REST(Representational State Transfer)  Client&Server mantığında http üzerinden POST ve GET ile veri iletişi sağlayan bir protokoldür.

Web tabanlı uygulamalarda kullanılır.

Genelde cloud’da hazır olan veriyi almak ve cihazları kontrol etmek için cloud’a emir vermek için kullanılır.

Esnek bir yapıya sahiptir. REST ile veri alışverişini JSON, XML, CSV ve HTML gibi farklı formatlarda yapabilir.

Belli bir iletişim standardı yoktur, her bir REST sunucusu ile iletişim kurmak için farklı yöntemler kullanılması gerekebilir.

XMPP

Orijinal adı Jabber olan XMPP(Extensible Messaging and Presence Protocol) internetteki iki ucun herhangi bir yapısal bilgiyi birbirleri arasında karşılıklı ve neredeyse eş zamanlı aktarmalarına olanak sağlayan açık bir XML protokolüdür.

Birden fazla birim(kullanıcı, cihaz vs.) arasında mesaj, dosya ve durum iletişimini gerçekleştirir.

Kullanıcılar arasında sadece metin ya da durum bilgisini ulaştırmayıp aynı zamanda gerçek zamanlı olarak ses, görüntü ulaştırabilir.

Diğer taraftan kullanıcıların dosya paylaşımı yapabilmesine olanak tanır.

Önerilen İçerikler

Merkezi ya da herhangi bir yere bağlı değildir. E-posta mimarisine benzer. Kurulan XMPP sunucusu, isteğinize göre dış dünyaya kapalı olabilir ve diğer XMPP ağlarıyla bağlantı kurmayabilir.

Tamamen kendi ağınız içerisinde çalışacak şekilde yapılandırılabilir. XMPP uygulamaları XMPP’nin sunduğu altyapı sayesinde mesajlaşmanın ötesinde, ağ yönetmek, dosya ve içerik paylaşmak, uzaktaki sistemlerin durumunu görüntülemek, oyun oynamak için de kullanılabilir.

Çok fazla port aralığı kullandığı için çeşitli güvenlik zafiyetlerine sebep olabilir.

Özellikle dosya paylaşımı ve veri aktarımında istemciler arasında virüs, trojan vb. zararlı dosyaların bulaşma ihtimali olasılığı bulunmaktadır.

XMPP sunucular dışarıya açık ise yüzlerce, belki binlerce kullanıcının aynı anda söz konusu port aralıkları üzerinden saldırı gerçekleştirmesi muhtemel bir durumdur.

AMQP

AMQP (Advanced Message Queuing Protocol) queue yapılarına sahip broker’lar aracığıyla publisher&subscriber’lara hizmet veren, büyük verilerle iletişim sağlayabilen müşteri odaklı bir protokoldür.

Banka endüstrisiyle ortaya çıkmış mesaj-merkezli özel bir protokoldür ve sıraya konulmuş binlerce iş emrini güvenle yerine getirir. 

AMQP protokolü mesaj verilerini kaybetmemek üzerine odaklanmıştır. AMQP protokolü güvenilir noktadan noktaya bir bağlantı sağladığı için TCP üzerinden çalışır. Hatta uçbirimler her bir ileti için mesajı aldıklarına dair bir onay bildiriminde bulunmalıdır.

Protokol aynı zamanda çok-fazlı dizi işleme özelliğine sahip opsiyonel bir iş emri modunu da tanımlar.

Köklerine bakıldığında AMQP tüm mesajları takip etmeye odaklanmış, her bir mesajın hatadan bağımsız, istenildiği şekilde eriştiğinden emin olmaya çalışan bir protokoldür.

DDS

DDS (Data Distribution Service) direkt olarak cihazlardan toplanan verinin yine cihazlar tarafından kullanmasına olanak sağlayan bir standarttır. Cihazlar arasında yüksek performanslı veri dağıtımı sağlayabilen bir yapıya sahiptir.

Makinalar diğer birçok cihazla karmaşık yollardan haberleşmeye ihtiyaç duyalar. Bu sebeple TCP’nin basit ve güvenilir noktadan noktaya bağlantıları bu ihtiyaçlar karşısında çok kısıtlayıcıdır.

Bunun yerine DDS standardı hassasiyeti yüksek servis-kalitesi (QoS) kontrolü, çoklu haberleşme, ayarlanabilir güvenilirlik ve yedeklilik sunar.

DDS güçlü filtreleme özelliklerine sahiptir, hangi verinin nereye gideceği -nasıl yayılacağı- seçebilir, burada “nereye” sorusunun karşılığı aynı anda binlerce cihaz olabilir.

DDS merkezde bulunan bir Hub üzerinden haberleşen makinalar için kesinlikle uygun değildir.

Bunun yerine DDS direkt olarak ilişkisel veri modeliyle cihazdan cihaza veri yolu(bus) ile haberleşme sağlar.

Haberleşeme Protokolleri Özet

XMPP: Chat uygulamaları için geliştirilmiş bir protokol. Mesaj alışverişi, kontak bilgisi paylaşımı ve presence gibi özellikleri var. IoT’de yaygın olarak kullanılmıyor.

AMQP: Mesaj tabanlı middleware’ler için geliştirilmiş bir protokol. IoT’de cihaz seviyesinde yaygın olarak kullanılmıyor.

DDS: OMG tarafından geliştirilmiş ilk surumu 2003 senesinde yayınlanmış bir haberleşme protokol. IoT’de yaygın olarak kullanılmıyor.

MQTT: IBM ve Eurotech katkılarıyla geliştirilmiş, hafif bir mesajlaşma protokolü, sensörler için geliştirilmiş. IoT’de en yaygın olarak kullanılan protokol.

OPC UA: Endüstriyel otomasyonda kullanılan yaygın bir standart. PLC gibi IA sistemleri ile haberleşmeyi sağlıyor. Oldukça güvenlikli.

Bunlardan sadece MQTT düşük kapasiteli cihazlardan haberleşme sağlamak için tasarlanmış bir protokol. Diğerleri vaktinde farklı amaçlarla geliştirilmiş, bugün IoT’ye uyarlanmaya çalışılan protokollerdir.

Bunların aralarında en açık olanı MQTT; birçok açık kaynak kodlu kütüphane ve sunucu yazılımı bulunmakta.

Cihaz üreticileri neredeyse 1 günlük bir çalışmayla bu protokolü destekleyecek durumda.

Uygulama katmanında REST protokolünün tercih edilmesinin en önemli sebebi, REST’in birçok platformda, ekstra kütüphaneye ihtiyaç duymadan çalışabilmesidir.

Ayrıca diğer birçok servis mimarisine göre daha kolay kullanılabilir, öğrenilebilir ve uygulanabilirdir.

Bunların yansıra esnek bir yapıya sahip olması yani veri alışverişini JSON, XML, CSV ve HTML gibi farklı formatlarda yapabilmesi tercih sebebi olmuştur.

3 Yorum
  1. Gökhan Ayrancıoğlu diyor

    Hepsi oldukça doğru ve faydalı olmuş, çok teşekkürler.

    Coap protokolüde günümüzde popüler olarak kullanılmakta olan diğer bir tanesi, listeye ekleyebilirsiniz.

  2. berat diyor

    Güzel bir anlatım olmuş Fatih Bey..
    Teşekkürler

    1. Sertaç Şamioğlu diyor

      Bizi takip ettiğiniz için biz teşekkür ederiz (:

Fikrini Belirt!

E-posta hesabınız yayımlanmayacak.

Sitemiz GDPR kurallarına uygun çerezler kullanmaktadır. Bu çerezler ile websitemizin performansını iyileştirmeyi hedeflemekteyiz. TamamDaha fazla