- Notifications
You must be signed in to change notification settings - Fork158
Dan-in-CA/SIP
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SIP is a free Raspberry Pi based Python program for controlling irrigation systems ( sprinkler, drip, hydroponic, 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.
Starting with version 5, SIP runs under Python 3. Python 2.x support has been removed.
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 viagit pull
on the command line or by using the includedSystem_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
Or use the install script described in thedocumentation wiki.
If you are running Raspberry Pi OS Lite you may need to install git first with:sudo apt-get install git
.
For complete setup and usage instructions see the SIPdocumentation wiki.
SIP is developed and tested onRaspberry 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 includingrelay boards andhats connected directly to the Pi's GPIO pins as well as OpenSprinkler boards and a simple DIYinterface that can support a large number of stations while using only 4 GPIO pins.
- SIP can be controlled and monitored using HTTP GET commands.
- With the addition of available plugins SIP can communicate with other systems via MQTT.
- there is a Node-RED plugin included with SIP that allows Node-RED flows to control SIP and receive status information from SIP.
- 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 andboards.
- There is also a mobile_app plugin shipped with SIP that transmits and receives SIP settings and status information in json format.
- TheBlinker 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.
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 thetranslation 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 theDiscussions tab in this repository or visit theSIP Forum
GNU GPL License
About
A highly customizable DIY irrigation/sprinkler controller based on Raspberry Pi