The Noodle Project is a pet snake environment controller. The project does things like act as a thermostat for heating elements and record environment humidity and temperature.
The latest (seemingly) stable build is in the dev branch.
Just a note: CMake is a real drain on my life.
The device currently publishes data frequently. This is desirable for something like real time reporting. Two minutes seems like an appropriate interval for this project.
- Monitor OneWire for changes to connected sensors
- use inotify on a new thread to check for changes in the mount dir https://www.thegeekstuff.com/2010/04/inotify-c-program-example/
- Shut off heat sources if the temperature reading fails.
- Shut off heat sources if the program is not running. Supply power to relay from device? Will the relay auto-trip?
- Status report of software version, device id, connected widgets
For testing, use run.sh.
#!/usr/bin/env bash
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=debug -DDAEMON=OFF ../
make
./noodle
Local testing should be fine for most instances. Daemon testing just makes sure the installation goes well and the services is configured properly.
#!/usr/bin/env bash
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=debug -DDAEMON=ON ../
make
sudo make install
sudo systemctl start noodle
./build.sh