[Part 3] Home Appliance Automation with Raspberry Pi
Azilen is back with the third blog of its Automation of Home Appliances using Raspberry Pi. The first and second blogs of this series were more about technology set up such as Software Installation Guide and Implementation of Hand Gesture Recognition. Third blog is more about command configuration set up and user oriented real time demo of application which is actually a captive portal type application designed to automate home appliances.
Technological Overview – How We Created it to be a Captive Portal
- As the user can have remote access to application, we hosted the application at Raspberry PI server.
- Though spring boot is known for making notable amount of reduction in writing a lot of configuration and boilerplate code, its auxiliary niceties of being light weight and the caliber of packaging the application as a runnable jar that includes an embedded tomcat server attracted us more for its consideration for our application and its REST endpoints also helped us in making the application accessible through browser.
- Application package comes in executable jar format such as [java – jar your-app-jar-filename-xxx.jar] and it has configured system settings that help to start the web server on Raspberry PI startup without any user interaction.
- A user friendly application flow which is described in Real Time Demo of Application section could be achieved through prominent utilization of spring boot capabilities.
Real Time Demo of Application
How does the user manage application set up?
This is a plug and play set top box look like solution intended to easy installation and operation. User just simply needs to supply electric power through cable to access it.
Elementary application access
- We have tried to make the application access handy as much as we could.
- Once the user plugs in our set top box look like device and connect to the home WiFi network, system UI will automatically open up in each laptop or mobile device which are connected with that particular WiFi network and enable the user to manage his home appliances through them.
- We have used Captive Portal concept for implementing this functionality and of course, it needs successful WiFi access permissions like SSID and Password or any configured hint.
- Then the url of application will be saved in browser so that user can manually ping the system.
How It Works?
Once the user starts the application, it will check “Smart IR Device” has connected or not, according the device status application show message. If it is connected, system will go ahead otherwise it will display the error message and in that case, the user needs to configure smart IR device by providing WiFi user ID and Password. This process is called ‘Smart Config’.
Once IR device gets connected application will confirm you it by message and will navigate you to the home page.
Learning Mode to make the Device Learn
- Learning Mode is all about making the IR device understand that which gesture or numerical input to be considered for performing desired action and accordingly IR device will pass the signals to connected home appliance.
- For manual Input set up application will display a dashboard with configured options and for gesture input set up, you can enable device camera and capture the gesture by using Start Capture and Stop Capture buttons. Once gesture is configured, you can link that gesture to the desired on off etc. actions.
Execution Mode to Implement the Actions
Once gestures are configured and linked with relevant actions, they can be executed anytime. To execute it, user simply needs to assess the application and capture the gesture using Take Snapshot.
Manual inputs can be executed by using number keys.
Help section is also the part of application to guide the user so that he can use the application flawlessly.
Of course, this accomplishment has certainly boosted our techie spirit up to optimum level. Still, while the world is advancing swiftly towards Internet of Things, and people are looking forward to high end and affordable technological experience in routine life, Azilen believes that there is a long way to go. Many more advancements are still on the way for us.
You may find this resource useful: [Part 2] Automation of Home Appliances using Raspberry Pi Implementation of Hand Gesture Recognition