Nesnelerin İnterneti için MQTT ile Hiyerarşik Haberleşme

Çevremizde birçok amaca hizmet eden her nesnelerin internet ağına bağlanarak aralarında çeşitli iletişim protokolleri ile haberleşmesi istenmektedir. Bu istek nesnelerin interneti (Internet of Things- IoT) kavramını günlük hayatımıza kadar yerleştirdi. Her nesnenin internete bağlanması gereksinimi beraberinde çeşitli haberleşme ağı teknolojilerinin de gelişmesine sebep oldu. Sadece günlük hayatımızda değil endüstride kullanılan nesnelerin aralarında iletişim kurarak kendi kendini organize etme yeteneği gibi süreçlerin başlaması, endüstri 4.0 gibi kavramların bir ağa ihtiyaç duyması ağ protokollerin gelişimine ivme kazandırdı. Çok yakın gelecekte milyarlarca cihazın haberleşmek isteği platformların esneklik, hız, güvenlik kavramlarının ön plana çıkması önemli bir etken haline dönüştü. Bu çalışmada TCP/IP alt yapısını kullanan bir IoT haberleşme protokolü olan MQTT (Message Quening Telemetry Transport) incelenmiştir. MQTT çalıştığı ağda bir karmaşa oluşturmayan hafif, esnek ve hızlı haberleşme yeteneğine sahip bir iletişim protokolüdür. Yayımlama/abone olma prensibini kullanır. İletilmek istenen mesajları bir konu başlı altında toparlar ve bilgiye erişmek isteyen kullanıcılar yayımlanan konuya abone olarak veriye erişebilirler. MQTT ’nin konuları hiyerarşik olarak sınıflandırma yeteneği ile bilgiler, veri mesajlarının sayısının oldukça fazla olduğu ortamlarda mesajlara filtre özelliği kazandırır. MQTT protokolü kullanılarak CC3200 ve ESP8266 kablosuz mikro denetleyiciler yardımıyla birbirinden farklı konularda hiyerarşik olarak sınıflandırılmış örnek bir yayımlama /abone olma örneği uygulanmıştır. Ayrıca farklı seviyelerde sınıflandırılmış mesajlara erişmek için “Paho” yazılımı kullanılmıştır. Birbirinden farklı 9 hiyerarşik sınıfta veri yayımlama/abone olma yeteneği incelenmiştir.

Hierarchical Communication with MQTT for Internet of Things

Every object that serves many purposes around us needs to be connected to the internet network and communicate by using various electronic communication protocols between them. This request placed the concept of Internet of Things (IOT) in my daily life. The necessity of connecting each object to the internete also caused the development of various communication network technologies. Beginning processes such as the ability to self-organize by communicating objects that are used only in our everyday lives, rather than just our daily lives, gave the impetus to the development of network protocols that concepts such as industry 4.0 require for a network. In the foreseeable future, the concepts of flexibility, speed and security have become an important factor in the platforms where billions of devices have to communicate with each other. In this work, we investigated MQTT (Message Quenching Telemetry Transport), an IoT communication protocol using TCP / IP infrastructure. MQTT is a communication protocol with lightweight, flexible and fast communication capability that does not create any confusion in the network it is running. Uses the principle of publishing / subscribing. Users who wish to access information can access the database by subscribing to the published topic. MQTT provides filtering features to messages in environments where there is a large number of data messages to send, with the ability to classify topics hierarchically. In this study, using MQTT protocol, CC3200 and ESP8266 wireless microcontrollers were used to implement a sample publishing / subscribing example hierarchically categorized in different fields. In addition, "Paho" software is used to access messages classified at different levels. the ability to publish / subscribe to data in 9 different hierarchical levels is investigated.

___

  • [1] L.Gökrem, M. Bozuklu (2016). “Nesnelerin İnterneti: Yapılan Çalışmalar ve Ülkemizdeki Mevcut Durum”, Gaziosmanpaşa Bilimsel Araştırma Dergisi, sy 13, ss.47-68.
  • [2] S.A. Çeltek, M. Durgun, L. Gökrem, Y. Durgun (2017). “Nesnelerin İnterneti Tabanlı Yangın Alarm Sistemi Tasarımı ve Uygulaması”, Gaziosmanpaşa Bilimsel Araştırma Dergisi, c. 6, sy 3, ss. 66-72.
  • [3] A.Al-Fuqaha, A. Khreishah, M. Guizani, A. Rayes, M. Mohammadi (2015). “Toward better horizontal integration among IoT services”, IEEE Communications Magazine, c. 53, sy 9, ss.72-79, doi: 10.1109/MCOM.2015.7263375.
  • [4] R.Kazala, A. Taneva, M. Petrov, St. Penkov (2015). “Wireless Network for Mobile Robot Applications”, IFAC-PapersOnLine, c. 48, sy 24, ss. 231-236.
  • [5] R.N.Rodrigues, A. V. Canez, G. M. Simas, R. Barwaldt (2016). “Publish-Subscribe Architecture for Delivering Assistance to Visually Impaired People”, IFAC-PapersOnLine, c. 49, sy.30, ss.150-155.
  • [6] IBM,MQTT V3.1(2010). Protocol Specification. International Business Machines Corporation: IBM
  • [7] Michael Yuan (2018). “Getting to know MQTT”, IBM,.
  • [8] Emq (2017). “EMQ - The Massively Scalable Open Source MQTT Broker”, http://emqtt.io/
  • [9] “OASIS Message Queuing Telemetry Transport (MQTT) TC | OASIS”. https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=mqtt
  • [10] “ISO/IEC 20922:2016 - (MQTT) v3.1.1”. (2018). https://www.iso.org/standard/69466.html.
  • [11] U.Hunkeler, H.L.Truong, A.Stanford-Clark (2008). “MQTT-S #x2014; A publish/subscribe protocol for Wireless Sensor Networks”, 3rd International Conference on Communication Systems Software and Middleware and Workshops, 2008. COMSWARE 2008, Oca. 2008, ss. 791-798.
  • [12] L.Hou vd. (2016)., “Internet of Things Cloud: Architecture and Implementation”, IEEE Communications Magazine, c. 54, sy 12, ss. 32-39.
  • [13] Z.Shelby, K. Hartke, C. Bormann (2014) The Constrained Application Protocol (CoAP).
  • [14] M.Collina, M. artolucci, A. Vanelli-Coralli, G. E. Corazza (2014) “Internet of Things application layer protocol analysis over error and delay prone links”, içinde 2014 7th Advanced Satellite Multimedia Systems Conference and the 13th Signal Processing for Space Communications Workshop (ASMS/SPSC), ss. 398-404.
  • [15] M. H. Amaran, N. A. M. Noh, M. S. Rohmad, H. Hashim (2015) “A Comparison of Lightweight Communication Protocols in Robotic Applications”, Procedia Computer Science, c. 76, sy Supplement C, ss. 400-405.
  • [16] S. Spinsante vd (2017). “A LoRa enabled building automation architecture based on MQTT”, 2017 AEIT International Annual Conference, Eyl. 2017, ss. 1-5.
  • [17] Ö. Yerlikaya,G . Dalkılıç (2017) “Mesaj Kuyruk Telemetri Taşıma Protokol Güvenliği”, 25. IEEE SINYAL ISLEME ve ILETISIM UYGULAMALARI KURULTAYI.
  • [18] TI, “CC3200 LaunchPad | TI.com” (2017). http://www.ti.com/tool/cc3200-launchxl.
  • [19] NodeMCU (2018) “NodeMcu -- An open-source firmware based on ESP8266 wifi-soc.”, 2018. http://www.nodemcu.com/index_en.html.
  • [20] “Eclipse-Mosquitto”, Eclipse Mosquitto (2018). https://mosquitto.org/.
  • [21] PAHO, “Eclipse-Paho-MQTT and MQTT-SN software” (2018). https://www.eclipse.org/paho/.