Introduction: ThiDom Home Automation - DIY

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.

Step 1: 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

Step 2: 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 )

Step 3: 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.

Step 4: Building Master Device

Step 5: 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

Step 6: NRF24L01 and RF 433 Mhz Module

Step 7: 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 Realy
  • 1 NRF24L01

Step 8: 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

Step 9: 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

Step 10: Build a Node to Manage Relay

This node allow to manage a relay.

To build you need :

1 Regulator HLKPM01 ( 230V -> 5V)
1 Regulator TLV1117 (5V -> 3V)
2 Capacitores 1µf ( C1206C105J5RACTU ) One in input of TLV11171 and one in output of TLV11171
1 Attiny84
1 NRF24L01
1 Capacitor 4.7µF ( between 3V and GND of NRF24L01 ) ( C1206C475J3RACAUTO )

3 headers strip to temperature sensor
1 resistor 4,7 kohms ( CRG1206F4K7 )
1 relays ( T77S1D10-05 )
1 NPN to activare relays ( SST2222AT116 )
1 resistor 3.3 Kohms to NPN ( CRG1206F3k3 )
1 resistor 40 Mohms ( sensitif interrupt ) ( RH73H2A40MKTN )
1 fuse 800mA ( 0464.800DR )
1 varistor( V275LA20AP )

With this node you can manage thermostat, light and get temperature data

Step 11: 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.

Step 12: Graph History

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

Step 13: Planning

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

Step 14: Manage Sensors / Module:

Step 15: 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°

Step 16: Show Log

It's possible to see all log

Step 17: Example of Network Communication:

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

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

Step 18: Example of Topology NRF24L01

Step 19: Demo Acces

You can try ThiDom, follow link Demo Acces (The actions will not be considered so there will be no visual change)

And follow on Twitter and on the blog

Automation Contest

Participated in the
Automation Contest