Abstract: [014] The idea behind Google assistant-controlled Home automation is to control home devices with voice. On the market there are many devices available to do that, but making our own is awesome. In this work, the Google assistant requires voice commands. Adafruit account which is a cloud based free IoT web server used to create virtual switches, is linking to IFTTT website abbreviated as “If This Than That” which is used to create if else conditional statements. The voice commands for Google assistant have been added through IFTTT website. In this home automation, as the user gives commands to the Google assistant, Home appliances like Bulb, Fan and Motor etc., can be controlled accordingly. The commands given through the Google assistant are decoded and then sent to the microcontroller, the microcontroller in turn control the relays connected to it. The device connected to the respective relay can be turned On or OFF as per the users request to the Google Assistant. The microcontroller used is NodeMCU (ESP8266) and the communication between the microcontroller and the application is established via Wi-Fi (Internet).
Claims:1. In this work, the Google assistant requires voice commands. Adafruit account which is a cloud based free IoT web server used to create virtual switches, is linking to IFTTT website abbreviated as “If This Than That” which is used to create if else conditional statements. The voice commands for Google assistant have been added through IFTTT website.
2. In this home automation, as the user gives commands to the Google assistant, AC., can be controlled accordingly.
3. The commands given through the Google assistant are decoded and then sent to the microcontroller, the microcontroller in turn control the relays connected to it.
4. The device connected to the respective relay can be turned On or OFF as per the users request to the Google Assistant.
5. The microcontroller used is NodeMCU (ESP8266) and the communication between the microcontroller and the application is established via Wi-Fi (Internet).
, Description:The present invention relates to evaluate and design a low-cost data acquisition system for monitoring current, voltage and temperature of the three-phase induction motor, applying IoT.
[02] BACKGROUND OF THE INVENTION
With the advancement of technology, the need for efficient control is increasing as it improves performance and saves unnecessary wastage of energy. Allows you to control home appliances such as home automation, lighting, motor, fan. It also provides home security and emergency system implementation. The proposed prototype uses the NodeMCU board with remote control of the Internet via the Android OS smartphone. Note MCU is the heart of this system and can act as a micro web server and interface to a wide range of hardware modules. It is also used to monitor and analyze data on temperature, humidity, water level and fire. This article explains the various possibilities for connecting home appliances and simplifies human life. IoT plays a virtual role in creating smart environments by connecting to the Internet. We can also use the Google Assistant to control our home appliances by providing common language voice routes and decoding directions and sending them to the note microcontroller with the help of the IFTTT (If This Then That) application. The Blynk application, which generates virtual switches connected to IFTTT, is used to analyze data from all devices connected to the Internet using Wi-Fi, which puts the system under IoT. The system also serves a security purpose and in case of any unavoidable incident the user will immediately receive an alert message / mail on their smart phone.
[03] SUMMARY OF THE PRESENT INVENTION
In this program, voice commands are provided to the Google Assistant. Voice commands for Google Assistant are included with the IFTTT website, and the Adafruit account is attached to it. In this home automation, the user issues commands to the Google Assistant. Home appliances like AC are controlled according to the given commands. The commands given by Google Assistant are decoded and sent to the microcontroller which controls the relays. The device connected to the corresponding relay is turned on or off, as requested by users Google Assistant. The microcontroller used is NodeMCU (ESP8266) and the connection between the microcontroller and the application is established via Wi-Fi (Internet). The home automation industry has grown tremendously, and many reputable companies are taking advantage of the opportunity to work with IFTTT to provide families with an elegant way to connect with their homes. In today’s unpredictable world consumers want to protect their home environment and the new home automation service gives them the peace of mind that they need to protect the well-being of their family. This work about wireless home automation using Android mobile helps us to implement such a fantastic system in our home at a very reasonable price using low cost devices. Thus, it tackles many problems like costs, inflexibility, security. In addition, it will provide more benefits such as reducing our energy costs and improving home security. In addition, it is very convenient to use and will enhance the comfort of our home. The work proposes the idea of smart homes that can support multiple home automation systems. C # programming language and Node microcontroller are used to connect the sensor circuits to the home. Furthermore, in home and building automation systems, the use of wireless technologies offers many benefits that cannot be achieved by using a wired network. 1) Reduced installation costs. 2) Easy deployment, installation and coverage. 3) System scaling and easy extension. 4) Aesthetic benefits. 5) Integration of mobile devices. For all these reasons, wireless technology is not only an attractive choice in upgrades and updates, but also for new installations.
[04] BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood and objects other than those set forth above will become apparent when consideration is given to the following detailed description thereof. Such description makes reference to the annexed drawings wherein:
FIG 1. shows the IC’s pinout of TSOP1738
FIG 2. shows the internal diagram of the IC TSOP1738
FIG 3. shows Voice Controlled AC Circuit Diagram
FIG 4. shows Sign up for Adafruit IO
FIG 5. shows Fill in your details
FIG 6. shows Get your AIO KEY
FIG 7. shows Pop up with your AIO username and active key
FIG 8. shows Create the new feed now
FIG 9. shows Create New Feed
FIG 10. shows Create an account on IFTTT
FIG 11. shows Complete trigger fields
FIG 12. shows Set the ‘That’ (Action) part
FIG 13. shows Select Adafruit
FIG 14. shows Send data to Adafruit IO
FIG 15. shows Review and Finish
FIG 16. shows Create an applet that will trigger our Google Assistant
FIG 17. shows Review and Finish
FIG 18. shows the implementation of IoT Based Universal AC Remote
FIG 19. shows the implementation of IoT Based Universal AC Remote using Google Assistant
DETAILED DESCRIPTION OF THE INVENTION
The Internet of Things (IOT), is a new technology which is one of the most important areas of future and is gaining vast attention from a scientific world and industries.
As the smart phones and internet are widely used, the main idea aims at connecting appliances present in room with internet and further monitoring and their controlling through smart phones using Google assistant. There are dozens of IoT based smart devices on the market today that can be controlled using them. These are voice assistants, but it would not be fair to change every electronic device in our home to suit home automation. That is why in this work, we will create a Universal IR Remote that can control every electronic device running on the IR Remote. Basically, we copy the original remote signals through the NodeMCU so that these signals are triggered from the Internet whenever needed. The circuit in this program will focus specifically on creating a universal AC remote to turn any AC on / off, but the process will be very similar to other devices.
This IoT based Universal Remote works in two steps, allowing users to feed the original IR signal from their AC remote. . To remotely capture these commands, we use the TOP1738 IC, which is an IR receiver. To transmit those signals through the IR, we use the IR blaster, which is the IR LED.
Components Required
1. NodeMCU
2. TSOP1738 – IR receiver
3. IR Blaster
4. Push Buttons
5. LEDs
6. Resistors
7. Connecting Wires
[05] IR Signal Transmitter
The IR remote works by modulating the IR blaster (IR LED) (switch on and off). When viewing a flashing IR LED remotely (if using a camera without an IR filter), it means that the LED turns on and off thousands of times per second. Turning the LED switch on and off cannot be followed by our naked eyes. The frequency at which the IR LED is on and off is called the carrier frequency. The data is placed in a carrier and transmitted using different modulation techniques. An example of a modulation technique is PWM. In this modulation, the on and off periods of the IR LED vary. These modulated signals are received by the IR receiver and decoded using the MCU.
[06] TSOP1738 (IR receiver)
TSOP1738 is like a sensor, which is sensitive to IR signals. So, we can use the TSOP1738 as an IR receiver. The sensor’s operating voltage is 5V and consumes 5mA. The TSOP1738 IC has 3 pins in which the center pin (pin 2) is VCC, and the pin closer to the center pin is a ground pin (pin 1). The remaining pin (pin 3) is the signal pin and is connected to the microcontroller to decode the received signals. The IC’s pinout is shown in FIG 1.
Photodetector and preamplifier ICs are in a single package with an internal filter for PCM frequency. The internal diagram of the IC is shown in FIG 2.
The TSOP-1738 will receive only 38Khz IR signals, and is compatible with our work as all the remotes in India work on 38KhZ.
[07] Encoding and Decoding of IR Signals
Decoding the TV remote is an easy task because they often send only one value. When it comes to AC remotes, they transmit multiple parameters at once. In addition, each AC has different protocols, depending on the manufacturer. Communication between the device with the remote and the receiver follows various protocols such as SONY, NEC. The data is converted to Pronto Hex format according to the protocol selected by the manufacturer and their code is defined accordingly.
[08] IR Signal Decoding using NodeMCU
For each instruction we are going to format our code so that the user first captures the signals (in this program, we are going to handle turning on and off the AC) and then controlling the AC with the help of Google Assistant on the phone, reflecting the source data and then the captured data. To decode incoming IR signals to source data using NodeMCU, you must download the following library
[09] Download ESP8266 IR Remote Library
After downloading the file, there is a small edit you need to make in the library files to run our code. Open the src folder and locate the IRutils.CPP file. Open that file in Notepad and search for the code written under the functional name called resultToHumanReadableBasic. Copy and paste the code below in place of that code.
String resultToHumanReadableBasic(const decode_results * const results) {
String output = "";
// Reserve some space for the string to reduce heap fragmentation.
output.reserve(2 * kStateSizeMax + 50); // Should cover most cases.
// Show Encoding standard
// output += kProtocolStr + F(" : ");
output += typeToString(results->decode_type, results->repeat);
output += '\n';
// Show Code & length
//output += kCodeStr + F(" : ");
//output += resultToHexidecimal(results);
//output += kSpaceLBraceStr;
//output += uint64ToString(results->bits);
//output += ' ' + kBitsStr + F(")\n");
return output;
}
Now, search for the code with the function name resultToSourceCode and paste the code below in place of that code. In the code below, we commented on the unwanted commands that help distinguish between noise and data signal. This will be explained further in the Code Description section.
String resultToSourceCode(const decode_results * const results) {
String output = "";
// Reserve some space for the string to reduce heap fragmentation.
output.reserve(1536); // 1.5KB should cover most cases.
// Start declaration
//output += F("uint16_t "); // variable type
// output += F("rawData["); // array name
output += uint64ToString(getCorrectedRawLength(results), 10);
// array size
Output += F(", "); // Start declaration
// Dump data
for (uint16_t i = 1; i < results->rawlen; i++) {
uint32_t usecs;
for (usecs = results->rawbuf[i] * kRawTick; usecs > UINT16_MAX;
usecs -= UINT16_MAX) {
output += uint64ToString(UINT16_MAX);
if (i % 2)
output += F(", 0, ");
else
output += F(", 0, ");
}
output += uint64ToString(usecs, 10);
if (i < results->rawlen - 1)
output += kCommaSpaceStr; // ',' not needed on the last one
if (i % 2 == 0) output += ' '; // Extra if it was even.
}
// End declaration
output += F("\n");
return output;
// Comment
output += F(" // ");
output += typeToString(results->decode_type, results->repeat);
// Only display the value if the decode type doesn't have an A/C state.
if (!hasACState(results->decode_type))
output += ' ' + uint64ToString(results->value, 16);
output += F("\n");
// Now dump "known" codes
if (results->decode_type != UNKNOWN) {
if (hasACState(results->decode_type)) {
#if DECODE_AC
uint16_t nbytes = results->bits / 8;
output += F("uint8_t state[");
output += uint64ToString(nbytes);
output += F("] = {");
for (uint16_t i = 0; i < nbytes; i++) {
output += F("0x");
if (results->state[i] < 0x10) output += '0';
output += uint64ToString(results->state[i], 16);
if (i < nbytes - 1) output += kCommaSpaceStr;
}
output += F("};\n");
#endif // DECODE_AC
} else {
// Simple protocols
// Some protocols have an address &/or command.
// NOTE: It will ignore the atypical case when a message has been
// decoded but the address & the command are both 0.
if (results->address > 0 || results->command > 0) {
output += F("uint32_t address = 0x");
output += uint64ToString(results->address, 16);
output += F(";\n");
output += F("uint32_t command = 0x");
output += uint64ToString(results->command, 16);
output += F(";\n");
}
// Most protocols have data
output += F("uint64_t data = 0x");
output += uint64ToString(results->value, 16);
output += F(";\n");
}
}
return output;
}
[010] Voice Controlled AC Circuit Diagram
We use a simple IR LED IR blaster, the anode of which is attached to the D2 pin of the NMCU and the terminal GNT to the cathode. We used the LED for each button to indicate whether the push button was pressed or not. Between the push button and the LED, we used a 100 ohm resistor. The full circuit diagram of the IoT controlled AC remote is shown in FIG 3.
The cathode of the two LEDs is connected to the D7 and D8 rear of the NodeMCU. We used 1Kohm resistors as a pull-down resistor for each pin of the NodeMCU. We have attached a green LED on the back of the D4 as an indicator to indicate the various procedures in the program while running. The D5 pin of the NodeMCU is connected to the tsop1738 IR receiver, the center pin is connected to the Vcc and the remaining pin is connected to the GND. To prevent noise, a capacitor of 10uf is connected in parallel to the GND and VCC of the IR receiver. Receives block distribution from the nodeMCU, which receives power from the USB cable.
[011] Adafruit IO Setup for Voice-Controlled AC
This system is about the connection between Android and NodeMCU. Adafruit IO receives instructions from our phone via Google Assistant, which then communicates with NodeMCU using IFTT. With Adafruit IO, you can upload, display and monitor your data over the web, and create your own IoT works. We have already developed many interesting Arafruit IO works. To use Adafruit IO, the steps are as follows:
Step 1: The first thing you need to do is sign up for Adafruit IO. Go to https://io.adafruit.com and click on 'Start for free' in the upper right corner of the screen.
Step 2: A window will appear in which you need to fill in your details. After filling in the details like your name, mail id, username, click on save settings and your account will be created.
Step 3: Now, you need to have your AIO key used in the code. To get your AIO KEY, click on the ‘AIO Key’ at the top right of the page.
Step 4: A window will pop up with your AIO username and active key. Copy these as you need them in the next process.
Step 5: After getting your AIO key, you need to create the new feed now. Select Feeds> View All The new page will load, where you can view your past feeds. Since you are new, you can only see the default.
Now, select Action> Create New Feed.
A window will appear asking for the name and details. I named it VoiceAC and gave some explanation. After giving the details, select 'Create' and finish. With this, you have created your new feed.
[012] IFTTT setup for voice-control AC using Google Assistant
IFTTT (if it is) is a web-based service used to create a conditional statement called applets. Using IFTTT, you can create triggers for certain actions. For our work, we are going to create a trigger applet using Google Assistant to say a specific line. First, we need to create an account on IFTT.
Note: Create an account on IFTTT using the same email id you used to create an account on Adafruit IO.
To create an account on IFTTT, go to the IFTTT website and click Register. Fill in the required details like email, password. After creating and registering your account, click Profile and then click 'Create'.
After clicking 'Create', a page will load saying 'Create this if you have your own'. Here 'it' is the service name, which acts as a conditional input, and 'it' is an input-based trigger. So in our work, the input will be Google Assistant and the action will take place in Adafruit IO. Now to create the applet, click on the 'This' icon. Search Google Assistant.
Now, we have to set the ‘That’ (Action) part. Click on ‘That’.
Select Adafruit by searching it in the action service search bar.
Now, select Send data to Adafruit IO.
After this, click on ‘Create action’. By clicking on the finish button, your applet is ready to use.
Now, we have created a provocative applet for our Google Assistant called On AC. Now, we're going to create an applet that will trigger our Google Assistant when we say OFF AC. Continue the same procedure from above, the only difference being in step 2 and step 5. In the fields in step 2, we are going to write the phrase OFF AC instead of ON AC.
By clicking on the ‘Create action’, you have successfully created another applet, which will be triggered by the phrase ‘OFF AC’
[013] Working of IoT Based Universal AC Remote
First, we wrote our program to capture data leaked from the AC remote. We do this using the TSOP1738 IR receiver. After capturing the signals, we are going to store that data in a variable and reflect those signals using the IR blaster when desired.
When the supply is turned on, the indicator LED (Green LED) will flash. This will indicate that the module is waiting for the WiFi connection. If the indicator LED stops flashing, it means that the nodeMCU is connected to the WiFi network. After establishing a connection to the network, hold down the button (ON_B or OFF_B) to capture the IR data, connected to D7 or D8, until the LED flashes. The indicator indicates that the LED's flashing, nodeMCU is ready to capture IR data. Use your AC remote to send the IR signal to our TSOP as shown below. If the IR data is correct without any noise, the indicator stops flashing, indicating that NodeMCU has successfully captured the IR data and can reflect the data back.
The same procedure is followed for the remaining other button. Like we said before we are only going to deal with turning the AC on or off. The ON_B button is used to capture the data needed to turn on the AC and the OFF_B button is used to capture the data needed to turn off the AC. After capturing both data, place the module in front of the AC.
After that, you can sit down and command your Google Assistant to switch the AC on or off. If you wish, you can upgrade this module to capture temperature or fan mode and control those parameters.
| # | Name | Date |
|---|---|---|
| 1 | 202241009449-STATEMENT OF UNDERTAKING (FORM 3) [22-02-2022(online)].pdf | 2022-02-22 |
| 2 | 202241009449-REQUEST FOR EARLY PUBLICATION(FORM-9) [22-02-2022(online)].pdf | 2022-02-22 |
| 3 | 202241009449-FORM-9 [22-02-2022(online)].pdf | 2022-02-22 |
| 4 | 202241009449-FORM 1 [22-02-2022(online)].pdf | 2022-02-22 |
| 5 | 202241009449-DRAWINGS [22-02-2022(online)].pdf | 2022-02-22 |
| 6 | 202241009449-DECLARATION OF INVENTORSHIP (FORM 5) [22-02-2022(online)].pdf | 2022-02-22 |
| 7 | 202241009449-COMPLETE SPECIFICATION [22-02-2022(online)].pdf | 2022-02-22 |