Hey Friends,
During my sophomore year at BITS Goa, I was introduced to IOT (Internet Of Things) for the first time,with the dedication to implement IOT through the tools and skills I knew at that time I went on to the develop this small home automation/IOT application fondly called as "Project Anna". All the code are shared on this link: https://github.com/SarwateShubham/Credits_VisualStudio
So to begin with firstly this was an attempt to create a personal assistant "Anna" to allow me access to the room appliances remotely and also carry out particular functions through voice commands. I shall first briefly describe the primary modules of the project:
The answer to it is fairly simple.Let us consider two cases:
During my sophomore year at BITS Goa, I was introduced to IOT (Internet Of Things) for the first time,with the dedication to implement IOT through the tools and skills I knew at that time I went on to the develop this small home automation/IOT application fondly called as "Project Anna". All the code are shared on this link: https://github.com/SarwateShubham/Credits_VisualStudio
This the small video showing some of the functionalities.....
So to begin with firstly this was an attempt to create a personal assistant "Anna" to allow me access to the room appliances remotely and also carry out particular functions through voice commands. I shall first briefly describe the primary modules of the project:
- Server Side Code: This code was an .aspx code which hosts a fairly basic website for controlling the serial port of the laptop via the secure website
- Arduino C Code: It is the code that is flashed on to the Atmega 328 based Arduino Uno which has been programmed to make particular GPIO pins high in case it receives a particular input through its serial port.
- Voice Controlled GUI: To enable voice commands in the home automation application, a GUI was made in Visual Studio.A grammar was created and accordingly a event got triggered in case a particular command given by the user matched the commands in the grammar.
- Hardware Interfacing: On the hardware side of the project was a fairly easy circuit which consisted of an arduino which triggered a relay unit to switch on/off different circuits according to the serial input.
The answer to it is fairly simple.Let us consider two cases:
- Requests over the website:The website has just two basic buttons Light ON/OFF.When the button is pressed, the website sends a request to the server to send a particular signal to the serial port.Once this signal/code is sent through the serial port to the arduino, it responds as per the pre-written instruction on the arduino to turn a particular GPIO high which is connected to a a electromagnetic relay circuit which turns the light ON/OFF.The host was on the LAN server hence the website could also be accessed through other platforms such as mobiles and tablets through WiFi.
- Requests through voice commands:A grammar is created and the commands are mapped to particular signals that initiate a particular action using the serial port which switches the GPIOs just as explained above.For eg. "Study Mode" instruction was mapped to sending '1' to the serial port which turned the study lamp on and also opened the Study folder on the laptop.Similarly " I am done","Party Mode",etc. were other commands mapped to particular sequence of actions.
These are two basic modes of operation of the Home automation/IOT system.
Possible Advancements:
Here is a list of possible advancements that I think can be done,
Possible Advancements:
Here is a list of possible advancements that I think can be done,
- Host the website independently on a Raspberry Pi, which takes out the laptop out of the equation.(Done That!)
- Include other appliances such as speakers,fans,automatic door control, etc. and control them voice commands.
- Ultimately its all about how creative you are!