• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Approach to Simplify the Development of IoT Systems that Interconnect Embedded Devices Using a Single Program

    2023-12-15 03:56:32EnolMatillaBlancoJordPascualEspadaandRubGonzalezCrespo
    Computers Materials&Continua 2023年11期

    Enol Matilla Blanco,Jordán Pascual Espada and Rubén Gonzalez Crespo

    1Department of Computer Science,University of Oviedo,Oviedo,33007,Spain

    2Department of Computer Science and Technology,Universidad Internacional de La Rioja,Logro?o,26006,Spain

    ABSTRACT Many Internet of Things (IoT) systems are based on the intercommunication among different devices and centralized systems.Nowadays,there are several commercial and research platforms available to simplify the creation of such IoT systems.However,developing these systems can often be a tedious task.To address this challenge,a proposed solution involves the implementation of a unified program or script that encompasses the entire system,including IoT devices functionality.This approach is based on an abstraction,integrating the control of the devices in a single program through a programmable object.Subsequently,the proposal processes the unified script to generate the centralized system code and a controller for each device.By adopting this approach,developers will be able to create IoT systems with significantly reduced implementation costs,surpassing current platforms by more than 10%.The results demonstrate that the single program approach can significantly accelerate the development of IoT systems relying on device communication.

    KEYWORDS IoT;interconnected devices;IoT platform;programing devices;devices coordination and communication

    1 Introduction

    The term “Internet of Things”refers to systems composed of multiple interconnected physical devices that collaborate to achieve a common objective [1].In recent years,the utilization of these systems has experienced significant growth due to their widespread adoption across various sectors[2,3],like smart homes[4],healthcare[5,6],engineering,monitoring and automation[7,8].

    Programmable microcontrollers play a crucial role in IoT systems,owing to their versatility and wide ranging applications.These compact computers efficiently manage electronic devices,including sensors and actuators.Microcontrollers find utility in diverse systems that require data acquisition from the physical world and the execution of actions through physical actuators.In the context of IoT,inter device communication assumes paramount importance.This involves establishing message definitions for device to device communication,selecting suitable communication protocols,and determining communication flows and interaction patterns.

    Developing systems that involve interconnecting various smart devices can be a challenging task for developers,as it requires a solid understanding of smart devices,programming,and communication protocols.In most cases,when developers undertake the implementation of an entire system,it entails creating a centralized system along with programs to run on individual devices.This often results in a substantial amount of code being written[9].

    Systems that facilitate device interconnection involve the exchange of data between devices,enabling them to trigger actions based on received data [10].For instance,consider a scenario where multiple devices equipped with temperature sensors interact with a device controlling an air conditioner.When the temperature sensors detect a high average temperature,they send a command to the air conditioning device,instructing it to turn on.Although these systems usually do not require complex data analysis,they do involve data retrieval,analysis,and command execution.The mere definition of interfaces,communication protocols,and device coordination typically necessitates a significant amount of programming effort.This codebase may further expand if additional factors like authentication[11],security[12],updates[13],and device management[14]need to be considered.

    To simplify and streamline the development process of such systems,there are numerous commercial and research platforms [15,16] as well as middleware solutions available [17].These tools aim to mitigate complexity and address common requirements encountered during the creation of interconnected systems.

    There are several robust commercial platforms,such as ThingSpeak[18],Amazon Web Services(AWS)IoT Core[19],Azure IoT Hub[20],Arduino Cloud[21]each other,that significantly reduce the implementation and management costs of IoT systems.These platforms offer a range of services including communication services,data storage from sensors,and data analysis capabilities.To minimize the implementation costs,many of these platforms provide mechanisms for defining business logic or rules to manage microcontrollers.These logic/rules often involve coordination among multiple devices,making them highly suitable for coordinating mechanisms.Some platforms even offer agile rule creation systems,including visual interfaces [22,23].However,they typically require specific software implementations on the devices to connect to the service running the rules.The motivation of this research is to further evolve the paradigms used in previous platforms,aiming to streamline the creation of IoT applications.

    The objective of this research is to simplify the development process of IoT systems that require communication among multiple devices.To achieve this goal,we propose implementing a unified program or script that encompasses the entire system,including IoT devices,using an abstraction approach that leverages programming objects.Subsequently,this proposal involves processing the unified script to generate the controller for each device.

    The main contribution of this research is a novel platform that allows the development of the entire system in a single program which included the code of the devices and the server.By adopting this approach,developers can create IoT systems with a significantly reduced codebase while facilitating seamless intercommunication between devices.Using that proposal,the development of IoT systems will be achieved with a much lower time cost and without requiring knowledge of intercommunication and coordination between devices.

    The paper is structured as follows.Section 2 shows the related work.Section 3 describes the proposal.Section 4 details a use case of the proposal.Section 5 presents the evaluation and discussion of results.Finally,Section 6 contains the conclusions and lines of future work.

    2 Background

    Small microcontrollers serve as the fundamental building blocks for numerous IoT systems.Despite being less powerful compared to other computers or devices,their cost effectiveness,compact size,and efficient power consumption make them a popular choice for a wide range of IoT projects[24].Depending on the IoT project the requirements could be significantly different,even outside the functional scope,including aspects such as energy efficient[25]security[26].

    There are some commercial platforms widely used in the industry to create IoT systems.The most relevant platforms are analyzed below,emphasizing the mechanisms they offer to specify the system logic and abstract communications and coordination between devices(Table 1).

    Microcontrollers play a pivotal role in smart and connected objects,which are physical devices equipped with sensors to gather data,actuators to perform actions,and algorithms to make informed decisions [16,27].In IoT systems,these smart objects establish connections with internet platforms to exchange data [28].The software or firmware executed by these smart objects constitutes the foundation of their functionality.

    ThingSpeak,one of the pioneering IoT platforms,offers a comprehensive system for defining login rules based on triggers.It enables the definition of business logic through trigger based forms,allowing developers to establish condition-reaction relationships.The platform provides software templates to simplify the development of controllers that are executed on IoT devices.While the platform abstracts communication features within the editor for business logic rules,it falls short in providing extensive configuration options for communication protocols.Despite this limitation,the efficient solution has gained widespread adoption and has been successfully utilized in numerous projects and solutions [29,30].Incorporating ThingSpeak into IoT systems could prove to be an effective approach for reducing code complexity.

    Google Cloud IoT provides an extensive solution that includes a wide array of tools aimed at tackling common challenges in the realm of IoT,such as deployment,monitoring,algorithm implementation,data analysis,and predictive capabilities.This platform has served as a fundamental framework for numerous research systems [31].Among the specific tools offered within Google Cloud IoT,options like Dataflows and Cloud Functions hold significant promise in reducing code complexity for IoT applications.In the architecture of this platform,devices transmit data to either Cloud IoT Core or Cloud Pub/Sub.Developers are responsible for implementing the software on these devices,which then send data to the Google platform using various communication standards,primarily Message Queuing Telemetry Transport (MQTT) but with support for other protocols as well.Additionally,device functionality should define the commands it can interpret.The utilization of Google Cloud IoT can be immensely valuable in streamlining IoT systems that necessitate smooth communication between devices.Through the adoption of the platform’s tools,developers can effectively diminish code complexity and improve the overall efficiency of their IoT solutions.

    Amazon AWS IoT is a comprehensive solution that provides a wide range of tools to address common IoT challenges.With features such as the lightweight Free Real Time Operating System(FreeRTOS) operating system and IoT ExpressLink,it offers ways to simplify software implementation.The Rules engine allows developers to define the software logic for communication between devices.By leveraging these tools,AWS IoT enables developers to reduce complexity and enhance efficiency in their IoT systems[31].

    Azure IoT is a highly popular platform for managing IoT systems[32].Azure IoT offers seamless integration with Azure Event Grid and serverless compute,along with Azure IoT Edge support for hybrid IoT applications development.Within the platform,developers have the flexibility to configure rules and actions,allowing certain communication and coordination tasks to be handled by the platform.The rules can be easily defined using a user friendly form.Similar to other platforms,connecting devices to Azure IoT Hub necessitates the creation of specific software controllers for each device,which are then smoothly integrated into the platform.

    Numerous research projects have resulted in platforms specifically designed to minimize the code complexity involved in implementing IoT systems.One such platform is Tiny Link,which offers users a simplified method to specify platform functionalities without the need to delve into the intricacies of underlying hardware components[33].This platform adopts a low code approach for implementing the controller program on devices,resulting in a significant reduction in code complexity [34].The main advantage of this platform is its ability to simplify the end to end decoding process for exchanging messages between devices,which proves especially beneficial for heterogeneous devices using diverse message specifications.It is essential to mention that the IoT market offers an extensive array of over 100 different platforms tailored to IoT devices[35],but the low code approach specifically focuses on simplifying the coding aspect of IoT systems and doesn’t cover other features.

    In the pursuit of simplifying code implementation,most platforms operate in a similar manner.Initially,developers create a specific controller for devices,enabling them to connect to the platform.This controller program defines the messages transmitted by the device and the commands/actions it can comprehend.Depending on the platform and device type,certain solutions may offer support for implementing the driver program,such as through templates or libraries,which alleviates developer effort.Libraries offer a convenient level of abstraction for communication protocols,but it is important to note that numerous platforms also provide the flexibility for developers to select the desired protocol and communication features according to their specific requirements.

    The next step involves configuring coordination among devices.This typically entails sending data to the platform,processing it in varying degrees of complexity,and executing actions,often involving the devices themselves.Indeed,all IoT systems can be classified into two distinct components: (1)the device controller software,responsible for handling the information transmission and accepting commands,and (2) the system’s rules or logic that governs the communication and coordination among devices.These two components play pivotal roles in ensuring the smooth functioning of IoT systems.This two component structure imposes additional work on developers,necessitating modifications in two separate areas that are often programmed differently and must synchronize with each other.

    The objective of our proposal is to simplify the complexity by enabling the definition of the entire IoT system in a single program.By eliminating the need for code that connects devices to the platform and manages data transmission and reception,we can greatly reduce the number of lines of code and the effort required to define business logic rules.This streamlined approach simplifies the system implementation process and enhances overall efficiency.

    3 Proposed Platform

    3.1 Architecture

    The proposal entails an IoT platform that simplifies the process of connecting microcontrollers for users.Users can effortlessly download a firmware that requires no modification.Upon downloading and executing the connection firmware on their microcontrollers,users gain the ability to program the entire system that interconnects their devices using a web based Integrated Development Environment (IDE).The web IDE is built on a programming language that closely resembles the native programming language of the microcontrollers.

    For this prototype,we have designed a version of the framework that is compatible with Raspberry Pi and Arduino WeMos D1 Wi-Fi Espressif modules 266 (ESP266) microcontrollers.However,it is important to note that this is just one use case,as the platform can be extended to interact with various other types of microcontrollers.The platform should provide additional firmware options to enable users to connect different types of devices.Once the generic firmware is uploaded to the microcontrollers,it establishes a connection that links all the inputs and outputs of the devices with the IoT platform.This connection enables the execution of business logic on the platform’s server or cloud(Fig.1).

    Figure 1:Solution conceptual scheme

    The proposed platform architecture consists of two key components:

    a)The Server:This component serves as the business logic hub of the system.It is a web application accessible to users through a login.Users can manage their microcontrollers within the platform(Fig.2).Upon registering a new microcontroller,the platform automatically generates a unique ID for the device and requests the user to input internet connection parameters,such as Wi-Fi Service Set IDentifier(SSID)and password.Upon registration,the platform generates a connection firmware specific to the microcontroller.This connection firmware includes the device’s ID and the internet connection parameters.

    Figure 2:Device manager

    b)Microcontroller Connection Firmware:This component’s primary responsibility is to establish the connection between the microcontrollers and the platform.The connection firmware,generated by the platform during registration,facilitates seamless communication between the microcontroller and the server.It incorporates essential information,including the unique ID of the device and the internet connection parameters provided by the user.

    These two components work in tandem to facilitate the management and connectivity of microcontrollers within the proposed platform.

    Once the microcontroller has the connection firmware running,the user can access the associated IDE “code editor”(Fig.3).This code editor allows the user to implement the business logic of the microcontroller using a real programming language.The platform supports five functions that are specific to the microcontroller:

    ? function setup():This function is executed only once at the start of the program.

    ? function loop(): This function is executed repeatedly every second after the setup() function finishes.

    ? pinMode(mode):This function is used to set the mode of a microcontroller pin as either INPUT or OUTPUT.It requires two parameters:the mode and the pin number to be modified.

    ? digitalRead(pin):This function returns the value of the specified microcontroller pin.Function receives as a parameter the number of the pin.

    ? digitalWrite(pin,value):This function changes the state of the specified microcontroller pin to the desired value.Function receives as a parameters the number of the pin and the new value for the pin.

    When the user launches the program,it is executed on the platform.Prior to program execution,the platform retrieves the values of the digital and analog inputs from the microcontroller.Based on this data,the platform executes the program.Throughout the program execution,the digital and analog outputs of the microcontroller may undergo changes.The platform promptly sends the updated output values back to the microcontroller in response.

    Figure 3:Code editor

    3.2 The Device’s Firmware

    The firmware empowers the microcontroller to operate as a web client,consistently sending the data from its analog and digital inputs (sensors) to the platform.These input values are generated by the sensors linked to the microcontroller.In return,the firmware receives updated values for all the microcontroller outputs (actuators).Changes in the output values can subsequently modify the behavior of actuators connected to the microcontroller,such as turning on a light(Fig.4).

    Figure 4:Basic interaction scheme

    3.3 Code Redefinition

    The Program Interpreter is responsible for executing the user created program within the web IDE.Before execution,the code undergoes a modification process by the Code Modifier.This process involves adding an internal library declaration,variables to identify the program owner,two customizable empty functions(setup and loop)that the user can utilize,and a try catch block to ensure the server continues running even in the event of errors in the user program.Additionally,the code modifier includes a call to the setup function,and a setInterval function for the loop function to execute every second with an initial delay of two seconds to ensure the setup is properly applied.In Fig.4,you can see the modified program from Fig.3 after passing through the Code Modifier.

    Upon initialization of the“Device”class,an internal timer is activated to facilitate the retrieval and transmission of data between the database(BBDD)and the object.This mechanism enables efficient subsequent method calls on the“Device”object,allowing data retrieval directly from the object itself and avoiding delays associated with accessing the database.

    3.4 Device Connection

    The firmware,downloaded through the Device Manager,contains essential information such as the Wi-Fi network data,device ID,password (in the form of a generated hash),and the IP address of the platform server.Upon powering on,the microcontroller attempts to connect to the network specified in the firmware and initiates the program loop.

    Within the program loop,the microcontroller retrieves data from all its pins,sends it to the server via an Hypertext Transfer Protocol(HTTP)request,and receives in response the pin mode for each pin and the data for the output pins.The microcontroller then updates the pin modes and writes the received values to the corresponding output pins.To accommodate more advanced sensors and actuators,like the digital temperature and humidity sensor (DHT11) or servomotors,the solution can seamlessly incorporate third party libraries.These libraries abstract the control of these devices,making it easier to interact with and utilize them in the IoT system.

    Currently,the loop executes once per second,but this time interval can be adjusted within the platform,provided that the device supports sending data at that frequency.

    4 Use Case

    To illustrate the application of the proposed platform,let us consider a scenario where a company aims to automate the lights in a room using three interconnected devices(Fig.5).

    ? Device 1: This device controls the room lights and is connected to a relay,which is operated through the digital pin D2.

    ? Device 2: This device incorporates a light sensor,which is an analog sensor connected to the analog pin A1.It measures the ambient light level in the room.

    ? Device 3:Similar to Device 2,this device is configured as a sensor and is also equipped with a light sensor.It is strategically placed in an area with minimal lighting within the room.

    Devices used in this evaluation were:2 Arduino Wemos D1(Wi-Fi ESP-12F ESP266 802.11 b,g y n)Based on microcontroller ESP-8266EX 32-bit includes 11 Digital I/O pins and 1 pin for analog Input pin.1 Arduino Wemos Mini(Wi-Fi ESP-12F ESP266 V.3 802.11 b,g y n).Based on microcontroller ESP-8266EX,includes 11 Digital I/O pins and 1 pin for analog Input pin.Centralized platform was running in a Windows 2016 Server Intel?Core?i7 12700F with 32 GB or RAM and PCIe solid-state drive(SSD)disk.

    Figure 5:Three devices interconnected using the proposal.Device 1 Wemos D1 Wi-Fi ESP8266 with a light control system.Device 2 WeMos D1 Wi-Fi ESP8266 connected to an analog light sensor.Device 3 WeMos Mini D1 Wi-Fi ESP8266 connected to an light analog light sensor

    By utilizing the platform,these three devices can seamlessly communicate and collaborate to automate the lighting process in the room.The system intelligently determines when to turn the lights on or off by analyzing the sensed light levels in the environment.This ensures that the lights are appropriately adjusted to provide optimal illumination based on the room’s conditions.

    The IoT system continuously and actively monitors the light levels at two different locations within the room in realtime.Should any of the light sensors detect a value below 600,the system promptly activates the lights.On the other hand,if the light level is above the specified threshold,the system will deactivate the lights.

    In a traditional IoT implementation of this system,individual programs would need to be created for each device.Specifying the actions supported by each device.For instance,Device 1 would have actions like“turn on light”and“turn off light,”while Devices 2 and 3 would have the action of“get light level”.Numerous IoT platforms provide code templates to minimize the code developers need to write for each device.These three devices would be connected to a centralized system like ThingSpeak,ThingWorx,Azure IoT Hub,or Amazon AWS.Depending on the selected platform,developers might need to create a program or set up rules and notifications within the centralized system.

    In our proposed approach,the firmware is installed on the devices.To generate this firmware,developers need to provide the network details on the website but should not modify the firmware program itself.Once this is done,the three devices can be connected to the platform.Developers can create a new script that incorporates the three devices using the Device class.In the setup function,the digital pins are configured as outputs,and the analog pins,which function as inputs,do not require any configuration.The main logic of the system is implemented in the loop function,which executes every 500 milliseconds.This function retrieves the values from the two analog sensors and,if either value is below 600,it triggers the lights to turn on.This logic serves as a basic example,but the loop function can include any JavaScript algorithm to define more complex conditions or analyses.Additionally,the system can incorporate third-party libraries using Node.js npm packages,enabling advanced features such as data analysis and artificial intelligence.

    The code based approach for configuring the system’s functionality offers several advantages,particularly in reducing the time required to create the system.By leveraging programming structures,configurations and business logic can be simplified,especially in systems involving repetitive actions.For instance,consider the following system that effectively coordinates 16 devices with less than 50 lines of code.This program retrieves data from 8 devices equipped with analog light sensors and analyzes the number of sensors detecting low light levels.Using this count,the program activates a corresponding number of lights to compensate for the low light situation.By employing functional programming in JavaScript,this approach efficiently manages sensor structures and measurements,leading to a significant reduction in the required code compared to alternative implementation approaches.

    5 Evaluation

    The objective of this proposal is to streamline the process of creating IoT systems that involve interconnecting multiple devices for coordination and data collection,enabling them to perform actions based on conditions or analysis.

    Currently,there are various IoT platforms available that facilitate the creation of such systems.These platforms eliminate the need for developers to individually implement the software for each device and the centralized system that coordinates them.Some popular examples include ThingSpeak,Azure IoT Central,and ArduinoCloud.

    To evaluate the feasibility of implementing a centralized IoT system for enabling communication between two devices,we will consider the cost aspect.The system comprises Device 1 (Arduino Wemos) equipped with a light sensor and Device 2 (Arduino Wemos) equipped with a light switch.The centralized system will receive data from Device 1 and,based on that information,send an on or off command to Device 2.Although a simple use case has been designed for the evaluation,it is worth noting that the proposed solution can be extended to accommodate more complex coordination systems that may arise in the future.

    To assess the process of defining this IoT system,we developed the functionality using different IoT platforms and closely monitored several parameters throughout the system creation process.The systems were created by a user who had prior knowledge of the IoT platforms,ensuring that no mistakes were made during the system creation.The following parameters were analyzed:

    ? (L)Lines of code added or modified in the code.

    ? (C)Characters modified in the code,excluding copy/paste actions.The parameter captures the extent of modifications made during the coding process.

    ? (N) Special configuration actions,which encompass additional tasks beyond the standard platform usage,such as installing software or IDEs for devices.

    ? (I)Interaction with the web interface,including clicks and keystrokes during program coding.The parameter excludes the registration process in any of the platforms.The Mousetron tool was used to measure this parameter.

    ? (M) Distance covered by the mouse cursor during the entire process.This parameter was measured using the Mousetron tool.

    ? (S)Number of different screens involved in configuring the system,such as managing devices,channels,and defining rules.Each unique screen represents a distinct step in the configuration process.

    ? (R)Number of different programs or websites used for creating the system.For example,using a website and the Arduino IDE.Some environments,like Arduino IoT Cloud,enable performing all actions directly from the website.

    By analyzing these parameters,we can assess the efficiency and ease of use of different IoT platforms for creating the desired system.

    The evaluated alternatives for creating the IoT system were as follows:

    ? Proposal:The developer registers the two devices and downloads the firmware,providing the necessary Wi-Fi credentials (SSID and password).The Arduino IDE is used to execute the firmware on both devices.Following this,the developer creates a program (code) to retrieve data from one device and define the coordination process.

    ? Azure IoT Central: Two Arduino firmwares are implemented based on the Azure/azure-sdkc-arduino template.The developer needs to modify the firmware code and configure essential parameters such as WiFi credentials,Azure host,and device information.Telemetry is used for sending data,and commands are used to execute actions.The Arduino IDE is used to execute the firmware on both devices.To implement synchronization,a rule is created in the Azure IoT portal,which offers a web interface without requiring code.

    ? ThingSpeak:Two Arduino firmwares are created based on the ThingSpeak Arduino template.The template includes communication and configuration parameters.Device 1 sends data to a ThingSpeak channel,and Device 2 requests updates from a ThingSpeak TalkBack,allowing remote command execution.The Arduino IDE is used to execute the firmware on both devices.Two conditions are added using ThingSpeak Reacts,a web interface that does not require coding.

    ? Arduino IoT Cloud: The developer registers the 2 devices in the Arduino IoT Cloud.To facilitate device communication,a shared cloud variable is created.Within the web IDE,the developer implements the 2 firmwares(code)that utilize the shared variable to coordinate their functionality.This platform enables coordination using code,similar to the proposal,without the need for an external IDE to deploy the firmware.However,the “Arduino Create Agent”software needs to be installed to access the devices from the website.

    During the evaluation of these alternatives,multiple factors were taken into account,encompassing code length,configuration process,web interface interactions,mouse movement,and the number of screens utilized in the system creation process(Table 2).

    When examining the code related parameters(L,C),Arduino Cloud emerged as the most efficient option,particularly in terms of character count (Fig.6).This reduction is achieved by utilizing shorter code sentences that exclude device declarations and references.Nonetheless,Arduino Cloud demands the creation of two separate programs,although they are relatively short.Moreover,the additional step of creating a shared variable for program synchronization adds to the effort required for implementation.It is important to note that this synchronization is accomplished through web interfaces rather than code,resulting in the second group of parameters(N,I,M,S,R)being notably less favorable compared to the proposal.

    When considering parameters that measure complexity outside of the code,we observed that the proposal stands out as the least demanding option.The reason for this notable reduction in interactions,such as keystrokes (I),mouse movement (M),and configuration screens (S),is mainly attributed to the emphasis on code based actions rather than relying on specific web interfaces(Fig.7).This code centric approach streamlines the process and minimizes the need for extensive efforts when configuring the system.The proposal excels in minimizing the number of screens,mouse movements,and keystrokes needed for data entry.It outperforms the second ranked option,“Arduino Cloud,”across all these indicators,and it is notably superior to Azure and ThingSpeak in this regard.

    In order to establish a comprehensive comparison,we assigned weights to each analyzed parameter(L=10,C=1,N=90,I=2,M=7,S=40,R=100)based on their significance in the IoT system creation process.These weights were assigned to ensure that the parameters that have a greater impact on the overall complexity of the system were appropriately considered in the evaluation.

    Figure 6:Comparison on characters in code.Vertical axis shows the number of characters

    Figure 7:Comparison on parameters related to the use of web interfaces of the platforms and IDEs.Vertical axis shows the number of parameters(I,M,S,R)

    In overall terms,the proposal exhibits a complexity index of 1434,which is 12.13%lower than the best alternative,Arduino Cloud(1632),and 65.49%lower than the third best alternative,ThingSpeak.It is worth noting that ThingSpeak and Azure have similar complexity indexes(Fig.8).These findings suggest that the proposal offers a more streamlined and efficient approach,compared to the other evaluated alternatives.These results are explained,since the proposal is the one that defines the greatest abstraction in the communication and coordination between devices.

    Figure 8:Global complexity.Vertical axis shows the total number of the index of completeness

    6 Conclusions

    This paper introduces a platform designed to simplify the creation of IoT systems that involve interconnecting smart objects.The proposal is based on the abstraction on devices communication and interconnection,and allowing the implementation of the entire IOT system in a single program.

    While there are already several alternatives available to simplify the creation of IoT platforms for object interconnection,the primary objective of this research is to further enhance the ease of system creation.The hypothesis revolves around consolidating the entire system development into a single program,integrating both device logic and the centralized system.This approach sets itself apart from many existing platforms that often merge code editors with multiple web interfaces for rule definition,lacking a unified program for the entire IoT system.Based on the conducted evaluation,the proposal enables the swift creation of systems that effectively coordinate connected devices.It achieved the lowest overall complexity index among the 1434 alternatives,surpassing the second ranked“Arduino Cloud”by a margin of 12.13%and outperforming platforms like ThingSpeak and Azure IoT by almost 70%.These results indicate that the proposal holds potential as an agile solution for developing IoT systems of this nature.

    The proposal presents a new development approach that can be very useful for the implementation of IoT systems.It allows to significantly reduce development costs compared to current alternatives.Moreover,the proposed approach enables developers with limited technical expertise to effectively communicate and interconnect IoT devices.This makes it particularly valuable for IoT systems that involve the coordination of multiple devices,each with distinct functionalities.

    The proposal is efficient for the creation of IoT systems that do not have low data traffic or very low response times as essential requirements.It is based on a generic communication and coordination system,which may not be as efficient as a system implemented by an expert developer in communication,data compression,or high performance real-time systems.

    We have identified several lines of future work within this proposal.Firstly,it facilitates the creation of dashboards and monitoring or remote control systems within the platform.Secondly,it includes protocol selections and coordination configurations based on artificial intelligence.These dynamic configurations can adapt during the system’s lifecycle to improve efficiency and response times.

    Acknowledgement:The authors are thankful to the School of Computer Science of the University of Oviedo for providing materials and resources for developing this research work.

    Funding Statement:The authors received no specific funding for this study.

    Author Contributions:The authors confirm contribution to the paper as follows:design of the main idea of the research: Jordán Pascual Espada,Ruben Gonzalez Crespo;study of related work and definition of objectives: Jordán Pascual Espada,Ruben Gonzalez Crespo;solution design: Jordán Pascual Espada,Enol Matilla Blanco;solution implementation: Enol Matilla Blanco;analysis and interpretation of results:Jordán Pascual Espada,Enol Matilla Blanco.All authors reviewed the results and approved the final version of the manuscript.

    Availability of Data and Materials:Source code of the proposal solution can be downloaded at the following url https://lc.cx/mTUtLC,password:iot.

    Conflicts of Interest:The authors declare that they have no conflicts of interest to report regarding the present study.

    成年动漫av网址| 999久久久精品免费观看国产| 日韩欧美国产一区二区入口| 美女高潮喷水抽搐中文字幕| 国产色视频综合| 亚洲国产欧美在线一区| 咕卡用的链子| 成人国产一区最新在线观看| 宅男免费午夜| 欧美精品一区二区大全| 婷婷丁香在线五月| 激情在线观看视频在线高清 | 捣出白浆h1v1| 国产色视频综合| 欧美精品av麻豆av| 国产精品98久久久久久宅男小说| 一区二区日韩欧美中文字幕| 色精品久久人妻99蜜桃| 国产高清videossex| 精品久久久精品久久久| 天天躁狠狠躁夜夜躁狠狠躁| 免费观看人在逋| 亚洲国产av新网站| 搡老熟女国产l中国老女人| 老熟妇仑乱视频hdxx| 黄片小视频在线播放| av超薄肉色丝袜交足视频| 亚洲成国产人片在线观看| 亚洲国产欧美网| 午夜精品国产一区二区电影| 国产三级黄色录像| 亚洲国产av新网站| 超碰成人久久| h视频一区二区三区| 亚洲精品中文字幕一二三四区 | 人妻 亚洲 视频| 成年人免费黄色播放视频| 午夜福利在线免费观看网站| 日韩欧美免费精品| 中国美女看黄片| 最黄视频免费看| 亚洲国产av影院在线观看| 欧美一级毛片孕妇| 大码成人一级视频| 亚洲精品国产色婷婷电影| 久久99热这里只频精品6学生| 丰满少妇做爰视频| av免费在线观看网站| 久久久久久久国产电影| 天天影视国产精品| 天堂动漫精品| 精品免费久久久久久久清纯 | tocl精华| 免费av中文字幕在线| 亚洲色图av天堂| 日韩 欧美 亚洲 中文字幕| 久久人妻熟女aⅴ| 夜夜夜夜夜久久久久| 亚洲av成人一区二区三| 日韩制服丝袜自拍偷拍| 中文字幕人妻丝袜制服| 国产激情久久老熟女| a级毛片黄视频| 国产真人三级小视频在线观看| 叶爱在线成人免费视频播放| 日韩中文字幕视频在线看片| 一级a爱视频在线免费观看| 国产淫语在线视频| 亚洲精品自拍成人| 日本av手机在线免费观看| 国产一区二区三区视频了| 日本精品一区二区三区蜜桃| 欧美成狂野欧美在线观看| 久久国产精品人妻蜜桃| 欧美日韩黄片免| 男女床上黄色一级片免费看| 99热国产这里只有精品6| 中文字幕av电影在线播放| 久久久久久人人人人人| 视频区欧美日本亚洲| 精品国产一区二区久久| 老司机亚洲免费影院| 国产日韩欧美在线精品| 狠狠狠狠99中文字幕| 婷婷丁香在线五月| 日韩一区二区三区影片| 美女高潮到喷水免费观看| 操出白浆在线播放| 成人永久免费在线观看视频 | 国产日韩一区二区三区精品不卡| 日韩免费av在线播放| 亚洲精品美女久久av网站| 美女主播在线视频| 国产成+人综合+亚洲专区| 欧美av亚洲av综合av国产av| 一边摸一边抽搐一进一小说 | 999久久久精品免费观看国产| 国产在线视频一区二区| 99热国产这里只有精品6| 王馨瑶露胸无遮挡在线观看| 日韩精品免费视频一区二区三区| 两性夫妻黄色片| 黄色怎么调成土黄色| 亚洲全国av大片| 一个人免费在线观看的高清视频| 国产亚洲午夜精品一区二区久久| 999精品在线视频| 国产在线视频一区二区| 欧美一级毛片孕妇| 亚洲精品中文字幕在线视频| 丝袜美腿诱惑在线| 亚洲精品国产色婷婷电影| 国产无遮挡羞羞视频在线观看| 99re6热这里在线精品视频| 别揉我奶头~嗯~啊~动态视频| 国产成人免费无遮挡视频| av线在线观看网站| cao死你这个sao货| xxxhd国产人妻xxx| 国产精品麻豆人妻色哟哟久久| 大型av网站在线播放| av天堂久久9| 婷婷成人精品国产| 91av网站免费观看| 国产精品一区二区在线不卡| 亚洲av成人不卡在线观看播放网| 欧美精品一区二区大全| 久久 成人 亚洲| 免费黄频网站在线观看国产| 丝袜在线中文字幕| 国产午夜精品久久久久久| 久久这里只有精品19| 一本综合久久免费| 国产不卡av网站在线观看| 日本av免费视频播放| 一级毛片精品| 国产在线观看jvid| 国产色视频综合| 一区二区三区国产精品乱码| h视频一区二区三区| av超薄肉色丝袜交足视频| 国产精品一区二区免费欧美| 国产一区有黄有色的免费视频| 国产成人精品久久二区二区91| www.熟女人妻精品国产| 黑人巨大精品欧美一区二区蜜桃| 国产福利在线免费观看视频| 久久午夜综合久久蜜桃| 97在线人人人人妻| 两性夫妻黄色片| 国产成人免费无遮挡视频| 国产精品麻豆人妻色哟哟久久| 久久天躁狠狠躁夜夜2o2o| 亚洲情色 制服丝袜| 狠狠精品人妻久久久久久综合| 大陆偷拍与自拍| 老司机福利观看| 国产亚洲av高清不卡| 国产在线视频一区二区| 国产激情久久老熟女| 国产一区二区三区视频了| 成在线人永久免费视频| 欧美大码av| 日韩免费av在线播放| 亚洲欧美一区二区三区黑人| 国产人伦9x9x在线观看| 人人妻,人人澡人人爽秒播| 亚洲国产精品一区二区三区在线| 黄色a级毛片大全视频| 日韩欧美国产一区二区入口| 一区二区三区精品91| 少妇猛男粗大的猛烈进出视频| 巨乳人妻的诱惑在线观看| 成在线人永久免费视频| 久久久久久久久久久久大奶| 国产黄频视频在线观看| 最黄视频免费看| 91大片在线观看| 成年人午夜在线观看视频| 新久久久久国产一级毛片| 国产三级黄色录像| 欧美亚洲 丝袜 人妻 在线| 亚洲精品国产一区二区精华液| 美国免费a级毛片| 久久久久久久国产电影| 一二三四社区在线视频社区8| 成人免费观看视频高清| 日本a在线网址| 桃花免费在线播放| 国产成人免费无遮挡视频| 亚洲精品在线美女| 少妇被粗大的猛进出69影院| 国产精品av久久久久免费| 热99re8久久精品国产| 成人三级做爰电影| 久久精品亚洲熟妇少妇任你| 精品人妻在线不人妻| 一区在线观看完整版| 香蕉久久夜色| 一二三四社区在线视频社区8| 最新在线观看一区二区三区| 国产成人欧美| 亚洲国产欧美一区二区综合| 在线观看舔阴道视频| 国产不卡av网站在线观看| 久久久精品国产亚洲av高清涩受| 热re99久久精品国产66热6| 少妇裸体淫交视频免费看高清 | 黑丝袜美女国产一区| 黄色丝袜av网址大全| 91字幕亚洲| 欧美精品一区二区大全| 一区二区三区乱码不卡18| 国产欧美日韩一区二区三| 午夜老司机福利片| 精品国产超薄肉色丝袜足j| 极品教师在线免费播放| 啦啦啦在线免费观看视频4| 啦啦啦免费观看视频1| 美女主播在线视频| 中文亚洲av片在线观看爽 | 夜夜夜夜夜久久久久| 日韩中文字幕欧美一区二区| 国产精品久久久久久人妻精品电影 | 日韩制服丝袜自拍偷拍| 十八禁人妻一区二区| 99九九在线精品视频| 欧美激情 高清一区二区三区| 欧美黄色淫秽网站| 日韩免费av在线播放| 国产精品 国内视频| 真人做人爱边吃奶动态| 久久av网站| 91麻豆av在线| 18禁观看日本| 国产精品成人在线| 老熟妇乱子伦视频在线观看| 99国产综合亚洲精品| 国产在线精品亚洲第一网站| 久久毛片免费看一区二区三区| 精品久久久久久电影网| 丝袜在线中文字幕| 国产黄频视频在线观看| 少妇 在线观看| 欧美日韩亚洲综合一区二区三区_| 久久影院123| 国产在线观看jvid| 两人在一起打扑克的视频| 国产无遮挡羞羞视频在线观看| 满18在线观看网站| 亚洲国产欧美网| 人妻一区二区av| 久久久久国产一级毛片高清牌| 三上悠亚av全集在线观看| 久久精品91无色码中文字幕| a级毛片黄视频| 免费高清在线观看日韩| 亚洲 欧美一区二区三区| h视频一区二区三区| 操美女的视频在线观看| 纯流量卡能插随身wifi吗| 老鸭窝网址在线观看| 精品卡一卡二卡四卡免费| 国产精品二区激情视频| 久久国产精品人妻蜜桃| 国产精品久久久人人做人人爽| 日韩一卡2卡3卡4卡2021年| 亚洲精品中文字幕在线视频| 一区二区三区精品91| 欧美激情久久久久久爽电影 | 黄片小视频在线播放| 亚洲精华国产精华精| 搡老乐熟女国产| 老司机亚洲免费影院| 国产精品久久久人人做人人爽| 久久亚洲真实| 亚洲精品国产色婷婷电影| 欧美日韩黄片免| 欧美日本中文国产一区发布| 精品一区二区三区四区五区乱码| 中文字幕精品免费在线观看视频| 亚洲视频免费观看视频| 一进一出抽搐动态| 黄色毛片三级朝国网站| 久久久久久久大尺度免费视频| 亚洲精品国产精品久久久不卡| 夜夜夜夜夜久久久久| 五月天丁香电影| 国产淫语在线视频| 国产黄色免费在线视频| www.熟女人妻精品国产| 欧美激情久久久久久爽电影 | a级片在线免费高清观看视频| 欧美成狂野欧美在线观看| 男男h啪啪无遮挡| 美女午夜性视频免费| 又大又爽又粗| 中文字幕av电影在线播放| 国产精品麻豆人妻色哟哟久久| av超薄肉色丝袜交足视频| 最新美女视频免费是黄的| 成人av一区二区三区在线看| 亚洲人成77777在线视频| 免费av中文字幕在线| 久久久久久久国产电影| 国产福利在线免费观看视频| 国产在线精品亚洲第一网站| av欧美777| 久久久久久亚洲精品国产蜜桃av| 99久久人妻综合| 99香蕉大伊视频| 精品国产超薄肉色丝袜足j| 亚洲精华国产精华精| 757午夜福利合集在线观看| 一个人免费在线观看的高清视频| 大片免费播放器 马上看| 人人妻人人爽人人添夜夜欢视频| 两个人看的免费小视频| 国产91精品成人一区二区三区 | 精品少妇黑人巨大在线播放| 制服人妻中文乱码| 久久久欧美国产精品| 色综合欧美亚洲国产小说| 十八禁高潮呻吟视频| 99精品久久久久人妻精品| 热re99久久精品国产66热6| 久久久久国内视频| 黄网站色视频无遮挡免费观看| 国产伦人伦偷精品视频| 9色porny在线观看| 欧美 日韩 精品 国产| 亚洲av日韩在线播放| www.熟女人妻精品国产| 少妇精品久久久久久久| 日韩有码中文字幕| 国产日韩欧美视频二区| 中文字幕另类日韩欧美亚洲嫩草| 国产一区二区 视频在线| 国产野战对白在线观看| 免费看十八禁软件| 99九九在线精品视频| 亚洲久久久国产精品| 人妻久久中文字幕网| 精品国产亚洲在线| 国产精品久久久久久人妻精品电影 | 亚洲 国产 在线| 满18在线观看网站| 丁香六月欧美| 精品一品国产午夜福利视频| 亚洲国产av影院在线观看| 婷婷成人精品国产| 大型av网站在线播放| 精品少妇内射三级| 国产又爽黄色视频| 亚洲五月婷婷丁香| 一边摸一边抽搐一进一出视频| 欧美激情极品国产一区二区三区| √禁漫天堂资源中文www| 人人妻,人人澡人人爽秒播| 桃红色精品国产亚洲av| 窝窝影院91人妻| 丝袜喷水一区| 三级毛片av免费| 精品福利观看| 免费高清在线观看日韩| 黄色怎么调成土黄色| kizo精华| 亚洲综合色网址| 少妇 在线观看| 国产成人精品久久二区二区91| 啦啦啦在线免费观看视频4| 亚洲精品一二三| 一区二区av电影网| 黄色成人免费大全| 俄罗斯特黄特色一大片| 两个人看的免费小视频| 日韩成人在线观看一区二区三区| 免费在线观看黄色视频的| 欧美日韩精品网址| 国产精品.久久久| av网站在线播放免费| 免费在线观看影片大全网站| 欧美精品一区二区大全| 男男h啪啪无遮挡| 精品乱码久久久久久99久播| 免费不卡黄色视频| 老司机在亚洲福利影院| 国产欧美日韩精品亚洲av| 午夜激情久久久久久久| 亚洲熟女毛片儿| 国产精品一区二区在线观看99| 搡老乐熟女国产| 亚洲成人免费av在线播放| 十八禁人妻一区二区| 两性午夜刺激爽爽歪歪视频在线观看 | 91成年电影在线观看| svipshipincom国产片| 女人高潮潮喷娇喘18禁视频| 黄片大片在线免费观看| 在线十欧美十亚洲十日本专区| 99在线人妻在线中文字幕 | 99精品在免费线老司机午夜| 国产免费av片在线观看野外av| 国产精品亚洲av一区麻豆| 少妇精品久久久久久久| svipshipincom国产片| 18禁国产床啪视频网站| 亚洲色图综合在线观看| 女人久久www免费人成看片| 精品国产国语对白av| 少妇裸体淫交视频免费看高清 | 国产精品 欧美亚洲| 1024香蕉在线观看| 怎么达到女性高潮| 免费高清在线观看日韩| 欧美激情久久久久久爽电影 | www.自偷自拍.com| 桃花免费在线播放| 精品一品国产午夜福利视频| 国产在线精品亚洲第一网站| 女人久久www免费人成看片| 欧美日韩国产mv在线观看视频| 免费观看av网站的网址| 成年版毛片免费区| 国产福利在线免费观看视频| 久久久久精品国产欧美久久久| 国产不卡av网站在线观看| 91老司机精品| 日韩熟女老妇一区二区性免费视频| 亚洲中文日韩欧美视频| 少妇裸体淫交视频免费看高清 | 国产男女内射视频| 人妻一区二区av| 久久 成人 亚洲| 久久中文字幕一级| 黄色成人免费大全| 国产欧美日韩一区二区精品| 乱人伦中国视频| 婷婷丁香在线五月| 黄片小视频在线播放| 国产精品电影一区二区三区 | 一本—道久久a久久精品蜜桃钙片| 日韩视频在线欧美| 亚洲情色 制服丝袜| 99在线人妻在线中文字幕 | 天天躁狠狠躁夜夜躁狠狠躁| 国产精品久久电影中文字幕 | 国产精品自产拍在线观看55亚洲 | 日韩 欧美 亚洲 中文字幕| 午夜久久久在线观看| 91麻豆精品激情在线观看国产 | 亚洲情色 制服丝袜| 国产精品.久久久| 欧美人与性动交α欧美软件| 又大又爽又粗| 男人舔女人的私密视频| 亚洲国产欧美在线一区| 少妇裸体淫交视频免费看高清 | 国产熟女午夜一区二区三区| 精品亚洲成a人片在线观看| 熟女少妇亚洲综合色aaa.| 亚洲第一青青草原| 精品卡一卡二卡四卡免费| 最近最新中文字幕大全免费视频| 黑人巨大精品欧美一区二区mp4| 久久久国产成人免费| 国产日韩欧美亚洲二区| 国产精品免费大片| 国产精品二区激情视频| 一区二区三区乱码不卡18| 国产精品久久久久久人妻精品电影 | 肉色欧美久久久久久久蜜桃| 在线观看免费视频日本深夜| 国产成人av教育| 涩涩av久久男人的天堂| 亚洲国产中文字幕在线视频| 国产在线视频一区二区| 欧美 亚洲 国产 日韩一| 这个男人来自地球电影免费观看| 自线自在国产av| 老司机福利观看| 人妻一区二区av| 精品国产国语对白av| 精品福利永久在线观看| 亚洲精品国产区一区二| 免费不卡黄色视频| 他把我摸到了高潮在线观看 | 51午夜福利影视在线观看| 亚洲精品一卡2卡三卡4卡5卡| 久久久国产成人免费| 无遮挡黄片免费观看| 老司机福利观看| 欧美黑人欧美精品刺激| 夜夜骑夜夜射夜夜干| 久久免费观看电影| 中文字幕制服av| 欧美一级毛片孕妇| 中文字幕人妻丝袜一区二区| 午夜91福利影院| 啪啪无遮挡十八禁网站| 久久婷婷成人综合色麻豆| 操美女的视频在线观看| 1024香蕉在线观看| 亚洲欧美一区二区三区久久| 一边摸一边抽搐一进一小说 | 黄色视频,在线免费观看| 国产精品国产高清国产av | 亚洲 欧美一区二区三区| 黄频高清免费视频| 亚洲色图av天堂| 国产av又大| 男女午夜视频在线观看| 最新美女视频免费是黄的| 免费高清在线观看日韩| 亚洲欧美日韩另类电影网站| 视频区图区小说| 国产主播在线观看一区二区| 在线观看免费高清a一片| 国产免费福利视频在线观看| 老汉色∧v一级毛片| 成年女人毛片免费观看观看9 | 99国产综合亚洲精品| 黑人巨大精品欧美一区二区mp4| 热99re8久久精品国产| 国产真人三级小视频在线观看| 50天的宝宝边吃奶边哭怎么回事| 性色av乱码一区二区三区2| 久久久久久免费高清国产稀缺| 欧美黄色淫秽网站| 99精品欧美一区二区三区四区| 成人永久免费在线观看视频 | 精品亚洲成a人片在线观看| 久久ye,这里只有精品| 久久国产精品大桥未久av| 国产亚洲av高清不卡| av片东京热男人的天堂| 人妻 亚洲 视频| 色综合婷婷激情| 老鸭窝网址在线观看| 999久久久国产精品视频| 亚洲欧洲日产国产| av有码第一页| 亚洲色图av天堂| 三级毛片av免费| 日韩欧美一区二区三区在线观看 | 少妇 在线观看| 日韩一卡2卡3卡4卡2021年| 91麻豆精品激情在线观看国产 | 黄色毛片三级朝国网站| 久久久久久久精品吃奶| 久久久久久久大尺度免费视频| 国产精品免费大片| videosex国产| 亚洲精品一卡2卡三卡4卡5卡| 国产麻豆69| 另类亚洲欧美激情| 王馨瑶露胸无遮挡在线观看| 免费人妻精品一区二区三区视频| 涩涩av久久男人的天堂| 国产成人av激情在线播放| 最近最新中文字幕大全免费视频| 纯流量卡能插随身wifi吗| √禁漫天堂资源中文www| 免费高清在线观看日韩| 丰满饥渴人妻一区二区三| 成人国产av品久久久| 国产精品欧美亚洲77777| 国产亚洲欧美在线一区二区| 亚洲专区国产一区二区| 桃花免费在线播放| 一二三四社区在线视频社区8| 激情在线观看视频在线高清 | 99久久99久久久精品蜜桃| 十八禁人妻一区二区| 国产成人系列免费观看| 怎么达到女性高潮| 一级片免费观看大全| 亚洲少妇的诱惑av| 高潮久久久久久久久久久不卡| 99国产精品一区二区蜜桃av | 欧美日韩亚洲综合一区二区三区_| 动漫黄色视频在线观看| 国产亚洲欧美精品永久| 大香蕉久久网| 日韩一区二区三区影片| av又黄又爽大尺度在线免费看| 精品人妻熟女毛片av久久网站| 欧美日韩av久久| 国产成人一区二区三区免费视频网站| 另类亚洲欧美激情| 亚洲自偷自拍图片 自拍| 美女主播在线视频| 久久毛片免费看一区二区三区| 夜夜骑夜夜射夜夜干| 欧美日韩福利视频一区二区| 久久久精品免费免费高清| 国产在视频线精品| 亚洲天堂av无毛| 一区福利在线观看| 欧美乱码精品一区二区三区| 国产av又大| 国产av一区二区精品久久| 亚洲专区字幕在线| 久9热在线精品视频| 久久毛片免费看一区二区三区| 欧美人与性动交α欧美软件| 日本一区二区免费在线视频| 另类亚洲欧美激情| 热99国产精品久久久久久7| av福利片在线| 国产精品免费一区二区三区在线 | 国产亚洲av高清不卡| 精品久久蜜臀av无| 国产成人精品在线电影| 欧美日韩黄片免|