Sensor box uses Python to gather data from different kinds of sensors, namely the moisture sensor, humidity sensor, camera, current sensor and water level measurement sensor. The database and FTP parts are configured in sensor_project/server_conn.py, and we store the data both locally and remotely for further uses in the water management field. Also wrote scripts to control the data collection processes.
In the end, it should work like this: Once the power for the Raspberry Pi board is plugged in, the microcomputer (loaded with the customized Linux system called Raspbian) within the board will boot up and run sensor_project/sensor_box.py automatically via cron to gather and store the necessary data. After 10 minutes, the main loop will begin another sampling cycle.
Also, this repository contains Python programs to help process the collected data. They can generate graphs for a given .csv file with specific formats. Also, there are several Bash (.sh) scripts which can be used to make certain maintenance tasks easier.
The sensors we used include a humidity sensor, moisture sensor, camera sensor, current sensor and water level measurement sensor. The detailed sensor information is as follows:
- The DHT22 Humidity/Temperature Sensor
- DS18B20 Temperature Sensor
- Moisture Sensor
- Raspberry Pi Camera Board
- YHDC SCT-013-000 Current Transformer
- Liquid Level Sensor
The current sensor and liquid level sensor are embeded within the Arduino UNO board, and the rest of the sensors are embedded in the Raspberry Pi board:
Python Libraries
- API for DHT22 Humidity Sensor
- API for Current Transformer
- API for DS18B20 Temperature Sensor
- API for Raspberry PI Camera
Software
Please see the Wiki for detailed documentation related to setting this up and using it.
##Group Members
- Pingpan Cheng <pingpan@umich.edu>
- George Grzywacz
- Christopher Kyle Horton <chrishorton@parjanadistribution.com>
- Joseph James Kielasa <josephkielasa@parjanadistribution.com>
##License
- GNU GPLv3