RESUMEN
To mitigate the effects of the lack of IoT standardization, including scalability, reusability, and interoperability, we propose a domain-agnostic monitoring and control framework (MCF) for the design and implementation of Internet of Things (IoT) systems. We created building blocks for the layers of the five-layer IoT architecture and built the MCF's subsystems (monitoring subsystem, control subsystem, and computing subsystem). We demonstrated the utilization of MCF in a real-world use-case in smart agriculture, using off-the-shelf sensors and actuators and an open-source code. As a user guide, we discuss the necessary considerations for each subsystem and evaluate our framework in terms of its scalability, reusability, and interoperability (issues that are often overlooked during development). Aside from the freedom to choose the hardware used to build complete open-source IoT solutions, the MCF use-case was less expensive, as revealed by a cost analysis that compared the cost of implementing the system using the MCF to obtain commercial solutions. Our MCF is shown to cost up to 20 times less than normal solutions, while serving its purpose. We believe that the MCF eliminated the domain restriction found in many IoT frameworks and serves as a first step toward IoT standardization. Our framework was shown to be stable in real-world applications, with the code not incurring a significant increase in power utilization, and could be operated using common rechargeable batteries and a solar panel. In fact, our code consumed so little power that the usual amount of energy was two times higher than what is necessary to keep the batteries full. We also show that the data provided by our framework are reliable through the use of multiple different sensors operating in parallel and sending similar data at a stable rate, without significant differences between the readings. Lastly, the elements of our framework can exchange data in a stable way with very few package losses, being able to read over 1.5 million data points in the course of three months.