Home automated terrarium/aquarium or other enclosed environment with a Raspberry Pi
This version is not maintained anymore. Version 3.10 is the latest 3.X version. Use version 4
Software for cheap home automation of your reptile terrarium or any other enclosed environment. With this software you are able to control for example a terrarium so that the temperature and humidity is of a constant value. Controlling the temperature can be done with heat lights, external heating or cooling system. As long as there is one temperature sensor available the software is able to keep a constant temperature.
For humidity control there is support for a spraying system. The sprayer can be configured to spray for an X amount of seconds and there is a minumal period between two spray actions. Use at least one humitidy sensors to get a constant humidity value. In order to lower the humidity you can add a dehumidifier.
The software is that flexible that there is no limit in amount of sensors, relay boards or door sensors. The usage can be endless. All power switches have support for timers to trigger based on a time pattern.
If you are using this software for your animals or plants, please post some pictures
It can either run on Python 2.7 or Python 3.5+. Prefered is Python3
Think off: - Terrarium (wet or dry) - Aquarium - Tanks with animals or plants - Growhouse
And all this is controlled with a nice webinterface based on Gentelella a Bootstrap 3 template.
It is currently controling my reptile terrarium for more then three years! And my Madagascar Day Gecko is very happy with it!
The software has support for the following languages:
The installation expects a Pi with working network and ssh. It is tested with Raspberry Pi OS Lite. For now the Full version is not working somehow.... So use the lite image! A new installation will take about 45 minutes. This is due to manually compiling python modules for the latest versions. Upgrades will go much faster.
1. Get a working Raspberry Pi and login as user 'pi'
ssh [email protected][raspberry_ip]2. Install git
sudo apt -y install git3. Clone this repository and submodules!
git clone --recursive --branch 3.x.y.z --depth 1 https://github.com/theyosh/TerrariumPI.git4. Enter the new TerrariumPI folder
cd TerrariumPI5. Run the installer script and wait
sudo ./install.sh 36. Reboot Raspberry PI to get all the needed modules loaded
sudo reboot7. Go to the webinterface at http://[raspberry_ip]:8090
All needed options and modules are setup by the installer script. This means that I2C and 1Wire overlay are enabled by default.
Make sure that your Pi is secured when you put it to the Internet. Would be a shame if TerrariumPI gets next fictum of 'A smart fish tank left a casino vulnerable to hackers' :P
This updating is based on that the software is installed with the steps in the Installation above. When updating between release versions it will take more time due to database updates and cleanups. This can be seen in the logfile.
1. Get a working Raspberry Pi and login as user 'pi'
ssh [email protected][raspberry_ip]2. Enter the TerrariumPI folder
cd TerrariumPI3. Update the new code with git
git pull4. Re-run the installation script in order to update software dependencies
sudo ./install.sh 34. Restart TerrariumPI according to: https://github.com/theyosh/TerrariumPI/wiki/FAQ#how-to-restart-terrariumpi
Now clear your browser cache and reload the webinterface. A brand new version should be running.
This software requires a Raspberry Pi and some extra hardware in order to run and work. The bare minimun and tested hardware is - Raspberry PI with at least 4GB SD card - Pi 2 - Pi 3 - Zero (At own risk/no support) - Power relay board - USB versions (Serial and Bitbang) - GPIO versions - PWM Dimmer versions - Temperature/humdity/ultrasonic/PH sensors DHT11, DHT22, AM2303, DS1820, HIH4000, HC-SR04, SEN0161, etc through - OWFS - GPIO - 1 Wire interface - MCP3008 (RasPiO Analog Zero)
All hardware that connects to the GPIO pins use Physical GPIO numbering (1 - 40). The software will translate it to BCM if needed for a supported device or sensor. More information about GPIO pin numbering
For the analog devices use numbers of the channel on the analog device which is from 0 to 7 (8 channels). Also the software expect the analog MCP3008 on GPIO ports 19,21,23,24 physical (default). More information about GPIO pin numbering
If there is some other hardware which is not working with TerrariumPI, open an issue on Github and we will try to support it. Raspberry Pi Zero is not tested.
It is possible to use external sensor data that is available through HTTP(S) in JSON format. This way you can combine multiple Raspberry Pi's with TerrariumPI running to one single system. By using multiple Rapsberry PI's you can cover a bigger area. But there are limitations.
Currently it is READONLY. So you can read out remote sensors and switches but you cannot control the remote switches. But this way you can combine the power swiches total costs and power usage.
more information is here: Remote data wiki
(made on a very big screen :P )
More screenshots can be found here
A live version is running at: https://terrarium.theyosh.nl/index.html. Go to 'Help' menu for more information about used hardware, software and how to setup.