images Energy Engineering images

DOI: 10.32604/EE.2022.016411


A Low-Cost, Real-Time Rooftop IoT-Based Photovoltaic (PV) System for Energy Management and Home Automation

Muhammad Uzair*, Salah Al-Kafrawi, Karam Al-Janadi and Ibrahim Al-Bulushi

Electrical Engineering Department, Islamic University of Medina, Medina, 42315, Saudi Arabia
*Corresponding Author: Muhammad Uzair. Email: muzair@iu.edu.sa
Received: 04 March 2021; Accepted: 26 August 2021

Abstract: This work discusses the importance of monitoring and energy management of green energy resources in order to minimize the negative impacts of electricity generation by regular power plants. The paper introduces a highly efficient, low-cost rooftop photovoltaics (PV) solar panel system which can provide monitoring, controlling and automation. The proposed system is based on Internet of Things (IoT) and can be used to control different utilities in any premises automatically or set by the user-defined priority list, as compared to the existing IoT-based PV systems which can only perform monitoring and maintenance of the PV panels or only certain parameters, i.e., temperature, dust, etc. This is a new step in improving the efficiency of IoT-based PV system where the facility loads are automated by the IoT network. The proposed system can also provide a constant feedback about different parameters, i.e., voltage, dust, sun irradiance and humidity, etc., via low-cost open-source platforms for telemonitoring and controlling purposes. The simulation results show that the proposed system provides a high efficiency to energize the utilities and utilize the available energy as compared to the manual control.

Keywords: Photovoltaic; internet of things; automation; monitoring; performance analysis

ETotal output energy (Wh)
mnAverage power outputs (W)
xNumber of effective hours (h)
IoDiode reverse saturation current (A)
RsSeries resistance (Ω)
RshShunt resistance (Ω)
NDiode ideality factor (1)
KBoltzmann's constant (J/K)
TTemperature in Kelvin (K)

1  Introduction

Even though the technological advancements have brought numerous benefits and improved living standards, it has also brought countless negative effects, especially to the environment, i.e., air pollutions and global warming, etc. One of the reasons that caused these environmental disorders is the generation of power using thousands of power plants around the globe. The harmful emissions are produced in both the construction and operation procedures in these power plants causing temporary and permanent environmental impacts. Power plants that generate power by burning oil, natural gas, and coil emit various harmful emissions, like Carbon Monoxide (CO), Mercury (Hg), Sulphur Dioxide (SO2), andNitrogen Oxides (NOx), etc. [1,2]. These harmful emissions are also the main reason for acid perceptions, also known as “acid rains”, which can cause respiratory problems and the penetration of complex chemical reactions in the atmosphere [3]. To reduce and minimize these impacts, the scientific community has developed alternative approaches to produce energy and compel industries to pursue new standards to minimize these harmful effects. These approaches helped dramatically in decreasing the quantity of CO2 emissions and provided different ways of using cleaner resources of energy that also helped in reducing the restrictions on sustainable development [4,5].

One of these alternatives is to generate power by using renewable energy resources. The scientific community showed a great interest in this field due to the significant capability of covering energy requirements without compromising the environment. One of the proposed solutions is to generate electricity by utilizing solar energy from the sun. Photovoltaic (PV) systems take the photons obtained from the solar irradiance to produce electricity by following the principle of the photovoltaic effect. Moreover, PVs utilize all forms of solar irradiance, which are direct normal irradiance, direct horizontal irradiance and global horizontal irradiance. Taking the advantages of these irradiances enable the PV systems to operate in most of the morning weather conditions, making it an interesting research area [6,7].

On the other hand, the rise of the IoT concept over the past few years and how it can significantly improve and enhance the operation and performance of many systems has made this technology very attractive. IoTs with PVs have been also aroused in recent years. There are many papers in the literature that shows the advantages of interconnecting various PV systems with IoT technology [8]. The use of IoT with PV systems enhances the efficiency of PV systems and helps in cost reduction due to various features, i.e., enabling remote monitoring via various mobile devices, configuring security approaches easily, providing feedback and self-automation, etc. The data analytics tools are also one of the most important components in IoT technology. Without data analysis, the user cannot identify whether the system is working properly. Data analytics have many levels in the IoT system, depending on the application and implementation methods. At the first level, i.e., a descriptive-analytic level, a monitoring system provides constant feedback that describes what happens and leaves the decision-making for humans, for instance, data collecting, maintenance, and troubleshooting, history records, etc. Level two is the diagnostic level, in which the system tries to analyze the reasons behind certain kinds of behavior. For example, if the power output of a PV panel decreases, the system would notify the user to clean the dust on the PV panel. The diagnostic level has less human involvement than the descriptive level. The third level of data analytics is the predictive level in which the artificial intelligence is added to the second level, i.e., can predict the proper timings for cleaning according to the information provided by the diagnostic analysis. The final level of data analytic is the prescriptive level, which provides suggestions to the users according to the history of action or it can automatically take decisions without human involvement.

The monitoring techniques which are proposed by the previous works cover only the first three levels of data analytics. The existing studies do not provide an automated operating system that would enhance the system efficiency by controlling the loads (utilities) automatically, which will ultimately lead to consumption reduction. Similarly, the existing solutions also do not provide a mechanism to operate the utilities by a user-defined priority list [911]. In the same way, most of the previous PV systems based on IoT monitoring studies were conducted on PV farms and not on rooftops due to financial related concerns, limiting the potential benefits from these studies [12,13]. To cover the shortcomings in the existing solutions as described above, this paper proposes a smart automated PV system based on IoT technology suitable for various applications in residential buildings, industries or farms, etc. The proposed system automatically controls the operation of loads via relay models by using a switching mechanism to control the power flow to the loads, i.e., simplifying the overall architecture of the system. The proposed system allows the users to energize their facilities, like a home, building, industry, farms, etc., by utilizing solar power while automatically controlling and monitoring it through the internet.

The proposed IoT-based PV system will also maximize the efficiency usage produced from the sun by automatically controlling the system. The produced energy will be used to run different appliances when there is enough energy available from solar panels and batteries are fully charged. In case of less energy available from the solar panels, priority will be given to those appliances which are in high need or demand. The priority list can be modified in the dashboard (user-interface). The proposed system has been tested by two different ways to show its performance, i.e., manual and automatic. For manual testing, the decision-making is done by the user and for automatic mode, the decision is taken by the system without human involvement. Surveys were also conducted to find out the percentage of people who are interested in installing PVs and have an interest in following the IoT feedback. Simulation results show that the proposed system utilizes less energy from the grid, which maximizes efficiency, especially when it is used in the automatic mode as compared to the manual mode.

To identify the awareness about the green energy generated by the PV solar panels in our research, we also conducted a survey with 107 urban residents to find out the interest of the people regarding installing the PV panels on their rooftop. The survey finds that 91.6% of people are interested in installing PV panels in their homes as shown in Fig. 1a.


Figure 1: Surveys. (a) Survey 1 (people interest in installing PVs). (b) Survey 2 (people interests in following IoT feedback)

We also conducted another survey as shown in Fig. 1b. In this survey, we asked people whether they would follow the instructions, i.e., the time to operate their loads, if the monitoring system provides them a feedback about the best timings of the electricity generations from the solar panels. From this survey, 19.6% of the people are always (100%) willing to change their time of use (utilities) according to the system feedback; 37.4% of the people answered that they will usually (80%) follow the instructions; 30.8% of the people response were often (60%); 10.3% of the people answered that they will follow the instruction sometimes (40%), and 1.9% of the people answered that they do not care (20%). Therefore, from this survey, an average of 72.5% (0.196×100%+0.374×80%+0.308×60%+0.103×40%+0.019×20% = 72.5%) of the respondents said that they would follow the provided feedback in order to enhance the efficiency of the proposed system. This information is further utilized in testing the proposed system.

The rest of the paper is structured as follows. Section 2 presents the related work. Section 3 discusses the overall architecture of the system and elaborates how the PV panels are attached to the appliances via IoT, alongside data collection and analysis procedures. Section 4 presents the methodology of the proposed PV system. Section 5 presents the simulation to test the proposed system and Section 6 presents conclusions.

2  Literature Review

Many papers have been written in the past which presents the work related to the PV. One of the papers proposed an IoT-based monitoring system that tracks the impactful parameters for power generation such as temperature and dust [14]. The solution is designed to reduce losses which are caused by orientation, accumulation of dust and tilt angle by processing the collected data via the IoT monitoring system. The paper does not specify the types of used sensors and microcontrollers. Pereira et al. [15] aims to provide a PV module monitoring system based on free software. ESP8266 is used for communication with the server in the cloud through Wi-Fi. The monitored data such as temperature and humidity are shown on a web page named web monitor. The monitoring is done to detect any failure that is caused by the overheating of the PV panels. The limitation of the system is the need for a specific Wi-Fi router to enable communication between the two parties, i.e., the user and the designed system. Erhua [16] proposed a wireless monitoring model of PV based on IoT technology. The data processing ability and analysis effect were monitored in this paper. The paper showed that the failure rate in power generation is greatly reduced by the proposed monitoring model by using a sparse de­noising automatic encoder. The proposed solution showed accuracy above 96%.

Jeong et al. [17] introduced a smart photovoltaic system blindly. The study defines the design properties in three ways: the photovoltaic panel, the tracking system and the monitoring system. Although that the paper introduced three prototypes, implementation and results are presented in the third prototype only. The paper also does not specify the type of data storage, i.e., cloud, or physical storage device, etc. In [18], a renewable energy monitoring system (REMS) was developed which emphasizes on a multi-user remote system by using Raspberry Pi and IoT concept. The REMS system can sense and modify the monitoring process management, via remote firmware through an analog/digital converter embedded system. The work in [19] proposed a PV sun tracker through IoT using a single-axis and open control algorithm to avoid the use of photosensors. The paper does not present any electrical parameter details.

In [20], a low-cost real-time IoT-enabled data acquisition system for the monitoring of the PV panels was proposed. The proposed system uses open-access software, and a cloud service represents the monitored parameters, i.e., temperature, humidity, dust, voltage and current. The system was tested in difficult situations for 28 days and proved that it was working perfectly. The user can monitor the PV system from anywhere in the world through the open-access software. However, the system can only monitor the mentioned parameters, and it does not provide the capability to control the power from the PV panels. Taqwa et al. [21] illustrated that renewable energy resources may also be limited by weather, climate condition and time. Therefore, the paper proposed to synchronize IoT technology with a hybrid PV-wind system via microcontrollers. The proposed system can make an automatic or manual selection of the power sources according to the priority. The results show that the proposed solution is energy efficient with low cost and capable of reducing the carbon footprint.

Similarly, in [22] a methodology for the development of a low-cost, open-source Supervisory Control and Data Acquisition system (SCADA) was presented to remotely control and monitor PV systems based on IoT. The system uses analog sensors for monitoring solar PV systems. An Arduino Uno is used to analyze the data that are acquired from the sensors. The Raspberry Pi with Node-RED programming tool serves as a communication channel and the data is stored in Emmons's Local Server IoT Platform. However, only 260 W, 12 V PV panels are supported on this system.

A methodology was proposed in [23] for remote monitoring of the temperature of the photovoltaic system by using the IoT technology. The information is sent to the user through the Simple Mail Transfer Protocol in his email account. However, the work in [22] presents the data in a better way than [23] to the user, because it uses a dashboard rather than an email account. Rouibah et al. [24] provided an inexpensive method for the monitoring of the maximum power point tracking (MPPT) in a PV system. The monitoring board consists of an Arduino Mega, voltage and current sensors and an ESP8266 module to display the data. A website is used to display the monitored data, i.e., current and voltages, to easily ensure that the system is working perfectly. The system does not describe that how much power is produced by the panels. Another inexpensive system for large-scale PV modules is proposed in [25]. This system collects temperature data of solar panels operating in high temperature to observe the effects of hot climates. The system uses IoT to monitor the temperature by using sensors and then uploads data to the cloud through a Wi-Fi network. The proposed system only takes care of the temperature and does not show any circuitry and electrical components which are used in obtaining the results.

Zhang et al. [26] uses NB-IoT and LoRa approaches to design a low-power, wide area network information monitoring system. The proposed system has many advantages, i.e., improved transmission distance, reduced operational cost of the WAN information monitoring system, 1.3 km operating distance in a complex environment, minimum current of 2 mA and a communication pocket loss rate of approximately 3%, etc. However, the proposed system suffered losses by obstacles, electromagnetic interferences and antennas due to the use of LoRa communication. Another PV energy system for homes is introduced in paper [27]. The paper investigates solar measurements to enhance the performance and maintenance of the system. The enhancement is achieved by using a novel data logger based on free software and hardware installed on multiple sites. The paper uses 3G for the monitoring of the stand-alone PV system via web of mobile. However, a possible drawback is the loss of information in case of failures regarding networks. The proposed system is also not able to perform in environments of 40C and more, which limits its widespread use in any region.

Literature survey shows that the existing papers propose several approaches to monitor the PV panels/parameters via various IoT platforms. The monitoring techniques which are proposed by previous works cover only the first three levels of data analytics. These approaches help primarily in the monitoring, maintenance and enhancing the efficiency of PV systems. The existing approaches do not provide an automated system that would control the utilities (load) automatically or defined by the user, i.e., a user defined priority list, except [21]. To overcome the shortcomings of the existing approaches, this paper proposes a prescriptive IoT-based PV system which does not only automatically monitors, but also automatically controls the loads. This is a new step in improving the efficiency of IoT-based PV systems where the facility loads that are connected to the PV system are automated by the IoT network. The proposed solution will help in improving PV efficiency, saving energy, and improving the quality of life. The next section presents the architecture of the proposed system.

3  Architecture

Fig. 2 shows the architecture of the different components used in the proposed system. The proposed PV system aims to operate in the residential facilities to reduce electricity consumption of the electrical loads. Generally, due to the lack of area capacity between residential units, it was made sure that the chosen PV panel's hardware was suitable for rooftops implementations. Therefore, Loom solar 125-watt mono solar panels are used in the proposed. These panels are made of monocrystalline and provide high efficiency, i.e., (14–17%) more as compared to Polycrystalline (13–15%) and Amorphous (5–7%) [28]. These panels also provide great performance in low light and cloudy days with 3W output tolerance. Five solar panels have been used in our proposed system and each solar panel has dust, temperature, humidity and sun irradiance intensity sensors to collect weather data.


Figure 2: Architecture of the proposed system

The proposed PV system collects, stores, and analyses data for further processing. In order to achieve these requirements, combinations of hardware and software tools are used to collect the parameters which are required to analyze the performance of the PV system. These parameters are voltage, current, dust, humidity, temperature and solar irradiance. Solar irradiance is the primary source of energy produced by the sun that sets off the photovoltaic effect, i.e., makes it possible to utilize sun radiation in power generation purposes [29]. The parameters are collected by implementing two types of sensors, i.e., a maximum power point tracker (MPPT) unit and environmental sensors, as shown in Fig. 2. The environmental sensors provide various types of information related to the environment, i.e., temperature, dust, humidity and solar irradiance, etc.

The electrical components and their types used in this experiment are as follows, Arduino Mega 2560, NodeMCU ESP8266 Wi-Fi module, Raspberry Pi 4, EASUN power MPPT, GP2Y1010AU0F dust sensor, Digital temperature and humidity sensor, UV sensor GUVA-S12SD 3528 solar ultraviolet intensity sensor, DC Voltage Sensor DC 25 V, and ACS712 AC/DC current sensor. It was made sure that all the sensors used in the design were Arduino compatible.

The produced energy from the solar panels depends on the number of photons striking on the PV surface. An MPPT unit is attached to the PV panel in order to maximize the number of photons striking the surface and to help in obtaining the peak power voltage, i.e., maximum possible efficiency. Since MPPT encompasses a voltage and current sensors, it is also used to obtain the current and voltage readings and to indicate the maximum power that could be extracted from the solar panel by analyzing the I-V curve. However, an MPPT unit is not necessary, voltage and current sensors can also be connected to the panel directly like individual components in case of an MPPT unit is not available or not compatible with the microcontrollers.

Each Arduino mega 2560 is capable of processing 16 analog signals simultaneously. In this experiment, each PV panel has 5 sensors attached to it and with 5 PV panels, a total of 25 analog ports are connected. Two Arduino mega 2560 microcontrollers are also used in the data collecting process, i.e., analog signals taken from the sensors, processed, and transferred to the NodeMCUs which are responsible for transferring data to the cloud.

The communication between the cloud and sensors is achieved via a NodeMCU, i.e., a firmware kit that runs on the ESP8266 Wi-Fi module to assist in the development of an IoT-based product. NodeMCU receives the data from the data collecting microcontrollers via serial communication and uploads it to the Message Queuing Telemetry Transport (MQTT) broker, i.e., an IoT and machine-to-machine connectivity protocol for data transference which allows the communication among various devices of different types.

After data collection, all data are transferred to the cloud, which can be an on-premises computing, such as Arduino microcontroller and Raspberry Pi microcomputer or it could also be a purchased service like Amazon Web Service. In the cloud, data are processed, saved and it could be easily accessed by the operator. The cloud acts as the core of the system where all the system components are connected by using the MQTT network protocol. In the proposed system, a Raspberry Pi 4 microcomputer is used as a cloud and behaves as on-premises computing. It receives the uploaded data and computes it according to the designed algorithm. The third Arduino which is controlled via the dashboard is connected to the relay module to control the devices according to the processed data. Each Arduino in the system has a NodeMCU attached to it to provide internet connectivity as shown in Fig. 2.

Although the sensors and microcontrollers in the proposed architecture are like the previous works, but this architecture uses MQTT protocol, which is an open-source protocol that enables us to remotely monitor the PV system even if we are not connected to the same Wi-Fi network. With this approach, a limitation in the existing works is also removed. The next section presents the methodology of the proposed system.

4  Methodology

Fig. 3a shows the general procedure of the proposed solution, and Fig. 3b shows the flowchart of the proposed system.


Figure 3: General procedure and flowchart of the proposed algorithm. (a) General procedure of implementation. (b) Flowchart of the proposed algorithm

The proposed methodology is a multiple-layer approach in which four layers of IoT are used and discussed. The complete IoT layers are presented in Fig. 4. The first layer, i.e., the perception layer, is the data gathering layer. In this layer, the proposed IoT system encompasses voltage, current, temperature, humidity and dust sensors attached to the Arduino mega microcontrollers, which are also connected to the NodeMCUs. The Arduino mega can convert the analog signals of the sensors into digital data and transfers them to the MQTT broker through the Wi-Fi module. The cloud receives this data from the MQTT broker for further data analysis.

It is crucially important to keep track of the PV's panel temperature for maintenance and performance analysis. Similarly, dusts like sand and birds’ soil are also considered as the main obstacles for solar panels. Therefore, a dust sensor is also used to monitor the cleanliness of the panel which notifies the user to clean the PV cells when it is required.

The second layer, i.e., the network layer, is a data transmission layer. It is used to provide communication among the devices using the MQTT protocol as shown in the Fig. 5a. The MQTT is an open-source bi-directional pub-sub network protocol. The NodeMCU is programmed to upload the collected data from the sensors to a specific broker identified by the IoT network as shown in Fig. 5b. In the broker, the main topic will be created for each PV and this topic is comprised of subtopics for each sensor, i.e., Volt, Curr, Tem, Dust, Hum, etc. Each sensor reading will be automatically published after every two seconds on its assigned subtopic. The readings can be accessed and monitored by subscribing to the topics of the broker. The subscription is available for computers or mobile phones.


Figure 4: Shows the four layers of IoT approach


Figure 5: MQTT communication. (a) MQTT communication between sensors and dashboard. (b) Uploaded readings on the MQTT broker

The transmission process is initiated by ESP8622 NodeMCU. The NodeMCU has a built-in Wi-Fi chip that enables the ESP8622 to publish the processed analog signals on the broker. The published data on the broker are collected and listed in a Comma Separated Values (CSV) file by cloud computing or by on-premises computing. The CSV file is used to easily exchange data with the other devices in the network. The structure of the CSV file is composed of the subtopics in the broker as in Table 1.


The third layer is the middleware layer, i.e., cloud. It acts as the brain of the system and functions as the connecting bridge between IoT layers, i.e., enables the communication between the different IoT layers, etc., which are not designed originally to communicate directly with each other. In our methodology, it is mainly responsible for two operations, i.e., hosting the dashboard to present sensors readings, and sorting the data to use it in the desired automation process, etc. Moreover, the analytic model, i.e., control strategy, has also been developed by using Python for the weather forecast. This analytic approach is used to sort the data in the CSV file to estimate the power output during the day by using machine learning regressions represented in Eq. (1) [30].


where E is the total output energy expected for one day and it is measured in Wh. The variables m1, m2 …mn are measured in W and represent the slopes, i.e., average power outputs of the PVs, which is ideally 125 W according to the specification sheet of the PV, and it is used in our simulation. It can also be estimated from the historical data driven from the sensors (sorted values of voltage, current, temperature, dust and humidity in the CSV files that can be used to train a multiple regression model) to predict the value of average power outputs of each PV panel accordingly. The n represents the number of PVs. The variable x represents the number of effective sunshine hours which is derived from a regional weather forecasting data center. The data center provides total day hours (it has not been used to predict the power output in our work) and total sunshine hours. Total sunshine hours measured in h have been used to predict the power output as it provides us the time when sunshine light reaches to the PV panels effectively. The estimation model tells that how much power will be generated by the PV panels on a specific day and helps the system to decide which utilities should operate accordingly.

The analytical approach, i.e., control strategy works as follows. The cloud device (Raspberry Pi 4) measures the PVs output for 10 min, adds the CSV file to the SQL cloud, and then estimates accordingly the average energy for one hour. The obtained value is multiplied by the number of daylight hours in which the PVs will be producing energy. For an example, x is set as 9 h according to the weather forecast. If the total calculated value in Eq. (1) exceeds the required energy, i.e., Eproduced ≥ Erequired, the system will automate all devices since there is enough energy for all of them. However, if Eproduced < Erequired, it will operate only certain devices according to their priority defined by the user. A drawback in this approach is that setting ‘Erequired’ must be entered manually in the dashboard by assigning the power of each device and the number of operating hours. In future work, the system will be improved in such a way that it should be capable of estimating how much energy will be consumed by the connected devices automatically in order to improve the overall automation process.

The estimation model is accomplished by multiplying the expected sunshine hours by the average power output calculated from the voltage and current parameters. If Pgenerated ≥ Prequired, all devices will be operated. If not, they will be operated according to the priority list defined by the user, until no more energy is provided by the PV. The priority list is user defined; however, the control strategy can be improved in a way that the priority list is also automatically adjusted according to the history of actions. For an example, if the user regularly washes his clothes on Monday, then the washing device should be the first device in the priority list to be operated on Monday by the system automatically. According to the estimation model, IoT functions also instruct the listed home appliances to operate at those timings when electricity is being generated by the PV. The cloud is connected to those home facilities that run on their own such as washing machines, plant watering and chargeable devices, but need to be set on/off to operate. The estimation model will ensure that the connected devices will be automated only when the weather is suitable for solar electricity generation or if the batteries have sufficient charge to operate them without drawing electricity from the grid. Thus, by this methodology, i.e., IoT system will perform automatic load control without using energy from the grid or taking assistance from humans.

The fourth layer, i.e., the application layer, provides the user interface, i.e., dashboard, which is built by using open-source software Node-RED, which runs locally on Raspberry Pi 4. This layer is used for data graphic representation, and it consists of two main sections as shown in Fig. 6.


Figure 6: Proposed interface list (left) and priority list (right)

The first section is the monitoring section which displays the measured values of voltage, current, dust, temperature, humidity, sunlight intensity level and the daily proposed time of operation according to the analyzed data by the cloud. To display the aforesaid values, the dashboard is connected to the assigned MQTT broker by subscribing to the analog sensors subtopics in the broker. Thus, all the measurements are imported from the MQTT broker directly. The second section is a priority list section. The priority list is activated to automate home appliances according to their importance and energy availability. It is difficult to operate all devices at the same time because electricity generation by rooftop PV panels is a slow process during the day. The priority list will organize the order of automation and the user will be notified by the end of the day either via the dashboard or by using any other preferred communication method such as email or SMS notifications that which device has been automated today.

Therefore, the proposed system allows the users to energize their home facilities by utilizing the sun irradiance by monitoring and controlling as compared to the many other existing monitoring systems for PVs, i.e., SCADA, which are expensive to be used in citizen houses.

5  Simulation and Results

The simulation of the proposed system is done using the Proteus 8 Professional. The software provides various components and devices such as Arduino Uno, ESP8266 and LM35 temperature sensor, etc. However, the software does not provide a component that represents the PV panel. Thus, a PV panel circuit is constructed. The PV panel equivalent circuit consisting of voltage-controlled current source, diode, series resistor, shunt resistor and the load is shown in Fig. 7a [31]. The parameter IPH represents the current generated by light. The maximum power output given by one panel is 125 W, 25 V and 5 A. In our system, we are using 5 panels that will provide maximum power of 625 W. The PV panel equivalent circuit is built based on Eq. (2), where Io is the diode reverse saturation current, Rs is the series resistance, N is the diode ideality factor (1 for an ideal diode), K is the Boltzmann's constant, Rsh is the shunt resistance and T is the temperature in Kelvin [32].



Figure 7: PV panel equivalent circuits. (a) Simulated PV panel circuit. (b) Simplified PV panel circuit

The simulated circuit is shown in Fig. 7a, and the PV equivalent circuit is simplified into the sub-circuit as shown in Fig. 7b for easy use [31].

The PV circuit is further simplified and connected to an Arduino Uno as shown in the Fig. 8. The Arduino Uno is used to show the PV panel reading such as power, voltage, current and temperature. Since the Arduino Uno cannot show an output voltage more than 5 volts, an amplifier circuit is designed and attached to the input of the Arduino Uno at pins A0 and A1. The LM35 temperature sensor is used to obtain the climate temperature. The readings are shown in the LCD that is attached to the Arduino Uno. The ESP8266 is also attached to the Arduino Uno to send these data to the MQTT broker. The cloud server then processes these data and displays them on the dashboard.


Figure 8: Simulation circuitry for monitoring PV parameters via an Arduino

Table 2 shows the proposed loads that will work with the PV system. In our simulation, we are comparing between two approaches, i.e., IoT enabled PV system without automation, and IoT enabled PV system with automation. The loads which have been taken can be operated without the need of human interference, and these loads are also not necessary in daily life.

In order to specify an average daily sunshine hour for the whole year, we took the sum of the sunshine hours of all months and divided them over the number of months in a year. Based on the data provided from Fig. 9, i.e., daylight hours for all months, the average which can be used to represent all days in the year is ((Total sunshine hours in all months which is 119)/12 = 9.916 h) [33]. The daily power can be calculated by using Eq. (3) [34].


Here power represents the total power produced by one photovoltaic panel, quantity represents the number of used photovoltaic panels, and HrDay represents the average daily sunshine hours for the whole year.



Figure 9: Average day light hours in Medina, Saudi Arabia weather area for 1 year

In the proposed system, daily power is 125× 5× 9.916 = 6197.5 Wh. Therefore, in our proposed system, we have generated a random power in the range of 5500--6500 Wh via Python function for 30 days. The tolerance of 1000 Wh is used because of the climate change due to rain, humidity, clouds, temperature and sun irradiance. We have also generated random average utilization for the system usage without automation, i.e., the system monitors the power output and leaves decision making for humans, in the range of 62%–82% based on our conducted survey that yielded an average percentage of 72%. The tolerance of 10% was considered because different people would have various commitment levels to follow the IoT feedback and operate the devices manually. On the other hand, the system with automation has been assigned a higher utilization percentage, i.e., 75%–95%, due to the system automation and the instant usage of the PV power which leads to a constant and dedicated utilization of the PV energy, i.e., ideal situation 100% utilization. Figs. 10 and 11 show the results of both approaches, i.e., IoT enabled PV system with automation (A), and IoT enabled PV system without automation (B).


Figure 10: Utilization comparison for approach (A) and (B)

The simulated results show that the simulated PV power and the load power are the same for both cases. The difference is in the average power utilization percentage and power used from the grid. In Fig. 10, the average power utilization percentage is higher for approach (A), which is due to the system automation. It means that whenever enough power is available, a certain device will function by itself without any human interference. However, it will not be the same for approach (B), where available power will not be always used instantly at all times, as human interactions are not efficient like an automated system. In approach (A), no power is wasted from the PV panels, and the system can decide which device can be automated whenever there is enough power. Several devices can work at the same time if the power exceeds the amount to operate one device.

Similarly, in Fig. 11, the simulated result shows that power used from the grid is less in the automated approach (A), because the automation enhances the utilization efficiency of the system. Figs. 10 and 11 clearly show that the proposed system (A) enhances the efficiency of a PV system by increasing the utilization rate and minimizing the power consumed from the grid which will ultimately lead to the cost reduction. The negative values in Fig. 11 for approach (A) indicate that on some days there is a surplus of energy generated from the PVs. This energy can be stored in batteries, or it can be sold to electricity providers.


Figure 11: Grid power consumption for case (A) and (B)

Although the presented procedure is accurate and precise, a comparison between the proposed simulated system and a real implementation of the proposed system will be of great interest. In real life implementation, more or different PV panels can be used along with different system specifications which can vary the overall system output. Similarly, the computational power which is required for estimation and automation might also vary depending on the size of the implementation and scale of options. Therefore, further studies should be done for deciding the suitable sensors and middleware in the final design according to the requirements. The future studies should also focus on machine learning to find the best optimized models for the power output. Similarly, weather conditions must also be taken into account and require further research for real implementation of PV systems as it is one of the main factors that can impact the overall system output. For an example, the regions which experience heavy dust storms may experience a complete blocking of the sunlight impacting the overall system output or regions where sun never sets may experience considerably better overall system output, etc.

7  Conclusion

The technology of the PV solar panels has meaningful impacts on the environment, economy and energy. Most of the existing IoT-based PV systems are only able to provide monitoring or maintenance of the PV panels or certain parameters, such as temperature, voltage, dust, etc. These approaches do not provide any IoT-based system which can be used to energize (control) different utilities in any premises automatically. Our primary contribution in the paper is that the proposed IoT system overcomes the existing shortcoming, and does not only provide monitoring and maintenance, but also exclusively provides control of different utilities automatically, i.e., on its own or set the by the user-defined priority list. This feature, i.e., controlling the loads automatically, outperforms all existing solutions, which are not able to perform any kind of automation with respect to the loads. Another contribution is that the proposed system is also highly efficient as compared to existing solutions since other systems are not able to operate automatically to control the loads.

The proposed system provides a high utilization rate of the available energy due to automation and consequently consumes less energy from a grid or other resources. Another contribution is that the proposed system can be installed on any premises, especially homes due to its low-cost, convenience, and high efficiency as compared to the existing systems which are mainly designed for farms. These features will encourage people to implement rooftop PV panel systems which will also reduce electricity generation by regular power plants, and will have a positive environmental impact, i.e., life quality improvements, etc. The proposed system has been tested through simulations in two different ways to show its performance, i.e., with and without automation. Simulation test results clearly show that the proposed system offers a highly efficient way of energizing the utilities, i.e., usage of the available energy, as compared to the manual control. Surveys have also been conducted to get an understanding of the users’ approach which is further used for evaluating the proposed PV system. The proposed system will reduce electricity bills by minimizing grid power without using storage units or human interactions and help power companies to avoid peak hour generations.

The proposed system can easily be enhanced and implemented for large-scale monitoring and automation like farms, industry, etc., by integrating the proposed system with cloud services such as Amazon Web Service or Microsoft Azure. This real implementation will also provide a comparison between our proposed simulated system and real implementation. The research also contributes to demonstrating the capabilities of the free IoT open-source platforms and their promising scalabilities in the engineering applications, which will also encourage more innovation in the future works since such platforms are easily accessible.

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

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


  1. Mariano, J., Santos, F., Brito, G., Junior, J., & Junior, E. F. C. (2016). Hydro, thermal and photovoltaic power plants: A comparison between electric power generation, environmental impacts and CO emissions in the Brazilian scenario. International Journal of Energy and Environment, 7(4), 347-356. [Google Scholar]
  2. Bell, S., & York, C. (2012). Injustice, and environmental destruction: Introduction to the special issue on coal and the environment. Organization and Environment, 25(4), 359-367. [Google Scholar] [CrossRef]
  3. Bruno, G. (2007). Global warming is mainly a result of heat emissions. Sweden, Lulea University of Technology.
  4. Khan, H., Khan, I., & Binh, T. T. (2020). The heterogeneity of renewable energy consumption, carbon emission and financial development in the globe: A panel quantile regression approach. Energy Reports, 6, 859-867. [Google Scholar] [CrossRef]
  5. Panwar, N., Kaushik, S., & Kothari, S. (2011). Role of renewable energy sources in environmental protection: A review. Renewable and Sustainable Energy Reviews, 15(3), 1513-1524. [Google Scholar] [CrossRef]
  6. Rawat, N., Thakur, P., & Jadli, U. (2019). Solar PV parameter estimation using multi-objective optimization. Bulletin of Electrical Engineering and Informatics, 8(4), 1198-1205. [Google Scholar] [CrossRef]
  7. Sharma, C., & Jain, A. (2017). Entrepreneurship through start-ups in hill areas using photovoltaic systems. Bulletin of Electrical Engineering and Informatics, 6(2), 105-121. [Google Scholar] [CrossRef]
  8. Liu, Y., Yang, C., Jiang, L., Xie, S., & Zhang, Y. (2019). Intelligent edge computing for IoT-based energy management in smart cities. IEEE Network, 33(2), 111-117. [Google Scholar] [CrossRef]
  9. Kolhe, M. L., & Rasul, M. J. M. A. (2020). 3-Phase grid-connected building integrated photovoltaic system with reactive power control capability. Renewable Energy, 154, 1065-1075. [Google Scholar] [CrossRef]
  10. Byrne, J., Taminiau, J., Kim, K. N., Lee, J., & Seo, J. (2017). Multivariate analysis of solar city economics: Impact of energy prices, policy, finance, and cost on urban photovoltaic power plant implementation. Wiley Interdisciplinary Reviews: Energy and Environment, 6(4), 851-867. [Google Scholar] [CrossRef]
  11. Lee, B., Byun, J., Choi, M. I., Kang, B., & Park, S. (2014). Degradation diagnosis system of photovoltaic panels with mobile application. IEEE Transactions on Consumer Electronics, 60(3), 338-346. [Google Scholar] [CrossRef]
  12. Xia, K., Ni, J., Ye, Y., Xu, P., & Wang, Y. (2020). A real-time monitoring system based on ZigBee and 4G communications for photovoltaic generation. CSEE Journal of Power and Energy Systems, 6(1), 52-63. [Google Scholar] [CrossRef]
  13. Paredes-Parra, J. M., García-Sánchez, A. J., Mateo-Aroca, A., & Molina-García, Á. (2019). An alternative Internet-of-Things solution based on LoRa for PV power plants: Data monitoring and management. Energies, 12(5), 881. [Google Scholar] [CrossRef]
  14. Sivagami, P., & Jothiswaroopan, N. M. (2020). IOT based statistical performance improvement technique on the power output of photovoltaic system. Journal of Ambient Intelligence and Humanized Computing, 12(5), 5029-5043. [Google Scholar] [CrossRef]
  15. Pereira, R. I., Jucá, S. C., & Carvalho, P. C. (2019). IoT embedded systems network and sensors signal conditioning applied to decentralized photovoltaic plants. Measurement, 142, 195-212. [Google Scholar] [CrossRef]
  16. Erhua, S. U. N. (2018). Solar photovoltaic power generation wireless monitoring system based on IoT technology. Light & Engineering, 26(4), 130-136. [Google Scholar] [CrossRef]
  17. Jeong, K., Hong, T., Koo, C., Oh, J., & Lee, M. (2017). A prototype design and development of the smart photovoltaic system blind considering the photovoltaic panel, tracking system, and monitoring system. Applied Sciences, 7(10), 1077. [Google Scholar] [CrossRef]
  18. Pereira, R. I., Dupont, I. M., Carvalho, P. C., & Jucá, S. C. (2018). IoT embedded linux system based on raspberry Pi applied to real-time cloud monitoring of a decentralized photovoltaic plant. Measurement, 114, 286-297. [Google Scholar] [CrossRef]
  19. Gutierrez, S. S., Rodrigo, P. M., Alvarez, J., Acero, A., & Montoya, A. (2020). Development and testing of a single-axis photovoltaic Sun tracker through the Internet of Things. Energies, 13(10), 2547. [Google Scholar] [CrossRef]
  20. Gupta, V., Sharma, M., Pachauri, R. K., & Babu, K. D. (2020). A Low-cost real-time IOT enabled data acquisition system for monitoring of PV system. Energy Sources, Part A: Recovery, Utilization, and Environmental Effects, 43(20), 2529-2543. [Google Scholar] [CrossRef]
  21. Taqwa, A., Kusumato, R. D., Dewi, T. (2018). Synchronization and application of IoT for on grid hybrid PV-wind system. International Conference on Applied Science and Technology, pp. 617–621. Manado, Indonesia, Indonesia. DOI 10.1109/iCAST1.2018.8751532. [CrossRef]
  22. Aghenta, L. O., Iqbal, M. T. (2019). Development of an IoT based open source SCADA system for PV system monitoring. IEEE Canadian Conference of Electrical and Computer Engineering, pp. 1–4. Edmonton, AB, Canada, Canada. DOI 10.1109/CCECE.2019.8861827. [CrossRef]
  23. Deriche, M., Raad, M. W., Suliman, W. (2019). An IOT based sensing system for remote monitoring of PV panels. 16th International Multi-Conference on Systems, Signals & Devices, pp. 393–397. Istanbul, Turkey, Turkey. DOI 10.1109/SSD.2019.8893161. [CrossRef]
  24. Rouibah, N., Barazane, L., Mellit, A., Hajji, B., Rabhi, A. (2019). A low-cost monitoring system for maximum power point of a photovoltaic system using IoT technique. International Conference on Wireless Technologies, Embedded and Intelligent Systems, pp. 1–5. Fez, Morocco, Morocco. DOI 10.1109/WITS.2019.8723724. [CrossRef]
  25. Priyadarshi, S., Bhaduri, S., Shiradkar, N. (2018). IoT based, inexpensive system for large scale, wireless, remote temperature monitoring of photovoltaic modules. IEEE 7th World Conference on Photovoltaic Energy Conversion (A Joint Conference of 45th IEEE PVSC, 28th PVSEC & 34th EU PVSEC), pp. 749–752. Waikoloa Village, HI, USA, USA. DOI 10.1109/PVSC.2018.8547354. [CrossRef]
  26. Zhang, X., Zhang, M., Meng, F., Qiao, Y., & Xu, S. (2018). A low-power wide-area network information monitoring system by combining NB-IoT and LoRa. IEEE Internet of Things Journal, 6(1), 590-598. [Google Scholar] [CrossRef]
  27. López-Vargas, A., Fuentes, M., & Vivar, M. (2018). IoT application for real-time monitoring of solar home systems based on Arduino™ with 3G connectivity. IEEE Sensors Journal, 19(2), 679-691. [Google Scholar] [CrossRef]
  28. Touati, F. A., Al-Hitmi, M. A., & Bouchech, H. J. (2013). Study of the effects of dust, relative humidity, and temperature on solar PV performance in Doha: Comparison between monocrystalline and amorphous PVS. International Journal of Green Energy, 10(7), 680-689. [Google Scholar] [CrossRef]
  29. Buni, M. J., Al-Walie, A. A., & Al-Asadi, K. A. (2018). Effect of solar radiation on photovoltaic cell. International Research Journal of Advanced Engineering and Science, 3(3), 47-51. [Google Scholar]
  30. Andreas, C. M., Sarah, G. (2016). Introduction to machine learning with python: A guide for data scientists. California, USA: O'Reilly.
  31. Motahhir, S., Chalh, A., Ghzizal, A., Sebti, S., & Derouich, A. (2017). Modeling of photovoltaic panel by using proteus. Journal of Engineering Science and Technology Review, 10, 8-13. [Google Scholar] [CrossRef]
  32. Meng, Z., Zhao, Y., Tang, S., & Sun, Y. (2020). An efficient datasheet-based parameters extraction method for two-diode photovoltaic cell and cells model. Renewable Energy, 153, 1174-1182. [Google Scholar] [CrossRef]
  33. Weather-atlas (2021). Average daylight hours in Madinah, Saudi Arabia. https://www.weather34 atlas.com/en/saudi-arabia/medina.
  34. Messenger, R. A., Abtahi, A. (2017). Photovoltaic systems engineering. Florida, USA: CRC Press.
images This work is licensed under a Creative Commons Attribution 4.0 International License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.