Implementation of Sensing and Actuation Capabilities for IoT Devices Using oneM2M Platforms
Abstract
:1. Introduction
2. Related Works
3. IoT Middleware and oneM2M Standard
4. oneM2M Platform for Sensing and Actuation of IoT Devices
4.1. oneM2M-Based Scenarios for Sensing and Actuation Capabilities
4.2. oneM2M Middleware Platform for IoT Devices
5. Implementation and Open Sources
5.1. Software Environment and Hardware Platform
5.2. Implementation of the oneM2M Platforms and TAS
5.3. Resource Monitoring and Android Application
6. Discussion and Remaining Challenges
Functional requirements
- Resource discovery:The oneM2M specifications define the common services provided by the application service layer in IoT systems, referred to as common service functions (CSFs) [51]. ‘Discovery’ is one of the oneM2M-defined CSFs which allows IoT entities to send discovery requests to search resources about applications and services.
- Resource management:The ‘resources’ considered in Table 1 include battery-time, memory usage, and other data related to application performance to make quality of service (QoS) reliable. Although some parts of this requirement rely on its implementation, the oneM2M CSFs of ‘Application and Service Layer Management’ and ‘Device Management’ could probably support these requirements.
- Data management:The oneM2M CSF of ‘Data Management and Repository’ is responsible for providing data storage and management converting aggregated data into a specific format and preparing for further analytics such as semantic processing.
- Event management:The oneM2M CSF of ‘Subscription and Notification’ can manage subscription to the resources hosted in the oneM2M platform, and can provide notification containing the changes on the resources to the address where the subscriber wants to receive them. Accordingly, application and services can acquire all the information about the proper events in real-time.
- Code management:The oneM2M CSF of ‘Device Management’ utilizes the already-existing technologies including broadband forum (BBF) TR-069, OMA-DM, LwM2M for managing device capabilities. Of course, code updating operations for IoT devices could be achieved with the help of management clients, servers, and adapters defined in the oneM2M CSF specifications.
Non-functional requirements
- Scalability:An IoT platform needs to support rapidly growing numbers of IoT devices and keep a certain level of QoS support. Although the scalability of an IoT platform is crucial, it highly depends on implementation and performance in IoT servers rather than connected devices. Accordingly, in support of a well-designed oneM2M-based IoT server we can say that our middleware platform may deliver some level of QoS appropriate for the given environment and applications.
- Real-time or timeliness:Our middleware platform is written in JavaScript and run on Node.js runtime environment built on Chrome’s V8 JavaScript engine. Because Node.js works in a single-thread, event-driven, non-blocking I/O model, it has shown powerful performance in building scalable network applications handling massive number of network connections simultaneously. Therefore, our proposed middleware platform written in Node.js would work well in real-time applications requiring simultaneous file access, network connection, or input and output peripherals.
- Availability:Availability could be achieved by ensuring some level of fault-tolerance. The developed IoT platform does not deal with all fault tolerance issues that mainly occur in hardware interfaces. However, a watchdog function is able to detect the failure of middleware components interacting with hardware interfaces, and restart or reconnect if needed.
- Security:Security is a very critical requirement in IoT solutions, and the oneM2M defines its security framework including identification, authorization and authentication. Our middleware platform can be registered to the oneM2M server (i.e., Mobius) as an application entity. It can attempt to access a list of authorized resources hosted by the server with its server-generated unique identifier and privileges, called access control policy. However, authentication and other security components such as certificates still remain incomplete.
- Privacy:A huge amount of data will be stored in IoT platforms, having great potential in providing people with valuable services across different application domains. At the same time, however, it leads to obvious privacy issues, for example, normal users obviously need to decide the level of disclosure for the collected personal data to protect privacy. Our current IoT platform provides no privacy-preserving solutions, but it would be possible to build a simple way by utilizing semantic descriptor resources defined oneM2M container resources that can describe their categories and impact in privacy concerns.
- Ease of deployment, maintenance, and use:The oneM2M CSF of ‘Device Management’ allows the application entities registered to an oneM2M server platform (i.e., our platform-installed devices) to be easily maintained through existing device management technologies. Also, the Node.js-based implementation enables the middleware components (i.e., Node.js modules) to be updated or replaced accordingly without any high-level of technical expertise.
- Interoperability:One of main advantages of the oneM2M standard is to provide oneM2M protocol bindings with most common service layer protocols including HTTP [52], CoAP [53], MQTT [54], and WebSocket [55], enabling interoperability and interworking in the application service layer. Also, it defines a standardized ontology-based interworking [56]. All the functions supported by our platform are exposed in the form of REST APIs, fostering collaboration in the domain of IoT.
- Spontaneous interaction:The oneM2M CSFs of ‘Registration’ and ‘Device Management’ are responsible for interacting with newly connected devices containing appropriate identifiers such as globally unique object identifiers (OIDs). However, more efforts are needed to realize a truly plug-and-play experience with minimal human intervention.
- Multiplicity:This requirement belongs to a part of intelligence for IoT devices, and the proposed IoT device platform provides no analytic tools on data or decision-making procedures depending on resource conditions, for example, recommending the most suitable (or currently available) one among multiple IoT devices offering the same service, which is one area of our future work.
- Adaptability and flexibility:Similar to the above requirement of multiplicity, we have not yet realized capabilities related to adaptability and flexibility, which allows platform-equipped devices to adapt themselves according to short-term or long-term changes in resource conditions, application scenarios, and surrounding environments, remaining our future work.
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Porter, M.E.; Heppelmann, J.E. How Smart, Connected Products Are Transforming Competition. Harv. Bus. Rev. 2014, 92, 64–88. [Google Scholar]
- Wang, S.; Wan, J.; Li, D.; Zhang, C. Implementing Smart Factory of Industrie 4.0: An Outlook. Int. J. Distrib. Sens. Netw. 2016, 12, 3159805. [Google Scholar] [CrossRef]
- Da Cruz, M.A.A.; Rodrigues, J.J.P.C.; Al-Muhtadi, J.; Korotaev, V.V.; de Albuquerque, V.H.C. A Reference Model for Internet of Things Middleware. IEEE Internet Things J. 2018, 5, 871–883. [Google Scholar] [CrossRef]
- Brouwers, N.; Langendoen, K. Pogo, a Middleware for Mobile Phone Sensing. In Proceedings of the 13th International Middleware Conference (Middleware 12), Montreal, QC, Canada, 3–7 December 2012; pp. 21–40. [Google Scholar]
- Silva, D.R.C.; Nogueira, M.B.; Rodrigues, M.C.; Costa, J.S.; Silveira, D.V.A.; Oliveira, G.M.B. A concrete architecture for smart solutions based on IoT technologies. IEEE Instrum. Meas. Mag. 2019, 22, 52–59. [Google Scholar] [CrossRef]
- Alvisi, S.; Casellato, F.; Franchini, M.; Govoni, M.; Luciani, C.; Poltronieri, F.; Riberto, G.; Stefanelli, C.; Tortonesi, M. Wireless Middleware Solutions for Smart Water Metering. Sensors 2019, 19, 1853. [Google Scholar] [CrossRef] [PubMed]
- Benayache, A.; Bilami, A.; Barkat, S.; Lorenz, P.; Taleb, H. MsM: A microservice middleware for smart WSN-based IoT application. J. Netw. Comput. Appl. 2019, in press. [Google Scholar] [CrossRef]
- Souza Cimino, L.; Resende, J.E.E.; Silva, L.H.M.; Rocha, S.Q.S.; Oliveira Correia, M.; Monteiro, G.S.; Souza Fernandes, G.N.; Silva Moreira, R.; Silva, J.G.; Santos, M.I.B.; et al. A middleware solution for integrating and exploring IoT and HPC capabilities. A middleware solution for integrating and exploring IoT and HPC capabilities. J. Softw. Pract. Exp. 2019, 49, 584–616. [Google Scholar] [CrossRef]
- Da Cruz, M.A.A.; Rodrigues, J.J.P.C.; Lorenz, P.; Solic, P.; Al-Muhtadi, J.; de Albuquerque, V.H.C. A proposal for bridging application layer protocols to HTTP on IoT solutions. Future Gener. Comput. Syst. 2019, 97, 145–152. [Google Scholar] [CrossRef]
- Bouloukakis, G.; Georgantas, N.; Ntumba, P.; Issarny, V. Automated synthesis of mediators for middleware-layer protocol interoperability in the IoT. Future Gener. Comput. Syst. 2019, in press. [Google Scholar] [CrossRef]
- Silva, J.D.C.; Rodrigues, J.J.P.C.; Saleem, K.; Kozlov, S.A.; Rabêlo, R.A.L. M4DN.IoT-A Networks and Devices Management Platform for Internet of Things. IEEE Access 2019, 7, 53305–53313. [Google Scholar] [CrossRef]
- Pattar, S.; Buyya, R.; Venugopal, K.R.; Iyengar, S.S.; Patnaik, L.M. Searching for the IoT Resources: Fundamentals, Requirements, Comprehensive Review, and Future Directions. IEEE Commun. Surv. Tutor. 2018, 20, 2101–2132. [Google Scholar] [CrossRef]
- Cheng, B.; Zhao, S.; Qian, J.; Zhai, Z.; Chen, J. Lightweight Service Mashup Middleware With REST Style Architecture for IoT Applications. IEEE Trans. Netw. Serv. Manag. 2018, 15, 1063–1075. [Google Scholar] [CrossRef]
- Tao, M.; Zuo, J.; Liu, Z.; Castiglione, A.; Palmieri, F. Multi-layer cloud architectural model and ontology-based security service framework for IoT-based smart homes Author links open overlay panel. Future Gener. Comput. Syst. 2018, 78, 1040–1051. [Google Scholar] [CrossRef]
- Caballero, V.; Valbuena, S.; Vernet, D.; Zaballos, A. Ontology-Defined Middleware for Internet of Things Architectures. Sensors 2019, 19, 1163. [Google Scholar] [CrossRef]
- Ammar, M.; Russello, G.; Crispo, B. Internet of Things: A survey on the security of IoT frameworks. J. Inf. Secur. Appl. 2018, 38, 8–27. [Google Scholar] [CrossRef] [Green Version]
- Stergiou, C.; Psannis, K.E.; Kim, B.-G.; Gupta, B. Secure integration of IoT and Cloud Computing. Future Gener. Comput. Syst. 2018, 78, 964–975. [Google Scholar] [CrossRef]
- Nguyen, P.H.; Ferry, N.; Erdogan, G.; Song, H.; Lavirotte, S.; Tigli, J.-Y.; Solberg, A. The preliminary results of a mapping study of deployment and orchestration for IoT. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing (SAC 19), Limassol, Cyprus, 8–12 April 2019; pp. 2040–2043. [Google Scholar]
- Aazam, M.; Zeadally, S.; Harras, K.A. Offloading in fog computing for IoT: Review, enabling technologies, and research opportunities. Future Gener. Comput. Syst. 2018, 87, 278–289. [Google Scholar] [CrossRef]
- Farahzadi, A.; Shams, P.; Rezazadeh, J.; Farahbakhsh, R. Middleware technologies for cloud of things: A survey. Digit. Commun. Netw. 2018, 4, 176–188. [Google Scholar] [CrossRef]
- Bandyopadhyay, S.; Sengupta, M.; Maiti, S.; Dutta, S. Role Of Middleware For Internet Of Things: A Study. Int. J. Comput. Sci. Eng. Surv. 2011, 2, 94–105. [Google Scholar] [CrossRef]
- Razzaque, M.A.; Milojevic-Jevric, M.; Palade, A.; Clarke, S. Middleware for Internet of Things: A Survey. IEEE Internet Things J. 2016, 3, 70–95. [Google Scholar] [CrossRef]
- Ngu, A.H.; Gutierrez, M.; Metsis, V.; Nepal, S.; Sheng, Q.Z. IoT Middleware: A Survey on Issues and Enabling Technologies. IEEE Internet Things J. 2017, 4, 1–20. [Google Scholar] [CrossRef]
- Swetina, J.; Lu, G.; Jacobs, P.; Ennesser, F.; Song, J. Toward a standardized common M2M service layer platform: Introduction to oneM2M. IEEE Wirel. Commun. 2014, 21, 20–26. [Google Scholar] [CrossRef]
- Yun, J.; Ahn, I.-Y.; Sung, N.-M.; Kim, J. A Device Software Platform for Consumer Electronics Based on the Internet of Things. IEEE Trans. Consum. Electron. 2015, 51, 564–571. [Google Scholar] [CrossRef]
- Ryu, M.; Yun, J.; Miao, T.; Ahn, I.-Y.; Choi, S.-C.; Kim, J. Design and Implementation of a Connected Farm for Smart Farming System. In Proceedings of the IEEE Sensors, Busan, Korea, 1–4 November 2015; pp. 1724–1728. [Google Scholar]
- Ryu, M.; Kim, J.; Yun, J. Integrated Semantics Service Platform for the Internet of Things: A Case Study of a Smart Office. Sensors 2015, 15, 2137–2160. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Fattah, S.M.M.; Sung, N.-M.; Ahn, I.-Y.; Ryu, M.; Yun, J. Building IoT Services for Aging in Place Using Standard-Based IoT Platforms and Heterogeneous IoT Products. Sensors 2017, 17, 2311. [Google Scholar] [CrossRef] [PubMed]
- Kovacs, E.; Bauer, M.; Kim, J.; Yun, J.; Gall, F.L.; Zhao, M. Standards-Based Worldwide Semantic Interoperability for IoT. IEEE Commun. Mag. 2016, 54, 40–46. [Google Scholar] [CrossRef]
- An, J.; Gall, F.L.; Kim, J.; Yun, J.; Hwang, J.; Bauer, M.; Zhao, M.; Song, J. Toward Global IoT-Enabled Smart Cities Interworking Using Adaptive Semantic Adapter. IEEE Internet Things J. 2019, 6, 5753–5765. [Google Scholar] [CrossRef]
- Ouedraogo, C.A.; Medjiah, S.; Chassot, C.; Drira, K. Enhancing Middleware-based IoT Applications through Run-Time Pluggable QoS Management Mechanisms. Application to a oneM2M compliant IoT Middleware. Procedia Comput. Sci. 2018, 130, 619–627. [Google Scholar] [CrossRef]
- Zhao, R.; Wang, L.; Zhang, X.; Zhang, Y.; Wang, L.; Peng, H. A OneM2M-Compliant Stacked Middleware Promoting IoT Research and Development. IEEE Access 2018, 6, 63546–63559. [Google Scholar] [CrossRef]
- Yun, J.; Ahn, I.-Y.; Choi, S.-C.; Kim, J. TTEO (Things Talk to Each Other): Programming Smart Spaces Based on IoT Systems. Sensors 2016, 16, 467. [Google Scholar] [CrossRef]
- Yun, J.; Teja, R.C.; Chen, N.; Sung, N.-M.; Kim, J. Interworking of oneM2M-based IoT systems and legacy systems for consumer products. In Proceedings of the International Conference on Information and Communication Technology Convergence (ICTC 16), Jeju, Korea, 19–21 October 2016; pp. 423–428. [Google Scholar]
- Kim, J.; Choi, S.-C.; Ahn, I.-Y.; Sung, N.-M.; Yun, J. From WSN towards WoT: Open API Scheme Based on oneM2M Platforms. Sensors 2016, 16, 1645. [Google Scholar] [CrossRef] [PubMed]
- Node Package Manager (npm): A Package Manager for the JavaScript Programming Language. Available online: https://www.npmjs.com/ (accessed on 15 September 2019).
- Jeon, S.; Jung, I. MinT: Middleware for Cooperative Interaction of Things. Sensors 2017, 17, 1452. [Google Scholar] [CrossRef] [PubMed]
- Da Cruz, M.A.A.; Rodrigues, J.J.P.C.; Sangaiah, A.K.; Al-Muhtadi, J.; Korotaev, V. Performance evaluation of IoT middleware. J. Netw. Comput. Appl. 2018, 109, 53–65. [Google Scholar] [CrossRef]
- onoff: Node.js Module for GPIO Access and Interrupt Detection. Available online: https://www.npmjs.com/package/onoff (accessed on 15 September 2019).
- node-dht-sensor: Node.js Module for a Compatible DHT Sensor. Available online: https://www.npmjs.com/package/node-dht-sensor (accessed on 15 September 2019).
- pigpio: Node.js Module Wrapping the Pigpio C Library to Enable GPIO, PWM, Servo Control. Available online: https://www.npmjs.com/package/pigpio (accessed on 15 September 2019).
- serialport: Node.js Module for Serial Port Communication. Available online: https://www.npmjs.com/package/serialport (accessed on 15 September 2019).
- i2c-bus: Node.js Module for I2C Serial Bus Access. Available online: https://www.npmjs.com/package/i2c-bus (accessed on 15 September 2019).
- spi-device: Node.js Module for SPI Bus Access. Available online: https://www.npmjs.com/package/spi-device (accessed on 15 September 2019).
- The OCEAN. oneM2M Server Platform for oneM2M Infrastructure Nodes. Available online: http://developers.iotocean.org/archives/module/mobius (accessed on 15 September 2019).
- The OCEAN. oneM2M Device Platform for oneM2M Application Dedicated Nodes. Available online: http://developers.iotocean.org/archives/module/ncube-thyme-nodejs (accessed on 15 September 2019).
- Yun, J. TAS Node.js Modules for oneM2M Application Dedicated Nodes. Available online: https://github.com/jaeseokyun/TAS_for_nCube (accessed on 15 September 2019).
- The OCEAN. Resource Monitoring Tool for the Mobius. Available online: http://developers.iotocean.org/archives/module/onem2mbrower (accessed on 15 September 2019).
- The OCEAN. oneM2M Application for Android. Available online: http://developers.iotocean.org/archives/module/onem2m-android-application (accessed on 15 September 2019).
- Yun, J. oneM2M Application for Android. Available online: https://github.com/jaeseokyun/oneM2MApp_for_Android (accessed on 15 September 2019).
- The oneM2M Initiative. TS-0001-Functional-Architecture-V3_17_0. Available online: http://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=30471 (accessed on 15 September 2019).
- The oneM2M Initiative. TS-0009-HTTP_Protocol_Binding-V3_4_0. Available online: http://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=30171 (accessed on 15 September 2019).
- The oneM2M Initiative. TS-0008-CoAP_Protocol_Binding-V3_4_0. Available online: http://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=30039 (accessed on 15 September 2019).
- The oneM2M Initiative. TS-0010-MQTT_protocol_binding-V3_0_1. Available online: http://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=29627 (accessed on 15 September 2019).
- The oneM2M Initiative. WebSocket_Protocol_Binding-V3_0_1. Available online: http://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=29562 (accessed on 15 September 2019).
- The oneM2M Initiative. Ontology_based_Interworking-V3_0_2. Available online: http://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=29566 (accessed on 15 September 2019).
Functional Requirements | Non-Functional Requirements |
---|---|
Resource discovery | Scalability |
Resource management | Real-time or timeliness |
Data management | Availability |
Event management | Security |
Code management | Privacy |
Ease of deployment, maintenance, and use | |
Interoperability | |
Spontaneous interaction | |
Multiplicity | |
Adaptability and flexibility |
Types | Hardware Interfaces |
---|---|
I/O | Digital inputs and outputs |
UART (universal asynchronous receiver-transmitter) | |
Communication | SPI (serial peripheral interface) |
I2C (inter-integrated circuit) |
Types | Sensors and Actuators | Hardware Interfaces | Node.js Modules |
---|---|---|---|
Pushbutton | Digital input | onoff [39] | |
Passive infrared (PIR) sensor | Digital input | onoff [39] | |
Ambient sound sensor | Digital input | onoff [39] | |
Capacitive touch sensor | Digital input | onoff [39] | |
Sensors | Temperature sensor | Digital input | node-dht-sensor [40] |
Ultrasonic sensor | Digital input/output | pigpio [41] | |
Particulate matter sensor | UART | serialport [42] | |
Accelerometer | I2C | i2c-bus [43] | |
Ambient light sensor (with ADC) | SPI | spi-device [44] | |
Actuators | RGB LED | Digital output | onoff [39] |
Type | Requirements | Support | Descriptions |
---|---|---|---|
Resource discovery | ◯ | oneM2M supported | |
Resource management | ◯ | oneM2M supported | |
Functional | Data management | ◯ | oneM2M supported |
Event management | ◯ | oneM2M supported | |
Code management | ◯ | oneM2M supported | |
Scalability | Δ | Implementation dependent | |
Real-time or timeliness | ◯ | Node.js supported | |
Availability | Δ | Partially realized | |
Security | Δ | Partially realized | |
Non-functional | Privacy | × | Need to be developed |
Ease of deployment, maintenance, and use | ◯ | oneM2M/Node.js supported | |
Interoperability | ◯ | oneM2M/Node.js supported | |
Spontaneous interaction | Δ | Implementation dependent | |
Multiplicity | × | Need to be developed | |
Adaptability and flexibility | × | Need to be developed |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Yun, J.; Ahn, I.-Y.; Song, J.; Kim, J. Implementation of Sensing and Actuation Capabilities for IoT Devices Using oneM2M Platforms. Sensors 2019, 19, 4567. https://doi.org/10.3390/s19204567
Yun J, Ahn I-Y, Song J, Kim J. Implementation of Sensing and Actuation Capabilities for IoT Devices Using oneM2M Platforms. Sensors. 2019; 19(20):4567. https://doi.org/10.3390/s19204567
Chicago/Turabian StyleYun, Jaeseok, Il-Yeup Ahn, JaeSeung Song, and Jaeho Kim. 2019. "Implementation of Sensing and Actuation Capabilities for IoT Devices Using oneM2M Platforms" Sensors 19, no. 20: 4567. https://doi.org/10.3390/s19204567
APA StyleYun, J., Ahn, I. -Y., Song, J., & Kim, J. (2019). Implementation of Sensing and Actuation Capabilities for IoT Devices Using oneM2M Platforms. Sensors, 19(20), 4567. https://doi.org/10.3390/s19204567