Arduino and Raspberry Home Automation

by thib02140 in Circuits > Arduino

9211 Views, 58 Favorites, 0 Comments

Arduino and Raspberry Home Automation

Home.JPG
box avec comm.jpg
FC03E8SIWMR0TWX.jpeg
Sans titre-13.jpg
montage_hp.jpg

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

Box.png
box avec comm.jpg

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

Sans titre-1.jpg

Module to Recover the State of the Doorbell

sonnette.jpg

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

Sans titre-13.jpg

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

montage_hp.jpg

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.JPG

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

Graph.JPG

All data is stored in the database, which allows me to draw graphs of different data.

Planning

Calendar.JPG

It's possible to manage planning for all arduino module sensors

Manage Sensors / Module:

Module.JPG

Manage Scenario

SCenario.JPG

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

Log.JPG

It's possible to see all log

Example of Network Communication:

Sans titre-11.jpg


You can see my blog for more information ( it's in french, you can translate with google ;) ):

http://domotique-diy.over-blog.com/