Welcome to a brand new online course where you can learn to create a home automation system that allows you to remotely control your household appliances using a mobile application. With just a simple tap or a voice command on your phone, you can turn your home appliances ON or OFF from anywhere. Let me show you the demo of the project.
Welcome to a brand new online course where you can learn to create a home automation system that allows you to remotely control your household appliances using a mobile application. With just a simple tap or a voice command on your phone, you can turn your home appliances ON or OFF from anywhere. Let me show you the demo of the project.
I have always been a firm believer in learning by doing, and in this course, you will learn what you need to know by hands-on experience. You don’t need any special knowledge except basic computer skills to get started with this course. Every one of you comes from a different background and hence the course is crafted from basic to advanced level with minute detail in every lecture.
Here are two main reasons, why you should take this course. The course will help you to level up your career as an embedded systems developer. These developers work on projects that involve a wide range of technologies, including hardware and software. These projects are often complex and challenging, providing developers with the opportunity to work on cutting-edge technology and develop innovative solutions. Embedded systems are used in critical applications such as medical devices, transportation systems, and industrial control systems. As an embedded systems developer, you have the opportunity to work on diverse projects and gain experience in different industries.
As far as the language is concerned, we have decided to go ahead with C++. It is the most popular programming language in the field of embedded systems. This is because the language sits in between higher-level software and hardware, allowing you to access and control hardware directly without sacrificing the benefits of a high-level language. It’s widely used by major companies like Google, Microsoft, and Oracle. In fact, Google’s own programming language called "Go" is strongly influenced by C++.
To make the learning curve easier, The course has been divided into 8 sections. Then, let us see what we are going to learn in each section.
In the first section, we'll explore the significance of Home Automation and how it enhances convenience and security in our daily lives. We will then shift our focus to the remarkable ESP32 board, which plays an essential role in our project development.
Thereafter, we will understand about the General Purpose Input/Output pins of the ESP32. These pins serve as the vital interface between the ESP32 board and the external realm, enabling seamless connectivity with an array of sensors and actuators. With a profound grasp of GPIO functionality, a world of endless project possibilities awaits you.
In the second section, our focus will shift towards understanding necessary hardware requirements for building the project. We will begin by powering up the ESP32 board and identifying the specific USB to UART chip integrated into the board.
Moving forward, we will proceed with installing the Integrated Development Environment (IDE) and configuring the board manager library which is specifically designed for ESP32. This step is crucial as it enables us to create a suitable software environment for programming and interacting with the ESP32 board.
Once the IDE is successfully set up, we will proceed to install the necessary drivers for the USB to UART chip, ensuring seamless communication between the board and our computer. With everything in place, we will test the functionality of the board using a basic program. This essential test will help us to determine if our recently acquired ESP32 board is functioning as intended.
In the third section, our focus will be on exploring the fascinating world of relays and gaining an in-depth understanding of their working principles. Once we have acquired the fundamental concepts of relays, we will move on to studying the circuit diagram for controlling one home appliance using a relay. We will then implement the circuit diagram and write the necessary code to program the relay to establish control over the connected electrical appliances. This hands-on approach will enable us to gain practical experience in implementing the relay circuitry and empower us to harness their potential effectively. By the end of this section, you will be well-equipped to harness the capabilities of relays in real-world applications.
In the fourth section, our focus will be on addressing the issue of inverted relay operation and exploring various solutions to rectify this problem. We will delve into the realm of programming and examine the logic implementation that can effectively resolve the problem. By leveraging our programming skills, we will develop strategies to ensure the relay operates in the desired manner.
Additionally, we will also explore alternative approaches to mitigate the inverted relay operation by modifying the circuit wiring. Through careful examination and experimentation, we will discover alternative wiring configurations that can rectify the issues and align the relay behavior with our intended functionality.
By examining both programming-based and wiring-based solution, you will gain a comprehensive understanding of the options available to you for resolving inverted relay operation. This knowledge will empower you to choose the most suitable approach based on your specific requirements and constraints.
In the fifth section, we will introduce an additional functionality to our existing circuit. We will incorporate a physical switch and utilize its input to control the behavior of the relay. By integrating this switch, we can enhance the interactivity and flexibility of our circuit.
Initially, we will focus on understanding how to effectively read the input from a single switch and develop the necessary code logic to control its operation. Once we have mastered this process, we will expand our coding skills to incorporate the remaining three relays into our circuit. This expansion will enable us to control multiple appliances simultaneously based on the input from their respective switches.
Through this exercise, we will not only refine our coding skills, particularly in the areas of decision-making and logical thinking, but also gain insights into establishing common connection throughout the circuit.
In the sixth section, we will delve into the world of Internet of Things. We will familiarize ourselves with the concept of IoT and its significance in connecting and controlling devices over the internet.
Thereafter, we will explore the cloud platform that serves as the backbone of our project, allowing us to effectively harness the power of IoT.
Furthermore, we will also get to know about the underlying MQTT protocol that facilitates the communication and data exchange between our devices and the cloud platform.
In the seventh section, we will embark on the development of our main project. We will begin by studying the circuit diagram and comprehending its components and connections. With this understanding, we will proceed to design and assemble the circuit accordingly, ensuring its proper functioning.
Next, we will then go through the source code that enables us to control all the appliances remotely. We will gain valuable insights into how data is sent to the server and retrieved based on user choices. We will also analyze how the data is synchronized between the cloud platform and the physical input by the user.
Additionally, we will also explore the concept of powering the entire circuit using a single external power adapter. This approach simplifies the setup and enhances convenience, providing a reliable and efficient power source for our project.
In the eighth section, we will showcase the practical output of our main project. We will utilize both the mobile app and manual switches to control the appliances in real-time, providing a hands-on demonstration of their functionality.
Additionally, we will explore how the devices can be seamlessly integrated and controlled through Google Home, allowing for effortless control through voice commands. This integration will enhance the overall user experience, providing added convenience and simplicity in managing the connected appliances.
Lastly, we will showcase an additional feature of our project that ensures uninterrupted control of the appliances even in situations where the user's Wi-Fi connection is unavailable. In such cases, users will have the option to rely on manual switches to effortlessly operate and manage all the connected appliances. This dual-mode functionality provides a reliable backup solution, ensuring convenience and accessibility at all times.
Each video in the course will teach you new concepts and techniques which you may apply to any of your projects immediately. This course assumes just a basic knowledge of programming, and you can leave the rest to us. So if you are somebody who has never built an embedded systems project before, you need not to worry, I will be with you every step of the way.
Don’t let technical errors hold you back from achieving your goals. If you ever need help, simply post your question in the question and answer section and our dedicated support team will get back to you within 24 hours. They are available to assist you 6 days a week, from Monday to Saturday.
We will also share the complete source code with you, so that you can easily replicate the project and deploy it immediately.
All lectures are accompanied by English subtitles, ensuring clear and comprehensive understanding.
Also if you don’t like the course, don’t worry at all, you are always protected by 30 days, no questions asked, money-back guarantee.
Alright, so at the end of the day, you have got nothing to lose, so join me in this incredible journey, into the world of embedded systems.
Take control of your career and invest in your future. Don’t miss the opportunity to improve your skills. Enroll now and take the first step towards a better future.
In this lecture, you will understand the concepts and benefits of automating our home.
This lecture introduces you to the fundamentals of ESP32 development and its important features.
In this lecture, you will gain an understanding of the GPIO pins on the ESP32 development board and their versatile functionalities, including analog and digital input/output, PWM control, and touch-sensing capabilities.
In this lecture, you will get to know the list of complete hardware requirements for the project development.
This document contains complete hardware list using which you can place order online.
This lecture provides an overview of setting up the ESP32 microcontroller board, connecting it to a computer using a micro USB cable, identifying the USB to UART chip, and checking the device manager for driver installation, ensuring a smooth setup process for programming and communication.
This lecture guides you through the process of downloading and installing the Arduino IDE, checking if it includes the CP2102 driver, and adjusting the font size within the IDE for better visibility.
In this lecture, you will learn how to install the ESP32 board library in the Arduino IDE, manually install the CP2102 driver for the ESP32 board, and ensure successful communication between the computer and the ESP32 board.
In this lecture, you will do basic programming to control the onboard LED of ESP32. This test will help you to check whether the board is functioning or not.
In this lecture, you can download the code used in the program to test the ESP32 board.
In this lecture, you will get a basic understanding of the components and workings of relays.
In this lecture, you will understand the circuit diagram to test the relay.
In this lecture, you can view the circuit diagram to test the relay.
In this lecture, you will understand the program line by line for testing the relay.
In this lecture, you can download the source code for testing the relay.
In this lecture, you will view the live testing of the relay.
In this lecture, you will get the different approaches for resolving the problem of the inverted operation of the relay.
In this lecture, you can download the code which was used in the previous lecture to fix the inverted working of the relay.
In this lecture, you can view the updated circuit diagram using which you can fix the issue of the inverted relay.
In this lecture, you will understand the circuit diagram for controlling a bulb using a physical switch.
In this lecture, you can view the circuit diagram for controlling a bulb using a physical switch.
In this lecture, you will understand the program for controlling a bulb using a physical switch.
In this lecture, you can download the source code for controlling a bulb using a physical switch.
In this lecture, you can view the live output of controlling a bulb using a physical switch.
In this lecture, you will understand the circuit diagram for controlling 4 bulbs using 4 physical switches.
In this lecture, you can view the circuit diagram for controlling 4 bulbs using 4 physical switches.
In this lecture, you will understand the program for controlling 4 bulbs using 4 physical switches.
In this lecture, you can download the source code for controlling 4 bulbs using 4 physical switches.
This quiz is designed to test your knowledge and skills in programming concepts. It covers a variety of topics and challenges you to apply your understanding to solve coding problems. Whether you're a beginner or an experienced programmer, this quiz will help you assess your proficiency and identify areas for improvement.
In this lecture, you will get an understanding of IoT and its application. And also you will get to know why IoT application is important for developing the main project.
In this lecture, we will introduce the mobile application to use our main project effectively and at our convenience.
In this lecture, you will understand in detail about MQTT protocol and its working principle.
In this lecture, you will understand the circuit diagram to control 4 home appliances using ESP Rainmaker.
In this lecture, you can view the circuit diagram to control 4 home appliances using ESP Rainmaker.
In this lecture, you will understand the alternative method to power the whole circuit.
In this lecture, you can view the circuit diagram of the alternative method of power supply.
In this lecture, we will dive deep into the source code of our main project, examining each line to gain a comprehensive understanding of its functionality and implementation.
In this lecture, you can download the source code of the main project.
In this lecture, you will know how to flash the ESP32 before code deployment for getting improper output in the serial monitor.
In this lecture, we will upload our main project into ESP32 board.
In this lecture, you will learn to setup the ESP Rainmaker app and the device provisioning steps to use the app as per your interest.
In this lecture, you will learn to setup the Google Home app and sync it with the ESP Rainmaker app.
In this lecture, we will test the live output of the main project using our mobile applications. We will see the output using touch-based, voice-based, and via physical switches.
In this lecture, we will remove the dual dependency of the power supply and use only an external adapter to power the circuit of our main project.
In this lecture, you will get to know how to control home appliances in such scenarios when the WiFi is disconnected or not working properly.
In this lecture, you will get an overview of what you have learned in this course.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.