PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Web Server



Killer
17.12.2007, 19:46
Hallo,
ihr habt bestimmt schonmal von dem von Ulrich Radig entwickelten Web-Server gehört (Wenn nicht: http://www.mikrocontroller.com/de/avr_webserver.php).

Die entsprechend gefertigte Platine möchte ich mir schicken lassen doch nun noch einige Fragen zu den Funktionsmöglichkeiten.
Kann man das System als richtigen Server benutzen und von anderen Computern so drauf zugreifen, als wäre es ein weiterer PC? Wenn ja, wie kann man von ausserhalb (also über Internet) auf den Server zugreifen?

MfG Killer

Culnamo
17.12.2007, 22:32
Hallo Killer,

Was dieser Server kann ist ganz gut in diesem Thread zusammengefasst:
http://www.mikrocontroller.net/topic/19602#new


Kann man das System als richtigen Server benutzen und von anderen Computern so drauf zugreifen, als wäre es ein weiterer PC?

Wenn Du damit fragen willst, ob man über die Windows-Freigabe auf den Server zugreifen kann, ist die Antwort: Nein. Man kann allerdings über den Browser auf die dort abgelegte Homepage zugreifen bzw. über FTP Dateien auf den Server schieben und runterladen.


Wenn ja, wie kann man von ausserhalb (also über Internet) auf den Server zugreifen?

Einfach die aktuelle IP-Adresse der Internet-Verbindung(an der der Server angeschlossen ist) in einen Web-Browser oder FTP-Programm Deiner Wahl eintippen. Wenn Dein Router Zuhause richtig konfiguriert ist und Du den Server richtig konfiguriert hast, solltest Du dann eine Verbindung bekommen.

MFG Culnamo

radbruch
17.12.2007, 23:52
Hallo

Im Dezemberheft von elektor ist ein Webserver auf ATMega32-Basis mit einer Netzwerkkarte beschrieben. Viele Funktionen wie z.b. zusätzliche I/Os, Webcam- und RS232-Anschluß. Alles gesockelt und ohne SMD!

http://www.elektor.de/Uploads/Images/Magazine/060257-51_2.jpg (http://www.elektor.de/jahrgang/2007/dezember/avr-webserver.296312.lynkx)
http://www.elektor.de/jahrgang/2007/dezember/avr-webserver.296312.lynkx

Gruß

mic

thewulf00
18.12.2007, 07:38
@radbruch: Diese Schaltung ist ebenfalls auf ulrichradig.de.

radbruch
18.12.2007, 10:29
@radbruch: Diese Schaltung ist ebenfalls auf ulrichradig.de.
Sorry, aber ich habe gar kein Internet. 8-[

...und der erste Link funzte nicht und manche mögens gerne "in Händen halten" oder auf dem Klo lesen...

mic

Johnes
18.12.2007, 11:43
Wer kein I-Net hat, hat sicher auch keinen Drucker! :lol: Und aufs Klo geh ich ehr zum sche.....!

Der erste Link funzt schon! Nur hat der Verfasser ("Killer") in den Link ein ")." dran gefügt!

Ohne ")." gehts: http://www.mikrocontroller.com/de/avr_webserver.php

MfG

Killer
18.12.2007, 16:00
@ Johnes: Ja das mit dem ")." stimmt, da hab ich nen Lehrzeichen weggelassen 8-[


Also wenn ich das jetzt richtig verstanden habe, kann man den Server nicht als solchen benutzen, um Dateien und Ordner darauf abzulegen sondern nur "besondere" Dateien, richtig?
Achja und nochwas: kann es sein, dass Reichelt keine ISA-Slots führt?

MfG Killer

zebrafalke
18.12.2007, 16:39
Nein aber die haben 2x31 sockel, die reichen da man den fehlenden 2x18-teil weglassen kann, sieht zwar nicht so schön aus, aber funktioniert.

Ich hab den Server so auch aufgebaut, aber ich habe mir einen ISA-Slot aus einem Mainboard ausgelötet.

Mit meinem Server (--> guckstu hier! (http://milanhille.gika-opm.de/?p=avr_webserver)) kann ich nach ein paar Codeanpassungen nun z.B. Lampen bei mir zuhause ein und ausschalten und irgendwelche Geräte schalten ;-) Ist sehr praktisch.

Killer
18.12.2007, 16:47
@ Zebrafalke: hast du zufällig gerade die Artikelnummer zur Hand?
Und nochmal zu meiner ersten Frage... man kann auf den Server nicht mit der Windows Benutzeroberfläche zugreifen (wie im richtigem Netzwerk)?

MfG Killer

zebrafalke
18.12.2007, 16:52
Art-Nr bei reichelt: "BL 2X36G8 2,54"
Nein du kannst nur, falls du es schaffst, auf den ftp-server zugreifen und daten hoch- und runterschieben, und sonst kann man halt html-dateien auf einer sd/mmc karte speichern, auf die man dann auch aus den internet zugreifen kann.

Killer
18.12.2007, 17:19
Dahinter verbirgt sich aber nur ne Buchsenleiste aber kein Steckverbinder!

MfG Killer


ps: hab jetzt im neuen Katalog einen gefunden.

zebrafalke
18.12.2007, 17:24
hups, sry, ich meinte diesen hier: "STECKER 62-254"

Killer
24.12.2007, 15:06
So, Platine eingetroffen, bestückt. Jetzt an die Software: hab mir das Programm als Hex-File gedownloaded ( http://www.mikrocontroller.com/de/download.php ) und mir PonyProg ebenfalls runtergeladen. Ich habe den STK 200 bzw. 300 und möchte den ATMega32 damit Flashen. Einstellungen in PonyProg:
-Chip: AVR Micro ATmega32
-Portsetup: Parallel AVR ISP 1/0
Soviel dazu. Doch wenn ich die Software jetzt flashen will, heißt es immer das keine Kommunikation hergestellt worden konnte.

Woran liegt das?

MfG Killer

Killer
26.12.2007, 15:54
Okay das konnte ich jetzt mittlerweile selber lösen. So der Webserver hat jetzt die IP 192.168.1.66, da diese in der Software eingetragen worden ist. Den Server schließe ich an meinen Router an und dieser gibt dem Router ne IP fürs Internet. Ist das richtig?

Mfg + frohe Weihnachten, Killer

radbruch
26.12.2007, 16:13
Hallo killer

Ne, die (öffentliche) IP bekommst du bei der Einwahl ins Internet von deinem Internetanbieter. Das macht aber dein Router automatisch wenn du dich einwählst. Im Router mußt du die Anfragen an den betreffenden Ports (80=http, 21=ftp...) auf die interne IP deines Webservers weiterleiten. Das müßte in der Doku zum Router beschrieben sein.

Innerhalb deines eigenen 192er-Netzwerkes solltest du aber schon Verbindung zu deinem Webserver bekommen, ohne etwas im Router verstellen zu müssen. Wenigstes ping sollte funktionieren, und wenn der Webserver läuft, sollte auch http://192.168.1.66 die Startseite zeigen.

Gruß

mic

Killer
26.12.2007, 16:46
Dann mus ich ja die IP des Routers ändern, das ist ja keine große Sache. Denn der hat an dritter Stelle keine 1 sondern 178. Ich kann ihn ja einfach auch auf 1 ändern und dann sollte der Server mit im Netz sein oder?

Aber woher weiss ich welche IP der Router dann dem Server im Internet zugewiesen hat? Führt der Router leider nicht auf wenn man seine IP in den Browser eingibt?!

mfG Killer

radbruch
26.12.2007, 18:56
Hallo killer

Ich nehme an, du wählst dich mit dem Router in's Internet ein (t-online, arcor, aol oder sowas). Dann bekommst du vom Anbieter eine IP über die man über das Internet deinen Router ansprechen kann. Wenn nun über das Internet eine Anfrage auf einem bestimmten Port reinkommt, kann der Router über eine interne Tabelle diese Anfrage zu einer internen IP umleiten. Im Falle eines Webservers ist das normalerweise (aber nicht zwingend) der Port 80. Der Webserver sendet dann die passenden Daten zum Router und der schickt sie zum Browser des Besuchers. Welchen Router verwendest du eigentlich?

Damit der Webserver rausfunken kann, muss er auch noch ein Gateway kennen, dafür gibst du die interne IP deines Routers an (meist 192.168.0.1 oder bei dir vielleicht 192.168.178.1)

Ohne Internet kannst du den Webserver mit einem Browser direkt unter seiner internen IP ansprechen, so wie oben schon gezeigt. Eventuell muss man noch den Dateinamen oder den Pfad zur (html-)Datei mit angeben, ich weiß leider nicht, wie der AVR-Webserver konfiguriert ist (kann ich aber rausbekommen, wenn du es nicht findest). Anfragen auf ungültige Seiten sollten zumindest eine Fehlermeldung des Webservers anzeigen. So kannst du auch ohne Internetanbindung prüfen, ob der Webserver überhaupt funktioniert.

Welche öffentliche IP dem Router zugewiesen wurde kann man meist irgendwo in seinen Menues nachlesen. Wenn du planst, den Webserver dauerhaft vom Internet erreichbar zu machen, must du dir ein URL-Forwarding-Tool (kostenlos, gelegentlich sogar werbefrei) zulegen. Damit erhälst du eine (Third-Level-)Domain die automatisch (wenn's richtig eingerichtet ist) immer auf deine aktuelle IP zeigt. Ich verwende seit Jahren den Service von v3.com (http://www.v3.com/free-sub-domains.shtml?sid=fcsite), das gibts aber auch deutschsprachig. Wenn du schon einen PHP- (oder anderen serverscriptfähigen) Webspace hast, kannst du damit auch eine Umleitung einrichten. Frag einfach nach, wenn du nicht zurecht kommst.

Gruß

mic

Killer
26.12.2007, 19:19
Ich verwende die FRITZ!BOX Wlan 3030. Die IP von dem Router ist 192.168.178.1 welche ja für das lokale Netzwerk ist. Ich stelle heute Nacht die IP um auf 192.169.1.1, sodass die ersten drei "Pakete" übereinstimmen (mit der des Servers". Dann zum Test im lokalen Netzwerk die IP des Routers eingeben und Testen. Sehe ich eine "Homepage" funktionier er.
Ist das soweit richtig?
Wenn ja, bestimmt der Router ja eine öffentliche IP Adresse für den Server oder?

MfG Killer

radbruch
26.12.2007, 20:31
Hallo killer

Jetzt gehts schon sehr in die Details. Hast du ein kleines Netzwerk oder hängt nur dein eigener Rechner am Router?

In der Doku (http://www.avm.de/de/Service/Handbuecher/FRITZBox/Handbuch_FRITZBox_WLAN_3030.pdf) deines Router steht auf Seite 49ff wie man die DHCP-Einstellungen des Routers ändern kann. DHCP bedeutet, der Router vergibt die IPs im lokalen Netzwerk, wenn dies auf den einzelnen Rechnern erlaubt ist. Da die IP des AVR-Webservers fest(?) eingestellt ist (192.168.1.66), darf wohl die Option "Alle Computer befinden sich im selben Netzwerk" nicht aktiv sein. Die IP an der betreffenden Schnittstelle des Routers wäre dann 192.168.1.1, die SubNetMaske wäre 192.168.1.0. Allerdings steht auf Seite 51 "feste IPs dürfen nicht im Bereich der DHCP-Adressen (20-200) der Routers liegen". Das beißt sich mit der 66 des AVR-Webservers. Eventuell must du DHCP ausschalten und deinem Rechner auch eine feste 192.168.1.xer IP geben. (Kein Problem, wenn du nur einen Rechner hast.)

Wie die Weiterleitung der HTTP-Anfragen eingestellt wird, kann ich noch nicht sagen, muss mich erst noch etwas einlesen. Möglicherweise funktionert es ja schon wenn alle Rechner im selben Subnet sind (die ersten drei Pakete).

Gruß

mic

Killer
26.12.2007, 22:23
Ne ich hab ein "kleines" Netzwerk am Router hengen. Wie gesagt würde ich dann die IP des Routers und so des gesammten Netzwerkes ändern. Für den Web-Server gibt es folgende fest eingestellte IPs:
192.168.1.66
192.168.1.166
192.168.0.66
192.168.0.166
Zwischen diesen vier IPs "darf" man wählen, indem man eine andere Software auf den Server aufspielt. Aber wiso die SubNetMaske nicht auf 255.255.255.0 lassen?

MfG Killer

Vitis
26.12.2007, 22:59
sobalt sich n Rechner ins Netz einwählt bekommt
er vom Provider ne IP-Adresse zugeteilt, in Deinem
Fall da Du ja den Router vorgeschaltet hast bekommt dieser
www-seitig ne IP und vergibt den angeschlossenen Rechnern
im internen Netz jeweils eine Andere.
Von aussen kommt man nun auf Deinen Server über
das Portforwarding.
Man geht hin und baut ne Weiterleitung auf.
Die Zugriffe auf Webseiten erfolgen üblicherweise
über den Port 80. Das kannste auf Deinem Webserver testen,
indem Du http://192.168.1.66:80 aufrufst.
Nun musst Du Deiner Box nur sagen, sende Anfragen
an Deine öffentliche IP unter Port 80 an http://192.168.1.66 weiter.
Der Haken ist nur, dass sich Deine öffentliche IP
bei jedem Einwählen ändert, Du kannst sie also nicht
z.B. hier im Forum verlinken.
Dafür gibts dann dienstanbieter wie DynDNS. Bei denen kannst
Du ne Domain buchen, unter der Du dann erreichbar bist.
Dein Router gibt die Info über deine derzeitige IP
automatisch an den Anbieter ab, der dann seinerseits
anfragen auf Deine Domain an Deine momentane IP
weiterleitet.

PS: normalerweise merkt der DHCP wenn die IP von einem
Netzteilnehmer fest ist, bzw. der DHCP vergibt ja nur Adressen, wenn
er vom Netzteilnehmer dazu aufgefordert wird.
Das nennt sich dann beim PC "IP Adresse automatisch beziehen"

PPS: Subnetmask auf 255.255.255.0 lassen, das mit dem 192xxxx ist Käse
Du meinst vermutlich den Standardgateaway

Killer
26.12.2007, 23:16
Okay, zusammenfassend:
1)Ich habe jetzt zum Test ein HTML-Dokument auf die SD - Karte gelegt, auf den Server(192.168.1.66) gesteckt.
2)Die IP meines Rechners zu 192.168.1.1 geändert und PC mit Server über Switch verbunden.
3)Server einschalten, im Browser 192.168.1.66 eingegetragen: "..Kann nicht angezeigt werden..."

Über RS232 wird die Server IP und MAC Adresse ausgegeben und nach einer kurzen Zeit kommt "Overrun". Der Switch zeit keinerlei Datentransfer auf Seiten des Servers an. Ich verwende eine ISA NE2000 Netzwerkkarte, allerdings nicht mit dem RTL8019 Chip.
Liegt das Problem an der Netzwerkkarte oder woran dass ich auf die Seite nicht zugreifen kann?

MfG Killer

Vitis
26.12.2007, 23:28
Die IP Deines Rechners ?¿ ... Du solltest den
Adressraum des DHCP-Servers Deiner Box ändern
und den Rechner auf "automatisch beziehen" lassen ... dann
wirds eher was. die xxxxx.1 ist meist dem Router vorbehalten,
da sollte der Rechner nicht unbedingt drauf.

Killer
26.12.2007, 23:52
Es soll aber doch auch funktionieren, dass man den Server über das lokale Netzwerk anspricht und sich durch Eingabe seiner IP in dem Browser die Homepage auf lokaler Ebene anzuschauen. Daraufhin habe ich die RechnerIP mit der des Servers angeglichen (192.168.1.1) und wollte auf den Server zugreifen und DAS hat nicht funktioniert und ich frage mich wiso???

MfG Killer

Vitis
27.12.2007, 09:36
es wundert mich, dass Dein Rechner noch Verbindung zum I-Net hat mit den Einstellungen ... Weil wenn ichs recht verstanden hab haste nun
Router: 192.168.178.1
Rechner: 192.168.1.1
Server: 192.168.1.66

versuchs mal eher so:

Router: 192.168.1.1
DHCP Adressraum: 192.168.1.xxx
Rechner: 192.168.1.20 oder IP automatisch beziehen
Server: 192.168.1.66

vermutlich kannst Du auf den Server nicht zugreifen, weil der
Router nicht weiß, dass er da ist, also das Routing unbekannt ist.
Ich denk das kommt daher, dass die Adresse des Servers ausserhalb des
Adressraums des DHCP ist.
Ein NEustart des Servers ist bei Änderungen natürlich auch
obligatorisch, damit er sich anmeldet.

Killer
02.01.2008, 11:35
Funktionieren tut es jetzt soweit, nur wenn ich im Browser die IP des Servers eingebe, kommt eine Testseite mit zwei Bildern. Auf der SD Karte hab ich eine HTML-Datei hinterlegt welche die zu öffnende Seite ist, wenn ich die IP im Browser eingebe. Diese öffnet sich aber nicht, sondern es erscheint immer dieses Testfenster! Muss ich auf die SD-Karte noch irgendeine besondere Datei laden die dem IC "sagt" woher er die Internetseite laden soll?

MfG Killer

Xtreme
02.01.2008, 11:46
Also auf "normalen" Webservern wird immer die "index.html" geöffnet... vieleicht hilfts die HTML Datei so zu benennen!

Killer
02.01.2008, 12:30
Das hab ich auch schon versucht, leider erfolglos! Diese Testseite taucht wieder auf. Woran könnte das noch liegen?