Hallo,
Erstmal vorraus: Ich besitze alle Grundlagen (und mehr) in den Bereichen
Elektrotechnik, µC Programmierung (ehr weniger aber genug) und
Computertechnik.
Mein Vorhaben: Ich habe vor für mein AVR-Net-IO einen Eigenen Webserver
zu schreiben, wenn möglich in Assembler oder aber auch in C. Dieser soll
ein Display mit Textausgabe haben, Porterweiterung, 1-Wire und Infarot
(RC5) sowie viele weiter features. zudem auch noch ein eigenes HTML
Design.
Meine Probleme: Ich suche noch ein vernünftiges Tutorial wo erklärt wird
wie man jetzt zum Beispiel eine HTML Seite in ein Assemblerprogramm mit
einbindet und bei Anhaken eines Hakens dann ein Ausgang geschaltet wird
und so etwas.
Meine Frage: Kennt ihr ein solches Tutorial das sich darauf
spezialisiert TCP/IP (nennt sich mein vorhaben so?) vorzustellen und zu
erklären?
Einzige Anfforderung: Ich möchte nicht den Code von Ulrig Radig oder
Ethersex nutzen, sondern meine eigene Firmware machen, um dies zu lernen
und zu verstehen.
Ich hoffe ja sehr das ihr mir da weiterhelfen könnt,
MFG Mirte
OK, das Hauptproblem ist dann, Ethernet und TCP/IP zu erlernen.
Dazu besorgst Du Dir idealerweise 2 Linuxrechner (können sehr alte
Kisten sein, mit Puppylinux geht das zur Not auch mit einem 486ger) auf
dem einen installierst Du einen Webserver, auf dem anderen einen Browser
(ist bei den meisten Distributionen sowieso immer dabei). Dann
installierst du, falls nicht schon erledigt, netcat auf beiden Rechnern.
Zusätzlich brauchst Du noch Wireshark. Das ist ein sehr schönes Programm
um den Netzwerkverkehr zu analysieren.
Fang dann mal mit einfachen Dingen an. Nutze netcat auf einem Rechner um
einen Server (listen) Port auf zu machen, und verbinde Dich vom anderen
Rechner aus drauf. (ebenfalls mit netcat)
Schau dann mal an, was Wireshark so an Paketen ausspuckt und schau in
der Dokumentation zu Ethernet, IP und TCP nach und versuche das zu
verstehen.
Dann nimm Dir die Dokumentation zu HTTP vor. Versuche zu verstehen, was
da passiert.
Einfach ist das alles nicht, aber es sollte sich lohnen.
Guck dir erstmal an was HTML und TCP/IP überhaupt sind und was ein
Webserver wie z.B. Apache überhaupt macht. Aus deinem Post ist
ersichtlich, das dir das nicht wirklich klar ist. Als Einstieg würde ich
dir Wiki empfehlen und die Doku zu Apache.
Viel Erfolg!
Ich weiß sowohl was HTML als auch was TCP/IP ist, HTML ist die Sprache
(Saag ich mal so) in der "Internetseiten" geschrieben werden, HTML und
PHP behersche ich übrigens auch. TCP/IP ist das ein Netzwerkprotokoll.
Ich habe ja nicht umsonst nach einem Tutorial gefragt das erklärt wie
ich das beides in Assembler intregiere...
Mirte schrieb:> TCP/IP (nennt sich mein vorhaben so?)> Ich weiß sowohl was HTML als auch was TCP/IP ist
sagt schon alles.
Ich würde dir vorschlagen, lieber ein paar Stufen kleiner anzufangen.
Dein Projekt in seiner jetzigen Form ist für dich noch viel zu weit
entfernt.
Hast du denn schonmal einen Webserver auf einem PC ( z.B. in Java )
aufgesetzt ? Das wäre schonmal ein kleiner Schritt in die richtige
Richtung.
Zudem solltest du das OSI-Schichtmodell, gerade im Bezug auf den
TCP/IP-Stack wirklich gut kennenlernen.
Nur dann ist eine entfernte Chance gegeben, dass das ganze erfolgreich
verlaufen kann.
Mirte schrieb:> TCP/IP ist das ein Netzwerkprotokoll.
hast du schon wirklich mit dem Protokoll beschäftig? Fang erstmal auf
dem PC an selber TCP/IP zu Programmieren, wenn du das geschaffst hast
und noch lust hast, dann kannst du es ja mit ASM auf einen µC versuchen.
> einbindet und bei Anhaken eines Hakens dann ein Ausgang geschaltet wird> und so etwas.
wer soetwas fragt, der hatt http nicht verstanden.
Mirte schrieb:> PHP behersche ich übrigens auch
Entschuldigung, aber das glaube ich Dir nicht. Es gibt Millionen von
Leuten die zwar behaupten, PHP zu beherrschen es aber dann noch nicht
können.
Danke, Aber was geht ess euch was an ob ihr mir glaubt das ich das
behersche oder nicht?? ich fragt nett nach einem Tutorial dafür und
bekomme wie immer hier nur zuhören "lern doch erstmal das und das"
wahrscheinlich von leuten die zu dumm sind ihr leben auf die reihe
zukrigen oder was??
Mirte schrieb:> Danke, Aber was geht ess euch was an ob ihr mir glaubt das ich das> behersche oder nicht?? ich fragt nett nach einem Tutorial dafür und> bekomme wie immer hier nur zuhören "lern doch erstmal das und das"> wahrscheinlich von leuten die zu dumm sind ihr leben auf die reihe> zukrigen oder was??
Das wars....
Ich nehme mal an, dass das ganze eine Aufgabe deiner
Schule/Hochschule/deines Arbeitsnehmers oder Kindergartens ist.
Den Eindruck machst du zumindest ... unter dem Vorwand, etwas lernen zu
wollen, willst du am besten schon vorgesetzten Code haben und nicht ein
Fünkchen Eigeninitiative zeigen. Aber keine der bekannten Libraries, das
würde ja auffallen.
Kurz und knapp: Ohne Fleiß kein Preis. Ich bin raus.
Mirte schrieb:> Ja von mir aus, hab bei einem "Netteren" Forum schon eine perfekte> Antwort bekommen und kann mich jetzt in ruhe an meinen Webserver machen
Mit Sicherheit...
Genau deswegen liebe ich dieses Forum ... wenn die Frage ordentlich
gestellt ist und man sieht, dass der TS sich damit beschäftigt, dann
gibt es auch gute Antworten.
Wenn der TS ein A****loch ist, dann wird er auch so behandelt.
Weiter so, Jungs :)
Mirte schrieb:> Mein Vorhaben: Ich habe vor für mein AVR-Net-IO einen Eigenen Webserver> zu schreiben, wenn möglich in Assembler oder aber auch in C. Dieser soll> ein Display mit Textausgabe haben, Porterweiterung, 1-Wire und Infarot> (RC5) sowie viele weiter features. zudem auch noch ein eigenes HTML> Design.
Es gibt kleinere Lebensaufgaben, als sowas in ASM zu schreiben...
Fang doch erst mal mit C auf dem µC an und such dir dafür irgendwas, was
dich nicht gleich erschlägt.
Wenn du das dann beim Laufen hast, kannst du dir den ASM-Text ansehen,
den der gcc erzeugt und dir dann überlegen, wie du das besser machen
kannst.
Über AVR findest du hier massenweise Artikel:
http://www.mikrocontroller.net/articles/Spezial:Alle_Seiten
Ein AVR-Assembler-Tutorial findest du z.B. hier:
http://www.avr-asm-tutorial.net/
Ansonsten hilft dir Google gerne...
Hi
>Danke, Aber was geht ess euch was an ob ihr mir glaubt das ich das>behersche oder nicht?? ich fragt nett nach einem Tutorial dafür und>bekomme wie immer hier nur zuhören "lern doch erstmal das und das">wahrscheinlich von leuten die zu dumm sind ihr leben auf die reihe>zukrigen oder was??
Du fragst nach einem Tutorial für Assembler. Als notorischer
Assemblerprogrammierer behauptet ich, das du das nicht finden wirst. Das
ist aber eigentlich eine Domäne für höhere Programmiersprachen.
Das ganze ist in Assembler machbar. Allerdings sind PHP/HTML erstmal das
letzte was dir bei dem Vorhaben hilft. Das verschleiert nur den Blick
über das geschichtete Netzwerkprotokoll.
Ich bin auch dabei das zu realisieren. Im Moment allerdings ohne
Zeitdruck, also etwas langsamer. Eine recht gute Vorlage in C ist der
Webserver von Uli Radig. Den musst du eigentlich nur in Assembler
umsetzen.
MfG Spess
Mirte schrieb:> ich fragt nett nach einem Tutorial dafür und> bekomme wie immer hier nur zuhören "lern doch erstmal das und das"
Ich frage mich, was er sich unter einem "Tutorial" vorstellt?
Irgendwie scheint mir ASM nicht das Tool zu sein. Neben den Protokollen
benoetigt man auch noch ein Filesystem auf irgendwas, Flash, SD-card,
usw. Denn HTML ist filebezogen. Der Client fordert files an. Eine
clickbare Oberflaeche macht man uebrigens mit Javascript und Ajax.
Hi
>Irgendwie scheint mir ASM nicht das Tool zu sein. Neben den Protokollen>benoetigt man auch noch ein Filesystem auf irgendwas, Flash, SD-card,>usw. Denn HTML ist filebezogen. Der Client fordert files an.
Nö. Sieh dir mal den oben erwähnten Webserver von Uli Radig an.
MfG Spess
spess53 schrieb:> Nö. Sieh dir mal den oben erwähnten Webserver von Uli Radig an.
Für einen richtigen ASM-Fuchs nicht. Einem Programmier-Anfänger möchte
ich das nicht empfehlen...
Hi
>Für einen richtigen ASM-Fuchs nicht. Einem Programmier-Anfänger möchte>ich das nicht empfehlen...
Meine Antwort war primär auf die Notwendigkeit eines Filesystems
gerichtet.
MfG Spess
Aha. Das Filesystem braucht man um die Files zu lagern. Denn eine
Website besteht aus einer Vielzahl von files, das erste ist meist das
index.html, alle anderen sind von da folgend. Ich hab ein filesystem
fuer ein flash geschrieben. Da gibt es immer was zu debuggen, und ASM
ist etwas wenig selbsterklaerend, und schwer wartbar, speziell im
vergleich mit anderen sprachen.
Dekad Oschi schrieb:> Aha. Das Filesystem braucht man um die Files zu lagern. Denn eine> Website besteht aus einer Vielzahl von files, das erste ist meist das> index.html, alle anderen sind von da folgend.
Im Prinzip hast du recht.
Allerdings sind die 'Server', die von einem AVR getrieben werden, so
einfach, dass man da keine Files benutzt. Egal was der Client anfordert,
der µC präsentiert ihm immer denselben Text, in den er vielleicht noch
ein paar Messwerte programmtechnisch einbaut. Maximal gibt es 2 oder 3
verschiedene Seiten, die ganz einfach als Fixtexte im Programm vorrätig
sind.
D.h. meistens braucht man kein richtiges Filesystem, sondern der Server
schaut einfach nur auf den Namen des verlangten Files und entscheidet
welchen Text er aus einem vordefinierten Array er zurückschickt.
Einen Webserver inklusive TCP/IP Stack in Assembler zu bauen, so crazy
ist wahrscheinlich noch nicht einmal spess53. Und der ist für mich
immerhin eine der Assembler Autoritäten hier im Forum.
Dekad Oschi schrieb:> Aha. Das Filesystem braucht man um die Files zu lagern. Denn eine> Website besteht aus einer Vielzahl von files, das erste ist meist das> index.html, alle anderen sind von da folgend
das muss aber nicht sein, webanwendungen die mit ASP geschrieben sind,
bestehene aus einer DLL. Das die URL am ende wie eine Datei aussieht hat
nichts mit dem Server zu tun. Ein Filesystem ist keine vorrausetzung für
ein webserver.
Peter II schrieb:> Dekad Oschi schrieb:>> Aha. Das Filesystem braucht man um die Files zu lagern. Denn eine>> Website besteht aus einer Vielzahl von files, das erste ist meist das>> index.html, alle anderen sind von da folgend> das muss aber nicht sein, webanwendungen die mit ASP geschrieben sind,> bestehene aus einer DLL.DAS muss allerdings auch nicht sein! ;)
> Das die URL am ende wie eine Datei aussieht hat> nichts mit dem Server zu tun.
Und das sollte eigentlich jedem klar sein, der sich auch nur im Ansatz
mit der Funktion eines Webservers beschaeftigt hat. Und eigentlich auch
denen, die nur per Wordpress-Modul rewriten, damit die URLs huebscher
aussehen. ;)
> Ein Filesystem ist keine vorrausetzung für> ein webserver.
Amen.
Volker