The Freya Vivarium Control System Core is Freya's central, hardware-independent application for advanced climate simulation within a managed environment. It regulates various environmental variables (e.g. lighting, humidity, temperature, ...) according to user-defined settings. By processing sensor data received via its D-Bus interface, the system calculates and sends the necessary instructions to the actuators, also via the D-Bus interface, to maintain the desired conditions. The Core requires hardware-specific components that interface with the physical sensors and actuators.
Features:
- Temperature control
- Humidifier control
- Precipitation control
- Lighting control
On your device, install the Freya Vivarium Control System software by downloading and executing the installation script
wget -O install.sh https://github.com/Freya-Vivariums/Freya-core/releases/latest/download/install.sh;
chmod +x ./install.sh;
sudo ./install.sh;
The Freya Vivarium Control System Core software is installed as a systemd
service, that is automatically started on boot. For manually starting, stopping and checking the status, use systemctl
.
systemctl status io.freya.Core
For monitoring the log file, use journalctl
.
journalctl -f -u io.freya.Core
The Freya Vivarium Control System Core uses DBus for interaction with other applications.
Object | Method | Argument | Returns |
---|---|---|---|
io.freya.Core | setMeasurement | {"variable":"temperature","value":21.4} | |
setMeasurements | [{},{},{},...] |
You can call a method from the commandline using:
dbus-send --system --print-reply --type=method_call --dest=io.freya.Core /io/freya/Core io.freya.Core.setMeasurement string:'{"variable":"temperature","value":"21.3"}'
The actuator values are emitted by the DBus object.
Object | Signal | Argument |
---|---|---|
io.freya.Core | updateActuator | {"actuator": , "value": [on/off]} |
You can listen to the emitted signals from the commandline using:
dbus-monitor --system "type='signal',interface='io.freya.Core'"
Copyright© 2024 Sanne 'SpuQ' Santens. This project is released under the GNU GPLv3 license. However, trademark rules apply to the Freya™ brand.
If you'd like to contribute to this project, please follow these guidelines:
- Fork the repository and create your branch from
main
. - Make your changes and ensure they adhere to the project's coding style and conventions.
- Test your changes thoroughly.
- Ensure your commits are descriptive and well-documented.
- Open a pull request, describing the changes you've made and the problem or feature they address.