Thanks for checking out my project!
This is a Tilt Hydrometer application written in perl/Tk, which will read bluetooth signals, parse raw Tilt data, and log the information to Tilt's Google sheet app or a third party URL, such as Brewfather. This is similar to the Tilt Pi software offered by Tilt.
Download and install the Debian package from the irontonbrewing PPA GitHub.
This automates dependency installations, and allows for easy updates later.
irontonbrewing
project distribution as a trusted package source.curl -s --compressed "https://irontonbrewing.github.io/projects/dist/KEY.gpg" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/irontonbrewing.gpg >/dev/null
sudo curl -s --compressed -o /etc/apt/sources.list.d/irontonbrewing.list "https://irontonbrewing.github.io/projects/dist/irontonbrewing.list"
sudo apt update
sudo apt install tilt-perl
Download and install the Debian package from the irontonbrewing PPA GitHub, without adding irontonbrewing
as a trusted package source.
tilt-perl-<version>.deb
.deb
package to /tmp
mv tilt-perl-1.1.deb /tmp
sudo apt install /tmp/tilt-perl-1.1.deb
Clone git repository from GitHub
git clone https://github.com/irontonbrewing/tilt_perl $HOME/tilt-perl
Install dependencies
sudo apt-get install bluez-hcidump perl perl-tk libjson-perl libwww-perl liblwp-protocol-https-perl libssl-dev zlib1g-dev
tilt
tilt -v
tilt -v -v
Note: The tilt application is installed in
/usr/bin
A generic "searching" screen is displayed until a Tilt is detected
The Tilt status will appear in place of the search window once a Tilt device is found.
To start logging: Configure => Logging => <color>
Note: logging gathers data over the specified interval and posts an average of the collection
Configure => Calibrate => <color> => <cal choice>
Note:
- only a single calibration offset is currently supported; device level calibration in prepared sugar solutions is recommended.
- calibration will be applied upon the next subsequent reading
Testing on Raspberry Pi/Debian Bookworm often produces a warning at launch. This is a benign issue with the hcitool
command and can be ignored.
Set scan parameters failed: Input/output error
File => Export data => <color>
Note: the "comments" field is currently used to record average signal strength (RSSI)
User settings:
$HOME/.tilt
, then automatically loaded on the next program start.Status logs: status about the tool can be viewed from one of two logs.
Status => Show Event Log
Status => Show Beacon Data
Tip: this log can be monitored to obtain the device's battery age, which is periodically reported.
My intent behind this, other than just for fun, was to avoid the need to flash my Raspberry Pi SD card to run the Tilt Pi web server, and to make custom tweaks and features. As a systems/software engineer by trade, I work with perl/Tk on a daily basis in my day job. Yes, it's "old", but perl 5 is still maintained and updated, and I prefer the syntax over Python.
I have full permission from Tilt to "sandbox" with their data format and to use their logo. This program is in no way intended to circumvent, override, or plagiarize any of Tilt's own software.
This program offers no warranty, guarantee, or support mechanism. This program as designed, reads data over a BLE (bluetooth low energy) digital signal and posts formatted information to a web URL.
The intended use of this software is to read Tilt digital hydrometer data for tracking beer fermentation progress, for use in brewing beer, or other liquid density applications only.
Please see LICENSE.txt
for full licensing.