Instruction FACTA UNIVERSITATIS Series: Electronics and Energetics Vol. 29, N o 3, September 2016, pp. 407 - 417 DOI: 10.2298/FUEE1603407S A PLATFORM FOR A SMART LEARNING ENVIRONMENT Konstantin Simić 1 , Marijana Despotović-Zrakić 1 , Živko Bojović 1 , Branislav Jovanić 2 , Đorđe Knežević 1 1 Faculty of Organizational Sciences, University of Belgrade, Serbia 2 Institute of Physics, University of Belgrade, Serbia Abstract. In this paper, a modular platform which provides student services for smart educational environment is described. The platform represents a point of mutual integration of various services, such as hosting platform for students’ projects, platform for integrating SMS service with students’ web applications, Internet of Things platform which enables acquiring data from sensors distributed within the University building and controlling various actuators. Platform is deployed as a part of Smart Learning environment. It is integrated with single sign on service and it uses CAS and Oauth2. REST API is also provided. PHP Symfony framework, relational and non-relational databases are used for deploying the platform. The platform was evaluated and tested. Key words: smart environment, e-learning, web application, platform as a service 1. INTRODUCTION Internet of Things (hereinafter: IoT) enables interconnecting smart devices, such as sensors, actuators, microcontrollers and microcomputers with other information-communication infrastructure [1][2]. Using smart devices brings increasing the level of automating everyday tasks which leads to gaining better productivity in many different environments. Smart environments, such as smart homes, smart classrooms or smart factories, are formed by connecting and adding a large number of smart devices to an existing communication infrastructure. In education sphere, IoT has wide application possibilities which have not used enough. By using adequate sensors and actuators, it is possible to track different features of a physical environment, to detect whether these features are in correlation with learning and teaching processes and to dynamically change some features of the environment according to needs. IoT technologies are integral part of the smart learning environment such as smart classrooms. Received July 3, 2015; received in revised form November 15, 2015 Corresponding author: Živko Bojović Faculty of Organizational Sciences, University of Belgrade, Jove Ilića 154, 11000 Belgrade, Serbia (e-mail: zivko@elab.rs) 408 K. SIMIĆ, M. DESPOTOVIĆ-ZRAKIĆ, Ž. BOJOVIĆ, B. JOVANIĆ, Đ. KNEŽEVIĆ Smart classroom is a concept which integrates several information and communication technologies to enable collaborative learning in order to improve the overall learning and teaching processes [3]. Different technologies can be used for deploying a smart classroom, such as NFC, smart mobile devices, multimedia devices etc. Furthermore, learning environment should be pleasant place for teaching and learning. Therefore, smart classroom should be equipped with systems for heating and cooling, light and presence management, and with the necessary equipment for the realization of the teaching process. The hardware equipment in smart classrooms are usually managed by adequate software. Existence of a platform that integrates all services in scope of smart learning environment is important for the teachers and students. This research represents a development of a platform for smart learning environment. These IoT platform integrates several student services and collects data from the smart learning environment through various sensors, actuators, microcomputers and microcontrollers. The aim of this research is enhancing learning of Internet of things in an academic environment by creating projects in developed IoT platform. The research is conducted in scope of the Department of E-business (hereinafter: ELAB), at the Faculty of Organizational Sciences, University of Belgrade. The ELAB IoT platform was developed to help students to learn IoT in an interesting way and achieve better learning outcomes. 2. LITERATURE REVIEW Internet of Things can be defined as a loosely coupled, decentralized system, made of smart objects or autonomous physical or digital network-equipped objects which are able to collect environmental data and to process these data [4]. The Internet becomes a network of all devices, not solely computers. According to Gartner’s predictions, around 26 billions of devices will have been an integral part of the Internet by the year 2020 [5]. Umbrella term “Internet of Things” is usually used for grouping sensors, actuators, microcontrollers and microcomputers into smart environments. Sensors are analog or digital devices able to detect physical characteristic of the environment, such as temperature, humidity, pressure, levels of sound noice etc. [6]. Actuators are devices which works like switches – they can be used for controlling other devices. Sensors and actuators are not enough by themselves for creating smart environments. They are often used together with more complex devices, such as microcontrollers and microcomputers. In the sphere of the IoT, a widely spread microcontroller platform is Arduino and one of the best known microcomputers is Raspberry Pi. An important aspect of the IoT is connecting with other networks. In the era of broadband technologies such as WiFi and LTE, this issue is especially growing. Data provided by different devices should be available everytime and everywhere. By creating an adequate platform in the cloud, it is possible to integrate multiple data sources and to analyze these larage amounts of data. The vision of the Internet of Things can be seen from two aspects: the Internet aspect, which focuses on providing adequate Internet services, and the things aspect, which includes collecting and processing data aquired from devices. Smart devices are going to be key-elements in software developed by using the object-oriented architecture. A Platform for a Smart Learning Environment 409 The IoT platform can connect a sensor infrastructures which represent data generators with clients interesting in obtaining data which represent consumers. Sensor infrastructure can contain one or many sensors. They can be mobile and connected to the same cloud wirelessly. Data acquired by using the sensor infrastructure are stored into a non- relational database. Clients are able then to access these data [7]. Database can be delocalized and distributed in order to exchange and store information. Nowadays, IoT platforms are based on cloud infrastructure. Mainly these platforms are used for collecting data from sensors and other smart devices from the environment in which are implemented. Cloud services and resources can be delivered by three cloud service models [8][9][10]: Platform as a Service (PaaS), Software as a Service (SaaS) and Infrastructure as a Service (IaaS). In this research the focus is on IoT PaaS. Platform as a Service enables the developers to consume the resources in IaaS and deploy their applications onto a virtualized cloud platform [9]. One of the most widely used PaaS is Xively. It is a free online service enabling developers to deploy their own application based on the IoT and data acquired from sensors. Xively manages large amounts of data every day. It is used by individuals, organizations and companies all around the world. Data can be send from different sensors and devices. Xively has the following features:  Analysing and processing historical data acquired from sensors.  Sending real-time notifications and alerts related to any devices.  Calling custom scripts if user-defined conditions are fulfilled. Xively is built to encourage open ecosystems, such as digital electric meters, weather stations biosensors and other devices. Besides IoT platforms like Xively, there are also IoT platforms which are developed for specific purposes. Most of these platforms are used in business context for providing charged services. One example of these platforms is Aneka PaaS which represents an adaptable, extensible and flexible cloud platform that enhance the performance and efficiency of applications by harnessing resources from private, public or hybrid clouds [4]. Aneka supports provisioning resources on different public cloud providers such as Amazon EC2, Windows Azure and GoGrid. Application domains of Aneka are in the science, finance, entertainment and media, manufacturing and engineering, telecommunication, health and life science [11]. The CLEM project has established a cloud-based ecosystem for e-learning, resource- sharing and support for mechatronic vocational education teachers and learners [9]. CLEM is a platform that allows large number of distributed mechatronic devices to become sharable and to be used for e-learning. This PaaS is used for project realization. Analysing studies from the literature, the authors concluded that there are lack of developed IoT PaaS platforms for the educational purposes. The IoT platform presented in this research was developed according to Xively platform. ELAB IoT platform is developed in PHP language and Symfony framework. The main aim of the platform is collecting and evaluating data collected from the smart learning environment. Furthermore, this platform is mainly developed to enhance learning IoT and realization of Internet of things project in an academic environment. The developed IoT platform is an integral part of the ELAB Student platform. ELAB IoT platform can be integrated with other platforms and deployed in different smart environments. 410 K. SIMIĆ, M. DESPOTOVIĆ-ZRAKIĆ, Ž. BOJOVIĆ, B. JOVANIĆ, Đ. KNEŽEVIĆ 3. DESIGNING A PLATFORM FOR SMART LEARNING ENVIRONMENT 3.1. Platform architecture E-business Department (ELAB) within the Faculty of Organizational Sciences, University of Belgrade, organizes courses in following fields: Internet technologies, E- business, Computer simulation, Mobile computing, and Internet marketing. Each year, e- courses are attended by more than 700 students [12]. The central student service of the Department is Moodle, which enables enrolling students to different courses for all levels of studies, downloading all teaching materials and managing assignments. Due to the specific nature of different subjects, it is needed to deploy new student services which enable new functionalities. For example, students enrolled to Internet marketing course need to use web hosting and SMS services, but students enrolled to Internet of Things course need to use a platform which can control sensors and actuators. All new services and platforms should be integrated and they should use SSO (Single Sign On). Student platform should include various heterogeneous services and it should be extendable. For that reason, the platform architecture has to be modular and integrated with other services. The logical infrastructure is shown in the Figure 1. This solution should integrate a new platform with current services. By using the API, platform can be integrated with Moodle LMS. This integration enables gathering information about students and using this information in various contexts. Fig. 1 A model of educational infrastructure based on the Internet of Things. A Platform for a Smart Learning Environment 411 The model consists of four components. Cloud computing infrastructure and virtualized resources can be used for creating a highly-scalable and reliable infrastructure. Identity management software is used for providing unique user accounts and single sign on services. LMS is used for administrating courses for students. For running the LMS, relational databases and web servers are required. Big data infrastructure and non-relational databases (NoSQL) are used for collecting various data about students and data from sensors. The second component is an IoT platform infrastructure, which consists of two subcomponents. The platform for learning IoT enables students to use data from sensors, to control different actuators and to deploy their own smart environments for testing and educational purpose. The other subcomponent is related to the production environment where wireless sensor networks are used for enhancing students’ experience and for introducing new educational services. The last two components are used for integrating other components of the infrastructure and for providing external application programming interfaces (APIs) to external users. ELAB Student platform represents a point of integration of all student services. ELAB Student is a modular platform. Currently, the following modules are operational: 1. SMS module, which enables integration with a SMS gateway device and provides an API for sending and receiving short messages via public mobile network; 2. Hosting module, which enables publishing students’ project on the Internet; 3. IoT module, which is used for publishing and reading data from sensors and managing actuators and other smart devices. The model of proposed architecture is shown in the Figure 2. Authentication Authorization SSO Identity Management Common components HTML5 CSS3 JS, JQuery Presentation Moodle LMS Synchronization Global configuration Module configuration Administration REST services Web services User Devices Access Main services Modules Data Domains & DNS FTP Configuration Hosting Sending SMS Receiving SMS SMS Projects Devices Sensors Actuators IoT Fig. 2 The platform architecture 412 K. SIMIĆ, M. DESPOTOVIĆ-ZRAKIĆ, Ž. BOJOVIĆ, B. JOVANIĆ, Đ. KNEŽEVIĆ 3.2. Digital identity management Problems of digital identities are important in constructing platforms and other software solutions. Separate identity layer is necessary in complex information system made from various heterogeneous parts. Without the identity layer, integration of these parts would not be possible. Digital identity is related to managing the relationship between individuals and objects that they use. It represents a set of digital subjects and their attributes. In other words, digital identity includes a set of information about the owner of the identity that can be an individual, company or even a service [13]. For managing digital identities, several protocols are used. SAML is the best-known protocol for managing distributed identities [14]. It is a XML-based framework which provides user authentication and authorization. Other frameworks which are used for identity management are CAS, OAuth, OpenId and others. A digital identity management tier enables centralized storage of all user accounts in LDAP, as well as centralized authentication, authorization and Single Sign On/ Single Sign Out features. CAS server in combination with OpenLDAP and Radius servers is used for digital identity management. CAS (Central Authentication Service) represents a single-sign on protocol and server developed by JASIG. Using this solution, users of the platform should enter their authentication credentials only once, afterwards they can have access to all pages they are authorized for (Figure 3). CAS server Moodle LMS ELAB Student portal Other services Radius server LDAP server Services Identity Management Fig. 3 Platform services and identity management 3.3. Use cases Use cases of the ELAB IoT platform are shown in the Figure 4. There are four main use cases: project management, device management, sensor management and working with data from sensors. ELAB IoT platform works with projects. Students can create their IoT projects and register team members. Projects work similar as operating system’s folders. Each project can be private (viewable only by team members) and public (viewable by all users). In each projects, devices, such as Raspberry Pi or Arduino, can be registered. For each device, some metadata, such as IP address and location, can be added. Under devices, particular sensors and actuators which are physically connected to the device can be added. Students can use the API to write data from devices, sensors and actuators, to the platform. A Platform for a Smart Learning Environment 413 Fig. 4 The platform use cases 4. DEPLOYING A PLATFORM FOR SMART LEARNING ENVIRONMENT 4.1. Technologies used in deployment The platform for IoT is highly modular and it is created as a part of ELABStudent platform which integrates all student services. ELAB IoT Platform is developed in PHP language and Symfony framework. Symfony includes reusable PHP components which enable creating powerful web application. It is a MVC-based framework. For rendering views, Twig templating engine is used and for working with data, preferable data-mapping tool is Doctrine ORM. For developing ELAB IoT platform, both relational (MySQL with Doctrine ORM) and non-relational (MongoDB) databases are used. MongoDB is NoSQL database which uses BJSON data collections. This data format is human-readable and it is convenient for working with large sets of data. For communicating with CAS server, BeSimpleSsoAuthBundle is used. This bundle can map user entities created in Symfony to CAS users. Also, CAS login and registration forms are used. 4.2. Core component of the platform The core component of ELAB Student platform integrates all modules, identity service, templates, identity module and tools for integration with other software. This component 414 K. SIMIĆ, M. DESPOTOVIĆ-ZRAKIĆ, Ž. BOJOVIĆ, B. JOVANIĆ, Đ. KNEŽEVIĆ enables registering new users to the platform. Also, it manages which services are available to particular students. Administrator is able to deny access to particular services or to the whole platform. ELAB Student platform uses Bootstrap frontend framework for designing templates. The basic template is slightly modified to suit the needs of the platform. The homepage of the platform, where students can choose their desired service, is shown in the Figure 5. Fig. 5 The platform homepage 4.3. Internet of Things module The module for the Internet of Things is one of the key-features of the platform. Using this module, students can add their IoT projects, devices they work with and sensors and actuators. Students are able to use the provided API to send actual data collected from sensors and to read historical data, measured at any moment. This platform stores various metadata related to devices and sensors. For devices, user can define their type, latitude, longitude, image and description. For sensors, user can set their reliability, type, measuring units, image and description. In the following figure, a procedure for creating a new project is shown. First, a student can select team members from the list. All students who have had CAS account, who have been registered to the ELAB Student platform and who have not had created an IoT project are shown in the list. Afterwards, they can add devices which they want to include to the project. Finally, students can view values from sensors and the graph of historical values. They can also filter the graph by entering start and end date and time they want to see in the graph (Figure 7). A Platform for a Smart Learning Environment 415 Fig. 6 Creating a project Fig. 7 Graph with sensor data 4.4. Results of using the platform In order to evaluate the usability of the designed environment, the research was conducted in the scope of the course Internet of Things on undergraduate studies at the Faculty of Organizational Sciences, University of Belgrade. In this research, 37 students 416 K. SIMIĆ, M. DESPOTOVIĆ-ZRAKIĆ, Ž. BOJOVIĆ, B. JOVANIĆ, Đ. KNEŽEVIĆ participated. All of them had similar backgrounds and interests in the sphere of business informatics. This course consisted of 12 lectures, which were grouped into the following topics: introduction to Internet of Things technologies, defining scenarios for automating smart environments, microcomputers and microcontrollers, developing web services, developing web and mobile applications for smart environments automation. After completing the course, students' knowledge was evaluated. Students' assignments, projects and knowledge tests were used to calculate the final grade. Each assignment was a part of the final students' project. Each project was related to designing and implementing of a smart environment such as smart home, smart classroom, smart parking, etc. For the implementation of a smart environment students used ELAB IoT Platform. The average grade that students achieved on the course was 8.75 (on a scale of 6 to 10). During the course, students were given a survey. Questions were mostly based on the five-point Likert scale. Students were asked to assess the quality the four topics studied during the course: Arduino, Raspberry Pi, Web applications and Web services. All the topics were studied using the described platform. Table 1 shows summary results of the survey analysis for each (X - mean grade, from 1 to 5; 𝛿 - standard deviation). Table 1 Survey analisis Parameter Topic X 𝛿 Interesting Arduino 4.31 0.62 Raspberry Pi 4.43 0.65 Web applications 4.22 0.67 Web services 3.89 0.81 Simplicity Arduino 4.03 0.65 Raspberry Pi 3.81 0.66 Web applications 3.30 1.27 Web services 3.62 1.01 Motivation Arduino 4.22 0.64 Raspberry Pi 4.05 0.70 Web applications 3.51 0.90 Web services 3.59 0.801 Evaluation results show that the students were interested in learning IoT and developing smart environments using the described platform. The designed platform could effectively support teaching and learning, leading to good results on knowledge tests and high level of students' satisfaction and motivation. 5. CONCLUSION In this paper, we designed and deployed an Internet of Things platform. This platform was a part of the broader ELAB Student platform and it was able to help students with their IoT projects. Students were able to register their IoT devices and to send data from them to the platform. Also, they were able to browse save data. In the future, this platform is going to be extended with more features. One of planned functionalities is better integration with big data infrastructure. A Platform for a Smart Learning Environment 417 Acknowledgement: The paper is a part of the research done within the project 174031. The authors would like to thank to the MNTRS for financial support. REFERENCES [1] L. Atzori, A. Iera, G. Morabito, The Internet of Things: A survey, Computer Networks, Vol. 54, Issue 15, 28 October 2010, pp. 2787-2805. [2] E. Borgia, The Internet of Things vision: Key features, applications and open issues, Computer Communications, Vol. 54, 2014, pp. 1-31. [3] S.S. Yau, S.K.S. Gupta, E.K.S. Gupta, F. Karim, S.I. Ahamed, Y. Wang, B. Wang, Smart Classroom: Enhancing Collaborative Learning Using Pervasive Computing Technology, In ASEE 2003 Annual Conference and Exposition, 2003, pp13633-13642. [4] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, “Internet of Things (IoT): A vision, architectural elements, and future directions,” Futur. Gener. Comput. Syst., Vol. 29, No. 7, pp. 1645-1660, 2013. [5] Gartner, “Gartner Identifies the Top 10 Strategic Technology Trends for 2014,” Gartner, Orlando, Florida, 2013. [Online]. Available: http://www.gartner.com/newsroom/id/2603623. [6] S. S. Iyengar, N. Parameshwaran, V. V. Phoha, N. Balakrishnan, and C. D. Okoye, Fundamentals of Sensor Network Programming: Applications and Technology. Wiley-IEEE Press, 2010. [7] C. Floerkemeier, The Internet of Things: First International Conference, IOT 2008, March 26-28, 2008, Proceedings, Vol. 4952. Zurich, Switzerland: Springer, 2008. [8] L. George, Developing software online with platform-as-a-service technology, IEEE Comput., Vol. 41, 2008, pp. 13-15. [9] K.-M. Chaoa, A. E. Jamesa, A. G. Nanosa, J.-H. Chena, S.-D. Stan, I. Muntean, G. Figliolini, P. Rea, C. B. Bouzgarrou, P. Vitliemov, J. Cooper, J. van Capelle, “Cloud E-learning for Mechatronics: CLEM”, Future Generation Computer Systems, Vol. 48, 2015, pp. 46-59. [10] M. Despotović-Zrakić, K. Simić, A. Labus, A. Milić, B. Jovanić, 2013 Scaffolding Environment for Adaptive E-learning through Cloud Computing. Educational Technology & Society, 16(3), pp. 301-314. [11] Y. Wei, K. Sukumar, C. Vecchiola, D. Karunamoorthy and R. Buyya, Chapter 27. Aneka Cloud Application Platform and Its Integration with Windows Azure, In Cloud Computing Methodology, Systems, and Applications Edited by Boualem Benatallah, CRC Press 2011, pp. 645–679. [12] A. Labus, K. Simić, M. Vulić, M. Despotović-Zrakić, and Z. Bogdanović, “An Application of Social Media in eLearning 2.0,” In Proceedings of the 25th Bled eConference eDependability: Reliable and Trustworthy eStructures, eProcesses, eOperations and eServices for the Future, 2012, pp. 557–572. [13] Y. Zhang and J.-L. Chen, "Universal Identity Management Model Based on Anonymous Credentials," In Proceedings of the 2010 IEEE International Conference on Services Computing (SCC), 2010. [14] K. D. Lewis and J. E. Lewis, “Web single sign-on authentication using SAML,” Int. J. Comput. Sci. Issues, Vol. 1, No. 8, pp. 41-48, 2009.