/hydroPi

Interact with temperature, humidity, soil moisture & relays to aid in hydroponics

Primary LanguagePythonMIT LicenseMIT

hydroPi

Interact with the Environment using Temperature, Humidity, Soil Moisture Sensors & relays to aid in Hydroponics.

Getting Started

Hardware

  • Raspberry Pi - ARM single-board Computer (tested using a Raspberry Pi Zero WH)
  • MCP3008 - Microchip to convert Analog to Digital Signal
  • DHT22 - Digital relative Humidity and Temperature Sensor
  • Soil Moisture Sensor - Analog Capacitive Soil Moisture Sensor
  • Relay - 4 or 8 Channel Relay (any channel size is supported)

Where to buy?

I sourced all the components for this project from Amazon.

Installing

Install an Operating System on the Raspberry Pi

  1. Download Raspbian from raspberrypi.org - the lite distribution is recommended.
  2. Install Raspbian on the SD card - you can use a tool like Rufus on Windows or Etcher on Mac OS to create the image and write it to the SD Card.
  3. Boot and SSH to the Raspberry Pi - If you are on Windows PuTTY is an SSH Client which you can use. On Mac OS SSH using the terminal
    ssh pi@192.168.0.1
    

Configure the Raspberry Pi

Once you have an open SSH session with the Raspberry Pi we can start getting a basic configuration in place

  1. Make sure your Raspberry Pi is up-to-date
    sudo apt-get update && sudo apt-get upgrade
    
  2. Install pip for Python 3
    sudo apt-get install python3-pip
    
  3. Enable SPI
    sudo raspi-config
    

Select option 5 - Interfacing Options - then select SPI and confirm you wish to enable it.

Built With

  • Adafruit - libraries for interfacing with the MCP3008 & SPI
  • dash - Analytical Web Apps for Python. No JavaScript Required
  • pandas - Flexible and powerful data analysis / manipulation library for Python
  • pigpio - Libraries for interfacing with the GPIO pins and DHT22 sensor
  • PyMySQL - Pure Python MySQL Client

Authors

  • jvdspeare

License

This project is licensed under the MIT License - see the LICENSE.md file for details