Arduino and Raspberry Home Automation
by thib02140 in Circuits > Arduino
9211 Views, 58 Favorites, 0 Comments
Arduino and Raspberry Home Automation
This project uses Arduino, Raspberry and Attiny, it allows you to control and monitor your home (AC outlet, shutters, heater, light, opening detector, temperature ...).
The raspberry is the web server allowing control all arduino These can be controlled from any web browser around the world. You can use your cell phone, tablet, or computer to turn on or off the outputs.
Arduino Network is a Mesh Network.
Parts List
Many parts I used were salvaged from old electronics, It is possible to find them at a low price on https://www.aliexpress.com
- 1 Raspberry Pi 1 B+ ~ $39.95
- 1 Arduino ~ $7.41
- 1 Reed Switch ~ $1.10
- 1 RF 433 Mhz ~$1.3
- 1 relayTemperature sensor ( sample )
- 3 NRF24L01
Programm
I have write all program, raspberry ( web server, python ) and Arduino
Which allows me:
- Manage all rooms in the house
- Manage arduino module
- Manage planning for execute action automatic
- Create scenario
- Manage user
- Have Log
Python scripts allow :
- Execute plannings
- Execute scenarios
The Raspberry is used like web server for the home automation and like Media center with Kodi.
I started my project by decoding the frame of an outdoor temperature sensor (433 Mhz)
Next I developped the web interface ( 100% responsiv )
Communication
The communication happens between Raspberry and Arduino:
- An arduino (master) (which allows to communicate with all the modules) is connected in USB to the Raspberry which allows to record the information received by the arduino.
- This master allows me to recover the temperature of the room in which it is both to light on/off light and communicate with the rest of Arduino.
- The other arduino's, communicate with the master using module nrf24l01 +, retrieve the temperature of all the rooms, manage the lamps, know if the mailman has deposited mail, know when someone sounds, if someone crossed the portal, ...
- Using the module nrf24l01 +, I was able to set up a network of mesh type which allows an arduino even remote from the master to be able to communicate with him, by way of the arduino that is between them.
Inside Box
Inside box we find:
- 1 Raspberry ( web server and kodi )
- 1 Arduino Uno
- 1 NRF24L01+
- 1 RF 433Mhz
- 1 Hub USB
- 1 HDD
- 1 Relai
- 1 Temperature sensor
NRF24L01 and RF 433 Mhz Module
Module to Recover the State of the Doorbell
Relay (12V) made concat when someone rings, the arduino sends this action to Master and it's view on the web site. Many action is possible with the scenario system.
Here I have used:
- 1 Arduino Uno
- 1 Relay
- 1 NRF24L01
MailBox Module
This module functions as an opening sensor. When mail is inserted a contact is made.
Here I have used:
- 1 Trustfire de 3.7v 900 Mh
- 1 Switch Reed $
- 1 Attiny84
- 1 Resistor
- 1 Capacitor
- 1 NRF24L01+
Price : $3
Arduino Bell
This bell ring when the first doorbell ring.
When doorbell ring, the master receive the action and with the scenario system and order is send to the bell for ring
Web Interface
Home page with all module, when the user click on icons an action is send to the raspberry who send to the master with the USB and sent to the right module.
Graph History
All data is stored in the database, which allows me to draw graphs of different data.
Planning
It's possible to manage planning for all arduino module sensors
Manage Sensors / Module:
Manage Scenario
Exemple of scenario who send notification on my smartphone ( android app developped by myself ) when Temperature is beetwen 0° and 3° or when Temperature is less 0°
Show Log
It's possible to see all log
Example of Network Communication:
You can see my blog for more information ( it's in french, you can translate with google ;) ):