Luna Webserver (openMLP)

Basierend auf den großartigen C-Quellen von Dirk Broßwick (sharandac) wurde ein Webserver mit Luna programmiert.

Die großartige Grundstruktur und der übersichtliche Aufbau des openMCP diente als Basis für den Luna Webserver. Er wurde an die sprachlichen Fähigkeiten angepasst und mit einigen Erweiterungen bestückt. Der Webserver kann zudem durch die Klassenaufteilung einfach in eigene Projekte integriert werden. Er unterstützt Polling- sowie auch Interruptmodus, sowie die parallele Verarbeitung mehrerer Dienste und Verbindungen (z.B. FTP, HTTP und UDP).

Aufgrund seiner umfangreichen Funktionen ist der Kompletteinsatz nur auf Controllern mit ausreichend Arbeitsspeicher und Flash sinnvoll. Er kann jedoch auch soweit abgespeckt werden, dass er auf einem Atmega32 lauffähig ist. Empfohlen zur sinnvollen Anwendung wird der Atmega1284p.

Je nach Konfiguration (ETH, ARP, IP, ICMP, TCP, UDP, HTTPD, UDPD, FTPD, TELNETD, ..) benötigt der Webserver min. 1-8 kb RAM und belegt dabei im Flash je nach Konfiguration ca. 16-55 kb.

Protokolle

  • Ethernet
  • ARP
  • ICMP
  • IP
  • TCP
  • UDP
  • NTP (DAYTIME & TIME)

Dienste

  • HTTPD
  • UDPD
  • FTPD
  • TELNETD

Konfiguration

Die Konfiguration erfolgt durch Schalter in der Datei „includes/config.luna“. Die Beispielseiten werden im Dienst „service.httpd.luna“ aus dem Ordner „www“ zur Demonstration direkt mit im Programm-Flash eingebunden. Alternativ werden Dateien direkt von der SD-Karte gelesen.

Source & Link zum Forumsbeitrag

Bilder & Code-Preview

Atmega32

Atmega1284p (Alle Dienste)