W&T Interfaces
für TCP/IP, Ethernet, RS-232, RS-485, USB, 20mA
Glas- und Kunststoff-LWL, http, SNMP, OPC, I/O digital, I/O analog, ISA, PCI, ...?
      Produkte
Home Kontakt   Distributoren weltweit
Sprachen:
DE

US

ES

IT

RU
Web-IO Universal
Digital
Analog
Web-IO Anwendungsfertig
Klima überwachen
Alarmmeldezentrale
Web-Count / S0-Erfassung
IP-Überwachung
Datenserver
Motherbox 2
pure.box 2
Netzwerkspeicher
TCP/IP-Ethernet Server
Com-Server (Seriell)
USB-Server
Serielle Interfaces
USB, RS232, RS485, 20mA
Isolatoren & Lichtleiter
USB, RS232, RS485, 20mA
PC-Karten
PCI Express, PCI- und
ISA-Bus
...
Drucker-Interfaces
Kundenfrequenzmessung

Zubehör
Downloads
Altes
Warenkorb    Ihr Warenkorb

 
      Fachwissen
Bücher, Aufsätze, Glossare...
Technische Hintergrundinfo
Applikationen zu Com-Server,
USB-Server
, Web-IO,
Web-Thermometer,
Motherbox und pure.box
 
Applikation zum Web-IO Digital:

Web-IO Digital wird mit Linux und CRON zur Zeitschaltuhr




 Weiterführende Links: Produktübersicht Applikationsübersicht Druck-Version


Zeitschaltuhren werden für vielfältige Aufgaben, wie dem Schalten der Hof- oder Eingangsbeleuchtung oder Leuchtreklamen, dem Öffnen und Schließen von Rolläden oder dem Abspielen einer Pausenglocke eingesetzt. Bedarf für zeitlich gesteuerte Schaltvorgänge gibt es zu hauf. Meist wird für jede einzelne Aufgabe eine eigene Zeitschaltuhr benutzt, die individuell konfiguriert bzw. eingestellt werden muss.

Cron

In den meisten Firmen gibt es zentrale File-Server, die ohnehin 365 Tage im Jahr Tag und Nacht durchlaufen. Ein unter dem Betriebssystem Linux laufender Server kann ganz einfach die Aufgaben einer zentralen Zeitschaltuhr übernehmen (natürlich ist das auch mit Windows Servern und Windows PCs möglich).

Über den in Linux-Servern aktiven CRON Dienst können per Netzwerk die Outputs von Web-IO Digital Boxen gesteuert werden. Damit hat man die Konfiguration der Schaltaufgaben an zentraler Stelle zusammengefasst und kann dennoch dezentral schalten.

Das im Folgenden beschriebene Beispiel zeigt wie das geht.


Sie haben noch kein Web-IO und möchten das vorgestellte Beispiel einfach mal ausprobieren?

Kein Problem: Wir stellen Ihnen das Web-IO Digital 2xInput, 2xOutput gerne kostenlos für 30 Tage zu Verfügung. Einfach Musterbestellung ausfüllen, wir liefern das Web-IO zum Test auf offene Rechnung. Wenn Sie das Gerät innerhalb von 30 Tagen zurück schicken, schreiben wir die Rechnung komplett gut.

Zur Musterbestellung   Zur Musterbestellung  

Vorbereitungen
Sie haben Ihr Web-IO Digital bereits

1. CRON und CURL als Kommandoversender

Der Cron Daemon dient normalerweise dazu, Programme, Dienste und Systemkommandos zeitlich automatisiert ablaufen zu lassen. Die Aufgaben, die CRON abarbeiten soll, werden mit den zeitlichen Anforderungen in eine Textdatei mit Namen crontab geschrieben.

Linux bietet von Hause aus keinen Dienst, der die Outputs eines Web-IO schalten kann. Hier bringt das kostenlose Tool CURL Abhilfe. Download und Installation erfolgen von der Webseite curl.haxx.se.

Durch Eingabe von

curl "10.40.22.101/outputaccess1?PW=Password&State=ON&"

wird nach erfolgreicher Installation z.B. Ausgang 1 des Web-IO mit der IP-Adresse 10.40.22.101 eingeschaltet.

Eine ausführliche Beschreibung der möglichen Web-IO Kommandos ist in der Anleitung zum Web-IO ab Seite 102 zu finden.


2. Aufbau der crontab-Datei

Die hier beschriebenen Funktionen können sich je nach eingesetzter Linux-Distribution von Syntax und Aufbau geringfügig unterscheiden!

Ob der CRON-Daemon läuft, kann mit folgendem Kommando geprüft werden:

ps aux | grep cron

Wenn CRON aktiv ist, antwortet Linux mit einer oder mehreren Zeilen, beginnend mit dem User-Namen (z.B. root) und einigen weiteren Angaben.

Wie bereits angesprochen, ist das steuernde Elment bei CRON die Datei crontab, die im Verzeichnis /etc zu finden ist. Hier wird festgelegt, wann welche Aktion ausgeführt werden soll. Für jede Aktion gibt es eine Zeile mit festgelegtem Aufbau.

#m h dom mon dow user command
0 8 * * 1-5 root curl "10.40.22.101/outputaccess1?PW=Password&State=ON&"

  • m
: Minute - Minute
mögliche Werte: 0-59
  • h
: Hour - Stunde
mögliche Werte: 0-23
  • dom
: Day of the month - Tag des Monats
mögliche Werte: 1-31
  • mon
: Month - Monat
mögliche Werte: 1-12
  • dow
  Day of the Week - Wochentag
mögliche Werte: 0-6 (beginnend bei 0=Sonntag, 1= Montag,....)
  • user
  User - Benutzername
(hier empfielt es sich mit dem Benutzernamen root zu arbeiten
  • command
: Command - Aktionsaufruf
für das Schalten mit Web-IO curl und der Schaltaufruf

Anstelle eines Zeitparameters kann ein Stern * gesetzt werden. Das steht für immer, also für alle erlaubten Werte
(zum Beispiel jede Minute).

Zahlenbereiche sind erlaubt. Bereiche sind zwei Zahlen, getrennt durch einen Bindestrich. Die angegebenen Grenzen sind inklusive. Beispielsweise bewirkt 8-17 als Stundenwert die Ausführung um 8, 9, 10, 11,12, 13, 14, 15, 16, 17 Uhr.

Listen sind möglich. Eine Liste ist eine Menge von Nummern oder Bereichen, getrennt durch Kommata.
Beispiele: 1,2,5,9 oder 0-4,8-12.

Schrittweiten können in Verbindung mit Bereichen genutzt werden. Hinter einem Bereich die "/<Schrittweite>" angegeben.

Beispiel: "0-23/2" kann unter Stunden benutzt werden, um ein spezielles Kommando alle zwei Stunden auszuführen. Die Alternative wäre: 0,2,4,6,8,10,12,14,16,18,20,22. Schrittweiten sind auch nach Sternen * erlaubt, "alle zwei Stunden" lässt sich auch durch "*/2" beschreiben.

Der oben gezeigte Eintrag schaltet um 8:00 Uhr morgens jeweils Montags bis Freitags Output 1 ein.

Das CRON-Format wirkt zwar auf den ersten Blick etwas unhandlich, aber es können ganz einfach sowohl sich wiederholende Aktionen, als auch einmalige Schaltvorgänge konfiguriert werden.

Ein abschließendes Beispiel:

Die Hofbeleuchtung einer Firma soll abends ein und morgens wieder ausgeschaltet werden. Dazu steuert Output 0 von Web-IO 10.40.22.101 ein Koppelrelais, welches die Beleuchtung mit Strom versorgt. Die Steuerung soll, um Strom zu sparen, die monatlichen Sonnenauf- und Untergangszeiten berücksichtigen. Ausserdem soll Output 1 des Web-IO 10.40.22.104 Montags bis Freitags um 13:00 Uhr den Pausengong steuern (der Output wurde dazu auf 500ms Pulsbetrieb konfiguriert, fällt also automatisch zurück in Ruhe).

#m h dom mon dow user command

#January 16:30 - 9:30
30 16 * 1 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 9 * 1 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#February 17:30 - 8:30
30 17 * 2 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 8 * 2 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#March 18:30 - 8:00
30 18 * 3* root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 8 * 3 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#April 20:00 - 7:30
0 20 * 4 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7 * 4 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#May 21:00 - 5:30
0 21 * 5 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 5 * 5 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#June 21:30 - 5:00
30 21 * 6 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 5 * 6 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#JJuly 21:30 - 6:00
30 21 * 7 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 6 * 7 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#August 18:30 - 7:30
30 18 * 8* root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7* 8 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#September 17:30 - 7:00
30 17 * 9 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 7 * 9 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#October 17:00 - 7:30
0 17 * 10 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7 * 10 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#November 16:30 - 8:30
30 16 * 11 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 8 * 11 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#December 16:00 - 9:00
0 16 * 12 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 9 * 12 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#Monday - Friday 13:00

0 13 * * 1-5 root curl "10.40.22.104/outputaccess1?PW=Password&State=ON&

Das Beispiel zeigt, dass auch komplexe Schaltaufgaben mit wenigen Konfigurationszeilen erledigt werden können.


 

Eine detaillierte Beschreibung zu den Schaltkommandos der Web-IO Digital Modelle finden Sie im Referenzhandbuch.

Zur Musterbestellung   Zur Musterbestellung  

 
    Weitere Applikationsbeispiele für Web-IO Digital
Webtechniken
     
     
     
     
  Eigene Webseiten
       
        PHP und AJAX - dynamische Webseiten auch für mehrere Web-IO
        Mashup Webseiten - Werteanzeige in Google Maps Landkarten
        Java-Applet - das integrierte Applet nutzen
        Java-Applet - Beispiel: Anzeige der In- und Outputs
        Java-Applet - Beispiel: Anzeige der In- und Outputs und Steuerung der Outputs
        Java-Applet - Beispiel: Anzeige der Counter
        Java-Applet - Beispiel: Türen öffnen und Lichter schalten im Browser
        Web-IO mit iPhone - visualisieren und steuern
        Web-IO mit iPhone Beispiel: Rolladensteuerung
        Web-IO mit iPhone Beispiel: Klimaüberwachung
        Web-IO mit iPhone Beispiel: Messwertanzeige
Systemintegration
     
     
     
     
     
      Box-to-Box
Datenerfassung
     
      FTP-Datenlogger - Beispiel
Zeitschaltuhr
     
      CRON Zeitschaltuhr (Linux)
      Taskplaner als Zeitschaltuhr
Individual-Programmierung
     
      Visual Basic.Net 2005/2008/2010
      Visual Basic.Net 2005/2008/2010 mit WuTdevice.dll
      Visual C++
      Visual C#
      Visual C# mit WuTdevice.dll
      Visual C++ (Linux mit QT-Designer)
      Visual Delphi
      Visual Delphi.Net (2005)
      Lazarus / FreePascal
      Java
      mit VBScript steuern
Web-IO System
     
     
      Motherbox - mehrere Web-IO ansprechen
      Motherbox - Web-IOs logisch verknüpfen
      Grenzwertüberwachung
  Web-IO - Möglichkeiten der Netzwerkanbindung
       
        DSL
        UMTS/GPRS/Mobilfunknetz
        Satelitenfunk

 
  • Mister Wong
  • Google Bookmarks
  • Twitter
  • Facebook
  • Digg
   Impressum
Wir sind gerne persönlich für Sie da! Wiesemann & Theis GmbH Tel.: 0202/2680-110 (Mo-Fr. 8-17 Uhr)
Porschestr. 12 Fax: 0202/2680-265
42279 Wuppertal individuelle E-Mail

© Wiesemann & Theis GmbH, Irrtum und Änderungen vorbehalten: Da wir Fehler machen können, darf keine unserer Aussagen ungeprüft verwendet werden. Bitte melden Sie uns alle Ihnen bekannt gewordenen Irrtümer oder Mißverständlichkeiten, damit wir diese so schnell wie möglich erkennen und beseitigen können.