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:

iPhone optimierte Webseiten für Web-IO Anwendungen




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


Die hier gezeigten Techniken nehmen zwar Bezug auf das Apple iPhone, können aber durch Anpassung der Anzeigegröße an die Displayauflösung auch für jedes andere internetfähige Mobiltelefon umgesetzt werden. Einzige Voraussetzung ist die Unterstützung von JavaScript und im speziellen von HTTP-Request-Objekten (AJAX-Technik).

Was die Anzeige des iPhone betrifft, gibt es zwei Varianten:

iPhone Anzeigebereich in Pixeln

Um die Erstellung der Webseite einfach zu halten, sollte man sich für eine Variante entscheiden und die Webseite entsprechend aufbauen.

Bei vorhandenem WLAN-Zugang funktioniert das gezeigte Beispiel auch auf allen iPod Touch Modellen!

Beispiel - Rollade mit dem iPhone steuern

In diesem Beispiel sollen die Schalteingänge einer elektrischen Rollade über die Outputs eines Web-IO 2xDigital aus dem iPhone bedient werden.

IPhone steuert Rolaade via Web-IO Digital

Wie bereits angedeutet, ist es bei Webseiten, die speziell für das iPhone optimiert sein sollen wichtig, die verwendeten HTML-Elemente von Größe und Position pixelgenau zu definieren.

iTouch Rolladensteuerung

Die Zeichnung soll bei der Anordnung der Elemente und beim Verständnis des folgenden Quelltextes helfen.

<user.htm>
<html>
  <head>
    <title>Aktuelles Klima</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta name="viewport" content="width=320" />
    <style type="text/css">
    <!--
      * { font-family:Verdana, Helvetica; }
      .description { position:absolute;
                     text-align:center;
                     font-size:18px;
                     left:0px;
                     height:25px;
                     width:320px; }
      .confirm     { position:absolute;
                     background-color:#99CCFF;
                     left:0px;
                     height:160px;
                     width:320px; }
      .buttons     { position:absolute;
                     font-size:50px;
                     width:280px;
                     height:120px;
                     left:20px; }
    -->
    </style>

  </head>

Der Quelltext beginnt mit dem Web-IO spezifischen Tag <user.htm>, welches das Web-IO für die interne Zuordnung ins File-System benötigt. Das <user.htm> Tag wird vom Web-IO nicht an den Browser weitergegeben.

Dann folgt der normale <head>-Bereich der Webseite. Wichtig ist die Angabe "viewport". Hiermit wird das normalerweise vom iPhone praktizierte Auszoomen der Webseite auf 320 Pixel begrenzt, so dass die Webseite immer komplett und in der gewünschten Skalierung angezeigt wird.

Im weiteren Verlauf des Quelltextes werden DIV-Elemente zur Beschreibung und Anzeige angelegt. Für diese Elemente finden sich entsprechende CSS-Style Informationen im Kopf. Unter anderem um Höhe und linke Position zu definieren.

  <body>
    <div class="description" style="top:5px;">Rolladen Steuerung</div>
    <div id="go_up" class="confirm" style="top:30px;"></div>
    <input type="button" class="buttons" onclick="goup();" style="top:50px;" value="AUF">
    <div id="go_dw" class="confirm" style="top:190px;"></div>
    <input type="button" class="buttons" onclick="godown();" style="top:210px;" value="ZU">
  </body>
</html>

Es folgt der <body>-Bereich der Webseite. Hier werden die im Kopf definierten CSS-Klassen, so wie die top-Angaben genutzt, um die einzelnen DIV-Elemente in Position zu bringen. Den DIV-Elementen, die nach Laden der Webseite noch geändert werden sollen, wird jeweils eine ID zugeordnet. Den Buttons wird über onclick zugeordnet, welche JavaScript Funktion sie aufrufen sollen.

<script language="JavaScript" type="text/javascript">

  function DataRequest(sendstring)
  { var xmlHttp = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") :     xmlHttp = new XMLHttpRequest();
    if (xmlHttp)
    { xmlHttp.onreadystatechange = function()
      { if (xmlHttp.readyState == 4)
        { if (xmlHttp.status == 200)
          { var ReceiveData = xmlHttp.responseText.split(";");
            if (ReceiveData[1]=='2')
            { document.getElementById('go_up').style.backgroundColor= '#99CCFF';
            }
            if (ReceiveData[1]=='1')
            { document.getElementById('go_dw').style.backgroundColor= '#99CCFF';
            }
            xmlHttp=null;
          }
        }
      }
      xmlHttp.open("GET", sendstring, true);
      xmlHttp.setRequestHeader("Connection", "close");
      xmlHttp.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
      xmlHttp.send(null);
    }
  }

  function godown()
  { DataRequest('outputaccess0?PW=&State=ON&')
    document.getElementById('go_dw').style.backgroundColor= '#CCCCCC';
  }

  function goup()
  { DataRequest('outputaccess1?PW=&State=ON&')
    document.getElementById('go_up').style.backgroundColor= '#CCCCCC';
  }

</script>

Kernstück der Webseite ist der JavaScript Teil, der im <head>-Bereich der Webseite untergebracht wird. Die Funktionen goup() und godown() rufen die DataRequest Funktion auf, und übergeben als Kommandostring den Web-IO spezifischen Befehl zum Setzen des gewünschten Output. Mit der Methode document.getElementById wird außerdem das unter dem Button liegende DIV-Element grau gefärbt, um dem Nutzer zu signalisieren, dass sein Button-Klick erkannt wurde.

Die in der DataRequest Funktion eingebettete Empfangs-Funktion färbt das DIV-Element nach empfangener Bestätigung wieder hellblau.

Die Webseite ist damit fertig und muss nur noch in das Web-IO hochgeladen werden.

user.htm hochladen

Da die Outputs die Rolladensteuerung nur mit einem kurzen Puls ansprechen sollen, muss für beide Outputs noch eine Pulslänge von 1000ms vorgegeben werden.

Pulslänge einstellen

 

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 Programmbeispiel herunterladen   Zum Download

 
    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.