Raspberry Pi meat curing chamber and mini IoT framework
See documentation for more info.
- csv_writer (Python) - Writes humidity and temperature data to CSV file
- dht (Python) - Publishes humidity and temperature data from Adafruit DHT series sensors
- metrics (Python) - Exposes metrics with Prometheus
- monitor_flutter (Dart/Flutter) - Flutter (tested with Android) app that displays humidity and temperature
- monitor-web (JS) - Web app that displays humidity and temperature
- rf433-cpp (C++) - Operates 433hz devices, used to turn on/off humidifier and fridge
- rf433_py (Python) - Operates 433hz devices, used to turn on/off humidifier and fridge
- slack (Python) - Posts messages to slack channel
git clone https://github.com/mattcontinisio/meat-curing-chamber.git
Python packages can be built individually.
mkvirtualenv -p python3 meat-curing-chamber
cd packages/dht/
pip install .
See scripts/install_*
scripts for how to install dependencies.
mkdir build
cd build
cmake ..
make
There is also a build script for convenience.
# Creates _build_release_gcc_make folder
./scripts/build_cpp.sh release gcc make
monitor_flutter is a Flutter app that displays the current humidity and temperature data.
cd packages/monitor_flutter
# Run app
flutter run
monitor-web is a React web app that displays the current humidity and temperature data.
cd packages/monitor-web
# Run app in development mode
yarn start
# Build app for produciton
yarn build
See the Readme for more info.
work in progress
bazel build //...
- Run MQTT message broker such as Mosquitto
- Set up Raspberry Pi hardware
- Configure and run services
Create configuration. See config/bedroom.ini
for example.
Run DHT service
# Use config.ini
./packages/dht/scripts/dht.sh
# Specify config file to use
./packages/dht/scripts/dht.sh -c config/bedroom.ini
Run humidity controller
# Use config.ini
./packages/rf433-cpp/scripts/humidity_controller.sh
# Specifiy config file to use
./packages/rf433-cpp/scripts/humidity_controller.sh -c config/bedroom.ini
Other services can optionally be run for monitoring, logging, etc.
Create configuration. See config/fridge.ini
for example.
Run DHT service
./packages/dht/scripts/dht.sh -c config/fridge.ini
Run humidity controller
./packages/rf433-cpp/scripts/humidity_controller.sh -c config/fridge.ini
Run temperature controller
./packages/rf433-cpp/scripts/temperature_controller.sh -c config/fridge.ini
Other services can optionally be run for monitoring, logging, etc.