-Raspberry Pi with Apache PHP Sendmail or postfix if you want a email warning.

What the software will do:

The command part This part is invisible to the user and is (and should be ) independent of the webpage. Using cron, it will read the water level every minute and save the information to a file. If the water level reaches a certain level, an email will be sent. This is the most important part.

The Web page In this part, the web page reads the information from the file written by the cron job and displays an image of your pit.

Step 1: Download and Copy the Software

Download the zip file and uncompress it to the webfolder of your Raspberry. I recommend creating a subfolder at the root of your www folder. Typically, the folder path is /var/www/sumppump.

Attachments

Step 2: Ajust the Preferences

Open the file "chklevel.php" with a text editor and change the line 3 to reflect the path to the folder where you copy all the files.

chdir('/var/www/sumppump/');

Save and close the file.

--------------------

Open the file "preference.php". All the preferences are explained in the comments.

The $levelamber and $levelred variables change the color of the led on the webpage and sends an email to the $to variable.

Be careful: If you set the $preferunit to cm, be sure to set all other measements to cm. The same thing applies in reverse cms to inches."

Refer to this images for the definition of some variables

Step 3: Schedule the Cron Task

Connect to your Raspberry as root and type this command to edit the scheduled task

crontab -e

Add this line to your crontab file:

* * * * * php /var/www/sumppump/chklevel.php

This will instruct to run the php script at every minutes of every hour of every...

Save the file with ctrl-o and ctrl-x to close the file.

Step 4:

Voila. If you type in http://myserver/sumppump in your browser , you should be able to see your sumppump.

Note that it's not really a dynamic image of your pit. In fact, what compose the image is a table of three row containing a top image with the sensor, a middle one with the grey background, and a third one with the blue background. The height of the row is determine by the level of water.

*** This code was test in my system only. If you encounter any bug, please write a comment at the bootom of the page.

Plastics Contest

Optics Contest

Make it Glow Contest 2018

20 Discussions

The setup is on allthe time and the battery is charged by a solar panel. There is a vertical float switch down the pipe which initiates a relayto switch on a 12v diesel pump to extract the water. The water trickles into the sump which makes the pump jump in and outabout every 2/3 seconds. Can I include your sensor to monitor the water levelsand control the pump using a 12v battery?

I Like this little project. I want to take it further by connecting an extraction pump by switching on a 12v fish tank or diesel pump to start pumping out the water (a) when it gets to a high level and (b) switch off the pump when the water level reduces back to the low level.

I made a different setup connected to a 12v battery. The setup on all the time. There is a horizontal float switch which initiates a relay to switch on the pump to extract the water but it jumps in and out every 2/3 seconds. Can I include your sensor to monitor the water levels and control the pump using a 12v battery?

Thanks for posting this guide! I'm having trouble with the code. Could you help me? I'm having many issues, but I'm currently troubleshooting. When I try to run chklevel.php directly I get the following message

is the $deep in cm? Is that from sensor to bottom of pit? Also, what does compensation equate to? Should that be preset as well from 11? Is that in cm or inches?

Do you know how accurate the sensor is? I will get crazy readings like:

Measure final 585cm

Then I re run and it's 53cm, which is closer to accurate. Do I need to do anything so it will start measuring the depth of water? Have you found a way to retain results, so I can track trends and retain a little history?

Check the image at step 2. It will give you the meaning of all the variables. If, for some reason, it's not acurate, add or substract the difference of reading you got. Also, You can set the unit of measure to cm or inches in the preference file.

Once you measure in real life an modify the $compensation variable, it should be pretty acurate.

There we go, that is working well now. Any chance of keeping any history? Say for the last 24 hours? That would be cool to see.

My last question is this value:

$compensation=-11;

What is the compensation for? Is that the # for how low the water will get once the water is pumped out? OR is it the distance from the top of the pit (or $deep) minus where the sensor sits? Is it in inches or cm as well?

I am a little confused here, what do I need to edit? I have gone through all of the files, edited what I think I should, GPIO trig/echo, directories, etc. What needs to be cron'd? How often? Where does the data go?

I am not having any luck. My Measurements are 24" deep pit, My Sensor is 20 inches above the pit. And, currently my water level is 4.5 inches. When I load up the page, those number are in no way reflected or translated.