Simple way to monitor your, Home ,room, garage small factory or any other places Temperature and Humidity from anywhere in the world via internet.
It very fun and very simple.
Step 1: The Concept
- The Raspberry Pi will get the Home(Room) Temperature and the Humidity from the DHT11 sensor.
- All the data will be POST to the web server via JSON RAW data method.
- Data will store in a data base and publish to a chart.
- We can monitor the Temperature and Humidity with the chart.
Step 2: Required Items and Pre Requests
Step 3: Connecting the Device
- Make sure the power is switched off.
- Connect the VCC to the +3 V.
- Connect the DATA to the GPIO 4.
- Connect the GND to the GND.
- Power on the Raspberry Pi
Step 4: Setup the Python File in the Raspberry Pi
Connect to the Raspberry Pi via SSH or connect directly. select a proper folder or location to create the file.
And Download the attached dht11.py file and copy the source to your file in the Raspberry Pi.
All the functions and methods i have explained in the code with comments.
My web server IP address is "188.8.131.52" and the web service PHP file is "/rpi/rpi.php"
Step 5: Setup the PHP Web Service
Download the rpi.rar file and extract the files.
Open phpMyadmin and create a new database example : "rpi_themo".
Download the "pi.sql" file and import to your new database. (i have inserted few sample data)
Change the data base credentials in the following files
Step 6: Testing the Device
Connect to the Raspberry Pi and go to your dht11.py file location.
run the below comand
sudo python dht11.py
you will get something like this :
New record created successfully
if you get something like this :
don't worry this has a chance to lose data. This is because Raspberry Pi is not running at a real-time system, the delay in the program is not accurate enough, and sometimes that leads to a failure of transmission.we can run the program for several times can pick the correct result.
Step 7: Automating This Process
As you know in Linux we can run any script using cron jobs hence i have added a record in the cron jobs for run the script every minute. Use the following script for add the script.
add the following line in the bottom
*/1 * * * * sudo python /home/pi/Desktop/dht11/dht11.py
save and exit, for make sure the record has added. type the following comand
then you can see the record.
Step 8: The Chart
Now all done. open a web browser and go to the web server.
Example : http:// ip address or webs address>/rpi/temp/
then you can able to view a nice chart with the data.
Please free to comment and ask questions i would happy to help :).
i am working to add more sensors and get a full dash board in the future.