EasyDomo is a system of home automation. It consists on a different electronic devices distributed throughout the house and an app for smartphones and smartwatches for remote control of the system.
The idea for the project arose when I wanted to turn off and turn on the PC remotely to save electricity and had it ready when I was going to use it. When my PC was using Windows 7 and a HDD it took more than 2 min to be ready. Right now I don’t have that problem because with Windows 10 and a SSD it only take 20 seconds to be ready, but I still have the necessity of saving electricity.
I took some ideas from this project: Arduilay. But, for now, I don’t need to control each plug so I don’t need to control so much relays.
To make this system work, a microcontroller is used.
Microcontroller
At first, this device was made with an Arduino Uno connected to the WiFi network using an ESP8266 and all attached to a Lipo Rider Pro (external battery), because this way it could be able to work without being connected to AC, and it use 2 relays connected to 2 extension leads to control the devices attached to it. Also, I thought about using a gas detector sensor because we used to use a butane gas water heater at home, so if there was a gas leak it could be dangerous. I could send the alerts using a GSM Shield for Arduino. But when I did the next iteration of the project my family was planing to use a electric water heater so I didn’t need this anymore.
Sorry for the quality of the images, I couldn’t find a better ones.
At second iteration, I replaced the Arduino Uno with an Arduino Nano for save a little of electricity and make the prototype smaller. I had to use this time a 5V to 3.3V down stepper (top right in the picture) because the 3.3V pin of the Arduino Nano didn’t provide enough power to the ESP8266.
At third iteration (currently), I realised that I didn’t want a lot of wires hanging from the table to the floor, because the Arduino was on the table and the extension leads on the floor. So, I removed a few wires (because I didn’t need that connections) and I started to work in a smaller prototype. When I started this iteration also we started to use a electric heater at home so I didn’t need the external battery anymore (for send an alert about something when there is no AC electricity), so it could be attached to AC directly.
I did some research and I realised too that I could use the ESP8266 for control the relays so I didn’t need the Arduino anymore.
Right now, the prototype is made with this components:
– ESP8266-12F
– Down stepper 5V -> 3.3V
– Relays
[ESP8266 microcontroller on my fingers.]
In the next iteration, I will try to incorporate the microcontroller inside the extension lead.
App in Ionic for Android and iOS
The app for smartphones was developed in Ionic2 so it’s compatible with Android and iOS devices among others.
For now, with the app, I’m able to turn on and off a water filter and my computer workstation remotely.
The app for smartphones has a home screen where various cat gifs appear. The gif change each time the app is executed. I use the Giphy API to get the images. The gif can be changed pushing the button “Favorite” and also with the button “Share” if no pin was entered or if it isn’t the correct pin. If the correct pin is introduced and the “Share” button is pushed the next screen appear.
Here, the user can use the switch to turn on or off the devices.
As an extra I added a dark theme that can be enabled using the button at the top right corner of the app.
The app was built like this way because I wanted to hide the app as if it were an useless app of cat gifs.
App for Android Wear 2.0
The app for smartwatches was developed for Android Wear 2.0.
It only have one screen where the user can turn on and turn off the devices using switches.
At the top the state of the connection is displayed. The possible states are:
– Please wait…: is requesting a high bandwidth network (WiFi).
– Connecting: connecting to the WiFi AP.
– Direct Link: the devices are in the same network as the smartwatch.
– Redirect Link: the devices are in a different network as the smartwatch.
– Disconnected: it was not possible to connect to a WiFi network.
With this app I feel like:
Conclusions
I learned a lot about domotics making this project. This is just a first step into this topic and I hope to do more projects about this.
I’ll try to continue the development of this project and apply it to more home appliances.
#DomoWillDominate