User Tools

Site Tools


projects:home_environmental_sensor_array

This is an old revision of the document!


Home Environmental Sensor Array

Progress

Summary Status

After experiencing a minor flood in the basement when the water softener turned on and the sump pump was not installed, I realized that my water softener runs without electricity. So, I changed the design of the HESA to turn on power to a submersible pump when it detects water rather then turn off power to the water softener. I also added graphing capability to the web page and made the code more reliable.

Click here to read the latest updates on my blog.

Final Solution

Features

  • Auto-startup on power up.
  • Auto-recovery on program failure
  • Status light that shows when pi is running.
  • Check for water in the basement. If found:
    • Turn on power to submersible pump
    • Send email to mail address. If internet is down, wait until it is up to send message.
    • Update local status page and internet database
  • Send all clear email when water clears
  • Read temperature and humidity in basement
  • Store hourly readings to SQL tables on internet
  • Web-based status page with graphs
  • All components mounted in enclosure that is mounted on wall and connected to 120v power

External Features

  • Email address that forwards mail to several email addresses as well as texting

Schematic

Code

Bill of Material

Components

  • 120v to 5v USB power converter and USB cable for Raspberry Pi
  • Duplex power outlet
  • Power plug for input with power cord for PC
  • Power switch
  • Powerswitch tail to control power
  • Water sensor cable
  • Connector plugs (2)
  • Ethernet cable
  • Enclosure

Consumables

  • Wires to connect Raspberry Pi ports to devices
  • 100k resistor for LED in enclosure
  • Flat edge connectors for electrical wires
  • Eyelet connectors for electrical wires
  • Wires to carry 120 volts of electricity
  • Solder

Phase 1

Description

Create a device that will sense when water is spilling in to the basement. The device will shut off power to the water softener and notify people that there is a problem.

Tasks

  1. Order Raspberry Pi and its components – Done
  2. Order Powerswitch tail – Done
  3. Setup Raspberry Pi with basic configuration – Done. View the blog entry.
  4. Create email group on my website to redirect email to multiple accounts – Done. View the blog entry.
  5. Write Python module to send email – Done. View the blog entry.
  6. Assemble Powerswitch tail – Done. View the blog entries here, here, and here.
  7. Write Python module to control Powerswitch tail – Done
  8. Write Python program to incorporate all features for phase 1 – Done
  9. Design a sensor to detect water – Done. Decided to go with bare wires.
  10. Design portable test system – Done
  11. Obtain materials for portable test system – Done
  12. Ensure that the basic design works 100% – Done
  13. Design enclosure – Done
  14. Obtain materials for enclosure – Done
  15. Build enclosure – Done
  16. Mount device in basement and test – Done
  17. Install FTP on raspberry pi – Done
  18. Install website files to the raspberry pi – Done

Follow-up tasks

  1. Make a backup of the SD card – Done
  2. Publish on Instructables – Done
  3. Install Avahi to be able to access the pi by its host name rather than IP address – Done
  4. Print a raspberry pi base on the 3D printer – Done
  5. Replace ethernet faceplate with one with one or two openings rather than four – Done
  6. Install MySQL administration tool – Done
  7. Populate MySQL tables – Done
  8. Store readings to local table, then update internet table, if available – Not started
  9. Make monthly graphs
  10. Make daily routine to consolidate daily temp and humidity data to a summary table – Not started

Phase 2

Description

Make the device more user-friendly and interactive. Replace the Pi with a Beaglebone Black to make it able to connect to more things. It should record daily data and statuses in a web-based database. It should check the internet connection regularly. If there are any non-standard conditions, alert the humans with email (if possible), lights, and sound until the problem conditions are gone.

Features

  • Record resistance readings multiple times a day in a web-based database
  • Record system statuses in a web-based database
  • Check internet connectivity
  • Display status on LCD screen
  • Turn on light if internet connection is lost
  • Turn on siren if flood condition recognized
  • Repeat messaging every 24 hours

External Features

  • Web site that displays reading results in tabular and graphical form

Components

  • Beaglebone Black
  • Green LED for normal operating conditions
  • Yellow LED for internet lost
  • Red LED for hazardous condition
  • 16×2 display
  • Siren
  • Manual power switch for siren
  • Reset button

Tasks

  1. Obtain Beaglebone Black – Done
  2. Obtain 4gb or larger mini-SD card – Done
  3. Update O/S on BBB – Done
  4. Figure out how to power up BBB without USB cable – Done. It needs a power supply that can provide 5v, 1A (or more), 2.1mm, CENTER POSITIVE.
  5. Obtain power supply for BBB – Done. An old Linksys PPP device had an appropriate PSU.
  6. Install Debian image on eMMC – Done
  7. Make support / case for BBB – Done
  8. Get HESA python program working on BBB – Not started
  9. Make HESA start automatically when BBB boots up – Not started
  10. Create MySQL tables to store status updates – Done
  11. Make HESA program update status in MySQL table – Done
  12. Make web page on rynok.org to display HESA status Done
  13. Find working 16×2 LCD display – Done
  14. Get LCD display working with BBB – Not started
  15. Add LCD code to HESA python program – Not started
  16. Install LCD screen in HESA enclosure front panel – Not started
  17. Design circuit that includes reset button – Not started
  18. Obtain components for reset button circuit – Not started
  19. Install reset button circuit in HESA enclosure – Not started

Phase 3

Description

Add a battery backup feature so the system can send alerts and shutdown gracefully in case of a catastrophe. Detect other environmental problems, record regular readings and send alerts.

Features

  • Battery backup
  • Detect power outage and send email alert
  • Add a button to shutdown the Pi, then shutoff power
  • Add a button to reboot the Pi
  • Low temperature detector
  • Monitor carbon monoxide levels
  • Monitor radon levels

Components

  • Battery power supply
  • Device that detects primary power outage
  • Temperature sensor
  • Carbon monoxide sensor
  • Radon sensor

Members: Ken Becker

projects/home_environmental_sensor_array.1416695603.txt.gz · Last modified: 2014/11/22 22:33 by kennethsbecker