Monitor a wine cellar

Wine Cellar

instrumented wine bottle
  • Synopsis:

    Optimal wine storage is around 13C (54- 56F) probably based on the ambient temperature in the limestone caves in France. If you are passionate about collecting wines, it is reassuring to be able to monitor the temperature in your storage area. 1-wire technology, using the OWFS system makes this easy!
  • Software -- Data collection

    • owfs running on a nearby server.
      • running as background process /opt/owfs/bin/owfs -F /dev/ttyM5 /mnt/1wire
      • ttyM5 is moxa multi-port serial card
      • -F for Fahrenheit temperature units
    • bash script (cellar.sh) to collect data
    • For convenience, symbolic links are created to the actual files to help label the files
      (based on Nicolas Huilard's idea)
      drwxr-xr-x  2 root   root 584 Jul 12 21:01 .
      drwxr-xr-x 17 root   root 440 Jun 17 21:49 ..
      lrwxrwxrwx  1 root   root  19 Jun 17 22:27 BasementHumid -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:24 BasementTemp0 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:24 BasementTemp1 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:25 BasementTemp2 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  44 Jun 17 21:52 CellarHumid -> /mnt/1wire/uncached/26.A44E15000000/humidity
      lrwxrwxrwx  1 root   root  47 Jun 17 21:53 CellarTemp0 -> /mnt/1wire/uncached/26.A44E15000000/temperature
      lrwxrwxrwx  1 root   root  47 Jun 17 21:52 CellarTemp1 -> /mnt/1wire/uncached/10.024446000800/temperature
      lrwxrwxrwx  1 root   root  47 Jul 12 21:01 CellarTemp2 -> /mnt/1wire/uncached/10.A72554000800/temperature
      lrwxrwxrwx  1 root   root  19 Jun 17 22:22 CellarTemp3 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:22 CellarTemp4 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:23 CellarTemp5 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:23 CellarTemp6 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:23 CellarTemp7 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:23 CellarTemp8 -> /var/spool/cellar/U
      lrwxrwxrwx  1 root   root  19 Jun 17 22:23 CellarTemp9 -> /var/spool/cellar/U
      -rw-r--r--  1 root   root   1 Jun 17 21:50 U
      -rw-r--r--  1 root   root 263 Jul 12 21:07 description

    • uses rrdtool for data storage
    • inittab entry to run script:
      # Cellar
      C0:2345:respawn:/usr/local/cellar/cellar.sh
  • Software -- Web display

    sample graph
    • CGI process under Apache
    • Page creation using perl (Cellar.pl)
    • Images created in the fly using rrdtool perl. (image.pl image2.pl)
    • Hourly static image creation and uploading to external server "Live" Data
  • Hardware

    • Temperature-Air

      iButtons for simple temperature measurements
      IButton temperature sensor
    • Temperature-Liquid

      18S20 attached to a wire.
      We use an 18S20, heat shrinked to a wire (telephone wire) that is plugged into a 1-wire bus. Parasitic power. The idea is to gain some immersion protection and make a relatively robust system.
    • Waterproofing

      Assembled straw and sensor.
      The sensor in placed in an ordinary drinking straw (plasitic) that has impaled a bottle cork.
      The cork has had a hole drilled.
      The end of the straw will be sealed with Silicone sealant.

    • Bottle

      Finally, the assembly shown at the top is done. We can have an in-bottle sensor (which should be better buffered, and more representative of the wine temperature.
    • Humidity

      Humidity is measured using the TAI8540A humidity sensors from AAGelectronica.
      Humidity Probe
  • Self-referential link at Hack-A-Day

  • Primary failure

    Example of primary cooler starting to fail. Fortunately secondary system kicks in.
    Primary failure

Previous page: WRT router mods
Next page: Office Monitoring