Low-Cost Artificial Intelligence Powered Smart House
BSc. Electrical & Electronic Engineering
Kelvin Carrington Tichana
Capstone Project submitted to the Department of Engineering, Ashesi University in partial fulfilment of the requirements for the award of Bachelor of Science degree in Electrical and Electronic Engineering.
Kelvin Carrington Tichana
2023
ABSTRACT
This paper presents the design and implementation of M.I.S.C.H.I.E.F, an intelligent home automation system using Raspberry Pi 4 Model B, ESP32 microcontroller, and MQTT messaging protocol. Chapter 1 provides the background and problem definition of the study. Chapter 2 reviews related work and literature. Chapter 3 describes the design and fabrication of the hardware and software, including the selection of the Raspberry Pi 4 Model B, ESP32 microcontroller, and other sensors and actuators. The chapter also presents a cost analysis and explains the reasons for using the Raspberry Pi 4 Model B and MQTT protocol. Chapter 4 presents the results and discussions, including the functionality of the ESP32-based web server and MQTT client program, the training results of the wake word model, and the capabilities of M.I.S.C.H.I.E.F (Modelling Intelligent Systems for Computer-Human Effort Free).
ACKNOWLEDGEMENTS
I would like to express my sincerest appreciation to Kofi Adu-Labi for his exceptional guidance and supervision throughout the research of this project. His expertise as an engineering lecturer has been invaluable in ensuring the project met the highest standards of quality. Additionally, I extend my heartfelt gratitude to Jan Macenka from Jan Macenka IT Consulting in Germany, for his mentorship and support, and thank the faculty and the Ashesi D
CHAPTER 1 : Introduction
1.1 Background
With the advancements in the fields of Internet of Things, Embedded Systems, and Machine Learning, automation has become more robust, scaled, and convenient to achieve in a wide spectrum of industries. Smart home automation is being adopted in an attempt to ease life. As Filipe and Peres highlight, the Internet of Things and Voice Activation have made tedious and repetitive home tasks that are done by humans be automated with accuracy and efficiency[2]. There are several home assistant systems available on the market today that are designed to make life easier and more convenient for homeowners. These systems typically use voice recognition technology and artificial intelligence to respond to user commands and perform a variety of tasks, such as controlling lights and appliances, setting reminders and alarms, playing music, and even answering questions. Some of the most popular home assistant systems include Amazon's Echo, Google's Home, and Apple's HomePod. These systems are all equipped with powerful virtual assistants, such as Alexa, Google Assistant, and Siri, that are capable of handling a wide range of tasks and commands. In addition to these well-known systems, there are also many smaller, more specialized home assistant systems available, each with its own unique set of features and capabilities..
1.2 Problem Definition
Smart home technologies, such as Amazon Echo, Google Nest, and Apple HomePod, have gained significant popularity in developed countries due to their ability to automate daily tasks and improve the quality of life. However, these technologies have yet to penetrate the African market fully, particularly among low to middle income families. This is due to several challenges that these families face when trying to acquire and utilize these technologies.
One major obstacle to adoption is the high cost of smart home systems. Many smart home technologies, such as smart thermostats, smart light bulbs, and smart security systems, can be expensive, especially when purchased in large quantities or as part of a larger smart home setup. For low income families who are already struggling to pay for basic necessities like housing, food, and healthcare, these costs can be prohibitive. Additionally, some smart home technologies require specialized hardware or software, which can be a financial burden for low income families.
Another challenge is the lack of access to necessary infrastructure, particularly high-speed internet. Many smart home technologies require a reliable internet connection to function properly, and this can be a barrier for families who may not have access to high-speed internet in their area or who cannot afford to pay for a subscription. Furthermore, some families may lack the technical expertise to install and configure these technologies.
A lack of awareness and understanding of these technologies also presents a significant barrier to adoption. Without proper education and access to information, it can be difficult for families to recognize the benefits of smart home technologies and how to use them effectively. This can create a further barrier to adoption and make it harder for low income families to take advantage of these technologies.
Data privacy concerns and the potential for hacking and cyberattacks may also discourage adoption. Many smart home technologies collect and transmit personal data, which can be a
concern for families who worry about their data being misused or stolen. Governments may also be hesitant to allow the deployment of devices that can collect and transmit personal data, creating regulatory barriers to adoption.
Furthermore, traditional smart home technologies lack the versatility and intelligence that machine learning brings to IoT. Although AI-enabled hubs utilize the cloud and Edge for data processing, cloud-based data processing can be a concern for customers who prefer Edge computing. Efforts by Siri and Google Assistant to allow on-device processing with their respective new chips, Apple silicon and Google Tensor, only address part of the challenge, as some processing still requires a server.
To overcome these challenges, solutions must address affordability, education, accessibility, and privacy. Developers and manufacturers must focus on creating more affordable and accessible smart home devices that can be easily installed and configured, and they must work to raise awareness and understanding of the benefits of these technologies. Additionally, solutions must be found to ensure data privacy and security, whether through on-device processing or other means. Finally, governments must work to create a regulatory environment that encourages the adoption of smart home technologies while also protecting the privacy and security of their citizens.
CHAPTER 2
2.1 Related Work
A smart home is a building that makes use of network-connected gadgets to enable remote monitoring and control of systems and appliances. Home owners can benefit from security, comfort, convenience, and energy savings thanks to smart home technology. Smart home systems and gadgets work together frequently and are a component of the Internet of Things (IoT). The paper titled "Voice-Activated Smart Home Controller Using Machine Learning" presents a solution for the problem of devices failing to adapt to the frequent changes in the user's habits and preferences. The paper proposes a voice-activated smart home controller for intelligent devices that integrates evolvable intelligence with the use of an online learning framework. The system adapts to the user's habits and behavioral patterns, thereby simplifying their daily lives and creating a more comfortable environment.
The authors of the paper are Leandro Filipe, Ricardo Silva Peres, and Rui Manuel Tavares. The work was carried out at the Department of Electrical and Computer Engineering, NOVA School of Science & Technology, NOVA University of Lisbon, and the UNINOVA Centre of Technology and Systems (CTS), Caparica, Portugal. The paper was published in 2021 in the Journal of Sensor and Actuator Networks, volume 9.
The paper provides an overview of the emergence of the Internet of Things and the concept of smart homes. It highlights the integration of various technological devices into households to automate tasks previously performed by humans. The authors identify a problem with these devices, which is the failure to keep up with the frequent changes in the user's habits and tastes. The paper proposes a voice-activated smart home controller for intelligent devices that integrates evolvable intelligence with the use of an online learning framework.
The authors present the design and implementation of the proposed solution and validate it in an experimental setup of motorized blinds. They also provide an open-source dataset of user behavior from the smart blinds scenario and compare online and offline learning approaches. The paper's main contributions are the design of a smart home controller's architecture, the end-to-end implementation of a smart home controller and respective guidelines, an open-source dataset of user behavior from the smart blinds scenario, and a comparison between online and offline learning approaches. Smart home systems have been extensively studied, but some limitations, including high cost, limited functionality, and poor usability, continue to exist. As a result, another research project aimed to develop a low-cost, scalable, reliable, and user-friendly smart home system prototype that integrates hardware and software. The prototype was developed using hardware such as Arduino Uno, servo motors, a temperature sensor, a motion sensor, and a battery, as well as software such as the Arduino integrated development environment (IDE) and the MIT App Inventor for Android mobile phones. Sweet Home 3D software was also used to enhance the prototype's design. Six experts evaluated the system and provided feedback on its practicality and ease of use, and it was shown to be a practical, easy-to-use, and integrated system that allows for easy installation of new devices. However, further developments are needed, such as improving power supply reliability, incorporating other wireless technologies such as Wi-Fi and ZigBee, and developing cross-platform apps that support different operating systems such as iOS for people who use Apple devices with MIT App Inventor.
2.2 Literature Review
According to Filipe, et. al, the idea behind the Internet of Things is to make it possible to automate jobs that were previously done by humans. In this article, voice-activated smart home controllers for intelligent devices are designed and completely implemented. It was implemented in a genuine setting and certified using a motorized blinds experimental setup. The project seeks to get insight into voice control of smart home devices [2]. Another paper that aids this project is by Chenxuan. The Internet is embodied in the smart home under the effect of object connectivity. It is vital to create an individualized speech recognition system for the elderly who have mobility issues. In this post, there is an examination of the deep learning-based auto speech recognition tool. The project intends to expand on this technology using the Python programming language and Natural Language Processing[1]. In another article, a description of a smart home system that makes use of an Arduino as a node and a Raspberry Pi as a controller (local server) is given. This solution allows for both local (intranet) and remote (internet) access to smart homes. The fundamental issue is that while most nodes operate independently, there is no centralized control mechanism. The capstone project will expand the embedded devices to ESP32 inclusive [5]. A similar research explores smart homes using Arduino. In the research, the residential version of building automation is a smart house. It began with the automation and control of systems that guarantee human comfort. Most household equipment that use Wi-Fi for remote monitoring are now included in it thanks to recent evolution. We demonstrate an Arduino-based, cost-effective, and feature-rich home automation system[8].
Chapter 3: DESIGN AND FABRICATION
The design of an AI powered smart home uses security, fast processing, adaptive control, Wifi connectivity and the versatility of machine learning. IoT converges with embedded systems, Networks, and Machine learning in the design of this project. In this project, the Raspberry Pi is used as a hub with an MQTT server running on it. A virtual assistant with voice processing and video processing also runs on the Raspberry Pi as well as the main computer server.
The Raspberry Pi 4 Model B is a single-board computer that is based on the Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz. It has 1GB, 2GB, 4GB, or 8GB of LPDDR4-3200 SDRAM depending on the model. It also has a Gigabit Ethernet port, two USB 2.0 ports, two USB 3.0 ports, and dual-band 802.11b/g/n/ac wireless LAN and Bluetooth 5.0. The Raspberry Pi 4 has a USB Type-C power supply and supports two micro-HDMI ports that can drive two displays at resolutions up to 4K. It has a 40-pin GPIO header, a stereo/multichannel audio output, and a MIPI DSI display port. It also has a MIPI CSI camera port and a 4-pole stereo output. The Raspberry Pi 4 is compatible with a variety of operating systems, including Raspbian, Ubuntu, and more.
3.32 Why Raspberry Pi Model B?
The Raspberry Pi 4 Model B is a small and affordable single-board computer that is well-suited for use in a variety of applications, including as a platform for AI and as an MQTT
18
broker. One reason the Raspberry Pi 4 is well-suited for AI is that it is equipped with a powerful processor and a large amount of RAM, which allows it to handle the demands of running machine learning models and other AI algorithms. In addition, the Raspberry Pi 4 has good support for AI frameworks such as TensorFlow and PyTorch, making it easy to use for AI development.
As an MQTT broker, the Raspberry Pi 4 is also a good choice because it has the processing power and connectivity to handle the demands of serving as the central hub for communication between clients. The Raspberry Pi 4 has multiple USB ports, Ethernet connectivity, and built-in Wi-Fi, which makes it easy to connect a variety of devices. Additionally, the Raspberry Pi 4 has a low power consumption, which makes it well-suited for use in portable or battery-powered applications. Overall, the Raspberry Pi 4 is a powerful and versatile platform that is well-suited for use in AI and as an MQTT broker.
3.33 Message Queuing Telemetry Transport (MQTT)
MQTT is a lightweight messaging protocol that is widely used for communication in the Internet of Things (IoT) and other connected devices. It was designed to be simple, efficient, and easy to use, making it an ideal choice for a capstone project. One of the main reasons I chose MQTT is because it has a small code footprint and requires minimal resources, which is important when working with resource-constrained devices. MQTT is also highly scalable, making it well-suited for large-scale deployments. Additionally, MQTT has a robust and active community of users and developers, which provides a wealth of support and resources. Overall, MQTT is a reliable and efficient choice for a capstone project, and I believe it will serve my project well.
Here are some key properties of MQTT:
Lightweight: MQTT has a small code footprint and requires minimal resources, making it well-suited for use on resource-constrained devices such as sensors and other IoT devices.
Publish/subscribe model: MQTT uses a publish/subscribe model for communication, where clients can publish messages to a server (known as a broker) and other clients can subscribe to receive those messages. This allows for a decoupled communication architecture, where devices do not need to be directly connected to each other in order to communicate.
Asynchronous: MQTT is an asynchronous protocol, which means that it does not require a constant connection between clients and the broker. This makes it well-suited for use in environments where connectivity is intermittent or unreliable.
Efficient: MQTT is designed to be efficient in terms of bandwidth and processing power, making it suitable for use in low-power and low-bandwidth environments.
Scalable: MQTT can handle many clients, making it well-suited for large-scale deployments.
Secure: MQTT supports several security features, including encryption and authentication, to help protect against unauthorized access and ensure the integrity of transmitted data.
When a client wants to publish a message, it sends the message to the broker along with a topic. The topic is a string that specifies the subject of the message. Clients that are interested in receiving messages on a particular topic can subscribe to that topic.
When the broker receives a published message, it stores the message and forwards it to any subscribed clients. Clients can also specify a "quality of service" level when subscribing to a topic, which determines how the broker handles the message. There are three levels of quality of service:
At most once: The broker will attempt to deliver the message, but it may not be delivered.
At least once: The broker will ensure that the message is delivered at least once, but it may be delivered multiple times.
Exactly once: The broker will ensure that the message is delivered exactly once.
3.34 ESP32 microcontroller
The ESP32 is a microcontroller that is well-suited for use in a capstone project because of its versatility and wide range of features. One key reason I chose the ESP32 is because it has built-in Wi-Fi support, which made it easy to connect to the Internet and communicate with other devices. I used the MQTT protocol for communication, which is well-suited for use in IoT applications due to its lightweight nature and efficient use of resources.
In addition to its MQTT and Wi-Fi capabilities, the ESP32 also has a built-in web server, which made it easy to serve up web pages and other content. I used this feature to create a user interface that allowed me to control and monitor the device remotely. I also used the phpMyAdmin database management system to store and retrieve data, which was important for keeping track of sensor readings and other data generated by the device.
Finally, the ESP32 has support for SPIFFS, which is a filesystem that allows you to store files on the device itself. I used this feature to store HTML, CSS, and JavaScript files that were used to create the user interface for the device. Overall, the ESP32 was a powerful and versatile choice for my capstone project, and its MQTT and Wi-Fi capabilities were key to its success. The ESP32 can read analog sensor values and toggle relays on MQTT commands and also host a webserver to control actuators and display sensor readings.
The ESP32 is a microcontroller that is based on the ESP32 D0WDQ6 chip, which is part of
the ESP32 D0WD family of chips. It has a dual core processor that is based on the 32 bit
Xtensa LX6 microarchitecture, and each core is cloc ked at up to 240 MHz The ESP32 has
448KB of ROM and 520KB of SRAM, as well as an on chip 802.11b/g/n/e/i and Bluetooth
v4.2/v5.0 wireless LAN and Bluetooth 5.0 radio. It also has a number of other features,
including:
Capacitive touch sensors
Hall effect senso r
SD/SDIO/MMC host controller
I2S an d PCM/I2S
Ethernet MAC interface with MII/RMII
CAN bus 2.0
Infrared remote controller
Pulse width modulation (PWM)
21
• Motor PWMMotor PWM • Temperature sensorTemperature sensor • ADCADC • DACDAC • SDIO slaveSDIO slave
The ESP32 is available in several form factors, including a module, a development board, and a chip. It is compatible with a variety of operating systems and software development environments, including the Arduino IDE. The ESP32 microcontroller is a powerful and versatile platform that offers a range of capabilities beyond just Wi-Fi and MQTT. One of its standout features is its support for real-time operating systems (RTOS), which enables the scheduling and execution of multiple tasks concurrently. FreeRTOS is an open-source, real-time operating system that is widely used in embedded systems and is supported by the ESP32. Using FreeRTOS, tasks that can run concurrently and share resources efficiently can be created. Tasks can be created using the xTaskCreate() function, which takes several parameters such as the task name, stack size, priority level, and a pointer to the task function. This allows the definition of the order in which tasks are executed, as well as their priority. FreeRTOS also provides various synchronization mechanisms such as semaphores, mutexes, and queues to ensure that tasks do not interfere with each other.
By using FreeRTOS on the ESP32, developers can create concurrent tasks that perform time-critical operations, ensuring that each component of the system works together efficiently. For example, a sensor reading task can be created to read sensor values at regular intervals and update a shared buffer. Another task can be created to read the buffer and publish the data to an MQTT broker. Yet another task can be created to control actuators based on the data received from the MQTT broker. With FreeRTOS, all these tasks can run concurrently and share resources efficiently, leading to improved performance and reliability of the IoT application.
3.35 Raspberry Pi Camera The Raspberry Pi camera is a small and affordable camera module that is well suited for use
in a smart home capstone project that involves computer vision. One reason the Raspberry Pi
camera is a good choice for this type of project is that i t is easy to integrate with a Raspberry
Pi, which is a small and affordable single board computer that is well s uited for use in smart
home applications. The Raspberry Pi camera can be easily connected to the Raspberry Pi using
a ribbon cable, and there are a variety of softw are libraries and tools available that make it easy
to capture and process images and video.
In addition to its ease of use, the Raspberry Pi camera is also capable of capturing high quality
images and video, which is important for reliable object recognition and other comp uter vision
tasks. The camera has a variety of features such as adjustable resolution, automatic white
balance, and automatic exposure control, which can help improve the accuracy and reliability
of computer vision algorithms.
Overall, the Raspberry Pi camera is a versatile and affordable choice for a smart home capstone
project that involves computer vision, and its high quality image and video capture capabilities
make it well suited for a wide range of applications.
3.4 SOFTWARE
3.41 Wake word detection
Using machine learning for wake word detection on the Raspberry Pi 4 is a good choice because
it allows the system to learn and adapt over time, improving the accuracy of the detection.
Machine learning algorithms can be trained on a large dataset of examples, allowing them to
learn the characteristics of the wake word and differentiate it from other words and sounds.
One of the key benefits of using machine learning for wake word detection is that it can handle
a wide range of variations in the wa y the wake word is spoken, such as different accents,
pronunciations, and speaking styles. This makes it more robust and reliable compared to
traditional rule based approaches, which may be prone to false positives or false negatives.
Additionally, using machine learning fo r wake word detection allows the system to be updated
and improved over time as new data becomes available, further improving the accuracy of the
detection. This is particularly useful in the context of a smart home, where the system may
need to adapt to n ew users and changing environments. Overall, machine learning is a powerful
and flexible approach for wake word detection on the Raspberry Pi 4, and it can help improve
the reliability and usability of the system.
To train a TensorFlow Lite model for wake word detection on the Raspberry Pi 4, you first
need to obtain a dataset of audio samples. One option is to use the Google Speech Commands
dataset, which is available on Kaggle. This dataset consists of a large number of audio samples
of various words and phrases, including a number of wake words.
29
OnceOnce the datathe datasetset was obtainedwas obtained, , a a Google Colaboratory Google Colaboratory was used was used to train a convolutional neural to train a convolutional neural network (CNN) on the data. To do this, network (CNN) on the data. To do this, there was a there was a need to convert the time domain waveforms need to convert the time domain waveforms of the audio samples to frequency domainof the audio samples to frequency domain spectrograms using the short Fourier transform from spectrograms using the short Fourier transform from TensorFlow. This is necessary because CNNs are designed to process images, and the TensorFlow. This is necessary because CNNs are designed to process images, and the spectrograms can be treated as images.spectrograms can be treated as images. The formula for the discrete fourier transform is shown The formula for the discrete fourier transform is shown in Fig. 3.in Fig. 3.1313, a popular topic in digital signal processing., a popular topic in digital signal processing. 𝑋ሺሺ𝑘ሻሻ=𝑥ሺሺ𝑛ሻሻ𝑒−𝑗𝑛𝑘/𝑁𝑁−11 Fig. 3.Fig. 3.1313 showsshows the wave form in time domain on top and thethe wave form in time domain on top and the frequency domain spectrogram.frequency domain spectrogram.
The CNN model used is a deep neural network with an input layer, resizing layer, normalization
layer, and a Conv2D layer with a Relu activation function.
𝑌=maxሺ0,𝑍
Where Y is the desired output and Z is given by the linear regression formula:
𝑍=𝑋𝑊+𝑏 X are the input feature matrix (the spectrogram pixels), W are the weights , and b are biases
added to each node.
3.42 M.I.S.C.H.I.E.F
Despite the effectiveness of the voice recognition convolutional neural network defined above, it has limitations in that it only recognizes only single short words with a duration of less than 5 seconds. This is not enough to understand the complex commands the system needs to execute. To overcome this limitation, I developed a virtual assistant named M.I.S.C.H.I.E.F (Modeling Intelligent Systems for Computer-Human Interaction Effort Free), which uses a combination of Speech Recognition, PocketSphinx, PlaySound or PyGame, OpenCV, and TensorFlow libraries in Python. Unlike the wake word model, M.I.S.C.H.I.E.F understands complex sentences offline using the PocketSphinx module coupled with the Speech Recognition library. The program can run on various operating systems, including MacOS, Windows, and Linux, including Raspbian operating systems. M.I.S.C.H.I.E.F can perform an extensive range of tasks, such as opening and closing applications, playing music and videos, searching the internet, and controlling other devices through voice and gesture commands. OpenCV is used for gesture and facial recognition, enabling users to interact with the virtual assistant through hand gestures alongside voice commands. The TensorFlow
32
library is utilized for machine learning and artificial intelligence, which enables M.I.S.C.H.I.E.F to learn and adapt to the user's preferences and habits over time. Overall, M.I.S.C.H.I.E.F is a powerful and versatile virtual assistant that can simplify and streamline various tasks for the user, providing a more personalized and interactive experience.
In addition to the functionalities mentioned above, M.I.S.C.H.I.E.F has the capability to send commands and receive sensor values via MQTT, Bluetooth, PySerial, and PyFirmata. This feature enables the virtual assistant to communicate with other devices and systems in the user's smart home, allowing for seamless automation and control. It is worth noting, however, that the security of these communication channels is of utmost importance. Hence, M.I.S.C.H.I.E.F is designed with security in mind, utilizing encryption and authentication mechanisms such as facial recognition to protect user data and prevent unauthorized access. Additionally, M.I.S.C.H.I.E.F is programmed to continuously learn and improve its security measures to stay ahead of potential security threats. With its advanced capabilities and security features, M.I.S.C.H.I.E.F represents a significant breakthrough in the field of virtual assistants and computer-human interaction.
In general, Google's Speech Recognition API tends to have faster response times compared to PocketSphinx. This is because Google's API uses advanced machine learning algorithms and powerful cloud computing resources to quickly process audio inputs and return the transcribed text.
On the other hand, PocketSphinx is a lightweight speech recognition engine that runs locally on a device without requiring an internet connection. While it may have slightly slower response times compared to Google's API, it can still provide accurate results and is particularly useful in scenarios where internet connectivity is not available or when privacy is a concern.
3.43 MING IoT Stack
The MING IoT stack utilizes Docker containers to deploy and manage Mosquitto (M), InfluxDB (I), Node Red (N), and Grafana (G) services for sensor data dashboarding.
Mosquitto is a lightweight message broker that enables MQTT (Message Queuing Telemetry Transport) protocol communication between devices in an IoT system. It is deployed as a Docker container in the MING stack, providing a reliable message-passing platform for publishing sensor data from various IoT devices.
33
InfluxDB is a time-series database that stores and manages large amounts of sensor data in a time-centric manner. It is also deployed as a Docker container in the MING stack, providing a robust and scalable platform for storing sensor data from Mosquitto.
Node-RED is a visual programming tool that facilitates the creation of IoT workflows by providing a graphical interface to connect different services and devices. It is also deployed as a Docker container in the MING stack, acting as a bridge between Mosquitto and InfluxDB. Node-RED allows users to define data processing pipelines that process incoming sensor data, store it in InfluxDB, and trigger actuator control based on specific events.
Grafana is an open-source platform for creating interactive dashboards and data visualizations. It is also deployed as a Docker container in the MING stack, providing a user-friendly interface for monitoring and analyzing sensor data stored in InfluxDB. Grafana enables users to create custom dashboards that display sensor data in real-time, allowing them to quickly identify trends and anomalies in the data.
3.44 Machine Learning Adaptive Controller
An adaptive controller is a machine learning model built to track sensor values and user behavior such that it can adapt to their usage and recommend ways to save energy and time. Intelligent systems that use machine learning algorithms have the potential to revolutionize energy consumption and management in buildings. For instance, a model trained on sensor data can be used to predict the optimal time to turn on fans and lights, based on the occupancy patterns and environmental conditions. The model can learn from historical data to identify patterns and correlations between the sensor values and the energy usage patterns. By analyzing these patterns, the model can predict the optimal time to turn on the fans and lights to reduce energy consumption while maintaining the desired level of comfort. This type of intelligent system can provide a sustainable and efficient solution to the energy management problem, which is critical for reducing the environmental impact of buildings.
There are no models linked
There are no models linked
There are no datasets linked
There are no datasets linked