In this series of blog posts, we will explain how you can build your own Smart Home Solution with almost low cost.
High Level Architecture
The High Level Architecture is composed of the following:
- Arduino devices (IoT devices) that collect sensor data and perform actions.
- Back-end application : cloud hosted in a free tier and will be able to view messages and send commands to your IoT devices, we will build our application using JavaEE so it can be easily hosted in any cloud provider.
- Mobile Application : another way to communicate with your devices, it is a client of the back-end application, we will build sample Android App as an example, you can build another iOS application to use according to your needs.
Let's start by identify our platform requirements:
Hardware components
- Arduino board + ESP8266 shield for WiFi connectivity: in my case I have selected: WeMos-D1-WiFi-uno-based which include the WiFi ESP8266 built-in with the board, so no more effort is required.
- Temperature and Humidity Sensors : DHT11 is good enough.
- 5V Relay modules to use it to control devices on and off.
- Some connected wires to connect the sensor and relay module to the board.
- USB connector to connect the board to the laptop (in WeMos case, mobile connector USB will be good).
- Case for your board and components.
- Adapter for the Arduino board to connect it later with direct electricity
- A PC/Laptop to be used to develop our platform.
- Soldering iron for production release of the device
Software Requirements
- Setup Arduino IDE so we can develop our Arduino Code.
- Google Cloud Tooling for Eclipse : here we will develop our back-end application code, deploy it to Google Cloud App Engine - Standard Environment (sandbox) which give us a chance to run it in a free tier.
- Optionally: Android Studio : to build the mobile application to be used as another way to control our smart home devices.
In subsequent posts we will go in depth in the complete solution.
High Level Architecture
The High Level Architecture is composed of the following:
- Arduino devices (IoT devices) that collect sensor data and perform actions.
- Back-end application : cloud hosted in a free tier and will be able to view messages and send commands to your IoT devices, we will build our application using JavaEE so it can be easily hosted in any cloud provider.
- Mobile Application : another way to communicate with your devices, it is a client of the back-end application, we will build sample Android App as an example, you can build another iOS application to use according to your needs.
Let's start by identify our platform requirements:
Hardware components
- Arduino board + ESP8266 shield for WiFi connectivity: in my case I have selected: WeMos-D1-WiFi-uno-based which include the WiFi ESP8266 built-in with the board, so no more effort is required.
- Temperature and Humidity Sensors : DHT11 is good enough.
- 5V Relay modules to use it to control devices on and off.
- Some connected wires to connect the sensor and relay module to the board.
- USB connector to connect the board to the laptop (in WeMos case, mobile connector USB will be good).
- Case for your board and components.
- Adapter for the Arduino board to connect it later with direct electricity
- A PC/Laptop to be used to develop our platform.
- Soldering iron for production release of the device
Software Requirements
- Setup Arduino IDE so we can develop our Arduino Code.
- Google Cloud Tooling for Eclipse : here we will develop our back-end application code, deploy it to Google Cloud App Engine - Standard Environment (sandbox) which give us a chance to run it in a free tier.
In subsequent posts we will go in depth in the complete solution.