Ok, for the record, here's how to calibrate probes in BrewPi.
Assumes an RPi host with network connectivity, with the entire procedure performed remotely via Putty or equivalent terminal emulator.
- tie all probes to a trusted thermometer and allow to normalize
- use the BrewPi web gui to record the probe temperatures and note any variances from the trusted reading
- use the BrewPi gui to Stop the running Script
- open a Putty session and log into the RPi host
- if the program Screen is not installed on the RPi, install it as follows:
$ sudo apt-get update
$ sudo apt-get install screen
- use Screen to connect to the serial port used by the Arduino.
Note if you have a multi-instance configuration to be sure to use the correct port reference.
In this example I'm using a Bluetooth-connected Uno using rfcomm1.
For a single-instance, USB-connected Uno, the most likely ports used are either /dev/ttyACM0 or /dev/ttyUSB0.
$ screen /dev/rfcomm1 57600
There will be no indication that Screen is connected.
- dump the data associated with all probes:
h{v:1}
- probes are referenced using an index i with values of 0 through 2.
Examine the data stream dumped above, looking for each value of "i", and the corresponding temperature reading. The One-wire address of each probe is also provided to help correlate datasets with probes.
- apply the desired adjustment factor for each probe:
U{i:n,j:v.v}
where n=probe index (0 through 2) and v.v is the adjustment value (if negative, then -v.v).
For example, I applied a negative 1.4°F adjustment to a room temperature probe, using:
U{i:2,j:-1.4}
After applying the adjustment factor you can use the dump command to verify the setting.
- Disconnect Screen from the serial port using
ctrl-a, k then answering "y".
- Use the BrewPi web gui to start the script and verify the probe data has been adjusted as desired.
Cheers!