User Tools

Site Tools


buster:porridge

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
buster:porridge [2021/04/15 12:19] slackbuster:porridge [2021/05/05 15:14] (current) slack
Line 1: Line 1:
 +**Deprecated: use [[https://github.com/repent/porridge/blob/master/README.md|README.md]].**
 +
 Ensure your user is a member of ''gpio''. Ensure your user is a member of ''gpio''.
 +
 +====== Dependencies ======
  
 Install Install
Line 9: Line 13:
  
 ''rpi_gpio'' v0.5.0 won't install through bundle (April 2021).  [[https://github.com/ClockVapor/rpi_gpio/issues/22|Here's why]].  Locking to v0.4.0 seems to work at the moment (in Gemfile). ''rpi_gpio'' v0.5.0 won't install through bundle (April 2021).  [[https://github.com/ClockVapor/rpi_gpio/issues/22|Here's why]].  Locking to v0.4.0 seems to work at the moment (in Gemfile).
 +
 +====== Installation ======
 +
 +===== System configuration =====
 +
 +In ''/boot/config.txt'', a ''dtoverlay'' line has to be added for every pin to which one or more 1-wire thermometers are added:
 +
 +  # 1-Wire interface for 18B20 thermometers (can add as many of these as you like, in theory)
 +  # 3.21: having difficulty with gpiopin 4
 +  
 +  # For the breadboard setup (4.21):
 +  dtoverlay=w1-gpio,gpiopin=5
 +  dtoverlay=w1-gpio,gpiopin=13
 +  
 +  # For the downstairs PCB (first version, tested working 20.4.21):
 +  #dtoverlay=w1-gpio,gpiopin=5
 +  #dtoverlay=w1-gpio,gpiopin=10
 +
 +And reboot to take effect.
 +===== Daemon =====
 +
 +**The daemon relies on ''~/.porridge'' for basic configuration.  If you don't make sure that this is in place, then ''systemd'' will log to ''/var/log/daemon.log'' by default.**  (And it will try localhost:80 for the API server.)
 +
 +The daemon uses systemd.  This means that porridged.system needs to be linked from ''/etc/systemd/system/porridged.service''.
 +
 +
 +To enable the daemon from boot, ''systemctl enable porridged'' as root.  For this to work, the .service needs an ''[Install]'' section that includes a "target" -- a point in the boot process at which it should be loaded.  ''systemctl get-default'' tells you the default, ''systemctl list-units --type=targets'' lists all of the options.  [[https://www.pragmaticlinux.com/2020/08/raspberry-pi-startup-script-using-systemd/|More]].
 +
 +  ln -s /home/slack/porridge/porridged.service /etc/systemd/system/
 +  systemctl daemon-reload
 +  systemctl enable porridged
 +  systemctl status porridged
 +  systemctl start porridged
 +
 +The ''.service'' needs to use the RVM wrapper script, [[https://rvm.io/integration/cron|as if it were being launched from ''cron'']].  This needs to be updated with newer versions of ruby (or new gemsets).
 +
 +===== API Server =====
 +
 +====== Updates ======
 +
 +===== Updating ruby =====
 +
 +  * New wrapper needed in porridged.service
 +
 +===== Updating rails =====
 +
 +
 +====== Troubleshooting ======
 +
 +  * Thermometers are plugged in but none are recognised
 +    * Have you set ''dtoverlay'' correctly?
buster/porridge.1618489198.txt.gz · Last modified: 2021/04/15 12:19 by slack