Multi-channel temperature monitor, e.g. for wood fired oven. The intention is for the Raspberry Pi to be headless and all operation undertaken through a web browser. Text sizes have been optimised for viewing on mobile phone screens.
Requires:
- The GPIO Library (Already on most Raspberry Pi OS builds).
- The Flask web server. Install command:
- sudo apt-get install python3-flask
- A Raspberry Pi.
- Hardware with MAX31855 temperature monitors:
- Design updated for flexible number of sensors.
Installation:
- Copy files to a folder on the Raspberry Pi.
- Edit /etc/rc.local to autorun application:
- sudo nano /etc/rc.local
- Add: python /home/pi/.../temperature-monitor.py where ... is the location of your file.
- Edit config.xml to define your system hardware. The defaults match my hardware.
Recommendations (to make life easier):
- Set a static IP address.
- Define a hostname.
- Create a fileshare.
- Install VNC for full headless access.
See wiki.
Simplified the REST sensor measurement
Simplified the REST sensors config
Simplified the REST systemconfig
Corrected template to match changed variable name
Completed updated to REST interface Logging uses measurements from measurement thread
Created thread to take measurements
Merged sensor definition
Reverted some changes as HTML and REST api's need two different data structures
Started to refactor code
Initial REST implementation
Updated to Python3
As a result of errors observered on the wood oven, typically short to ground error, code amended to record the last valid temperature and to indicate how old the measurement is.
Defined twelve temperature monitoring channels.
Considered suitable for use.
Added optional note to CSV output.
Added HTML page title to XML configuration.
Added CSV log output.
Tidied up code.
Added config.xml to define the configuration.
Supports arbitrary number of channels.
Initial trial code.
Supports two fixed temperature monitoring channels.
MAX31855 driver modified from https://github.com/Tuckie/max31855.