Giter Club home page Giter Club logo

sip's Introduction

SIP

Sustainable Irrigation Platform

SIP is a free Raspberry Pi based Python program for controlling irrigation systems ( sprinkler, drip, etc ). It uses web technology to provide an intuitive user interface (UI) in several languages. The UI can be accessed in your favorite browser on desktop, laptop, and mobile devices. SIP has also been used to control pumps, lights, and other Irrigation related equipment.

The core program is very versatile and there is a growing number of available plugins for added functionality.

Software support:

Starting with version 4, SIP can run under Python 2.7 and Python 3.
Most of the required Python packages and modules such as web.py and Cheroot are included in SIP's GitHub repository.
Installing SIP by cloning from GitHub enables easy upgrades via git pull on the command line or by using the included System_Update plugin.

To install, simply clone SIP into the /home/pi/ directory of your Raspberry Pi:
sudo git clone https://github.com/Dan-in-CA/SIP.git
If you are running Raspbian Lite you may need to install git first with:
sudo apt-get install git.
For setup and usage instructions see the SIP documentation wiki.

Hardware support:

SIP is developed and tested on Raspberry Pi although there is limited support for Beagle Bone Black and Odroid-C2. It has been tested on most Raspberry Pi models including Pi Zero.

There are a number of options for connecting SIP to an irrigation system including relay boards and hats connected directly to the Pi's GPIO pins as well as OpenSprinkler boards and a DIY shift register interface that can support a large number of stations while using only 4 GPIO pins.

Communication with other systems

  • SIP can be controlled and monitored using HTTP GET commands.
  • With the addition of available plugins SIP can communicate with other systems via MQTT.
  • SIP can also issue Linux shell commands when a station is turned on or off. This is useful for controlling wireless remote devices and for I2C relay hats and boards.
  • There is also a mobile_app plugin shipped with SIP that transmits and receives SIP settings and status information in json format.
  • The Blinker package that is shipped with SIP sends messages to other Python modules such as plugins to report changes in status. See the signaling_examples.py file in SIP's plugins folder for examples.

Get involved

The motivation for developing SIP is to enable a very low cost yet sophisticated solution for the efficient use of irrigation water, an increasingly scarce resource world wide.

SIP has been greatly improved by contributions, large and small, from the user community.
For example all the UI language translations have been contributed by users. If you would like to contribute a language translation or update an existing one please see the translation instructions on the wiki. It is rather easy.

To report a bug or contribute to the SIP project open an issue or pull request.

To ask question, make suggestions and learn more about SIP please see the Discussions tab in this repository or visit the SIP Forum


GNU GPL License

sip's People

Contributors

dan-in-ca avatar jonathan-marsh avatar rimco avatar martinpihrt avatar salbahra avatar cbright avatar bkoblenz avatar jzapater avatar embak avatar geosot avatar duanemay avatar scottshaffer avatar teodoryantcheff avatar mikedevita avatar mekenthompson avatar heegard avatar imharris avatar pelado-mat avatar trevorhobson avatar thep33t avatar sbruggeman avatar hmoffatt avatar materdaddy avatar dannf avatar geo-sot avatar mihugo 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.