Master'sOpen Access

Data sharing using MQTT and zigbee-based dds on resource-constrained contiki-based devices

2020
0 views
0 downloads
Advisor: Prof. Dr. Mehmet Halit Seyfullah Oğuztüzün

Abstract (TR)

Bu tez, iki farklı katman yazılımı kullanan kaynak kısıtlı IoT aygıtları arasında veri paylaşımının uygulanmasını açıklamaktadır: Gerçek Zamanlı Sistemler için MQTT (Message Queuing Telemetry Transport) ve DDS (Veri Dağıtım Hizmetleri). Konfigürasyonumuzda, tüm IoT cihazları Contiki işletim sistemi altında çalışmaktadır. DDS yapılandırmasında, bir sunucu düğümü olmadan kablosuz sensör ağ aygıtları arasında veri paylaşımını gerçekleştirmek için bir çift Texas Instruments'ın MSP430 işlemci tabanlı ZigBee destekli Advanticsys XM1000 cihazı kullanılmıştır. Uygulamanın kurulumu ve çalıştırılması için, Contiki ve kablosuz sensör düğümleri için tüm bağımlılıkları sağladığı için Ubuntu 64-bit işletim sistemi kullanılır. DDS arakatman yazılımında, sıcaklık, nem, ışık değerleri içeren XML dosyasında örnek bir arayüz tanımı verilmiştir ve paylaşılacak veriler bu arayüz tanımı tarafından belirlenir. Veri paylaşımı için, DDS bileşenleri (DataWriter, DataReader, Publisher, Subscriber, Topic) kullanılır. İki XM1000 kablosuz sensör düğümü, sensör verilerini her 10 saniyede bir birbirleriyle paylaşmak için kullanılır. Bu testler, simülatör kullanarak 2 ve daha fazla cihaz arasında ve farklı periyotlarda gerçekleştirilir. Çalışmanın ikinci bölümünde sıcaklık, nem ve ışık değerleri içeren veri yapısı hem MQTT hem de MQTT-SN (Sensör Ağları için MQTT) ara katman yazılımı ile paylaşılıyor. MQTT ara yazılımı uygulamasının yapılandırması TCP protokolüyle çalışır ve aşağıdaki bileşenler kullanılır: Ubuntu tabanlı ana bilgisayar, ana bilgisayarda çalışan mosquitto (Yerel MQTT sunucusu) uygulaması, MSP430 işlemci tabanlı ZigBee destekli kablosuz sensör düğümü (MSP430 işlemci tabanlı) Advanticsys firması tarafından üretilen CM5000). Ayrıca, hem yayıncı hem de dinleyici için Python istemci uygulamaları ana bilgisayarda çalıştırılır. Yukarıdaki bu bileşenler, sensör veri yapısını ana bilgisayara bağlı olan kablosuz sensör düğümleri arasında paylaşmak için kullanılır. Yayıncı ve abone uygulamaları, sensör veri yapısını mosquitto sunucusu üzerinden her 10 saniyede bir paylaşır ve alınan veriler python abone uygulaması kullanılarak kablosuz sensör düğümüne gönderilir. Alınan sensör veri yapısı da seri arayüz kullanılarak kablosuz sensör düğümüne gönderilir. Bu uygulamada, ZigBee modülü, MQTT uygulamasının yüksek bellek ihtiyacınedeniyle ZigBee modülü etkinleştirilemediğinden kullanılamaz.MQTT uygulamasında Zigbee modulü kullanılamadığından dolayı karşılaştırılmaya dahil edilmemiştir. MQTT-SN ara katman yazılımını kullanarak sıcaklık, nem ve ışık değerleri içeren veri yapısını çalıştırmak ve paylaşmak için RSMB (Really Small Mosquitto Broker) Linux tabanlı bir ana bilgisayara kurulup çalıştırılır. Cihazlar, ana bilgisayarda çalışan Mosquitto sunucusuyla iletişim kurmak için ana bilgisayardan IP adresini almalıdır. Bu nedenle, bilgisayarda IP adresi almak için kullanılan yönlendirici uygulaması CM5000 adlı kablosuz algılayıcı düğümde çalıştırılır. Başka bir CM5000 kablosuz sensör düğümü, CM5000 kablosuz sensör düğümünü yükleyen yönlendirici uygulamasını kullanarak IP adresini alır ve CM5000 kablosuz sensör düğümüne yüklenen MQTT-SN ara yazılımı kullanarak RSMB üzerindeki sensör verilerini yazabilir. Sensör veri yapısı farkı sürelerde 2 veya daha fazla sensör düğümü arasında paylaşılır. Ayrıca, CM5000 kablosuz sensör düğümünden gönderilen sensör verileri, ana bilgisayarda çalışan RSMB sunucusuyla paylaşılır. Paylaşılan sensör verileri, ana bilgisayarda RSMB'den veri okuyan Mosquitto istemcisi kullanılarak görüntülenebilir. Bu üç yapılandırma hafıza kullanımı, güç tüketimi ve bant genişliği kullanımı açısından karşılaştırılmıştır. Bellek kullanımıyla ilgili olarak, DDS arakatman yazılımı en az bellek tüketen yazılımdır. Ek olarak, işletim sisteminin görüntüsünün cihazlar üzerine yüklebilmesi için yapılan değişikliklerin bellek kullanımı üzerindeki etkileri hesaplanmaktadır. Benzer şekilde, DDS uygulamasının tüm uygulamalar arasında en az gücü tükettiği görülmüştür. MQTT-SN için bellek yetersizliği nedeniyle etkinleştirilemeyen güç tahmin modülü nedeniyle güç tüketimi hesaplanamaz. Bu nedenle bu modül tarafından hesaplanan ham değerler kullanılarak geliştirilen uygulama ile MQTT-SN için de hesaplamalar yapılır. Contikinin "Energest modülü" güç tüketimi tahmini için kullanılır.

Author

Dr. Tunahan Yıldırım

How to Cite

Tunahan Yıldırım (Yüksek Lisans Tezi). Data sharing using MQTT and zigbee-based dds on resource-constrained contiki-based devices, 2020, Middle East Technical University.

Keywords

License

Tüm Hakları Saklıdır

This work is shared under the specified license terms.

More theses from Middle East Technical University