Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in interesting ways to sense and manipulate the environment.
- Inputs that record measurements from a number of places, including sensors, GPIO pin states, analog-to-digital converters, etc. (or write your own custom input module).
- Outputs that perform actions such as switching GPIO pins high/low, generating PWM signals, executing Linux shell commands and Python code, etc. (or write your own custom output module).
- Web Interface for securely accessing the system using a web browser on your local network or anywhere in the world with an internet connection.
- Dashboards that display configurable widgets, including interactive live and historical graphs, gauges, output state indicators, text measurements.
- Proportional Integral Derivative (PID) controllers that regulate environmental conditions with feedback loops utilizing Inputs and Outputs.
- Setpoint Tracking for changing a PID controller setpoint over time, for use with things like reptile terrariums, reflow ovens, thermal cyclers, sous-vide cooking, and more.
- Conditional Statements that react to input measurements, manipulate outputs, and execute actions based on user-generated code. This is a very powerful feature that enables custom user-created conditions) for Inputs, Outputs, Actions, and other parts of the system.
- Triggers that can trigger actions at periodic intervals (daily, duration, sunrise/sunset, etc.).
- Alerts to notify via email when measurements reach or exceed user-specified thresholds.
- Notes to keep track of events, alerts, and other important points in time.
- Camera for remote live stream, image capture, or time-lapse photography.
- Energy Usage Statistics to calculate and track power consumption and cost over time.
- Upgrade System to easily upgrade the Mycodo system to the latest release or restore to a previously-backed up version.
- Translation to several languages, including English, Chinese, Dutch, German, French, Italian, Norwegian, Portuguese, Russian, Serbian, Spanish, and Swedish.
See the README for more information.
- Raspberry Pi single-board computer (any version: Zero, 1, 2, 3, or 4)
- Raspbian OS flashed to a micro SD card
- An active internet connection
Once you have the Raspberry Pi booted into Raspbian with an internet connection, run the following command in a terminal to initiate the Mycodo install:
curl -L https://kizniche.github.io/Mycodo/install | bash
If the install is successful, open a web browser to the Raspberry Pi’s IP address and you will be greeted with a screen to create an Admin user and password.