Elektronik und Elektrotechnik Design News

Elektronik und Elektrotechnik Design News

Steuern und Überwachen mit AJAX Webseiten

Gepostet am 1. August 2015 | Embedded

In diesem Artikel stellen wir Ihnen den Embedded Server Zilog®’s eZ80AcclaimPlus!™ vor - ein AJAX Web- und Monitoring-Server, der über das Internet erreichbar ist. Wir werden auf die besonderen Merkmale des eZ80F91 näher beleuchten, den Zweck des Webservers verdeutlichen und auf die Beschreibung der Hardware sowie der Implementierung der Anwendung genauer eingehen.

Surft man heutzutage im Internet, begegnet man fast ausschließlich interaktiven Webseiten, die trotz der großen Menge an übermittelten Inhalten mit kurzen Antwortzeiten aufwarten können. Diese Entwicklung lies die Weiterentwicklung der Clients jedoch nicht außen vor. Sie verfügen inzwischen über eine hohe Rechenleistung, was dem Webserver wiederrum erlaubt, dynamisch und responsive zu agieren.

Die Zilog ZTP und RTZ Stacks implementieren bereits die meisten Low-Level Anforderungen eines Webservers, so dass das Hauptaugenmerk der Entwickler auf den Antworten von AJAX Anfragen sowie dem Monitoring und der Steuerung der Hardware liegen kann. Um dynamische Webseiten für das Überwachen und Steuern des eZ80F91 Entwicklungsboards im Hintergrund bereitstellen zu können, kommen die Web-Technologien JavaScript und Cascading Style Sheets, kurz CSS, zum Einsatz.

Merkmale

Dies sind die wichtigsten Eigenschaften des eZ80F91

  • Agiert als dynamischer Webserver, der den ZTP und RZK Stack des eZ80AcclaimPlus! Mikroprozessor nutzt
  • Implementiert die AJAX-Technologie innerhalb des Webservers
  • Aktualisiert individuelle Inhalte ohne die gesamte Webseite neu laden zu müssen
  • Überwacht und steuert die Hardware des Entwicklungsboard mit Hilfe von AJAX Anfragen

Diskussion

Abbildung1

Der Zweck eines Webservers ist es, Anfragen von Clients zu beantworten (Client-Server Modell). Typischerweise nutzen Browser das Hypertext Transfer Protocol (HTTP) als Kommunikationsprotokoll um derartige Anfragen zu stellen. Der Vorteil von HTTP liegt darin, dass viele verschiedene Technologien über ein einziges Kommunikationsprotokoll angeboten werden können. In Abbildung 1 ist das traditionelle Client-Server Modell zu sehen, wobei der Begriff Server in diesem Beispiel den eZ80F91 samt TCP/IP Stack beschreibt.

Web Browser bieten heutzutage ein zunehmend besseres Nutzererlebnis, was jedoch nicht nur mit verbesserten Browser-Technologien zu erklären ist. Moderne Webserver haben an dieser Entwicklung einen ebenfalls nicht zu vernachlässigen Anteil. Die alten, statischen, in HTML geschriebenen Webseiten wurden unter anderem durch grafische Elemente, umfangreiche Skripte und dynamische Formatierungen ersetzt, die vom Client ausgeführt werden. Zu den Neuheiten auf der Seite der Webserver zählen die verbesserte Unterstützung von Skripten, die auf dem Server ausgeführt werden, die dynamische Verarbeitung sowie die Möglichkeit, Audio und Video Inhalte auszuliefern, die das Nutzen der Ressource interessanter gestaltet. Je größer der Teil der bereitgestellten Inhalte auf spezielle Zielgruppen ausgerichtet ist, desto dynamischer muss der Server agieren. Werden derartigen Konzepten eingesetzt, muss auch der Client leistungsfähig sein, da durch Skripte, die auf den Clients ausgeführt werden, Verarbeitungsschritte auf ihn übertragen werden. Im Gegenzug reduziert dies die am Server anfallende Last enorm. Eine solche „Technologie“ ist AJAX - eine Kombination aus mehreren Technologien, die zusammen ein sehr leistungsstarkes Werkzeug darstellen können.

Unter dem als AJAX oder auch Asynchronous JavaScript and XML bekannten Konzept, werden mehrere Technologien zusammengefasst, die den Datenaustausch zwischen dem Client und dem Webserver verbessern. Im Gegensatz zu einer einfachen Web-Applikation, bei der die Website neu gezeichnet wird, sobald Daten wie ein geändertes Datum oder ein ausgefülltes Formular vom Client zum Server übertragen werden, ermöglicht AJAX dem Designer der Web-Applikation festzulegen, dass nur bestimmte Teile oder Abschnitte aktualisiert werden, ohne das der komplette Inhalt neu geladen werden muss. Vor allem interaktiven Webseiten die ständig neue Inhalte anbieten, können so beschleunigt werden, da beispielsweise Bilder, Bibliotheken und Stylesheets nicht mehrmals geladen und verarbeitet werden müssen. Mit dem Einsatz von AJAY wird der Datentransfer nun im Hintergrund ausgeführt. Dadurch, dass nur noch geänderte Daten übertragen werden, reduziert sich außerdem die Menge der übertragenen Daten und der Austausch wird beschleunigt. In den meisten derzeit erhältlichen Browsern wird AJAX mit einem XMLHttpRequest Objekt implementiert. Der Webserver des eZ80F91 leitet die dynamischen Anfragen des Clients an die Applikation weiter, die die Anfrage verarbeitet und dem Client anschließend antwortet. Dies wird erst mit dem Einsatz von AJAX ermöglicht.

Mit AJAX kann sich der Webserver des eZ80F91 die dynamischen Seiteneigenschaften der ZTP Webseite zu nutze machen, um XML Dokumente, die den Status der Server Hardware enthalten, mit jeder GET-Anfrage auszuliefern. XML Dokumente benötigen zum Anzeigen lediglich wenige Ressourcen, so dass der Server mehr Rechenleistung für die Hardware sowie der Abarbeitung weiterer Anfragen aus dem Web zur Verfügung hat. Weiter bietet die Bereitstellung von XML Dokumenten den Vorteil, dass in ihm alle notwendigen Informationen enthalten sind, so dass auch leistungsstarke Clients die Daten in einem für den Benutzer ansprechenden Design darstellen können.

Der Webserver selbst besitzt eine hohe Abhängigkeit von den ZTP und RZK Bibliotheken, die beim Zilog Development Studio II (ZDS II – in diesem Fall eZ80Acclaim!) mitgeliefert werden. Die ZTP kombiniert eine Reihe an Netzwerk-Services mit RZK– einem effizienten Echtzeitbetriebssystem (RTOS). Das Betriebssystem enthält einen kompakten, präemptiven, multitasking- und -multithreadingfähigen Kernel, der Interprozess Kommunikation (IPC) und weichen Echtzeiteigenschaften unterstützt.

Die ZTP Software Suite beinhaltet

  • RFC konforme Protokolle im Industriestandard
  • Wichtige Protokolle: IPv4, TCP, UDP, DHCP/BOOTP, ICMP, IGMP, ARP und RARP
  • Weitere Protokolle: HTTP, TFTP, SNMP, TELNET, SMTP, DNS, TIMEP, SNTP, PPP und HDLC
  • Optionale Protokolle: SSL Server, SNMP V3 und HTTPS
  • Schnittstellen: UART (x2), I2C und SPI
  • FTP Server und Client Services nutzen ein Embedded Flash Dateisystem, das mehrere Datenträger unterstützt
  • Lokal oder remote Debugging zur Laufzeit mit spezieller Shell möglich
  • Unterstützung für dynamische Speicherallokierung

Hardware Architektur

Die in diesem Artikel wird das eZ80F91 Series Development Kit (eZ80F910300ZCOG) vorgestellt. Auf dem Board ist eine 5x7 LED Matrix enthalten, die überwacht und gesteuert werden kann.

Der eZ80AcclaimPlus!™ kombiniert einen High-Performance Flash Core und einen schnellen 10/100 BaseT Ethernet Netzwerk Anschluss. Die leistungseffiziente, optimierte Pipeline Architektur beinhaltet einen performanten Prozessorkern, der mit bis zu 50 MHz taktet, On-Chip Flash Speicher, SRAM, Ethernet Netzwerk Anbindung und eine Vielzahl an Peripheriegeräten. Die lineare 24-Bit Adressierung hilft dabei, die Applikationsentwicklung zu vereinfachen und den Code effizient auf dem TCP/IP/RZK Stack auszuführen.

Übersicht über die besonderen Merkmale des eZ80AcclaimPlus!™

  • High-Performance eZ80® Prozessorkern mit einer Taktrate von 50 MHz
  • On-Chip 10/100BaseT Ethernet Netzwerk Anschluss
  • 256 kB Flash Programmspeicher sowie zusätzlich 512 Byte Flashspeicher für Gerätekonfigurationen
  • 16 kB High-Speed SRAM direkt auf dem Chip
  • Lineare 24-Bit Adressierung
  • PLL und 32 kHz On-Chip Oszillator mit geringer Leistungsaufnahme
  • Unterstützte Schnittstellen: 32-bit GPIO, UARTs(x2), I2C, SPI und IrDA-kompatibler Infrarot En- und Decoder
  • Energiemanagement: HALT/SLEEP Modi zur Einzelabschaltung von Peripheriegeräten

Software Implementierung

Die Software Implementierung kann in zwei Module geteilt werden:

  • Auf dem Server arbeitet alles dem Webserver zu, der auf die Anfragen von Clients antwortet
  • Die Client Skripte bieten die Möglichkeit, die Remote-Hardware dynamisch zu überwachen und zu steuern.

Weitere Informationen erhalten Sie hier.

Aus dem Englischen von Markus Webert

Artikel Quellen:
avatar

Sie müssen sich anmelden um einen Kommentar zu veröffentlichen

avatar

Sie müssen sich anmelden um einen Kommentar zu veröffentlichen