2009-03-14 4 views
3

Ich beginne ein neues Projekt und ich versuche herauszufinden, welche Technologien ich verwenden soll. Hier ist der Deal, ich schreibe eine Software, die auf einem drahtlosen Router läuft, und ich möchte eine Webschnittstelle zur Verfügung stellen. Also werde ich wahrscheinlich einige serverseitige Web-Entwicklung machen müssen. Das einzige Problem ist, dass das Gerät, auf dem ich dies bereitstellen werde, nur 16 MB RAM (Ubiquiti Bullet) hat. Hier sind einige weitere Informationen:Welche serverseitige Webtechnologie sollte ich in einem eingebetteten System verwenden?

1.) Ich werde openwrt (linux) verwenden. 2.) Offensichtlich muss es leicht sein 3.) Es ist ein Schulprojekt, also kann ich alle Technologien verwenden, die ich möchte.

Offensichtlich ist PHP die offensichtliche Wahl, aber es ist noch etwas spannender (ich bin nicht verrückt nach PHP).

Vielen Dank im Voraus!

Antwort

7

Einige der späteren Versionen von OpenWRT haben eine vollständig in Lua (LuCi) geschriebene Schnittstelle. Hast du das überprüft, um zu sehen, ob es zutrifft? Es läuft über das Standard-CGI und wird vom eingebetteten Webserver aufgerufen, der bereits auf dem OpenWRT läuft (das bedeutet, dass Sie kein weiteres Softwarepaket hinzufügen müssen).

Schauen Sie sich ihre Website luci.freifunk-halle.net, es ist offensichtlich ein voll funktionsfähiges Web-Framework einschließlich MVC, so dass Sie schneller loslegen können!

LuCI ist eine Sammlung kostenloser Lua-Software für Embedded-Geräte. Es enthält einige nützliche Tools und Bibliotheken für Entwickler sowie eine MVC-Webframework- und Web-Benutzerschnittstelle, die ab Release 8.09 Teil von OpenWrt Kamikaze ist. Ziel des LuCI-Projekts ist es, benutzerfreundliche, stabile und zuverlässige Benutzeroberflächen und Entwicklungsframeworks zu erstellen und zu pflegen.

PHP ist ziemlich groß für einen Router, und ich denke, es wird nicht ganz die Geschwindigkeit bieten, die Sie suchen! Lua ist keine harte Skriptsprache, mit der man anfangen kann, es ist nicht so anders als PHP, und die Lua-Website ist sehr gut und hat eine Menge von documentation!

2

Write it in C.

Eine leichtgewichtige Webserver und entweder eingebauten Modulen oder FastCGI. Das eigentliche Web-Zeug in C geschrieben. Sie werden lernen, höhere Sprachen zu schätzen, und Sie werden wahrscheinlich weniger RAM verwenden.

Oder eine nette kleine http Bibliothek finden und bettet den HTTP-Server in Ihren Web-UI.

+0

Haha, ich wünschte mehr SO Antworten wurden mir gesungen. – DBedrenko

0

Ich bin im C-Lager - gehen Sie mit dem kleinsten Server, den Sie finden können, der Ihnen auch erlaubt, Ihre eigene API anzuschließen, um den Fräser zu steuern. Laden Sie so viel Logik wie möglich in den Browser, indem Sie Javascript verwenden, um Befehle zu überprüfen, die an das Back-End gesendet werden, und behalten Sie Ihr Design für eine einfache Form/URL-Behandlung am Back-End.

Dieser Link enthält eine Liste mit einer Reihe von Servern, die Sie anzeigen können.Einmal behauptet, nur 1k Zeilen Code zu sein, der klein ist http://www.ibm.com/developerworks/web/library/wa-ltwebserv/

0

Der Webserver ist nicht das Problem. Welche leichten httpd-Optionen auch CGI unterstützen, wird die Aufgabe erfüllen. Und für die Content-Generierung würde ich es auf keinen Fall in C machen. Benutze das LuCI-Framework und gestalte eine gute Oberfläche!

0

Sie können ein Webmin Plugin erstellen. Webmin:

  • kommt mit seinem eigenen Web-Server, die
  • SSL tun kann
  • wahrscheinlich in 16MB keinen Schweiß
  • ist speziell gemacht dafür, ein GUI-Frontend zu ändern, Unix- und Linux-Systeme quetschen
  • hat eine gut dokumentierte Plugin API
  • eine Tonne Beispiel Module hat (Plugins), die Sie von

keinen Königsweg lernen Es ist, aber für die nic er es dient, es erfüllt es 100%. Der einzige Nachteil ist, dass die API, die eine lange Tradition hat, nicht gerade elegant ist und man damit keine Buzzword-Preise gewinnen wird.