Tomatengießer

  • in 20 Sec etwa 400ml
  • Beide Thinkpads (770 und T23) nutzen den I/O Port 0x3BC für den nach außen geführten Parallelport
  • init-skript öffnet nach dem boot alle Relais
  • Rechner synchronisiert Zeit per NTP
  • Cron-job schaltet jeden Morgen um 7:45Uhr für 20 Sekunden die Pumpe ein
  • Webcam macht in 10 Minuten abständen ein Bild und läd es auf einen FTP/Webserver

Anforderungen

  • soll 4 Tage unbeaufsichtigt laufen
  • nicht unnötig Strom verbrauchen
  • aus vorhandenen Teilen aufzubauen
  • jeden Tag zur gleichen Zeit gießen, ca. 400ml am Tag

Funktionsweise

  • Thinkpad 770 mit Debian Lenny
  • cron-job startet beliebig ein Shellskript, welches wiederum das Programm Parashell zum steuern paralleler Relaiskarten aufruft
  • Pollin Relaiskarte K8IO wird mit 9V~ aus einem Steckernetzteil versorgt
  • K8IO schaltet die 9V~ auf den Pollin Programmer, dieser wird als Netzteil für die Netzspannungsrelais benutzt
  • Netzspannungsrelais schalten Steckdosenleiste zu, Pumpe läuft an
  • nach vordefinierter Zeit (~20s) öffnet das Shellskript über Parashell das Relais wieder, Programmer bekommt keine Spannung, 5V brechen zusammen und Netzrelais öffen wieder

Aufbau

installation parashell

  • runterladen
  • unzip
  • cd ./parashell/bin/Linux/
  • chmod +x *
  • cp * /usr/bin

Skript giessen.sh

#!/bin/bash
parport=0x3bc
/usr/sbin/parashell $parport 1
sleep 20
/usr/sbin/parashell $parport 0

Skript reset_relay.sh

#!/bin/bash
parport=0x3bc
/usr/sbin/parashell $parport 0

cron-tab für das gießen

  • chrontab -e

# um 19:00 Uhr das Gießskript starten
00 19 * * * /usr/sbin/giessen.sh

  • crontab -l zum prüfen
  • cron restarten

init-skript zum resetten der relaiskarte

  • vim /etc/init.d/relay

#! /bin/sh
# /etc/init.d/relay
 
touch /var/lock/relay
/usr/sbin/reset_relay.sh
 
exit 0

* chmod +x /etc/init.d/relay * update-rc.d relay defaults

root@lc80:~# update-rc.d relay defaults
 Adding system startup for /etc/init.d/relay ...
   /etc/rc0.d/K20relay -> ../init.d/relay
   /etc/rc1.d/K20relay -> ../init.d/relay
   /etc/rc6.d/K20relay -> ../init.d/relay
   /etc/rc2.d/S20relay -> ../init.d/relay
   /etc/rc3.d/S20relay -> ../init.d/relay
   /etc/rc4.d/S20relay -> ../init.d/relay
   /etc/rc5.d/S20relay -> ../init.d/relay
relaiskarte_unter_linux.txt · Zuletzt geändert: 2011/06/17 15:00 von miq
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 3.0 Unported