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
:
Gesperrt durch User
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...
Mach mal weiter mit Deinen Intrigen...
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....
Ja von mir aus, hab bei einem "Netteren" Forum schon eine perfekte Antwort bekommen und kann mich jetzt in ruhe an meinen Webserver machen
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...
Ich merke, dass nicht das Forum gemein ist, sondern die TSs dumm sind.
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
Danke. Ich hab auch mal einen Webserver geschrieben. Man macht sich zuviel Arbeit mit ASM, auch wenn es moeglich ist.
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