Giter Club home page Giter Club logo

garden-of-eden's Introduction


Garden of Eden

Truly own that which is yours!

Work is in progress, but we should be picking up some steam here to give the DYI community the features you deserve.

If you are interested in collaborating please review the CONTRIBUTORS for commit styling guides.

Checkout the Electrical Diagrams

Quick Run

usage python run.py will launch the flask api.

Physical Testing of Rest API

run ./bin/api-test.sh to cycle through the various endpoint tests.

Unit Tests

run python -m unittest -v

or for example: python tests/test_distance.py

Individual sensor controls

python app/sensors/distance/distance.py
Measured Distance: 31.84 cm

python app/sensors/pump/pump.py
Setting pump frequency to 50
Turning pump on
Setting pump 1duty_cycle_percentage to 30
Turning pump off

python app/sensors/light/light.py
Setting light frequency to 8000
Turning light on
Setting light duty_cycle_percentage to 50
Turning light off

Milestones

ToDo

  • test compatibility pi models: pi-zero, pi-zero 2
  • simple scheduling interface...
  • Reverse engineer and document hardware, software
  • document API endpoints
  • Figure out temp humidity and onboard motor sensor via i2c
  • Add homeassistant support
  • Rewrite for to collect data for graphs and analytics
  • Dockerize?

Design Decisions

Reading sensor values with inheritly long delays and responding to the REST API.

<gardyn-of-eden>
├── run.py
├── app
│   ├── __init__.py
│   └── sensors
│       ├── config.py
│       ├── distance
│       │   ├── distance.py
│       │   ├── __init__.py
│       │   └── routes.py
│       ├── __init__.py
│       ├── light
│       │   ├── __init__.py
│       │   ├── light.py
│       │   └── routes.py
│       └── pump
│           ├── __init__.py
│           ├── pump.py
│           └── routes.py
└── tests
    ├── __init__.py
    ├── test_distance.py
    ├── test_light.py
    └── test_pump.py

Getting Started

Recomendations

Pi Zero 2 I replaced my pi zero with a pi-zero-2, it is signifantly faster and I can use VS Code remote server to edit files and debug the python code remotely.

Buy one without a header, you will need to solder one on in the opposite direction.

System Overview

Depending on the system you have, here is a breakdown of the hardware.

Notes:

Lights

LED full spectrum lights, will do more technical research for optimal PWM driving.

Method

  • Lights are driven by PWM duty and a frequency of 8 kHz.

Pins

Pump

Method:

  • The pump is driven by PWM with max duty of 30% and frequency of 50 Hz
  • There is a current sensor to measure pump draw and a overtemp sensor to determine if board monitor PCB temp.

Pins:

Notes:

  • Pump duty cycle is limited, likely full on is too much current draw for the system.

Camera

Two USB cameras.

Method:

  • image capture with fswebcam

Devices:

  • /dev/video0
  • /dev/video1

Water Level Sensor

Uses the ultrasonic distance sensor DYP-A01-V2.0.

Pins:

Method:

  • Uses time between the echo and response to deterine the distances.

References:

Temp & Humidty Sensor

Momentary Button

<section incomplete>

Electrical Diagrams

Incase you need to troubleshoot any problems with your system.

Sensors

Power and Header

garden-of-eden's People

Contributors

iot-root avatar ammaratef45 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.