top of page

Home automation:

From protyping to final results.

This application is my master's degree final project, it is supposed to be a weather station and a remote control wattering system.

 

The interface between the user and the application is made over the internet.
This means I am using one of my Beaglebone (development board) running a web server which provides an interface between an application continuously running and the user.

 

The ideal final product should be a general controller embedded in a waterproof box (B0) and as many modules as we want (Bk), each providing data related to its environment (temperature, atm. pressure, luminance, humidity rate) and each one having a particular beheaviour depending on the terrain: that is, a particular command of the solenoid valve Vk.

 

The heart of the system is made of the a program continuously running and probing each sensor, checking the current valve's state and checking the user's commands. The interraction between this application and the web server (user interface) is made through files and log.

 

The system is working for ~250ms each 3 minutes.

 

Power management:

In order to characterize the final product, I calculated a ~1W power consumption for the optimized system. This was one of the main reasons for moving from the RaspberryPi to the Beaglebone: power consumption is now 2 times better than my first tests on the RaspberryPi.

 

The application wakes up each 3minutes and works for about 250ms.

 

Ideal final product:

The application is based on my Beaglebone development board probing a bunch of sensors:

  • TSL2561 is a digital chip sensing luminance,

  • MPL115a1 senses the atmospheric pressure,

  • ADS1015 is a 10bit Analog to Digital Converter (ADC),

  • TMP35 provides analog temperature (sampled by the ADC)

  • SEN92355P senses the soil humidity rate (sampled by the ADC)

  • DHT21 senses the air humidity rate

 

The actuators are solenoid valves which will be controlled with General Input/Outputs.

 

Principle:

The application:

Controlling and monitoring the system is made on this web page.

 

  • Report the systems status

 

 

 

 

  •  Monitor data day by day

 

 

 

 

 

  • Control Panel

 

 

 

 

 

 

 

 

 

 

 

Web User interface:

This is made by a Javascript code running on the client, receiving the sensors' log files and displaying the results on the web page. Data are displayed day by day: 24 hours, 1 point each 180s, 480 samples/day.

This is made by a Javascript code updating the current page, it retrieves data from the latest report file.

A PHP form updates the system's command: a shared text file acts as the interface with the application still running. This file is updated and processed every 3 minutes.

We can select the minimum soil humidity rate value causing the valve to open and the maximum rate to be reached.

Final tests & demonstration:

bottom of page