Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems Taxonomy on IoT Technologies for Designing Smart Systems https://doi.org/10.3991/ijim.v12i5.8831 Mohamed El Beqqal !!", Mostafa Azizi University Mohammed First, Oujda, Morocco elbeqqal.mohamed@gmail.com Abstract—The Internet of things(IoT) is now considered among the most emerging technologies aiming to interconnect heterogeneous smart devices in several areas without human interaction. From sensing and identification to data processing and storing. The Building and the monitoring of smart systems like smart homes, smart campus and smart cities pass through several stages on which different tools and platforms coexist to answer this need. In this paper, we present a survey on recent works using IoT tools to build their systems. Par- ticularly, we classify and compare them according to layers and characteristics that we have defined such as data acquisition, data processing , software used, conformity to standards. Hence , our study aims to provide a clear vision on available functionalities during the process of building IoT systems based on most used IoT tools and to help users to choose the most adapted tool depend- ing on their needs. Keywords—IoT Solutions, RFID, Classification , Smart systems , Platforms, Middleware , Data-flow 1 Introduction The Internet of Things (IoT) is above all a concept that allows the Internet network to be extended to everyday objects. This technology allows data transfer between different connected objects without human intervention. The devices can then interact with each other in a completely autonomous way. The IoT sector is growing and the number of connected objects is becoming in- creasingly important. From the watch to the shower head, everyday objects are in- creasingly derived from connected objects for a better adaptation to their user. This is a technological breakthrough leading to major changes in our lifestyle. The bridge between the different machines is then done without human interaction to adapt to the needs and the environment. The development of these functionalities is possible thanks to the optimization of new electronic technologies such as RFID, WSN and associated sensors. These vari- ous sensors allow the retrieval and storage of user data[1]. Many solutions including hardware, software and protocols are proposed everyday to enlarge IoT market offer. The choice of the right tools has become a challenging 182 http://www.i-jim.org Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems task due the variety of solutions categories. Besides , other constraints can be faced during the implementation of these smart systems such interoperability of the con- nected devices, availability and security concerns[2]. The paper is organized as follows : section 2 presents an overview of the IoT sys- tem followed by the main protocols and issues in smarts systems. Section 3 presents the goal of the study where we focus on the process of the building an IoT system, more precisely, we presents most used prototyping tools, middleware's and platforms. Section 4 presents real academic implementations of smart systems. Finally, we con- clude the paper with a conclusion and future works. 2 Background on IoT technologies and major issues In this part, we will present, the concept of internet of things, most used protocols and some major issues. 2.1 Basics The Internet of Things(IoT) is a scenario in which objects, animals and people be- ing assigned unique identifiers, as well as the ability to transfer data over a network without requiring any human-To-human or human-to-machine interaction. In general, the main components of IoT system can be presented in 3 parts : a) Hardware: The hardware part stands for all the equipments required to: • Collect data and interact physically with environment, such as sensors, tags, cameras... • Read data gathered from sensors and execute a primary data processing, such as readers , microcontrollers... • Filter, synchronize, aggregate and store data, such as terminals and servers. b) Software: The software part is responsible of processing data gathered from the hardware part. It can be a middleware , platform and operating system... c) Protocols: Protocols represent the communication part between the whole IoT system components. Authors in [3] gave a detailed information about protocols and standards. We have summarized the most used ones in table 1 : Table 1. Some main IoT protocols Protocol Frequency Range Data transmission MQTT 128 bytes in a 0.2 sec. 5 Meters 424Kbps COAP 2.4 to 2.4835 GHz 10 meters 250kbit/s XMPP 2.4GHz Wide Wide 6LoWPAN 868-868.6 MHz 20m 20 kbit/s Bluetooth 2.4 GHz 100 meters 2.1 Mbit/s ZigBee Between 868 MHz and 2.4 GHz 50 meters Between 20 kbit/s and 250 kbit/s NFC 13.56 MHz <10 cm 424 kbit/s iJIM ‒ Vol. 12, No. 5, 2018 183 Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems 2.2 Issues Despite of its several benefits. There are many challenges that are a subject of re- search. Among the major issues that IoT includes, we find availability , interoperabil- ity and security: a) Availability: Many fields using ICT technologies rely strongly on the availability of all components on the system. For example, verification of identity using RFID communication , if the RFID reader is down the employee ill blocked ,another se- rious example is the payment using NFC technology, if your smartphone is out of energy you will not be able to pass the transaction. There is some solutions trying to deal with the issue as the Blockchain infrastructure proposed in [4]. Interoperability: Due to the emerging of millions of devices connected in the whole network, and also the problematic of coexistence of different standards, many devices cannot be recognized from a system to other. Therefore, the communication between sensors and the backend will be impossible. Many Projects as ReAA and OMO.IN.STA.NT try to responds to this need, but a real standing solution does not exist as argued in [5]. b) Security: Security represents a serious concern in IoT infrastructure. The main problem is to guarantee the safety of IoT components and people privacy during all process of data exchange. In other words, Sensors , data processing unit and servers should be kept confidential, unchangeable and available (CIA). Depending on each layer(physical layer, communication layer or backend layer) of the system threats and countermeasures are proposed in [6]. 3 Taxonomy on IoT design tools 3.1 Motivation and design goal As described in section 1. A typical IoT system is composed of the hardware part , software and communication part. In this work, we aim to give some details about the platforms while designing an IoT system. This work will help us to decide what is the appropriate software to use for our context. We believe that the data flow of information in a typical IoT system pass per sev- eral steps as shown in figure 1. 184 http://www.i-jim.org Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems Fig. 1. Typical IoT system components 3.2 IoT tools For designing an IoT system, several software can be found in the market and the research field, we try in this section to present most known software and tools. We can classify them in 3 categories : Prototyping tools. When you are creating an IoT application, a prototyping tool is the solution for generating the first small physical model of the system. In fact, this step is primordial to test the atom functionalities of your application, measure and realize performance test and also analyze the feasibility and connection between the system components. The prototyping tools are generally composed of the hardware part containing the process unit interacting with data source devices as sensors and software part dedicat- ed for developers to read data and develop application which will be deployed inside the prototype's main processing unit. Table 2 shows an example of some IoT proto- typing tools. Middleware. The middleware is considered as the interface between the business application and the hardware layer, in case of the internet of things, the middleware will act as the orchestra between backend servers and the data collection layer, In fact, iJIM ‒ Vol. 12, No. 5, 2018 185 Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems the middleware will give the orders of reading data from the sensors, act on the physi- cal environment if there is any actuators, filter and process the collected data and then send it to the backend part for further treatment. The problematic here is the emergence of various types of middleware everyday with different programming abstraction level and architecture of accessing to con- nected IoT devices [10]. Table 3 shows brief overview of some known middleware. Platforms. A platform is seen as the global level of implementing an IoT applica- tion, regrouping all the developer's necessary tools from designing , developing , deploying, storing and data analyzing. Data management infrastructure remain among the most criteria searched by com- panies while choosing the appropriate platform[2]. Table 4 shows an example of IOT full platforms. Table 2. Some IoT prototyping tools Prototyping Processing unit Cost Performance Developmen t envirement Supported language Arduino [7] ATmega 328 Low - Cross-platforms - Easy to use - Single task - Small amount of memory Arduino IDE C/C++ Rasberry PI [8] ARM11 Medium - Can run a full linux system - More sensors and actuators supported then arduino Python IDE - Python - Other languages can be used as Java, C/ C++ BeagleBone [9] ARM cortex- A8 High - Fast processing - More inputs and outputs -Support an interesting data volume Cloud9 - Python - Java - Html - C Table 3. Some IoT prototyping Middleware Middleware Device abstrac- tion Connectivity Supported language Virtualiza- tion Data management TinyDB [11] sensors HTTP, MQTT Python unavailable - collect / query data - Filtering - Aggregation - Routing data GSN12] Sensors HTTP, UDP, serial , Soap, connector Java Process streaming data using virtual sensor (VS) - Query processing - Filtering - Aggregation - publishing Sun Java RFID [13] RFID tags RFID,RMI, XML, JMS, HTTP Java, enhancement capabilities using java API Not mentioned - Central data administration - archiving - Filtering - Aggregation 186 http://www.i-jim.org Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems Table 4. Some IoT platforms Platforms Supported prototyping tools Connectivit y and protocols Language supported Plug and play Interopera bility Key features ThingSpea k [14] - Arduino - Raspberry Pi - HTTP - XML - JSON - REST - Ruby - Python - Node.js yes Not mentioned - Data virtualization - Real time data acquisition - Supporting Matlab for data analyses and processing ThingWor x [15] - Arduino - Raspberry Pi - MQTT - DDS - REST - C - JAVA - XML - assembly Yes Not mentioned - Fast building of the application - testing capabilities - Remote access and monitoring of connected devices KAA [16] - Beaglebone - Raspberry Pi - Zigbee - Wifi - Bluetooth -6Lowpan -LoRaWan - HTTP - C - C++ - JAVA Yes Yes - Real time monitoring - Collect and analyzing sensor data - User behavior analyses - Managing large number of connected devices 4 Literature implementations In this section, we present an overview concerning recent implementations of smart systems , more importantly, we take into consideration the full process of designing an IoT system. For each work, we consider some parameters to take into account during the pro- cess of building the authors applications, the following criteria are taken into consid- eration : • Data acquisition : specifies the source of data, it can be sensors in case of a wire- less sensor network, tags in case of RFID communication or other technologies. • Communication / protocols : As indicated before, many protocols are supported during the process of exchanging data between the data acquisition lay- er(Processing unit) and the backend layer. • Processing unit : In case of using a prototyping tool, this field specifies the hard- ware used for local processing data. • Software : As argued in section A), we determine if any indicated platform or mid- dleware are used to design and run the developed application. • Compliance to IoT standard : Compliance to standards is among the important issues in IoT application, for this reason, we verify in each work, if this point has been taken into account by the author. iJIM ‒ Vol. 12, No. 5, 2018 187 Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems Table 5. Academic IoT Implementations Characteristic Proposed work Data acquisition Communicati on / protocols Processing unit Software Compliance to Iot standards? Automatic Smart Parking System using Internet of Things (IOT) [17] Pi camera - CoAP - HTTP - JSON Raspberry pi - Raspbian - SPS specific application IETF standards IoT based Smart Home Design using Power and Security Management[18] - Temperature sensor - Somke sensor - PiR motion sensir - Wifi -#Ethernet Intel® Galil eo Gen 2 Android application mobile Not mentioned Smart Home: Integrating Internet of Things with Web Services and Cloud Computing [19] - light sensor VCNL4000 - Temperature- humidity sensor DHT22 - ZigBee - JSON Arduino Uno - Arduino for interacting with sensors and actuators - Google App Engine platform for data developing, deploying and analyzing. IEEE802.15.4 Designing a smart museum: when Cultural Heritage joins IoT[20] Sensor nodes - Wifi - Bluetooth Low Energy(BLE) Beaglebone black board cultural heritage information system tools Mentioned but not applied Access Control System in campus combining RFID and biometric based smart card technologies [21] - Tags - Smart card - Camera - RFID - TCP/ IP - Smart card reader to verify the fingerprint identity - Rfid Reader Specific middleware for RFID EPC tags standards Flexible Technologies for Smart Campus [22] - Beacon - Bluetooth Low Energy(BLE) PIC16F887 microcontro ller Smartphone application Bluetooth v4.0 Table 5 presents some recent works that regards IoT smarts systems, The goal of this study is to provide researchers with most used IoT tools while designing their smart systems. As sketched in the previous sections, the first step in a smart system is data acqui- sition which can result from a single sensing component as pi-camera used in [16] to detect the empty parking spaces or a combination of several data acquisition components to identify, locate and sense such as tags, beacons and sensors respective- ly. The use of specific protocols and communication technology is justified for each system architecture , context of use and component which will sends gathered data to the processing unit. All this protocols aim to one primordial gain which is reducing power consumption. For instance, author in [21] used beacons to detect buzz in the campus area. Here, the proximity is calculated based on the BLE communication technology which gives 188 http://www.i-jim.org Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems a high accuracy of proximity estimation with reasonable range field and low power usage compared to NFC and GPS. This last is managed and exploited by the software and more precisely the middleware dedicated to combine, process, filter and dispatch data for other treatment in the local or in the cloud network. Collecting data from one category of data acquisition components can be handled with the dedicated software of the processing unit , for example, author in [18] used arduino for interacting between sensors, actuators and the back-end layer. The problematic occurs when the data comes from different sources of components as designed in the paper [20], in which author collect data from tags, camera, finger- print sensor and smart-card. Each technology listed in this work use its own SDK and interface to interact between between the data acquisition layer and the backend-layer which justify the design of specific middlware that can synchronise between the several tehcnologies. According to our vision, the designed system in [20] can be presented as in the fig- ure 2. Fig. 2. Middleware for Heterogeneous components in IoT access control system 5 Conclusion In this work, we have presented a survey of IoT tools aiming to design a smart sys- tem, In particular, we explain basics of implementing an IoT system. More important- ly we clarify the ambiguity concerning tools used for this need. In addition we com- iJIM ‒ Vol. 12, No. 5, 2018 189 Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems pare some examples of most used tools to facilitate the task of choosing tools to the appropriate context. Moreover, we have completed our work by studying some real academic imple- mentations , based on some criteria that we have defined to provide researchers by models and prototyping methods used to design and implement and a smart system. As a future work, we aim to use IoT tools based on this study to design and imple- ment our system concerning a smart application dedicated for student managements. 6 Acknowledgement This research is performed inside the MATSI Lab., ESTO, University Mohammed First, Oujda (Morocco). 7 References [1] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, and M. Ayyash, “Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications,” IEEE Com- mun. Surv. Tutorials, vol. 17, no. 4, pp. 2347–2376, 2015 https://doi.org/10.1109/ COMST.2015.2444095 [2] A. Medvedev et al., “Interoperability and Open-Source Solutions for the Internet of Things,” vol. 10218, pp. 141–157, 2017 https://doi.org/10.1007/978-3-319-56877-5_9 [3] T. Salman and R. Jain, “Networking Protocols for Internet of Things,” pp. 1–28, 2013. [4] A. Boudguiga et al., “Towards Better Availability and Accountability for IoT Updates by means of a Blockchain,” pp. 50–58, 2017 [5] E. Gambi, L. Montanini, L. Raffaeli, S. Spinsante, and L. Lambrinos, “Interoperability in IoT infrastructures for enhanced living environments,” 2016 IEEE Int. Black Sea Conf. Commun. Netw., pp. 1–5, 2016 [6] A. Mohsen Nia and N. K. Jha, “A Comprehensive Study of Security of Internet-of- Things,” IEEE Trans. Emerg. Top. Comput., vol. PP, no. 99, pp. 1–19, 2016. [7] Leo Louis,” Working Principle of Arduino and using IT as a tool for study and Research “, International Journal of Control, Automation Communication and System (IJCAS),Vol. 1, 2, April, 2016 [8] J. R. Cortes Leon, R. F. Martínez-Gonzalez, A. M. Medina , and L. A. Peralta-Pelaez, “Raspberry PI and Arduino UNO Working Together as a Basic Meteorological Station,” International Journal of Computer Science and Information Technology, vol. 9, no. 5, pp. 97–104, Oct. 2017 https://doi.org/10.5121/ijcsit.2017.9508 [9] M. Petracca, P. Passaro, and E. Gioia, “AMBER: Advanced Mother Board for Embedded systems pRototyping,” EURASIP Journal on Embedded Systems, vol. 2017, no. 1, Sep. 2017 https://doi.org/10.1186/s13639-017-0080-z [10] A. H. Ngu, M. Gutierrez, V. Metsis, S. Nepal, and Q. Z. Sheng, “IoT Middleware: A Sur- vey on Issues and Enabling Technologies,” IEEE Internet Things J., vol. 4, no. 1, pp. 1–20, 2017 [11] U. of California Berkeley, “TinyDB: A Declarative Database for Sensor Networks.” [online] Available at: http://telegraph.cs.berkeley.edu/tinydb/ [Accessed 14 April 2018] 190 http://www.i-jim.org Short Paper—Taxonomy on IoT Technologies for Designing Smart Systems [12] Open-platforms.eu, “Open Platforms – Global Sensor Networks (GSN).” [online] Availa- ble at: http://open-platforms.eu/library/global-sensor-networks-gsn/ [Accessed 12 April 2018] [13] Docs.oracle.com, “Introduction to Sun Java System RFID Software. ” [online] Available at: https://docs.oracle.com/cd/E19094-01/sjs.rfid20/819-1696/RFID-intro.html [Accessed 4 April 2018] [14] M. A. G. Maureira and L. Teernstra, “ThingSpeak – an API and Web Service for the Inter- net of Things,” 2011 [15] Thingworx.com, “ThingWorx Industrial Innovation Platform | PTC.” [online] Available at: https://www.thingworx.com/platforms/ [Accessed 7 April 2018] [16] Kaa, “Open-Source IoT Platform 2017 — IoT cloud platform the Internet of Things solu- tions and applications that set the standard. ” [online] Available at: https://www.kaaproject.org/platform/ [Accessed 6 April 2018] [17] S. R. Basavaraju, “Automatic Smart Parking System using Internet of Things (IOT),” Int. J. Sci. Res. Publ., vol. 5, no. 12, pp. 629–632, 2015 [18] J. Chhabra, “IoT based Smart Home Design using Power and Security Management,” no. Iciccs, pp. 6–10, 2016 [19] M. Soliman, T. Abiodun, T. Hamouda, J. Zhou, and C.-H. Lung, “Smart Home: Integrat- ing Internet of Things with Web Services and Cloud Computing,” 2013 IEEE 5th Int. Conf. Cloud Comput. Technol. Sci., pp. 317–320, 2013 [20] A. Chianese and F. Piccialli, “Designing a smart museum: When cultural heritage joins IoT,” Proc. - 2014 8th Int. Conf. Next Gener. Mob. Appl. Serv. Technol. NGMAST 2014, pp. 300–306, 2014 [21] M. El Beqqal, M. A. Kasmi, and M. Azizi, “Access control system in campus combining RFID and biometric based smart card technologies,” Adv. Intell. Syst. Comput., vol. 520, pp. 559–569, 2017 https://doi.org/10.1007/978-3-319-46568-5_56 [22] D. Van Merode, G. Tabunshchyk, K. Patrakhalko, and G. Yuriy, “Flexible technologies for smart campus,” in 2016 13th International Conference on Remote Engineering and Vir- tual Instrumentation (REV), 2016 8 Authors Mohamed EL BEQQAL graduated from ENSAO (National Higher School for Applied Science, Oujda) with a degree of state engineer Software Quality in 2011. He is currently a Ph.D. candidate at MATSI-Laboratory/ Mohammed First University of Oujda under the supervision of Pr. Mostafa AZIZI. His research focus on : RFID, Biometrics, Internet of things , Access control, identification , authentication. (e-mail: elbeqqal.mohamed@gmail.com) Mostafa AZIZI Ph.D., Ing, Professor, MATSI-Laboratory, ESTO, University Med 1st, Oujda – Morocco. His researches focused on: Verification/ CoVerification, Test- ing, Computer Security, Software Development, Hardware/Software Systems. (e- mail: azizi.mos@ump.ma) Article submitted 10 May 2018. Resubmitted 09 June 2018. Final acceptance 09 June 2018. Final ver- sion published as submitted by the authors. iJIM ‒ Vol. 12, No. 5, 2018 191 iJIM – Vol. 12, No. 5, 2018 Taxonomy on IoT Technologies for Designing Smart Systems