{"id":1229,"date":"2013-01-05T16:54:18","date_gmt":"2013-01-06T00:54:18","guid":{"rendered":"http:\/\/upon2020.com\/blog\/?p=1229"},"modified":"2013-02-15T17:17:21","modified_gmt":"2013-02-16T01:17:21","slug":"my-raspberry-pi-pool-timer-software-rasptimer","status":"publish","type":"post","link":"https:\/\/upon2020.com\/blog\/2013\/01\/my-raspberry-pi-pool-timer-software-rasptimer\/","title":{"rendered":"My Raspberry Pi Pool Timer &#8212; Software: Rasptimer"},"content":{"rendered":"<p>(Previously I discussed the <a href=\"\/blog\/2012\/12\/my-raspberry-pi-pool-timer-why\/\">the why<\/a> of this project, <a href=\"\/blog\/2012\/12\/my-raspberry-pi-pool-timer-selecting-the-parts\/\">the parts<\/a> I selected to build with, <a href=\"\/blog\/2012\/12\/my-raspberry-pi-pool-timer-setting-up-the-raspberry-pi\/\">setting up the Raspberry Pi<\/a> itself, the <a href=\"\/blog\/2012\/12\/my-raspberry-pi-pool-timer-electronic-assembly\/\">electronic assembly<\/a>, and the <a href=\"\/blog\/2013\/01\/my-raspberry-pi-pool-timer-mechanical-assembly\">mechanical assembly<\/a> in the backyard. Now we need real software to run.)<\/p>\n<p><a style=\"float:right; clear: both\" href=\"http:\/\/upon2020.com\/blog\/wp-content\/uploads\/2012\/12\/piStatus.pl_.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/upon2020.com\/blog\/wp-content\/uploads\/2012\/12\/piStatus.pl_-150x150.png\" alt=\"\" title=\"piStatus.pl\" width=\"150\" height=\"150\" class=\"alignright size-thumbnail wp-image-1231\" \/><\/a>So far, I&#8217;ve switched the pumps on and off with the way of least resistance: <a href=\"http:\/\/www.windon.themoon.co.uk\/NVSM\/WebControl\">piStatus.pl<\/a>. To the right is a screen shot.<\/p>\n<p>Obviously, this for geeks debugging wires, and it won&#8217;t do for my project. I can&#8217;t even remember which pin numbers I use from one invocation to the next. So I decide to hack something together that is more user-friendly. The result is <a href=\"https:\/\/github.com\/jernst\/rasptimer\">Rasptimer<\/a>, a simple PHP web application that allows non-geeks to start and stop the pumps, and to schedule daily runs. Here&#8217;s a current screen shot:<\/p>\n<p><a href=\"https:\/\/github.com\/jernst\/rasptimer\/blob\/master\/screenshots\/front-page.png\"><img decoding=\"async\" src=\"https:\/\/raw.github.com\/jernst\/rasptimer\/master\/screenshots\/front-page.png\" title=\"Rasptimer\" class=\"aligncenter size-full\" \/><\/a><\/p>\n<p>It&#8217;s on Github at <a href=\"https:\/\/github.com\/jernst\/rasptimer\">https:\/\/github.com\/jernst\/rasptimer<\/a>, where there are installation instructions as well. I call it Rasptimer, because it runs on the Raspberry Pi and is a general-purpose timer application. License is GPL so anybody can do stuff with it.<\/p>\n<p>Internally, other than PHP, it uses <a href=\"https:\/\/github.com\/WiringPi\/WiringPi\">wiringPi<\/a>, a great set of libraries and executables that makes it easy to talk to the I\/O pins of the Raspberry Pi. It also uses Linux <tt>cron<\/tt> to switch pumps on and off, and so far doesn&#8217;t even need any local storage other than what&#8217;s written into the <tt>cron<\/tt> configuration.<\/p>\n<p>When I show Rasptimer running on our pool&#8217;s Raspberry Pi to my son, he is so excited playing with it from his computer in his upstairs bedroom (where he has a good view on the pool), I have to put a password on the pool website! There&#8217;s definitely playing potential here with projects like this.<\/p>\n<p>Now we are in business!<\/p>\n<p>In the last post, I&#8217;ll put together a <a href=\"http:\/\/upon2020.com\/blog\/2013\/01\/my-raspberry-pi-pool-timer-project-bill-of-materials\/\">parts list and approximate cost<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Previously I discussed the the why of this project, the parts I selected to build with, setting up the Raspberry Pi itself, the electronic assembly, and the mechanical assembly in the backyard. Now we need real software to run.) So far, I&#8217;ve switched the pumps on and off with the way of least resistance: piStatus.pl.&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled":false,"footnotes":""},"categories":[25,3],"tags":[248,245,244,251,259,249,260],"class_list":["post-1229","post","type-post","status-publish","format-standard","hentry","category-devices","category-hardware","tag-pool","tag-raspberry_pi","tag-raspberrypi","tag-raspbian","tag-rasptimer","tag-relay","tag-timer","kind-"],"kind":false,"_links":{"self":[{"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/posts\/1229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/comments?post=1229"}],"version-history":[{"count":11,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/posts\/1229\/revisions"}],"predecessor-version":[{"id":1267,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/posts\/1229\/revisions\/1267"}],"wp:attachment":[{"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/media?parent=1229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/categories?post=1229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/upon2020.com\/blog\/wp-json\/wp\/v2\/tags?post=1229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}