Performance Analysis of OPC UA for Industrial Interoperability towards Industry 4.0
2. Background and Related Work
2.1. ISA-95 Automation Pyramid
- Level 0—Field: This level consists of a variety IIoT sensor devices and actuators on the factory floor .
- Level 1—Control: The control level is referred to as the brain behind the production floor. It is generally composed of multiple Programmable Logic Controllers (PLCs). A PLC is an Industrial Control System (ICS) that continuously tracks the state of input devices and controls the state of output devices based upon decisions taken by a custom program .
- Level 2—Supervisory: The two most prevalent technologies used at this level are Supervisory Control and Data Acquisition (SCADA) systems and Human Machine Interfaces (HMI). SCADA is a system constituting of both hardware and software components used to monitor and control industrial processes. It allows manufacturers to collect and inspect production data, monitor and manage alarms, and issue automatic control responses triggered by different events . HMIs are dashboards or screens that translate complex data into understandable information and used to control the machinery .
- Level 3—Planning: The next level of the pyramid contains the Management Execution System (MES). An MES is an information system that monitors and tracks the production process of goods on the factory floor. The main goal is to ensure effective execution of the manufacturing operations and improve production output .
- Level 4—Management: The management level is built around the Enterprise Resource Planning (ERP) system. An ERP refers to a software that organisations use to manage everyday activities such as manufacturing, supply chain, compliance, finance, procurement, services, and more .
2.2. Industrial IoT Connectivity
2.3. OPC UA and Related Protocol Standards
- Internet ready and cross platform: OPC UA is no longer dependent on COM and DCOM which implies that any OPC UA application can easily be deployed across multiple computing platforms such as sensors PLCs, embedded controllers, gateways etc. Additionally, it is internet ready and firewall friendly because of the utilization of protocols such as HTTP. These protocols are actively used and do not require any additional ports to be opened on the firewall. This ensures that the production equipment are embedded with ability to exchange information securely and seamlessly over the internet .
- Complex Information Model: OPC UA comes equipped with rich and extensible data modeling capacities allowing developers to expose machine or sensor information in a substantially more complex format than what was prior impossible with OPC Classic. For example, OPC Classic allowed automation data to be expressed in its purest form i.e., the temperature value from a sensor. OPC UA allows the developers to expose the units of measurement, the temperature set-points, the type of temperature sensors, the instrument configuration parameters, the position in the hierarchy of machines and define all other components of that machine and how they are related to the temperature sensor in order to give the OPC UA client a holistic view of the machine or plant information. In other words, it is a complete digital description of an underlying physical asset. Despite the complex information modeling capabilities, OPC UA is still able to support simple data models such as those found in OPC Classic .
- Service Oriented Architecture (SOA): M2M Legacy protocols such as those mentioned previously, Fieldbus, Profibus and Modbus rely on data exchange based on the bits and bytes that are transmitted back and forth. In order to request information from a device or machine a specific bit or byte sequence has to be sent. This is not a user friendly way of building communication systems. In contrast an OPC UA Server exposes services in the form of methods that a client can use to request information from a server. These methods can be used for performing administrative tasks such as the FindServer() method and additional methods to access automation data, for example the ReadTag() and WriteTag() method. Using an SOA simplifies the engineering effort in terms of development and maintenance of communication systems as methods can easily be read by humans and programmed into machines for consuming automation data . The most popular Industrial Ethernet protocols are Ethernet/IP, Modbus TCP, Profinet and Ethercat. These protocols must natively support the fieldbus protocols and the TCP/IP protocols that are present in IT. In this context, OPC UA is more than just a simple communication standard for real-time communication in automation. It is an SOA compatible with both IPv4 and IPv6. Combined with all the other advantages listed above, OPC UA represents an All-in-One solution .
- IT Integration Facilitated: Devices or sensors that are found at the field level of the ISA-95 automation pyramid using fieldbus as the communication protocol, are not able to communicate directly with a high level application such as an ERP system. The information needs to be collected by PLCs then transmitted to SCADA systems and then finally pushed up the stack to IT networks. OPC UA is an information carrier that is common throughout all the levels of the automation pyramid. As a result, it makes the automation pyramid obsolete since devices can deliver data directly to higher levels. In addition, OPC UA enables the use of non-cryptical process logic from the cloud . Therefore, a different approach to digital transformation is possible leveraging OPC UA as shown in Figure 2.
2.4. Related Works
3. Experimental Methodology
3.1. Architectural System Design
3.1.1. Programmable Logic Controller (PLC)
3.1.2. OPC UA Server
3.1.3. Communication Nodes
3.2. Experimental Testbed Setup
3.2.1. OPC UA Server Configuration
3.2.2. Nodes Configuration
3.2.3. DHT22 Sensors
3.2.4. Simulated Nodes
3.3. SCADA Configuration
3.4. Data Logging and Collection
4. Evaluation Results and Analysis
4.1. CPU Usage of the Raspberry Pi 4B & 3B
4.2. RAM Usage of the Raspberry Pi 4B & 3B
4.3. Network Traffic of the Raspberry Pi 4B & 3B
5. Conclusions and Future Work
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
- Boyes, H.; Hallaq, B.; Cunningham, J.; Watson, T. The industrial internet of things (IIoT): An analysis framework. Comput. Ind. 2018, 101, 1–12. [Google Scholar] [CrossRef]
- Dai, W.; Nishi, H.; Vyatkin, V.; Huang, V.; Shi, Y.; Guan, X. Industrial edge computing: Enabling embedded intelligence. IEEE Ind. Electron. Mag. 2019, 13, 48–56. [Google Scholar] [CrossRef]
- Sisinni, E.; Saifullah, A.; Han, S.; Jennehag, U.; Gidlund, M. Industrial Internet of Things: Challenges, Opportunities, and Directions. IEEE Trans. Ind. Inform. 2018, 14, 4724–4734. [Google Scholar] [CrossRef]
- Lasi, H.; Fettke, P.; Kemper, H.G.; Feld, T.; Hoffmann, M. Industry 4.0. Bus. Inf. Syst. Eng. 2014, 6, 239–242. [Google Scholar] [CrossRef]
- Ghobakhloo, M. Industry 4.0, digitization, and opportunities for sustainability. J. Clean. Prod. 2020, 252, 119869. [Google Scholar] [CrossRef]
- Wollschlaeger, M.; Sauter, T.; Jasperneite, J. The future of industrial communication: Automation networks in the era of the internet of things and industry 4.0. IEEE Ind. Electron. Mag. 2017, 11, 17–27. [Google Scholar] [CrossRef]
- Marcon, P.; Zezulka, F.; Vesely, I.; Szabo, Z.; Roubal, Z.; Sajdl, O.; Gescheidtova, E.; Dohnal, P. Communication technology for industry 4.0. In Proceedings of the 2017 Progress in Electromagnetics Research Symposium, St. Petersburg, Russia, 22–25 May 2017; pp. 1694–1697. [Google Scholar]
- Dalenogare, L.S.; Benitez, G.B.; Ayala, N.F.; Frank, A.G. The expected contribution of Industry 4.0 technologies for industrial performance. Int. J. Prod. Econ. 2018, 204, 383–394. [Google Scholar] [CrossRef]
- Thames, L.; Schaefer, D. Industry 4.0: An Overview of Key Benefits, Technologies, and Challenges. In Cybersecurity for Industry 4.0; Springer: Cham, Switzerland, 2017. [Google Scholar] [CrossRef]
- Hanstein, B. IT and IT Infrastructure in the Context of Industry 4.0. Available online: https://info.rittal.us/it-industry-4-lp (accessed on 29 September 2022).
- Qiu, T.; Chi, J.; Zhou, X.; Ning, Z.; Atiquzzaman, M.; Wu, D.O. Edge Computing in Industrial Internet of Things: Architecture, Advances and Challenges. IEEE Commun. Surv. Tutor. 2020, 22, 2462–2488. [Google Scholar] [CrossRef]
- Sodhro, A.H.; Pirbhulal, S.; De Albuquerque, V.H.C. Artificial intelligence-driven mechanism for edge computing-based industrial applications. IEEE Trans. Ind. Inform. 2019, 15, 4235–4243. [Google Scholar] [CrossRef]
- Mumtaz, S.; Alsohaily, A.; Pang, Z.; Rayes, A.; Tsang, K.; Rodriguez, J. Massive Internet of Things for Industrial Applications: Addressing Wireless IIoT Connectivity Challenges and Ecosystem Fragmentation. IEEE Ind. Electron. Mag. 2017, 11, 28–33. [Google Scholar] [CrossRef]
- Mahnke, W.; Leitner, S.; Damm, M. OPC Unified Architecture; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
- Tunkkari, J. Mapping Modbus to OPC Unified Architecture. Available online: https://aaltodoc.aalto.fi/bitstream/handle/123456789/30553/master_Tunkkari_Jesper_2018.pdf?isAllowed=y&sequence=1 (accessed on 29 September 2022).
- Mantle, J. The 5 Layers of the Automation Pyramid and Manufacturing Operations Management. Available online: https://www.syspro.com/blog/erp-for-manufacturing/the-5-layers-of-the-automation-pyramid-and-manufacturing-operations-management/ (accessed on 29 September 2022).
- Amci.com. What Is a PLC? Available online: https://www.amci.com/industrial-automation-resources/plc-automation-tutorials/what-plc/ (accessed on 29 September 2022).
- ProcessSolutions.com. What Is Scada and How Its Used in Manufacturing? Available online: https://processsolutions.com/understanding-scada-and-what-it-can-do-for-you/ (accessed on 29 September 2022).
- Aveva.com. What Is Human Machine Interface, or HMI? Available online: https://www.aveva.com/en/solutions/operations/hmi/ (accessed on 29 September 2022).
- Workwisellc.com. What Is a Manufacturing Execution System (MES)? Available online: https://www.workwisellc.com/erp-software/what-is-mes/ (accessed on 29 September 2022).
- Sap.com. What Is ERP? Available online: https://insights.sap.com/what-is-erp/ (accessed on 29 September 2022).
- Kua, J.; Armitage, G.; Branch, P. A Survey of Rate Adaptation Techniques for Dynamic Adaptive Streaming Over HTTP. IEEE Commun. Surv. Tutor. 2017, 19, 1842–1866. [Google Scholar] [CrossRef]
- Kua, J.; Nguyen, S.H.; Armitage, G.; Branch, P. Using Active Queue Management to Assist IoT Application Flows in Home Broadband Networks. IEEE Internet Things J. 2017, 4, 1399–1407. [Google Scholar] [CrossRef]
- Kua, J.; Armitage, G.; Branch, P.; But, J. Adaptive Chunklets and AQM for Higher-Performance Content Streaming. ACM Trans. Multimedia Comput. Commun. Appl. 2019, 15, 1–24. [Google Scholar] [CrossRef][Green Version]
- Thomesse, J.P. Fieldbus technology in industrial automation. Proc. IEEE 2005, 93, 1073–1101. [Google Scholar] [CrossRef][Green Version]
- MQTT Specifications. Available online: https://mqtt.org (accessed on 29 September 2022).
- CoAP Specifications. Available online: https://datatracker.ietf.org/doc/html/rfc7252 (accessed on 29 September 2022).
- IPv6 and 5G based Architecture for IIoT, Internet Draft (Informational). Available online: https://www.ietf.org/archive/id/draft-tang-iiot-architecture-00.html (accessed on 29 September 2022).
- Pfrommer, J.; Ebner, A.; Ravikumar, S.; Karunakaran, B. Open source OPC UA PubSub over TSN for realtime industrial communication. In Proceedings of the 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), Torino, Italy, 4–7 September 2018; Volume 1, pp. 1087–1090. [Google Scholar]
- Schweichhart, K. Why OPC UA Will Revolutionize Industrial Automation in the Coming Years. Available online: https://blog.paessler.com/why-opc-ua-will-revolutionize-industrial-automation-in-the-coming-years (accessed on 29 September 2022).
- Imtiaz, J.; Jasperneite, J. Scalability of OPC-UA down to the chip level enables “Internet of Things”. In Proceedings of the 2013 11th IEEE International Conference on Industrial Informatics (INDIN), Bochum, Germany, 29–31 July 2013; pp. 500–505. [Google Scholar]
- Haskamp, H.; Meyer, M.; Möllmann, R.; Orth, F.; Colombo, A.W. Benchmarking of existing OPC UA implementations for Industrie 4.0-compliant digitalization solutions. In Proceedings of the 2017 IEEE 15th International Conference on Industrial Informatics (INDIN), Emden, Germany, 24–26 July 2017; pp. 589–594. [Google Scholar]
- Gudgin, M.; Hadley, M.; Mendelsohn, N.; Moreau, J.J.; Nielsen, H.F.; Karmarkar, A.; Lafon, Y. SOAP; Version 1.2; World Wide Web Consortium: Cambridge, MA, USA, 2003. [Google Scholar]
- Mumbaikar, S.; Padiya, P. Web services based on soap and rest principles. Int. J. Sci. Res. Publ. 2013, 3, 1–4. [Google Scholar]
- Profanter, S.; Tekat, A.; Dorofeev, K.; Rickert, M.; Knoll, A. OPC UA versus ROS, DDS, and MQTT: Performance evaluation of industry 4.0 protocols. In Proceedings of the 2019 IEEE International Conference on Industrial Technology (ICIT), Melbourne, Australia, 13–15 February 2019; pp. 955–962. [Google Scholar]
- Profanter, S.; Perzylo, A.; Rickert, M.; Knoll, A. A generic plug & produce system composed of semantic opc ua skills. IEEE Open J. Ind. Electron. Soc. 2021, 2, 128–141. [Google Scholar]
- Madiwalar, B.; Schneider, B.; Profanter, S. Plug and Produce for Industry 4.0 using Software-defined Networking and OPC UA. In Proceedings of the 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Zaragoza, Spain, 10–13 September 2019; pp. 126–133. [Google Scholar]
- Cavalieri, S.; Chiacchio, F. Analysis of OPC UA performances. Comput. Stand. Interfaces 2013, 36, 165–177. [Google Scholar] [CrossRef]
- Post, O.; Seppälä, J.; Koivisto, H. The Performance of OPC-UA Security Model at Field Device Level. In Proceedings of the 6th International Conference on Informatics in Control, Automation and Robotics, Volume Robotics and Automation, Milan, Italy, 2–5 July 2009; Volume 2, pp. 337–341. [Google Scholar]
- Braune, A.; Hennig, S.; Hegler, S. Evaluation of OPC UA secure communication in web browser applications. In Proceedings of the 2008 6th IEEE International Conference on Industrial Informatics, Daejeon, Korea, 13–16 July 2008; pp. 1660–1665. [Google Scholar] [CrossRef]
- Rocha, M.; Sestito, G.; Dias, A.; Turcato, A.; Brandao, D. Performance Comparison Between OPC UA and MQTT for Data Exchange. In Proceedings of the 2018 Workshop on Metrology for Industry 4.0 and IoT, Brescia, Italy, 16–18 April 2018; pp. 175–179. [Google Scholar] [CrossRef]
- Fangjian, L.; Yanlin, Z.; Zhen, W. Research and application of OPC UA server based on resource constrained platform STM32. In Proceedings of the 2021 IEEE 3rd International Conference on Civil Aviation Safety and Information Technology (ICCASIT), Changsha, China, 20–22 October 2021; pp. 961–964. [Google Scholar]
- Cho, H.; Jeong, J. Implementation and performance analysis of power and cost-reduced OPC UA gateway for industrial IoT platforms. In Proceedings of the 2018 28th International Telecommunication Networks and Applications Conference (ITNAC), Sydney, Australia, 21–23 November 2018; pp. 1–3. [Google Scholar]
- González Vázquez, F. Test Platform for the Performance Evaluation of OPC-UA Servers for Fast Data Transfer between Intelligent Equipment. In Proceedings of the ThinkMind—INTELLI 2015, the Fourth International Conference on Intelligent Systems and Applications, St. Julians, Malta, 11–16 October 2015; pp. 179–182. [Google Scholar]
- Okuda, M.; Mizuya, T.; Nagao, T. Development of IoT testbed using OPC UA and database on cloud. In Proceedings of the 2017 56th Annual Conference of the Society of Instrument and Control Engineers of Japan (SICE), Kanazawa, Japan, 19–22 September 2017; pp. 607–610. [Google Scholar] [CrossRef]
- Silva, D.; Carvalho, L.I.; Soares, J.; Sofia, R.C. A Performance Analysis of Internet of Things Networking Protocols: Evaluating MQTT, CoAP, OPC UA. Appl. Sci. 2021, 11, 4879. [Google Scholar] [CrossRef]
- Jan, O.R.; Jo, H.S.; Jo, R.S.; Kua, J. Real-Time Flood Monitoring with Computer Vision through Edge Computing-Based Internet of Things. Future Internet 2022, 14, 308. [Google Scholar] [CrossRef]
- Olorunnife, K.; Lee, K.; Kua, J. Automatic Failure Recovery for Container-Based IoT Edge Applications. Electronics 2021, 10, 3047. [Google Scholar] [CrossRef]
- Welgama, H.; Lee, K.; Kua, J. A Framework for Seamless Offloading in IoT Applications using Edge and Cloud Computing. In Proceedings of the IoTBDS Internet of Things, Big Data and Security, International Conference, Prague, Czech Republic, 22–24 April 2022. [Google Scholar]
- PROSYS. Prosys OPC UA Simulation Server—Prosys OPC. Available online: https://www.prosysopc.com/products/opc-ua-simulation-server/ (accessed on 29 September 2022).
- Umati. GitHub—Umati/Sample-Server. Available online: https://github.com/umati/Sample-Server (accessed on 29 September 2022).
- open62541. open62541. Available online: https://www.open62541.org/ (accessed on 29 September 2022).
- Rossignon, E. Node-OPCUA. Available online: https://node-opcua.github.io/ (accessed on 29 September 2022).
- FreeOpcUa. Python-Opcua: LGPL Pure Python OPC-UA Client and Server. Available online: https://github.com/FreeOpcUa/python-opcua (accessed on 29 September 2022).
- FreeOpcUaGroup. OPCUA-Asyncio:OPC UA Library for Python >= 3.7. Available online: https://github.com/FreeOpcUa/opcua-asyncio (accessed on 29 September 2022).
- PythonSoftwareFoundation. Asyncio—Asynchronous I/O—Python 3.10.5 Documentation. Available online: https://docs.python.org/3/library/asyncio.html#module-asyncio (accessed on 29 September 2022).
- Littlebirdelectronics. DHT22 Temperature-Humidity Sensor. Available online: https://littlebirdelectronics.com.au/products/dht22-temperature-humidity-sensor-extras (accessed on 29 September 2022).
- Cacamille3. OPC-UA-Clients: List of Commercial and Open Source OPC UA Clients. Available online: https://github.com/cacamille3/OPC-UA-Clients (accessed on 29 September 2022).
- Prosysopcltd. Prosys OPC UA Browser—Prosys OPC. Available online: https://www.prosysopc.com/products/opc-ua-browser/ (accessed on 29 September 2022).
- OPCFoundation. OPC Factory Server. Available online: https://opcfoundation.org/developer-tools/specifications-unified-architecture (accessed on 29 September 2022).
- Prosysopc. Prosys OPC UA Browser UserManual. Available online: https://downloads.prosysopc.com/opcua/apps/UaBrowser/dist/4.2.0-33/Prosys_OPC_UA_Browser_UserManual.pdf (accessed on 29 September 2022).
- Python Software Foundation. Subprocess—Subprocess Management. Available online: https://docs.python.org/3/library/subprocess.html#subprocess.check_output (accessed on 29 September 2022).
- Raboof. Nethogs: Linux ’Net Top’ Tool. Available online: https://github.com/raboof/nethogs (accessed on 29 September 2022).
- Kua, J.; Al-Saadi, R.; Armitage, G. Using Dummynet AQM-FreeBSD’s CoDel, PIE, FQ-CoDel and FQ-PIE with TEACUP v1. 0 testbed. CAIA Tech. Rep. 2016, 160708, 8. [Google Scholar]
- Kua, J.; Armitage, G. Generating Dynamic Adaptive Streaming over HTTP Traffic Flows with TEACUP Testbed. CAIA Tech. Rep. 2016, 161216, 16. [Google Scholar]
- Kua, J.; Armitage, G.; Branch, P. The Impact of Active Queue Management on DASH-Based Content Delivery. In Proceedings of the 2016 IEEE 41st Conference on Local Computer Networks (LCN), Dubai, United Arab Emirates, 7–10 November 2016; pp. 121–128. [Google Scholar] [CrossRef]
- Kua, J.; Armitage, G. Optimising DASH over AQM-Enabled Gateways Using Intra-Chunk Parallel Retrieval (Chunklets). In Proceedings of the 2017 26th International Conference on Computer Communication and Networks (ICCCN), Vancouver, BC, Canada, 31 July–3 August 2017; pp. 1–9. [Google Scholar] [CrossRef]
- Kua, J.; Branch, P.; Armitage, G. Detecting Bottleneck Use of PIE or FQ-CoDel Active Queue Management During DASH-like Content Streaming. In Proceedings of the 2020 IEEE 45th Conference on Local Computer Networks (LCN), Sydney, Australia, 16–19 November 2020; pp. 445–448. [Google Scholar] [CrossRef]
- Kua, J. Understanding the Achieved Rate Multiplication Effect in FlowQueue-based AQM Bottleneck. In Proceedings of the 2021 IEEE 46th Conference on Local Computer Networks (LCN), Edmonton, AB, Canada, 4–7 October 2021; pp. 439–442. [Google Scholar]
- Wu, Y.; Zhang, K.; Zhang, Y. Digital twin networks: A survey. IEEE Internet Things J. 2021, 8, 13789–13804. [Google Scholar] [CrossRef]
- Wang, S.; Kua, J.; Jin, J.; Kulkarni, A.; Jayaraman, P.P.; Cao, X. Optimal graph partitioning for time-sensitive flow scheduling towards digital twin networks. In Proceedings of the 1st Workshop on Digital Twin & Edge AI for Industrial IoT, Sydney, Australia, 17 October 2022; pp. 7–12. [Google Scholar]
- Chung, M.A.; Chang, W.H. Low-cost, low-profile and miniaturized single-plane antenna design for an Internet of Thing device applications operating in 5G, 4G, V2X, DSRC, WiFi 6 band, WLAN, and WiMAX communication systems. Microw. Opt. Technol. Lett. 2020, 62, 1765–1773. [Google Scholar] [CrossRef]
- Popovski, P.; Trillingsgaard, K.F.; Simeone, O.; Durisi, G. 5G wireless network slicing for eMBB, URLLC, and mMTC: A communication-theoretic view. IEEE Access 2018, 6, 55765–55779. [Google Scholar] [CrossRef]
- Kua, J.; Loke, S.W.; Arora, C.; Fernando, N.; Ranaweera, C. Internet of things in space: A review of opportunities and challenges from satellite-aided computing to digitally-enhanced space living. Sensors 2021, 21, 8117. [Google Scholar] [CrossRef]
|Specifications||Raspberry Pi 4B 4 GB||Raspberry Pi 3 B V1.2|
|CPU||Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5 GHz||Broadcom BCM2837, Quad Core Cortex-A52 (ARM v8) 64-bit SoC @ 1.2 GHz|
|RAM||4 GB LPDDR4-3200 SDRAM||1 GB LPDDR2-1400 SRAM|
|Wi-Fi||2.4 GHz and 5.0 GHz IEEE 802.11ac wireless||2.4 GHz IEEE 802.11b/g/n wireless|
|Test Scenario||No. of Connected Nodes||No. of Unique Variables and Data Values|
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.
© 2022 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 (https://creativecommons.org/licenses/by/4.0/).
Ladegourdie, M.; Kua, J. Performance Analysis of OPC UA for Industrial Interoperability towards Industry 4.0. IoT 2022, 3, 507-525. https://doi.org/10.3390/iot3040027
Ladegourdie M, Kua J. Performance Analysis of OPC UA for Industrial Interoperability towards Industry 4.0. IoT. 2022; 3(4):507-525. https://doi.org/10.3390/iot3040027Chicago/Turabian Style
Ladegourdie, Marc, and Jonathan Kua. 2022. "Performance Analysis of OPC UA for Industrial Interoperability towards Industry 4.0" IoT 3, no. 4: 507-525. https://doi.org/10.3390/iot3040027