Hallo, also Cb Funk - ich weiß ja nicht. Es gibt 2,4 Ghz Sender fix und fertig zu kaufen mit passendem Empfänger, da hast du dann ein live Bild. Mußt halt nur mal schauen wegen den Deutschen Funk Bestimmungen. Aber geben tut es, gibts sogar bei Ebay. Peppe
Ich dachte Datenübertragung über CB-Funk und andere Sprechfunkfrequenzen sei verboten ?
Ne, ist erlaubt, hier nachzulesen: http://www.bundesnetzagentur.de/media/archive/1533.pdf Gruß, Feadi
Das Problem ist ja bei den billigen 2,4Ghz Systemen einfach die Qualität. Ganz zu schweigen von der Reichweite. Mit CB Funk sind da ja locker 10 Km drin. Außerdem ist die Frequenz schon belegt, sonst hätte ich das ja über einen Wlan Accespoint und einer Parabol + Biquad gelöst. Und mit dem Webserver könnte man ja dann noch ein Servor ansteuern. Und so hätte ich ein spitzen rundumblick. Aber man müsste wohl das Bild auf einer SD Karte zwischenspeichern. Um bei Störungn und Paketverlusten neue generieren zu können. Ich denke so eine Übertragung wird dann schon mal 10 min dauern. Also wenn jemand eine Schreibunterstüzung für die SD Karte erstellen kann würde ich mich gerne erkenntlich zeigen. MfG Stan
JUHU JUHU was ist das für ein Gefühl wenn es endlich klappt. Und das alles nur wegen einem zu schwachen Netzteil. *****schäm***** Kann ich eigentlich die Webcam auch in dem Source der 3C509B Version nutzen? MfG Stan
Ich habe den Server nun auch in Betrieb gebracht. Tolles Gerät. Schaltet und waltet und gibt Temperaturen aus. Per dxndns auch übers web. Alle Funktionen, die für das Bearbeiten von Variablen und Formularen zuständig sind, habe ich aus tcp.c und httpd.c in eine extra Datei gepackt. So muss ich nur dort und in webpage.c ändern. Was mir bisher nicht gelungen ist: SNTP und das Lesen externer Websites. Also der Aufruf von Seiten. Hat jemand sowas schon auf dem Server gemacht?
Hallo! Habe genau das gleiche Problem wie Stan weiter oben und kriegs alleine nicht gelöst! Kann mir wer helfen??? Stan´s Post : "Hy ich habe jetzt zwei Webserver zusammengelötet. Und auch gleich verschiedene Hex Files geflasht. Als Netzwerkkarte verwende ich je eine 3Com EtherLink III 3C509B-C. Ich habe sie auch auf RJ45 und 310 gestellt. Die nötigen Modifikationen auf der Platine habe ich auch gemacht. Die Files sind von hier: http://mikrocontroller.cco-ev.de/de/download.php#AVR_WEB Leider habe ich den Sever noch nicht erreicht, da ich ein 11,0592 Mhz Quarz verwende. Wie compiliere ich den nun das neue Hex File mit einer anderen IP und dem anderen Quarz. die Datein habe ich schon geändert. Aber immer wenn ich in Programmers Notepad 2 bei Tools Make all versuche eine Hex zu erstellen kommt immer sowas: > "make.exe" all -------- begin -------- avr-gcc (GCC) 3.4.6 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling: uart.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=uart.lst -std=gnu99 uart.c -o uart.o In file included from main.h:17, from uart.c:8: C:/WinAVR/avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>." uart.c: In function `UART_Init': uart.c:36: warning: passing arg 1 of `fdevopen' from incompatible pointer type uart.c:36: error: too many arguments to function `fdevopen' make.exe: *** [uart.o] Error 1 > Process Exit Code: 2 > Time Taken: 00:00 was soll ich blos tun, langsam verzweifle ich noch hier. MfG Stan"
Das Programm ist mit einer älteren WinAVR-Version geschrieben. Ab diesem Jahr sind einige Sachen, die schon länger abgekündigt waren, abgeändert worden. Es gibt drei Möglichkeiten: 1. Man ändert das Programm ab. Es wären folgende Änderungen notwendig: - C:/WinAVR/avr/include/avr/signal.h entfernen. - Alles was mit Signal() zu tun hat,durch ISR() mit den richtigen Vektoren ersetzen. - fdevopen() hat nur noch zwei Parameter. der letzte ist zu viel. - ... 2. Man versucht es, in dem man die deprecated.h einbindet. Das geht dann nur eine Zeitlang gut, da die alten Sachen bei den nächsten WinAVR-Versionen rausfliegt. 3. Man verwendet eine WinAVR-Version aus den letzten Jahren. Gruß Elektrikser
@Heinrich ich werde mal versuchen die aktuellen Quellen vom Webserver in der nächsten Woche online zu stellen. Die Quellen laufen dann mit dem aktuellen WinAVR. Dann geht auch SMTP, also das Mailverschicken und auch noch FTP als Client, NTP, UDP, ... man kann die Bilder der WebCAM direkt auf die SD-Karte speichern und noch einiges mehr. Alles konfigurierbar per Textdatei auf der SD-Karte.... Ich verwende übrigends z.Z. einen MEGA644. (pin-komp. zum MEGA32 nur mit 64 kB Flash und mehr RAM) - RAM und Flash vom MEGA32 waren mir einfach zu knapp. Wenn das Wetter so sch... bleibt, könnte es im Laufe der Woche klappen ;-) Gruß, Ingo.
Hy das ist ja spitze mit dem neuen Code. und dem speichern auf der SD Karte das kommt mir bei meinem Funkproblem sehr gelegen. http://www.ulrichradig.de/site/forum/viewtopic.php?t=405&sid=e2c95956775f2d2c5a7188128fd0a5ae Ich habe mir zwei 3COM 3C5x9 Webserver gebaut. Nun möchte ich gerne noch die MCA 25 Handy Camera anschliesen. Ist das möglich? Was muss ich beim Source Code noch einbinden? Kann ich den Mega644 einfach in das Board reinstecken? Muss ich da was am Quellcode basteln? MfG Stan
Hallo Stan, Der MEGA644 passt so in das Board. Allerdings muss am Quellcode einiges angepasst werden, da die Register andere Bezeichnungen haben. Für die Kamera braucht man natürlich die entsprechenden Quellen. Leider sind die bei der 3COM-Version (V1.39) nicht dabei, die müsste man sich aus einer Realtek-Version kopieren. Oder du wartest noch etwas - bei den neuen Quellen ist alles dabei. Gruß, Ingo.
Moin Moin allerseits! Hab da folgendendes Problem mit dem Webserver und meiner 3Com-Netzwerk-Karte, die Initialisierung geht immer nur bis zum 5. Schritt, dann schreibt er "node 0xFFFF" und beendet die Initialisierung. Hab auch schon im Programm nachgeguckt, in der 3c5x9.c, konnte aber nicht richtig erkennen, wo der Fehler liegt, aber wahrscheinlich hats was mit der MAC-Adresse zu tun. Meine Netzwerkkarte ist eine 3C509B, müsste also eigentlich gehen, oder? Muss ich die genaue Beziechnung noch irgendwo im Programm einpflegen?Ach ja, ich habe die IRQ auf 9 gestellt und die andere Geschichte auf 310, pnp ist aus. Vielen Dank für Eure Hilfe! Grüße derChrome
@derchrome: Die I/O-Adresse muss 300 sein! IRQ9 stimmt schon. Dann sollte es gehen :)
Hy ich habe da mal wieder eine Frage: Im Dateianhang ist ein Bild von meinen verwendeten 3Com Karten. Das Problem ist das nur die unter funzt. Ich habe sie beide eingestellt und getestet, sie gehen. Nach den Bezeichnungen der Karte sind sie baugleich, aber es ist ja ein anderer Chip drauf. Bei der oberen leuchtet die grüne LED auf der Karte nicht auf, aber im HyperTerminal habe ich gesehen das sie anscheinend richtig initalisiert wird. Ich habe auch festgestellt das die Karte anscheinend die eingestellte I/O Adresse verliert. @derchrome vieleicht hängt das auch mit deinem Problem zusammen, wie sieht den deine Karte aus? MfG Stan
@ Stan : meine eine Karte sieht genauso aus wie die obere, meine amdere hat nur ne RJ45-Buchse drauf. Aber gehen tun sie beide nicht. Wie gasagt die Initialisierung kommt nur bis Schritt 5 (node : 0xFFFF). Kannst Du mir nicht mal dine Quelltext und einen Screenshot von der Initialisierung schicken, von wegen node und so?? Meine E-Mail-Adresse hast Du ja. Kriege auch morgen noch nen Schwung 3Com-Karten und endlich einen ISA-Sockel, so dass ich nicht mehr die Kabel an die Karte löten muss ums zu testen ;-), dann werd ich mal ne große Testreihe fahren über Vatertag. @ Maiximailian: Die Adresse hab ich vorher auf 0x310 programmiert, weil das in meinem Quelltext v1.39 so angegebn ist. Aber wenn Stan sagt die Karte behält sich das nicht, dann werd ich zur Vorsicht mal auf 0x300 im Programm einstellen und sehen was passiert,vielleicht sollte Stan das auch mal versuchen. @ all: Wie stelle ich denn die MAC-ADresse ein (die steht doch auf der Karte auf dem kleinen weißen Aufkleber mit EA davor, oder?) im Programm? Oder muss ich das gar nicht? Weil wenn ich die alphanumerische KOmbination hinter EA eingeben kompiliert er mir das Ganze nicht mehr! Vielen Dank für Eure Hilfe. MfG derChrome
Hallo, die bereits angekündigten Quellen für den Webserver sind jetzt in der Version V1.40 auf meiner Seite zu finden: http://www.mikrocontroller.com Gruß, Ingo.
Hy schön das der neue Code fertig ist. Spitzen Arbeit! Wo kann ich den den Atmega644 bestellen, bei Reichelt giebts den ja nicht. MfG Stan
siehe: http://www.mikrocontroller.net/forum/read-1-329929.html und http://www.mikrocontroller.net/forum/read-1-327252.html
Hy ich wollte mir einen Atmeg644 bei http://de.digikey.com/ kaufen. Aber welchen muss ich nehmen, das er auf das Board passt? MfG Stan
Hallo Ingo, ich versuche gerade deine V1.40, mit dem MEGA128 und der Platine von Ulrich Radig in Betrieb zu nehmen. Leider scheitert die Initialisierung des RTL8019. Am RLT8090.C Code wurde soweit ich das sehe nichts geändert. Außer die Funktion delay_ms. Ist noch was anderes zu beachten oder habe ich was übersehen --=== AVR-Server V1.40 ===--- MMC/SD: Ok. reading 'server.cfg'...Ok Init Network Card: ......... Init Ready! Gruss Volker
Hier die richtige Meldung des Terminals: --=== AVR-Server V1.40 ===--- MMC/SD: Ok. reading 'server.cfg'...Ok Init Network Card: ......... ERR: Init RTL8019: (255) ERROR !!! --
Guck mal in der rtl8019 header Datei: #define RTL_ISR RTL_REG_OFFSET+0x07 // renamed (avr-gcc 3.4.5) Die Änderung ist mir eben aufgefallen...
Hi ! hat schon jemand mal versaucht einen COM-Server aus dem AVR-Webserver zu machen? Müsste doch eigentlich realisierbar sein, oder? Gruß Steffen
Der WebServer V1.40 läuft (Mega128 Ulrich Radige Hardware) ISA_CTRL ist 2 mal definiert in Main.h und RTL8019.h beide müssen auskommentiert werden. clock.c und uart.c wurden angepasst. Danke für den Tip Maximilian Gruss Volker
Hallo Volker, vielleicht kannst du mir die angepasste Version mal schicken... (habe leider keine Mega128-Hardware zum Testen)... Gruß, Ingo.
hat schon jemand die mca-25 cam in verbindung mit dem mega128 webserver zum laufen gebracht? wenn ja, mit welchen sources? mit 1.40 war ich erfolgslos :-/ gruß, max
Mega 644 gibt es auch bei "Konnte nicht testen, hatte kein Strom" http://cgi.ebay.de/Atmel-AVR-Mega644-20PU-Prozessor-64k-20MHz-PDIP40_W0QQitemZ9732363725QQcategoryZ12949QQcmdZViewItem 6,90 Euro
Hallo Max, ich habe den Atmega128-Server mit MCA25 am Laufen. Die Version 1.40 habe ich noch nicht getestet, nur die 1.38. Die 1.40 habe ich zwar umgeschrieben, aber noch nicht getestet. Die 1.38 läuft einwandfrei. Gruß Elektrikser
Autsch, das war wieder ein grauenhaftes Deutsch...
hmm, ich komm einfach nicht über das 'CAM_running' hinaus... welchen Port hast du denn für CAM-Reset genommen? oder könntest du mir die sources zuschicken, die bei dir auf dem atmega128 laufen? gruß, max
Als Reset verwende ich PB0. Das Programm ist das, was Simon auf seiner Webseite zum Dowmload anbietet (vom 24.10.05). Du musst halt #define ISA_CTRL auf 0 setzen (main.h) oder anderweitig deaktivieren. Ansonsten habe ich nichts geändert. Verwendest du den richtigen Quarz? Es geht ja nicht jeder. Es funktionieren: 7.372800 MHz 14,745600 MHz 18.432000 MHz
Dank Dir Elektrisierer! Mein MCA-Reset-Pin war das Problem, schien wohl irgendwie durch die Software blockiert gewesen zu sein... Mit PB.0 gehts :-) Gruß, Max
Hallo Ingo, gib mir mal deine Mailadresse dann schick ich dir die Änderung Gruss Volker
Hallo Volker, hier meine Mailadresse: busker (at) mikrocontroller (dot) com Gruß, Ingo.
Hallo! Heute habe ich mal eine Frage zur Software. Ich beziehe mich auf die Version: "060118_Source1.38_jb04". In der Datei "httpd.c" finde ich ziemlich weit unten die Zeile: "Read_File (tcp_socket->Cluster,&buffer[tcpdata],tcp_socket->File_Block_Counter);". Wie ich erkennen und verstehen kann, werden hier die Daten von der MMC geholt und in einen Puffer geschrieben. Leider kann ich die Definition für buffer[] nicht finden. Ist der Puffer ausreichend dimensioniert, damit man auch andere Clustergrößen auslesen kann? Wie wird das Ende des Puffers geprüft? Danke und Gruß Guido
Hallo Guido, die Definition für buffer[] findest Du wie folgt: Am Anfang der Funktion mit der von Dir zitierten Zeile steht: //#################################################################### void httpd (char *buffer,int *bufferlen) // Beide Paremeter sind Zeiger, *buffer zeigt auf den Bufferanfang // *bufferlen zeigt auf die Länge des Buffers //#################################################################### Die Funktion httpd wird aus der Funktion 'get' in der Datei interrupt4.c wie folgt aufgerufen: httpd (packet,&packetlen); Die Definition von packet und packetlen steht am Anfang der Funktion wie folgt: unsigned int packetlen; // Länge des Ethernetpacketes unsigned char packet[MTU_SIZE+80]; // Array für zu empfangene und zu sendene Daten MTU_SIZE wird in main.h definiert. Die Konstante 80 habe ich eingefügt, damit Platzhalter von bis zu 80 Zeichen Länge ersetzt werden können. Gruß Joachim
Zu den MMC-Routinen kann ich übrigens nichts sagen, da ich bisher nicht damit gearbeitet habe. Joachim
Hi ! ich betreibe den AVR-Webserver mit webcam und einem 14,... Mhz Quarz. Allerdings schafft der nur einen Datendruchsatz von ca. 2 kbyte/s beim Laden des Bildes. Gibt es da eine Möglichekit die Geschwindigkeit noch etwas zu optimieren? Gruß Steffen
Hallo! Hurra! Ich habe einen ATmega644 bekommen und konnte nun endlich Version 1.40 testen. Es ist mal wieder eine gute Arbeit. Programmierung mit einer neuen AVR-Version (WinAVR) ging ohne Probleme. Auch das Schreiben mit AVRdude war ein Kinderspiel. Dennoch habe ich einige Fehler gefunden. Wo kann ich die Fehler einkippen, damit sie in der nächsten Version beseitigt sind? Im Anhang habe ich mal ein Beispiel für einen Fehler. Ich habe bewusst den Tag auf eine 512er-Grenze gesetzt. Leider mit diesem Ergebnis. Gruß und weiter so! Guido PS: Ich hoffe, dass Joachim sein OWI-Thermometer mit integriert, dann ist die Sache schon fast perfekt.
Hallo Sommerloch... ich wollte mal fragen ob nicht jemand mir eine kleine Anleitung schreiben könnte wie ich jetzt meinen ATmeg644 am einfachsten programieren kann. mit PonyProg gehts ja nicht. Viele Grüße Stan
Hallo Stan, wir benutzen den AVRDUDE. Da kann man auch den DT006 als ISP-Programmer einstellen. Gruss, Holger
Hallo das hilft mir jetzt aber wenig. dort kann ich ja auch keinen 644 auswählen. Kannste das nicht etwas ausführlicher beschreiben wie du das gemacht hast? Und was hat das mit dem Makefile auf sich? Ich hoffe ich bekomme das bald hin jetzt wo ich meine Cam habe! MfG Stan
zu AVRDude gehört noch eine .conf-Datei (oder .cfg?) Da drin werden die Programmier Parameter für alle unterstützten Controller aufgelistet. Was daran schön ist: Wenn ein Controller noch nicht unterstützt wird, kann man ihn selber hinzufügen. Ich habe damals den ATmega162 hinzufügen müssen. Dazu habe ich mir dessen Datenblatt und das eines schon vorhandenen (z.B. mega16) genommen und die Parameter verglichen. Es funktionierte.
Hallo Stan, der AVRDURE wird vom "makefile" aus mit den richtigen Parametern aufgerufen. Gruss, Holger
Hy Danke für die Antworten Also mal langsam. Wie starte ich das makefile? im Programmers Notepad? da klappts nicht so richtig, sieht mir nach einer endlossschleife aus. Und ich hatte 20 Prozesse vom make im Taskmanger. Da muss doch was nicht stimmen. Screibt doch mal eine Anleitung, so schwierig kann das doch nicht sein. Mit dem Atmega32 habe ich das ja auch hinbekommen. Betreibt den irgentjemand so einen Webserver als Ip Cam? also bis später. MfG Stan
Hey Holger ich hab mal ne frage und zwar hast du den Schaltplan und das Layout von der ersten version noch ?? wenn ja könntest du mir das bitte per mail zukommen lassen ?? oder is das alles hier drin und ich habs nur übersehn ?? MfG. Philipp
Hallo Philipp, ja, hier ziemlich weit oben im Beitrag. Gruss, Holger
Hallo, die neue Version gefällt mir ganz gut, zumindest das was ich bisher gesehen habe. ich wollte mal fragen ob schon jemnad die source auf nem at32 ans laufen bekommen hat und ob es möglich ist den 1Wire bus da mit einzupflegen. Genial wäre natürlich noch die geschichte mit den Funksteckdosen... Gruß Peppe
ich hab da nochma ne frage ... wäre es möglich ein lcd anzuschließen und da den betreibszustand anzuzeigen also z.b Starten, Bereit, Busy, Fehler + fehlercode ??? sowas wäre noch ne idee von mir MfG. Philipp
Hallo Phillip, für die Anwendung würde ich vorschlagen, ein weiteres AVR-Boardx an die serielle Schnittstelle anzuschliessen und alles auf dem Display anzeigen, was der Webserver per Ser.Schnittstelle ausgibt. Gruss, Holger
ich hab da mal noch ne frage .... was für einen trafo brauche ich ?? 230V --> 12V Ueff is kla aber wie viel VA wie viel zieht der denn ??
wenn ich mich recht erinnere zieht mein Webserver so knapp 100mA. wenn die cam angeschlossen ist, steigt der wert natürlich noch...
ok danke also reicht ein 2VA troffo vollkommen aus ... bzw 1.2 würde schon reichen naja egal hab einen mit 5 VA hier gut dann reicht der das wollte ich nur wissen
hallo holger ich würd dich gern mal auf einen thead aufmerksam machen wo ich grade versuche ein problem mit meinem webserver zu klären http://www.mikrocontroller.net/forum/read-1-410576.html
Hy jetzt war ich zwei Wochem im Urlaub und niemand wollte mir in der Zeit eine kurze Anleitung zum flashen der neuen Software erstellen. )-: )-: )-: )-: )-: )-: )-: )-: )-: MfG Stan
Hallo, probiere schon seit einigen tagen erfolgloss die Sourcen (v1.39) zu kompilieren irgendwas ist immer: Compiling: clock.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=clock.lst -std=gnu99 clock.c -o clock.o clock.c: In function `Start_Clock': clock.c:48: warning: implicit declaration of function `timer_enable_int' Compiling: uart.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=uart.lst -std=gnu99 uart.c -o uart.o uart.c: In function `UART_Init': uart.c:36: warning: passing arg 1 of `fdevopen' from incompatible pointer type uart.c:36: error: too many arguments to function `fdevopen' make.exe: *** [uart.o] Error 1 > Process Exit Code: 2 > Time Taken: 00:36 Vieleicht kann mir ja jemand helfen
Hi ! das Problem habe ich auch, wenn ich den neuen WinAVR-Compiler benutzte. Benutz mal WinAVR von 2005, damit gings bei mir.
Oder könnte vieleicht jemand, bei dem es funktioniert so lieb sein und mir den Sourcecode compilieren, währe echt super. mit SD-Karte Mega32 3Com 3c509 IP: 192.168.1.50 16MHz DANKE!!!
OK, habe jetzt eine alte-WinAVR version bekommen, konnte alles auch kompilieren, das Therminal meldet: START... Init... Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 node 60-970E-5189 I/O address A80 Phase 6 Phase 7 MfgtID: 6D50 Product ID: 9450 Phase 9 Phase 10 Phase 11 ... -- Init 3C5x9: Okay -- My Mac: 0.60.97.e.51.89 My IP : 192.168.0.101 nur an der Netzwerkkarte leuchtet die Aktivitätsled nicht, und ich kann den Server auch nicht anpingen.
Hy gucke doch mal welche Karte der im Bild am änlichisten sieht. Die obere (beachte Chip) geht bei mir auch nicht! MfG Stan
na toll ;-( habe auch die obere. und die untere funktioniert? was für eine ist das dann?
Hallo, das Compiler-Problem mit dem fdevopen() löst Ihr, indem Ihr fdevopen(uart_putchar, NULL, 0); durch fdevopen(uart_putchar, NULL); ersetzt. Gruss, Holger
Hallo die Bezeichnungen sind die selben. Das Layout ist aber nur änlich. Und die Chips sind unterschiedlich. Seltsam. Jetzt hat mir doch noch immer niemand erklärt wie ich den Atmega644 flashe! MfG Stan
wieso Programierst du den mega644 nicht mit winavr?
Hab mal wieder ein Prob. -------- begin -------- avr-gcc (GCC) 3.4.3 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling: main.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.lst -std=gnu99 main.c -o main.o main.c: In function `InitNetworkCard': main.c:78: warning: implicit declaration of function `init_3c5x9' main.c:67: warning: unused variable `wert' main.c: In function `ShowConfig': main.c:212: warning: suggest parentheses around comparison in operand of & main.c: In function `test': main.c:259: warning: unused variable `t' main.c: In function `main': main.c:277: warning: unused variable `Minuten_Timer' Compiling: 3c5x9.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=3c5x9.lst -std=gnu99 3c5x9.c -o 3c5x9.o Compiling: rtl8019.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=rtl8019.lst -std=gnu99 rtl8019.c -o rtl8019.o Compiling: analog.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=analog.lst -std=gnu99 analog.c -o analog.o Compiling: arp.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=arp.lst -std=gnu99 arp.c -o arp.o arp.c: In function `ARP_Reply': arp.c:66: warning: implicit declaration of function `Write_Ethernet_Frame' Compiling: checksum.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=checksum.lst -std=gnu99 checksum.c -o checksum.o Compiling: ftpd.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=ftpd.lst -std=gnu99 ftpd.c -o ftpd.o Compiling: httpd.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=httpd.lst -std=gnu99 httpd.c -o httpd.o httpd.c: In function `httpd': httpd.c:132: warning: suggest explicit braces to avoid ambiguous `else' httpd.c:237: warning: implicit declaration of function `Write_Ethernet_Frame' httpd.c:255:1: warning: "BLOCK_SIZE" redefined httpd.c:16:1: warning: this is the location of the previous definition httpd.c: In function `substitute': httpd.c:435: warning: 'length' might be used uninitialized in this function Compiling: ip.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=ip.lst -std=gnu99 ip.c -o ip.o Compiling: icmp.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=icmp.lst -std=gnu99 icmp.c -o icmp.o icmp.c: In function `ICMP_Reply': icmp.c:49: warning: implicit declaration of function `Write_Ethernet_Frame' Compiling: interrupt4.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=interrupt4.lst -std=gnu99 interrupt4.c -o interrupt4.o interrupt4.c: In function `get': interrupt4.c:76: warning: implicit declaration of function `Read_Ethernet_Frame' Compiling: clock.c avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=clock.lst -std=gnu99 clock.c -o clock.o clock.c:20: warning: return type defaults to `int' clock.c:20: warning: function declaration isn't a prototype clock.c: In function `SIGNAL': clock.c:20: warning: type of "__vector_9" defaults to "int" clock.c:22: warning: unused variable `t2' clock.c: In function `Start_Clock': clock.c:53: error: `TIMSK1' undeclared (first use in this function) clock.c:53: error: (Each undeclared identifier is reported only once clock.c:53: error: for each function it appears in.) make.exe: *** [clock.o] Error 1 > Process Exit Code: 2 > Time Taken: 00:10
Wer kann mir helfen, ich bringe das zeug einfach nicht compiliert Linking: main.elf avr-gcc -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o -std=gnu99 main.o 3c5x9.o rtl8019.o analog.o arp.o checksum.o ftpd.o httpd.o ip.o icmp.o interrupt4.o clock.o uart.o tcp.o telnet.o webpage.o mmc.o fat16.o ftpclient.o ntp.o time.o config.o auth.o sendmail.o webcam/mca25.o --output main.elf -Wl,-Map=main.map,--cref -lm main.o: In function `InitNetworkCard': C:\Dokumente und Einstellungen\Christian\Desktop\Webserver\V1.40\source/main.c:77: undefined reference to `init_3c5x9' arp.o: In function `ARP_Reply': C:\Dokumente und Einstellungen\Christian\Desktop\Webserver\V1.40\source/arp.c:66: undefined reference to `Write_Ethernet_Frame' arp.o: In function `ARP_Request':
Ich habe V1.38, die MMC-Karte wird erkannt, aber leider wird die html-Seite nicht von der MMC-Karte gelesen? Mit FTP kann ich auch nicht draufzugreifen -> Konnte Dateiliste nicht empfangen???
Wie gross ist die MMC-Karte? Bislang habe ich immer 128MB probiert - hat jemand auch mal 512MB oder 1GB getestet? Fat16 formatiert?
Hi, hab auch mal den WebServer von Holger B nachgebaut. Ich benutze die Version 1.38 und einen um9008f chip. Allerdings empfange ich alle Bytes doppelt. Das heißt jedes zweite Byte eines Packets gleicht dem ersten. Hatte irgendwer schon mal dieses Problem oder weiß jemand Rat?
Hallo @ all, hat einer von euch schon eine vernünftige Quelle für den mega664 aufgetan. Wenn ich bei de.Digikey.com einen bestellen will komme ich auf 36 mit Porto Versandt und Bearbeitungsgebühr. das ist mir doch ein wenig zu viel und bei Spoerle kann man so nicht bestellen. reichelt hat den zwar im Programm kann aber zur zeit nicht liefern. Bei Ebay bin ihc auch nicht fündig geworden. Oder hat jemand zufällig zwei bestellt und somit einen über, den er mir verkaufen würde? Gruß Peppe
Hallo Ich möchte den Webserver nachbauen, aber ohne SD Karte. Muss ich dann irgendwas in der Aktuellen Software 1.39 abändern oder auskommentieren? gruss Frank
Hallo Frank, die aktuellste Version ist die 1.40, diese ist aber für den Atmega664 ausgelegt und funktioniert nicht auf dem Atmega32. SO weit ich weiß mußt du in der mmc.h nur den Wert bei #define USE_MMC auf 0 stellen, so ist es zumindest bei der V1.38. Alles andere übernimmt dann der Complier für dich, da dieser Wert dann Global gesetzt ist und in der Source an den diversen Stellen abgefragt wird, genau so ist es mit der MCA25 Kamera. Gruß Peppe P.s. Wenn ich mich sollte lasse ich mich gerne eines besseren belehren.
Hallo Danke für die schnelle Antwort! Das heist also das es gar kein Source für den Atmega32 mehr gibt? Oder kann man die 1.40 auf den Meg 32 leicht abändern? Frank
Die Source V1.40 ist für den Atmega664, dieser ist Pin kompatibel zu dem 32er hat aber mehr Speicher,ich meine das die Register anders aufgebaut sind und somit die Source erst an den 32er angepasst werden müßte wobei dann immer noch das Problem mit dem zu kleinen Speicher vorhanden ist. Der Funktionsumfang ist erheblich in der letzten Version erweitert worden. Es ist nun auch möglich Dynamische Webseiten auf der MMC abzulegen, was vorher nicht möglich war. Ist nur eines von vielen Erweiterungen. Ich selber benutze auch noch den Atmega32, da ich noch keine Vernünftige Quelle für den 664er aufgetan habe, Reichelt kann den zur Zeit nicht liefern. Conrad führt ihn nicht und die anderen Anbieter die hier genannt wurden, verkaufen entweder nicht an Entkunden oder deren Bearbeitungsgebühr liegt bei 13 + 10 Versandt, dann würde ein Atmega664 ca 32 Kosten. Wenn du willst mache ich dir eine Hex fertig aus der V1.38 mit 1wire Bus, mit oder ohne Mca25, müßtest mir dann sagen, welchen Quarz du hast und welche Ip der Server haben soll, wobei der Quarz nicht beliebig gewählt werden kann, wenn du die Cam und den 1 wire Bus haben willst. Gruß Peppe
Hallo Danke für das Angebot! Ich habe jetzt ein 3Com Isa NIC 3c509b gefunden wie sie im Bild oben gezeigt wird(siehe auch Beitrag von STan Linke weiter oben). Nun liest man hier ja unterschiedliches. Geht diese Karte nun oder nicht(mit den entsprechenden Layout Änderunegen der Leiterplatte von Mikrocontroller.com)? Eine Realtek zu bekommen ist ja auch nicht so einfach?! Gruss Frank
Schau dir doch mal bei ebay folgende Artikel an: 260040833937 (Unter den stickern ist warscheinlich ein RTL8019) 140041854672 (Wie bei der ersten) 320036504804 (Da is sicher ein RTL8019 drauf) ich würde die letztere nehmen, da du da sicher sein kannst, allerdings kannst du wenn du auf risiko gehst bei dem ersten angebot ein echtes schnäppchen machen... Unter dem sticker kommt immer mal wieder was anderes zum vorschein, ich hatte glück einen RTL8019 zu finden. Insgesamt gibt es glaub ich 3 Möglichkeiten was drunter sein kann, wovon 2 gehen! zu deiner Karte kann ich leider nichts sagen :(
Warum bist Du dir bei der letzteren so Sicher? Hat denn noch keiner die 3COm Karte zum laufen gebracht? Frank
@Peppe: kann Dir einen ATmega644-20PU (DIL40) oder -20AU ( TQFP )abgeben, wenn noch Bedarf ist.
Hallo Steffan, wenn du den über hast hätte ich den gerne. Müßte dann noch deine Bankverbindung bekommen. Die könntest du mir per email zukommen lassen, ach ja und den Preis ;) Gruß Peppe
@Peppe: meine EMAIL ist mc_sho AT gmx.de. Kann Deine nicht finden. Gruss Steffen
@Frank: Ich habe eine 3com-Karte laufen. Meine ist praktisch identisch zu deiner oberen, nur ohne BNC. Nötig war noch ein weiteres Signal von der Karte an den µC anzuschließen und auszuwerten. Da müsstest du hier im Forum eigentlich fündig werden.
Frank wrote: > Warum bist Du dir bei der letzteren so Sicher? > Hat denn noch keiner die 3COm Karte zum laufen gebracht? > Frank Weil man da sieht das es ein RTL Chip ist...
Hallo Ich habe mir den Webserver von Holger nachgebaut mit dessen Platine. Nun möchte ich einen Software I2c Bus implementieren. Am Stecker S1 sind ja noch Port Pins Frei. Ich möchte nun die Homepage erweitern mit Checkboxen, die letzt endlich den I2c Steuern sollen. Ich habe aber noch nicht vertsanden, wo in webpage.c (source von Holger1.39)die verknüpfung ist um die Hardware an zu steuern. Man kann ja bei dem Beispielsource eine Rote LED ansteuern. Aber wo wird das Softwaremäßig umgesetzt? Gruss Frank
HI Frank, das ist schon realisiert und es gibt auch eine fertige Platine dazu. http://www.icplan.de/seite15.htm Wie du neue Variablen implementierst steht in der Doku des Quelltextes. Es reicht nicht , wenn du nur variablen in der webpage.c einfügst du mußt auch noch die tcp.c und die httpd.c erweitern, aber vorsicht wenn du zuviel erweiterst treten nebeneffekte auf, in der Form, dass die html seite nicht richtig dagestellt wird. Gruß Peppe
Hallo Danke für die schnelle Antwort. Das Projekt von Icplan ist nicht schlecht. Aber ich habe ja nun schon den Webserver von Radig/Buss aufgebaut. In der Doku/Quelltext finde ich nichts wie man neue Variablen implementiert?! Ich habe den Quelltext von mikrocontroller.com 1.39ib. Hat jemand schon mal einen Software I2c Bus in den Webserver implementiert? Frank
Hallo Frank, lade dir mal die Source 1.38 mit one wire anbindung runter da ist ein Ordner Doku drin mit der Server Anleitung, dort ist an Hand eines Beispieles erklärt wie du neue Variablen einbindest und wie du die Ports ansprichst. Wenn man sich da ein wenig eingelesen hat, wird einem schnell klar das es nicht reicht nur die Webpage.c zu erweitert. Die datei spiegelt die Grafische oberfläche wieder, die du nachher in deinem Browser siehst, für das versenden der Page ist die tcp.c verantworlich. Wenn du nun Häckchen setzt, und auf Aktuallisieren klickst wird dann der Status der Variablen an den Webserver gesendet. Nun muß der Webserver diesen Datenstream auswerten und die Variablen entsprechend setzen. Deshalb muß auch die httpd.c und die tcp.c angepasst werden. Die Variablen die du in der Webpage.c setzt, die nachher verändert werden sollen, müssen global bekannt gemacht werden. Die Deklaration machst du dann am besten in der main.h. Ich habe aufbauend auf der 1.38 Sourde und der Source von Joachim Börke (funk.s) die Ansteuerung der Funkschaltsteckdosen eingebunden. Ich muss Joachim fragen ob ich dir mein zusammengewürfelte Source schicken darf, die wirkliche Arbeit hat er nunmal gemacht und ich möchte nicht seine Arbeit als mein Verdienst ausgeben. Da müsste es dann relativ ersichtlich sein was wo an welcher stelle zu setzen ist. Leider ist die source nicht 100% stabil, es treten halt immer wieder die Nebeneffekte auf, dass die Seiten im Browser nicht richtig angezeigt werden. Ich glaube das liegt daran das die tcp.c recht überladen ist, bin mir da aber nicht ganz sicher. Gruß Peppe
Hallo Peppe Ich habe mir den Source von 1.38 runtergeladen und die Doku durchgearbeitet. Die Buttons sind da ja anders aufgebaut als in dem Source 1.39ib. Ich habe jetzt mal eine Checkbox hinzugefügt und einen anderen Port angesteuert. dDas geht auch soweit bis auf das ich jetzt das gleiche Problem mit dem Häckchen setzen habe wie Matthias in diesem Thread. Aber wenn Du mir dein Source mal schicken kannst, wäre das bestimmt schon mal lehrreich. Es ist nur etwas schwierig einen ganz anderen Source als 1.39ib zu nehmen, da ich auf den Atmega32 und eine 3com Karte festgelegt bin. Gruss Frank
Hallo Hier noch mal meine E-Mail alf.jenny@web.de Frank
Hallo, ich möchte per serieller Schnittstelle daten vom einen zum anderen Mikrokontroller senden. Offentischtlich habe ich Probleme, den Zeilenumbruch zu senden. So sende ich Zeichen ab: printf_P(PSTR("12\n")); In Hyperteminal wird auch 12 ausgegeben, aber sie kommt leider nicht am anderen Mikrokontroler an. Wenn ich mit Hyperterminal eine Zahl absende, dann kommt es auch an nur wenn ich es vom Mikrokontroller aus absende. Mach ich da was falsch beim Zeilenumbruch?
Hallo Ich habe auch noch ne Frage zum Webserver. Ich habe immer noch das Problem mit den Checkboxen, so wie es auch weiter oben der Matthias schildert. Wenn man eine zweite checkbox hinzufügt, dass das Häckchen wieder verschwindet. Angesteuert wird der Port einwandfrei. Kann mir denn keiner logisch erklären warum das so ist???? Frank
HI, @Steffen Ich habe da mal eine kurze Frage. Die Verbindung zwischen den beiden µcs wie hast du die realisiert? Mit zwei Max 232, oder klemmst du direkt den Ausgang des einen an den Eingang des anderen und umgekehrt? Hast du eventuell ein Dreher in der Verbindung? So das TXD an TXD und RXD an RXD des jeweiligen - verbunden ist? Darauf zu achten ist auch, dass Ground bei beiden verbunden ist, sonnst haben die Nicht die selben Potenziale und es kommt nichts gescheites an. Ist nur ein spontaner Gedanke. Das ist mir auch schon mal passiert und ich habe dann zwei stunden verzweifelt nach Fehlern gesucht, bis ich den Dreher bemerkt hatte, oder das der Gnd nicht richtig kontakt hatte. Gruß Peppe
Hi, erstmal danke für deine Antwort, Peppe. Also ich habe die beiden µcs direkt also ohnen einen MAX232 verbunden. TX auf RX, also gekreutzt. Ich habe es jetzt soweit hinbekommen, dass ich die Zahl, die ich absende auch empfangen kann. Nur wenn ich aber eine Integer variable mit printf absenden möchte, kommt nur müll an. Liegt wohl irgendwie am Zeichensatz. Es ist also ein Unterschied, ob ich printf("12"); mace oder die Zahl 12 in einer Vaiable abspeichere und diese dann abesende.
Hallo, habe ein Problem mit der Ver.1.40 Prozessor ist ATMEGA644 f=14,7456 Mhz -=== AVR-Server V1.40 ===--- ERR: no MMC/SD-Card found! (01) ** ERR: no MMC/SD-Card found! (01) ** MMC/SD: Ok. reading 'server.cfg'...not found! Use default configuration ......... NIC : Init RTL8019: Ok MAC : 1E 0A 2B 2B 2D 4D IP : 192.168.1.201 Ich habe verschiedene SD-karten ausprobiert, auch mit LINUX eingerichtet, aber ohne Erfolg. Die Spng. ist 3,6V über einen LM317, aber auch mit den 2 Dioden das gleiche Problem. Ideen? Gruß Peter
Ich hab mihc gerade ein wenig durchgelesen und hab leider feststellen müssen, das ich den mega32 gar nicht für eine webserver anwendung hernehmen kann (in verbindung mit sd-karte). Meine Überlegung dazu wäre folgende: Es geht dem kleinen Mega doch nur RAM ab, um die SD-Karte mit FAT einbinden zu können - seh ich das bis hier her richtig? Warum nicht einen Port opfern und einen externen RAM dazu? Ausser man kauft sich einen 644 ^^
Welches RAM willst du den nehmen, so das dir ein Port für die Ansteuerung reicht?
stimmt... schei*** brauch ja adresse & daten... aber im prinzip wär das möglich?
muss ich sowieso... aber ich hab dann ja 16 datenleitungen... d.h. ich brauch noch ein zweites Port...
Hallo, hab mir auch den Isa Webserver aufgebaut, bekomme aber bis jetzt nur Init Network Card: ......... Init Ready! Init: ERROR(33) My Mac: 1e.a.2b.2b.2d.4d My IP : 192.168.1.5 Beim "Booten" des Webservers leuchtet nur die grüne LED an der Netzwerkkarte, sobald aber das init durch ist, leuchtet auch die rote... was kann der Fehler sein? Ich bin der Meinung, dass ich die richtige Netzwerkkarte habe... keine 3Com oder so... Gruß Manuel
Ok - netzwerkkarte läuft jetzt - war eine schlechte Lötstelle - sorry... Aber nun frag ich mich, warum die SD/MMC Karte nicht erkannt wird... was mach ich falsch - ich habe beides ausprobiert SD und MMC, beide Fat16 formatiert... bringt nix... ist das überhaupt richtig, dass die äußeren beiden Pads nicht vom "Slot" kontaktiert werden?
Hi Stromi könntest Du vielleicht für unbedarfte Interessenten wie mich genauer erläutern, wie der Zugriff aus dem Internetcafe funktioniert? Üblicherweise ist doch da ein DSL-Router (z.B. Fritzbox), der bei Dir zuhause zwischen Deinem Server und der DSL-Leitung sitzt und der bei Inaktivität die Verbindung sofort unterbricht. Wie kommt man dann von außen an seinen Webserver? Oder hast Du eine Standleitung mit fester IP-Adresse? So viel ich weiß, gibt es Serviceunternehmen, die eine feste Adresse vortäuschen, aber da ist immer noch der abgeschaltete Router dazwischen. Es wäre nett, wenn jemand meine nicht so ganz intelligente Frage beantworten könnte, da ich auch an einer Verbindung zum häuslichen System interessiert bin mfg Egon
Den Router kann man so konfigurieren, dass er bei Inaktivität die Verbindung unterbricht. Das ist dann sinnvoll, wenn man beim eigenen Internetprovider nach einem Zeittarif abgerechnet wird. Mit dieser EInstellung ist man bei Inaktivität von Außen nicht erreichbar. Wer einen Volumentarif gewählt hat, kann dagegen permanent im Internet sein. Bei dieser Konfiguration können viele Router ihre IP-Adresse an einen dynamischen DNS-Dienst weiterleiten. Dieser DNS-Dienst leitet eine Internetabfrage an den eigenen Router. Sobald der Router nach 24h eine neue IP-Adresse bekommen hat, meldet er das wieder an den dynamischen DNS-Dienst. So ist man über den von DNS-Dienst erhältlichen URL immer von außen erreichbar. Gruß Joachim
Hallo zusammen, so ein DNS Anbieter ist zum Beispiel Dyndns (http://www.dyndns.org) Die Fritzbox unterstützt DDNS von sich aus. Sprich Account bei Dyndns anlegen und die Userdaten in die Fritzbox hacken, und schon ist dein Router oder WEbserver von aussen zugänglich, sofern du in der Firewall der FB die Ports freigibst und weiterleitest. Peppe
Hallo zusammen, ich bin neu hier im Forum. Das Projekt das Ihr hier habt ist wirklich sehr interesant. Soweit ich konnte, habe mich hier ein bisschen eingelesen. Im Mittelteil hatte "Stan Linke" die Idee die MCA-25 Cam Bilder per Funk zu übertragen. Genau so etwas würde ich auch benötigen. Daher hier meine Frage: Wäre es möglich das ein ATMega32 ein Previewbild (80x60)aus der Cam holt, es zwischenspeichert und per rs232 mit 9600bd weiterreicht (hier nur die reinen Bilddaten, ohne Steuerbefehle)? Irgendwo habe ich hier gelesen, das die Cam auch über den 1-wire-bus zu bedienen ist. Somit wäre der UART für die RSR232 Ausgabe ja frei. Grüße
Hallo zusammen, Ich versuche gerade den Webserver in der Version 1.40IB zu kompilieren. AVR-GCC Version ist 4.1.2 Wenn ich kompiliere, meldet er mir folgendes und bricht ab: (Abgesehen von den Warnungen...)
1 | In file included from main.h:34, |
2 | from mmc.c:29: |
3 | mmc.h:43:1: warning: "SPCR" redefined |
4 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
5 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
6 | from main.h:15, |
7 | from mmc.c:29: |
8 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:267:1: warning: this is the location of the previous definition |
9 | In file included from main.h:34, |
10 | from mmc.c:29: |
11 | mmc.h:44:1: warning: "SPE" redefined |
12 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
13 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
14 | from main.h:15, |
15 | from mmc.c:29: |
16 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:269:1: warning: this is the location of the previous definition |
17 | In file included from main.h:34, |
18 | from mmc.c:29: |
19 | mmc.h:45:1: warning: "MSTR" redefined |
20 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
21 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
22 | from main.h:15, |
23 | from mmc.c:29: |
24 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:271:1: warning: this is the location of the previous definition |
25 | In file included from main.h:34, |
26 | from mmc.c:29: |
27 | mmc.h:46:1: warning: "SPSR" redefined |
28 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
29 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
30 | from main.h:15, |
31 | from mmc.c:29: |
32 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:277:1: warning: this is the location of the previous definition |
33 | In file included from main.h:34, |
34 | from mmc.c:29: |
35 | mmc.h:47:1: warning: "SPDR" redefined |
36 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
37 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
38 | from main.h:15, |
39 | from mmc.c:29: |
40 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:282:1: warning: this is the location of the previous definition |
41 | In file included from main.h:34, |
42 | from mmc.c:29: |
43 | mmc.h:48:1: warning: "SPIF" redefined |
44 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
45 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
46 | from main.h:15, |
47 | from mmc.c:29: |
48 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:278:1: warning: this is the location of the previous definition |
49 | In file included from main.h:34, |
50 | from mmc.c:29: |
51 | mmc.h:49:1: warning: "SPR0" redefined |
52 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
53 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
54 | from main.h:15, |
55 | from mmc.c:29: |
56 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:275:1: warning: this is the location of the previous definition |
57 | In file included from main.h:34, |
58 | from mmc.c:29: |
59 | mmc.h:50:1: warning: "SPR1" redefined |
60 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
61 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
62 | from main.h:15, |
63 | from mmc.c:29: |
64 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:274:1: warning: this is the location of the previous definition |
65 | In file included from main.h:34, |
66 | from mmc.c:29: |
67 | mmc.h:51:1: warning: "SPI2X" redefined |
68 | In file included from c:/winavr-20070525/bin/../avr/include/avr/iom644.h:38, |
69 | from c:/winavr-20070525/bin/../avr/include/avr/io.h:226, |
70 | from main.h:15, |
71 | from mmc.c:29: |
72 | c:/winavr-20070525/bin/../avr/include/avr/iomxx4.h:280:1: warning: this is the location of the previous definition |
73 | mmc.c: In function 'mmc_init': |
74 | mmc.c:54: error: 'SPCR0' undeclared (first use in this function) |
75 | mmc.c:54: error: (Each undeclared identifier is reported only once |
76 | mmc.c:54: error: for each function it appears in.) |
77 | mmc.c:54: error: 'SPE0' undeclared (first use in this function) |
78 | mmc.c:54: error: 'MSTR0' undeclared (first use in this function) |
79 | mmc.c:54: error: 'SPR00' undeclared (first use in this function) |
80 | mmc.c:54: error: 'SPR01' undeclared (first use in this function) |
81 | mmc.c:55: error: 'SPSR0' undeclared (first use in this function) |
82 | mmc.c:55: error: 'SPI2X0' undeclared (first use in this function) |
83 | mmc.c: In function 'Read_Byte_MMC': |
84 | mmc.c:140: error: 'SPDR0' undeclared (first use in this function) |
85 | mmc.c:141: error: 'SPSR0' undeclared (first use in this function) |
86 | mmc.c:141: error: 'SPIF0' undeclared (first use in this function) |
87 | mmc.c: In function 'Write_Byte_MMC': |
88 | mmc.c:169: error: 'SPDR0' undeclared (first use in this function) |
89 | mmc.c:170: error: 'SPSR0' undeclared (first use in this function) |
90 | mmc.c:170: error: 'SPIF0' undeclared (first use in this function) |
91 | make: *** [mmc.o] Error 1 |
Weiß jemand, woran das liegt? Danke schon einmal...
Hi, versuchs mal eine aktuellere Version von Winavr. Könnte daran liegen. Peppe
Nein, aktueller als 25052007 gibts wohl nicht. Und das Problem ist genau das Gegenteil: der gcc ist zu aktuell, du mußt einen älteren nehmen (oder den Code entsprechend anpassen). Für welchen gcc das Projekt ist, steht sicher in den Headern oder der Projektbeschreibung. Gruß, Matthias
@Flo82 Du musst in der mmc.h die Zeilen #define SPCR SPCR0 #define SPE SPE0 #define MSTR MSTR0 #define SPSR SPSR0 #define SPDR SPDR0 #define SPIF SPIF0 #define SPR0 SPR00 #define SPR1 SPR01 #define SPI2X SPI2X0 löschen. Die werden jetzt über die io.h definiert. Das fehlte wohl in älteren Versionen. So übersetzt der Compiler jedenfalls das Programm, ob es läuft ist eine andere Frage...
wie realisiert man das zusammenspiel von der ISA schnittstelle und dem MEGA32??
@Uwe: Jup, vielen Dank. So compiliert er schon einmal. Im Moment habe ich noch keine Netzwerkkarte, bekomme ich erst dieses WE. Von daher weiß ich nicht, ob es tatsächlich funktioniert. Aber eine andere Frage: knapp 70 Warnings... habt ihr die auch alle? Danke schon einmal. Flo
Hi ich möchte ma fragen wie viel das so ungefär kosten würde halt alles zu sammen und wo ich am besten alles auf eimer kaufen könnte Danke schon ma in voraus
Was ist denn das für ein Pfusch mit dem SD-"Slot"?!
@Tino: z.B. bei Reichelt bekommst du alles was du benötigst. Eine Bauteil Liste findest du z.B: unter http://www.mikrocontroller.net/articles/Einfacher_und_billiger_Webserver_mit_AtMega32 Du solltest aber vieleicht doch den ATMega 644 nehemen und dein 14,??MHz Quarz Nun habe ich auch eine Frage: Ich habe die Original Hex-File über das AVR-Studio geflasht, die Fuses gesetzt (Externen Quarz, JTAG Disabled) Mit dem Terminal sehe ich, das er soweit ohne anstanden Initialisiert. SD-Card liest er, Initialisiert die NEtzwerkkarte usw. Das Problem nun: Bei meiner RTL8019 blinkt die aktivity Led ununterbrochen. Ein ping bringt keine Antwort, unter Windows bringt ein "arp -a" auch nur meinen Router. Die IP's sind im gleichen Netz. Jemand irgendwelche Ideen? Danke schon einmal
Hallo, habe mal den webserver nachgebaut (lochrasterplatine). software habe ich die SourceCodeCPP_V1_40_IB drauf. nach anfänglichen schwierigkeiten ( fehler in meiner schaltung) läuft es jetzt wirklich gut. ich hoffe das jetzt noch die mca-25 kommt. bis jetzt habe ich nur 3 ports für schaltaufgaben eingebaut. an einem port habe ich über ein solid-state relais eine steckdose drangehängt, und das klappt auch wunderbar. gruss und danke an die entwickler thomas
So, ich hab mir mal die Platine und die nötigen Teile Bestellt, mal schauen, ob ichs hinbekomme. Mein Problem ist jetzt nur noch, dass ich keine passende Netzwerkkarte finde, aber da wird sich schon noch eine auftreiben lassen. MFG S. Fischer
Hallo Hab mir auch den Webserver zusammengebaut.... Nur leider hab ich damit jetzt ein kleines Problem: Hab alles soweit betriebsbereit, d.h. Software drauf usw. nur leider bekomm ich keine Verbindung über die serielle Schnittstelle. Hat vielleicht jemand einen Tipp für mich? Danke. mfg Chris
Fuse-Bits richtig gesetzt, sodass wirklich der externe Quarz als Taktquelle verwendet wird?
Noch nicht... Kann ich auch noch gar nicht, denn die Platine ist noch nicht da. MFG Simon F.
Hallo Ich habe den Webserver aufgebaut und er zeigt mir folgendes über die serielle Schnittstelle: ** Isa-Ctrl Webserver ** ** Keine MMC/SD-Karte gefunden! ** ** Keine MMC/SD-Karte gefunden! ** ** Keine MMC/SD-Karte gefunden! ** ** Keine MMC/SD-Karte gefunden! ** ** Keine MMC/SD-Karte gefunden! ** ** Keine MMC/SD-Karte gefunden! ** Init Network Card: ......... Init Ready! Init: Okay 34 My Mac: 1e.a.2b.2b.2d.4d My IP : 192.168.1.66 Das ist alles richtig, es steckt keine SD-Karte drin. Wenn eine da ist, erkennt er sie auch. Die Netzwerkkarte ist eine mit RTL8019 drauf. Problem: Ich kann das Gerät nicht "anpingen". Ich habe den EEProm auf der Karte ausgelötet, um die Defaulteinstellungen zu bekommen. (Habe ´keinen Rechner mehr mit ISA-Slot, um sie dort umzustellen) Der Router erkennt, daß eine Karte dransteckt. (10 Mbit LED ist an). Laut Holgers Beschreibung soll die rote LED auf der Platine kurz leuchten, wenn ich einen Interrupt auslöse, tut sie aber nicht. Wonach kann ich jetzt noch suchen? MfG Paul
dort habe ich mal 2 versionen für den webserver mit uip und cam reingestellt, vieleicht hilfts einigen. gruss tom Beitrag "Handycamera MCA-25 ansteuern - ip webcam mit mega32"
FREUDE! JUBEL auf den RÄNGEN! Der Webserver läuft jetzt mit Atmega32, 16Mhz, der Version 1.38 von der Seite http://www.mikrocontroller.com/de/download.php#AVR_WEB mit der Adresse 192.168.1.66 Dank an Ulrich Radig, Holger Buss und Ingo B. SD-Karte wird zwar nicht erkannt, aber ich hoffe, das finde ich noch. (EMTEC 1GB) Fehler war: Ich war lediglich im falschen Subnetz (Schäm..) Erleichtert Paul ;-)
So, SD-Karte läuft nun auch. HINWEIS: Bei mir lag es an der Spannungsversorgung der SD-Karte, die über 2 vorgeschaltete Dioden 1N4148 realisiert war. Auf Grund der geringen Stromaufnahme der Karte (EMTEC 1GB) fiel an den Dioden jeweils nur 0,3 Volt ab, so daß 4,4 Volt an der Karte lagen. Die hat es überlebt, aber die Logikpegel waren dadurch zu hoch. Ich habe eine 3,3 Volt Z-Diode mit 68Ohm Vorwiderstand hineingesetzt und nun klappt es. Die Z-Diode sitzt an Stelle des Stützkondensators 100n direkt am Kartenslot drin und der Vorwiderstand an Stelle einer der "Vorschaltdioden". Auch 2 andere Karten von Sandisk und Hitachi habe ich erfolgreich getestet. MfG Paul
Sind bei der V1.40 beide Netzwerkkarten ohne Layoutänderung möglich? Gruß Robin T.
Ich hab mir auch diesen Webserver Nachgebaut (in einer dreifirtel Stunde). Das Projekt ist wirklich Super.noch eine frage zur SD/MMC:Gehen auch 2 GB oder 4GB???
Ich versuche seit längerem erfolglos die Software V1.40 (MEGA644) für die Verwendung mit einer 3COM Netzwerkkarte zu kompilieren. Das Kompilieren für die RTL8019 Netzwerkkarte funktioniert einwandfrei. Wenn ich aber in der main.h die 3C5x9 aktiviere (#define USE_3C5x9 1), bekomme ich beim kompilieren die folgenden Fehler:
1 | F:\Temp\SourceCodeCPP_V1.40\source>make.exe all |
2 | set -e; avr-gcc -MM -mmcu=atmega644 -I. -g -Os -funsigned-char -funsigned |
3 | -bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa, |
4 | -adhlns=3c5x9.lst -std=gnu99 3c5x9.c \ |
5 | | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > 3c5x9.d; \ |
6 | [ -s 3c5x9.d ] || rm -f 3c5x9.d |
7 | 3c5x9.c:98:4: #error PORT for your MCU not defined yet. |
8 | |
9 | -------- begin -------- |
10 | avr-gcc (GCC) 3.4.6 |
11 | Copyright (C) 2006 Free Software Foundation, Inc. |
12 | This is free software; see the source for copying conditions. There is NO |
13 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
14 | |
15 | |
16 | Linking: main.elf |
17 | avr-gcc -mmcu=atmega644 -I. -g -Os -funsigned-char -funsigned-bitfields |
18 | -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o |
19 | -std=gnu99 main.o 3c5x9.o rtl8019.o analog.o arp.o checksum.o ftpd.o |
20 | httpd.o ip.o icmp.o interrupt4.o clock.o uart.o tcp.o telnet.o webpage.o |
21 | mmc.o fat16.o webcam/mca25.o ftpclient.o ntp.o time.o config.o auth.o |
22 | sendmail.o --output main.elf -Wl,-Map=main.map,--cref -lm |
23 | main.o: In function `InitNetworkCard': |
24 | F:\Temp\SourceCodeCPP_V1.40\source/main.c:78: undefined reference to `init_3c5x9' |
25 | main.o: In function `main': |
26 | F:\Temp\SourceCodeCPP_V1.40\source/main.c:378: undefined reference to `do_network_io' |
27 | arp.o: In function `ARP_Reply': |
28 | F:\Temp\SourceCodeCPP_V1.40\source/arp.c:66: undefined reference to `Write_Ethernet_Frame' |
29 | arp.o: In function `ARP_Request': |
30 | F:\Temp\SourceCodeCPP_V1.40\source/arp.c:129: undefined reference to `Write_Ethernet_Frame' |
31 | httpd.o: In function `httpd': |
32 | F:\Temp\SourceCodeCPP_V1.40\source/httpd.c:237: undefined reference to `Write_Ethernet_Frame' |
33 | F:\Temp\SourceCodeCPP_V1.40\source/httpd.c:421: undefined reference to `Write_Ethernet_Frame' |
34 | icmp.o: In function `ICMP_Reply': |
35 | F:\Temp\SourceCodeCPP_V1.40\source/icmp.c:49: undefined reference to `Write_Ethernet_Frame' |
36 | interrupt4.o: In function `get': |
37 | F:\Temp\SourceCodeCPP_V1.40\source/interrupt4.c:76: undefined reference to `Read_Ethernet_Frame' |
38 | tcp.o: In function `TCP_PORT_CLOSE': |
39 | F:\Temp\SourceCodeCPP_V1.40\source/tcp.c:253: undefined reference to `Write_Ethernet_Frame' |
40 | tcp.o: In function `TCP_OPEN': |
41 | F:\Temp\SourceCodeCPP_V1.40\source/tcp.c:384: undefined reference to `Write_Ethernet_Frame' |
42 | ftpclient.o: In function `ftpc': |
43 | F:\Temp\SourceCodeCPP_V1.40\source/ftpclient.c:130: undefined reference to `Write_Ethernet_Frame' |
44 | ftpclient.o: In function `ftp_store': |
45 | F:\Temp\SourceCodeCPP_V1.40\source/ftpclient.c:168: undefined reference to `Write_Ethernet_Frame' |
46 | ftpclient.o: In function `ftp_connect': |
47 | F:\Temp\SourceCodeCPP_V1.40\source/ftpclient.c:253: undefined reference to `Write_Ethernet_Frame' |
48 | ntp.o:F:\Temp\SourceCodeCPP_V1.40\source/ntp.c:148: more undefined references to `Write_Ethernet_Frame' follow |
49 | make.exe: *** [main.elf] Error 1 |
Hat vielleicht jemand einen Tipp für mich? MfG Martin
Hurra, mein Webserver läuft! Er läuft: mit Atmega644 / 14,7456 MHz; 3COM-Netzwerkkarte (3C509B); 16 MB SD-Karte und Software Version 1.40. Meine Schritte und Erfahrungen bis dahin habe ich mal zusammen- geschrieben und jetzt hier ins Forum gestellt in der Hoffnung, dass es jemandem nutzt, der wieder so einen Server aufbauen möchte: Inbetriebnahme ISA-Ctrl mit 3COM Netzwerkkarte: [ Compiler: avr-gcc (GCC) 4.1.2 (WinAVR 20070525) ] [ Hardware: ISA-Ctrl Board mit ATmega644 / 14,7456 MHz ] Compiling Probleme mit Original-Version 1.40IB (eingestellt für NIC RTL8019) -> viele 'mmc.h: warning: "..." redefined' (mit "..." = SPCR SPE MSTR SPSR SPDR SPIF SPRO / SPR1 / SPI2X) => die entsprechenden #define aus mmc.h löschen; sie sind jetzt in iomxx4.h definiert (siehe auch Beitrag von Uwe Nagel vom 13.06.2007 hier weiter oben; danke für die Infos) ==> keine errors mehr, nur noch warnings -> main.hex wird erzeugt 3COM-Netzwerkkarte im Code (in main.h) aktivieren / RTL8019 deaktivieren:
1 | // --- Select Networkcard -------
|
2 | #define USE_RTL8019 0
|
3 | #define USE_3C5x9 1
|
4 | //-------------------------------
|
Compiling Probleme: -> 3c5x9.c: error: #error PORT for your MCU not defined yet. !> Problem: PORT Definitionen in 3c5x9.c sind für ATmega32, nicht für ATmega644 angegeben => da die verwendeten Ports an den gleichen Anschlüssen liegen, gelten die Definitionen auch für ATmega644. D.h. in 3c5x9.c
1 | #if defined (__AVR_ATmega32__)
|
in
1 | #if defined (__AVR_ATmega32__) || defined (__AVR_ATmega644__)
|
ändern ==> nur noch warnings -> main.hex wird erzeugt 3COM-Netzwerkkarte konfigurieren: mit 3c5x9cfg.exe die Karte wie folgt einstellen: @I/O base address: 310H @Interrupt request level: 3 @Boot PROM size: disabled @Transceiver type: on-board TP @Plug and Play Capability: disabled @Full Duplex: disabled Zusammenbau & Test: - konfigurierte 3COM-Karte in ISA-Ctrl Board (mit geänderter Adressleitung) stecken - Server mit dem Rechner verbinden (CrossOver-Kabel oder Hub/Switch!) - Server mit Spannung versorgen - PING aus DOS-Box (Rechner IP=192.168.1.1/Subnetzmaske=255.255.255.0): "ping 192.168.1.201" (ist definiert in main.c -> unsigned char MYIP[] = { 192,168,1,201 };) ==> Antwort vom Server kommt :-) - im Browser "192.168.1.201" ==> laut Debug-Info auf der seriellen Schnittstelle wird index.htm aufgerufen, kommt aber nicht im Browser an :-( - Server aus - SD-Karte verbinden (darauf Dateien aus "files_sd_karte" direkt im Stammverzeichnis) - Server mit Spannung versorgen - PING aus DOS-Box (Rechner mit geänderter (!) IP=192.168.0.1/Subnetz- maske=255.255.255.0): "ping 192.168.0.101" (ist definiert in server.cfg auf SD-Karte -> IP=192.168.000.101) ==> Antwort vom Server kommt :-) - im Browser "192.168.0.101" ==> Startseite "AVR-MEGA-Webserver" öffnet sich :-) Einschränkungen der HTML-Seiten: - keine Verzeichnisstruktur auf der Karte -> alles im Hauptverzeichnis - Dateinamen nur 8+3 Zeichen -> keine "langen" Dateinamen; kein .html (statt dessen .htm) Gruss Thomas
Oi oi ich habe nur eine ETH-Steckdose hier. Dort ist mein PC dran. Ich würd aber gene noch einen unabhängigen kleinen ATmega Webserver ans Netz hängen. Wie kriegt man das hin? Geht das überhaupt bei mir? Gruß
Kann mir einer die Fuse Bits sagen. Ich hatte sie mir zwar mal rausgesucht aber ich bin mir da nicht mehr sicher. Danke Ryven
Manchmal frage ich mich, was die Leute mit so einem Webserver wollen, wenn sie nicht mal Grundkenntnisse in sachen Netzwerk haben. Die nächste Frage lautet bestimmt, wie kann ich meine Mp3 bzw. Mp4 Sammlung damit sharen. Schuhster bleib bei deinen Leisten. Was die Fuses angeht, http://www.mikrocontroller.com/de/download.php Fuses extern.
Hallo! Ich habe ein Problem und werd's ausführlich erklären, hoffentlich ist dieser Thread nicht schon zu alt: Ich habe den Server mit einem Atmega32 hiernach http://www.mikrocontroller.com/de/avr_webserver.php aufgebaut. Auf den µC habe ich die „fertigen Hexfiles V.1.38“ aus dem Downloadbereich gebrannt(hab alle mal ausprobiert): http://www.mikrocontroller.com/de/download.php#AVR_WEB Die Verdrahtung meiner Platine scheint ok zu sein, habe es mehrmals überprüft, auch eine SD-Karte wird nach zwei, drei Fehlversuchen angeblich erkannt. Per AVRterm erhalte ich die Meldung(UART funktioniert also auch): Init Network Card ... Init Ready! Init: ERROR(98) My Mac ... My IP ... http://img227.imageshack.us/img227/8122/error98in4.jpg Die Netzwerkkarte habe ich gejumpert: Mem Disable 300H IRQ 2/9 Auch im Gerätemanager habe ich diese Karte auf diese Werte eingestellt(das sollte zwar durch die Jumper egal sein, aber ich hab’s probiert, hätte ja der Fehler sein können). Allerdings weiß ich nicht recht, wie ich die ersten drei Brücken jumpern soll: JP1: open: No PNP, close: PNP Mode JP2: close: Jumperless JP3: close: Jumper Meiner Meinung nach müsste das auf open, open, close gestellt werden Wenn ich JP3 öffne, kommt die ERROR-Nummer 255, ist JP3 geschlossen kommt, wie gesagt ERROR 98. Die anderen beiden Jumper scheinen keine Auswirkung zu haben. Eine zweite Netzwerkkarte, die ich genau so gejumpert habe, aber im Gerätemanager nur auf IRQ 2 einstellen konnte (IRQ 9 wurde nicht aufgeführt), bringt immer ERROR 98, egal wie ich die ersten drei Brücken jumper. Wenn ich an die fertige Schaltung Spannung anlege, leuchtet die gelbe Power-LED der ISA-Karte und die grüne LED geht kurz an, kurz wieder aus und bleibt dann an. Die rote LED auf der Atmega-Platine leuchtet dauerhaft(beim SD-Hex und fehlernder SD-Karte blinkt sie). Da verhalten sich beide ISA-Karten also gleich. Was ich vielleicht noch sagen sollte: Die Fusebits habe ich so gesetzt, wie sie auf dem Bild im Downloadbereich zu sehen sind: http://img233.imageshack.us/img233/6342/fusbeitsya0.jpg Die Anschlüsse A5, A6, A7 sind bei mir nicht verbunden, ich habe keine Ahnung, womit die verbunden werden sollen, aber auf dem Foto sind die ja auch ohne Anschluss. Ich habe nirgends eine Fehlerliste finden können, drum komm ich einfach nicht weiter! Ich habe in irgendeinem Beitrag hier im Forum schon mal den Fehler 255 gefunden, aber da hat niemand geholfen, zu Fehler 98 finde ich bezüglich des Webservers nichts passendes im Netz. Ich muss übrigens zugeben, dass ich mit Microcontrollern noch nicht viel gemacht habe, aber so schwierig ist die Sache ja eigentlich nicht, die Schaltung, die man wirklich braucht, beschränkt sich ja auf recht wenige Teile. Wär echt toll, wenn mir jemand helfen könnte. Meiner Meinung nach, liegt der Fehler an der ISA-Karte, vor allem deswegen, weil die zwei Karten verschiedene Fehler bringen. Es sind beide ISA-Karten, mit 'nem Chip in der Mitte, wo RTL8019AS drauf steht. Beide sehen sehr ähnlich aus: http://img99.imageshack.us/img99/9305/p1090212customvp2.jpg
Mit rset8019.exe von Realtek solltest du die Karten eigentlich konfiguriert bekommen.
Hallo Volker, danke für die rasche Antwort. Ich hab die exe runtergeladen, aber wenn ich eine Karte einstecke, boote und dann unter XP das Programm starte, kommt zunächst die Meldung, dass er com4 und com3 nicht findet. Dann kommt die Meldung "There is no active LAN board found on your system" http://img299.imageshack.us/img299/5135/thereisnoactivelanboardqi6.jpg Ich hab's ausprobiert mit beiden Karten, hab auch beim Gerätemanager wieder auf automatische Resourcenzuweisung gestellt und hab's mit PNP-Jumper offen und geschlossen probiert. Hast du noch einen Tipp?
Tja, nun: Mein Mitwohni hat noch einen Rechner mit ISA-Slot, auf dem ich bisher auch versucht habe, die Karten einzustellen. Nachdem ich mein Diskettenlaufwerk bei ihm eingebaut habe, konnte es die Disketten nicht formatieren. Also hab ich 'ne neue Packung Disketten gekauft. Davon hab ich eine als MS-Dos Startdiskette formatiert und RSET8019.exe draufgemacht. Wenn ich nun von der Diskette starte, kann ich aber IRQ nur auf 5 und 15 stellen, alle anderen werden als belegt angezeigt. Habe dann nochmal Windows(= Win XP) gestartet und gesucht, welche Komponente IRQ2 nutzt. Das war "Microsoft ACPI Compliant System". Das konnte ich nicht deaktivieren, also habe ich es deinstalliert. Das hat aber auch nix gebracht und nach einem Neustart hat er erstmal ewig alle Treiber neu installiert. Des weiteren habe ich mal einen alten Rechner im Wohnheim aufgetrieben, sogar mit 5 1/4" Diskettenlaufwerk. Dumm ist nur, dass die Adapter von DIN-ISO zu PS2 bei mir zu Hause sind und das ist weit weg. Also bin ich grad zum Computerladen durch die halbe Stadt gefahren und hab einen Adapter gekauft, um meine USB-Tastatur anzuschließen. Wenn ich nun von Diskette starte, zeigt er als EINZIGEN belegten IRQ 2/9 an. Also wieder Windows gestartet (= Windows 98) und den Gerätemanager aufgerufen. Dann alle Geräte durchgeguckt(geht nur mit Tastatur echt super...meine serielle Maus ist scheinbar kaputt). Das Gerät, dass IRQ2 nutzt, heißt "Programmierbarer Interrupt Controller". Dessen Einstellungen kann ich manuell nicht ändern(ich kann zwar "automatische Einstellungen" deaktivieren, aber immer, wenn ich etwas ändern will, steht da "Diese Ressourceneinstellung kann nicht geändert werden"). So, ich habe also zwei Rechner mit ISA-Slot(s), bei beiden ist IRQ 2/9 bereits vergeben. Was kann ich tun?
Wenn du das Board selber verdrahtet hast, dann kannst du dir denn IRQ doch aussuchen. Nimm halt z.B. IRQ5 (Anschluss B23). Ansonsten gibt es auch Software welche den IRQ gar nicht benutzen.
Hm, das versteh ich nicht ganz, es steht doch da, dass man IRQ9 nehmen soll. Wenn ich jetzt ITQ5 einstelle, müsste ich das doch zumindest in der Software ändern, oder? Also neu kompilieren und nicht eins dieser fertigen Hexfiles nehmen. Die hängen ja alle am selben Strang Int0.
Nee, du mußt nix neu compilieren. Du lötest einfach anstatt IRQ9? z.B. den IRQ5 an den INT0 des ATMegas. Das ist der Software egal welcher IRQ der Netzwerkkarte den Interrupt auslöst.
Na aber laut Plan sind die doch alle mit INT0 verbunden?!
Moment, Moment, natürlich hängen die alle dran, aber nur einer gibt die Interrupts aus. Die hängen nur alle dran, weil zum Beispiel im PC mehrere Karten drin sind und dann mehrere Pins für Interrupts bentötigt werden. Das hab ich verstanden. Also können weiter alle dran bleiben. Aber bei IRQ5 ist der Fehler immer noch derselbe wie gestern um die Zeit...
Tatsächlich :-) Dann sollte es mit irgendeinem IRQ deiner Wahl funktionieren. Wahrscheinlich wurde das auch deswegen so realisiert.
Kannst du mir vielleicht noch sagen, wie ich die ersten drei nun jumpern muss, schließlich hat sich immer noch nix getan. Im Moment hab ich die ersten drei Brücken so, wie es mir REST8019 befohlen hat: No PnP, Jumperless, Pin 3 auch offen
Was mir grad noch aufgefallen ist: Reset von ISA, also B1 liegt bei mir direkt an GND. Im Plan ist Reset vom Atmega32, also Pin 9 noch dreimal mit Reset bezeichnet und führt über einen Pullup zu 5V. Ist das überhaupt richtig, dass mein RESET zum GND geht, oder muss das direkt an Pin9?
Also wenn du Jumperless wählst, dann mußt du alle Einstellungen mit diesem rset8019 machen. Ansonsten (Jumpermode) sollte sich alles mit den Jumpern setzen lassen. Wichtig ist: PnP aus! (hast du glaube ich auch gemacht) I/O Adresse und der IRQ, welcher aber eigentlich egal sein sollte. Schalte mal Jumperless ein und versuche nochmal das mit rset8019 einzustellen. Abspeichern nicht vergessen ;-)
Stimmt, na so langsam kann ich schon nicht mehr geradeaus gucken. Also B1 ist an GND und B2 hängt an Pin 1 vom Atmega. Ojeoje...
So sind sie eingestellt: http://img142.imageshack.us/img142/9610/p1090225largevf6.jpg http://img229.imageshack.us/img229/2622/p1090226largerp0.jpg Ich hab der Vielfalt wegen zwei verschiedene IRQs genommen. Einmal ist BootRom aktiviert, bei der anderen nicht, AutoDetect der Verbindung ist eingestellt, Fullduplex ist disabled(weiß nicht, ob das wichtig ist)...
Bootrom würde ich deaktivieren, ansonsten sieht es IMHO gut aus. Ich weiß jetzt auch nicht was der "Fehler 98" bedeuten könnte. Ich kenne weder die Software noch die Hardware von Holger. Ich glaube aber mich daran erinnern zu können, daß Joachim Börke eine alternative Software basierend auf uIP für dieses Board von Holger zur Verfügung gestellt hat. Bin mir aber jetzt nicht 100%ig sicher.
Hallo Volker, würdest du dir bitte folgendes Bild ansehen: http://img511.imageshack.us/img511/7449/pingfv4.jpg Ich hab die Software von Joachim Börke gebrannt und gestartet. AVRterm zeigt mir absolut gar nichts an, ich nehme mal an, das ist so vorgesehen, damit die UART für was anderes benutzt werden kann. Eigentlich sieht das doch ganz gut aus, oder? Stutzig macht mich aber, dass irgendwo steht, dass die Schaltung für einen 14,75..MHz-Quarz vorgesehen ist, aber momentan steckt noch der 16MHz drin. Wieso sollte das also funktionieren...?
Nee, das sieht irgendwie nicht so gut aus... Wenn du mit 16MHz arbeitest, dann stimmt da auf jeden Fall das Timing nicht mehr. Kann sein, daß das Timing für die Netzwerkkarte noch okay ist, aber für die USART auf keinen Fall mehr. Du solltest auch mal folgendes überprüfen: Geht die Link-LED an der Netzwerkkarte an? Befinden sich der PC und der AVR-Server im gleichen Subnet?
gleiches Subnet? Welches Subent hat denn der Mega? Das hab ich bisher völlig außer Acht gelassen... Zu den LEDs: wie gesagt, bei Anlegen der Spannung leuchtet die PowerLED und die grüne Activity geht kurz an, kurz wieder aus und bleibt dann an.
Das siehst du an der IP-Adresse. Wenn du dich z.B. in einem Klasse-C Netz befindest, dann müssen die ersten 3 Zahlenwerte beider IP-Adressen (also die vom PC und die des AVR-Webservers) übereinstimmen - sonst kann es nicht gehen. Das Verhalten der Link/Activity-LED scheint ja okay zu sein.
Und wenn ich mir das letzte Bild von dir genauer anschaue, dann sind beide wahrscheinlich nicht_ im _selben Subnet.
Achso, ich dachte, du meinst die Subnetmask... Also, die IP-Bereiche stimmen überein, mein Rechner hat die IP 192.168.1.169, deswegen hab ich auch die hex mit 192.168.1.66 genommen. Wenn ich die Software von Joachim nehme, stimmt es nicht überein, das kann sein, das war auch mehr ein halbherziger Versuch, weil da schon die e2p nicht funktionierte, ohne die hex in das andere Verzeichnis zu kopieren... Also wenn ich die Software von Holger nehme, stimmen die ersten drei Blöcke überein und beim pingen kommt "Zeitüberschreitung".
Dann stimmt wahrscheinlich irgendwas mit der Kommunikation zwischen AVR und der Netzwerkkarte nicht. Nochmal genau alle Verbindungen überprüfen - sonst wüßte ich im mom auch nix anderes. Viel Spass noch :-)
Ok, danke dir für deine Geduld. Ich versorg mich jetzt erstmal mit Nahrungsmitteln, dann kommt meine Freundin, da wird wieder nix mehr, werd wohl morgen weitermachen müssen...
Volker wrote:
> Wenn du dich z.B. in einem Klasse-C Netz befindest, [...]
OT: Classful networking/classful adressing ist (zum Glück) schon lange
(ca. 15 Jahre) tot ;)
Gruß
Dominique Görsch
Ich hab mich nochmal auf die Fehlersuche begeben und die Verbindungen auf der Platine kontrolliert, ich konnte nix finden, keine unbeabsichtigten Verbindungen und keine fehlenden Verbindungen. Ein paar Fragen hätte ich aber, deren Antwort mir bisher klar schien: S1 ist praktisch mit nichts verbunden, also alle Pins vom Atmega, die S1 als Ziel haben, sind frei, so zB Pin5? Außerdem sind A5, A6 & A7 nicht verbunden(wozu sollen die gut sein? S1 ist ein Stecker für freie Pins, mit denen man was anstellen kann, aber A?). Pin 33, 34 & 35 vom Atmega sind also nicht belegt. Es geht, wie gestern schon, um diesen Plan: http://mikrocontroller.com/files/ISA-Ctrl_Schaltplan.pdf Würde mich freuen, wenn mir jemand meine Fragen beantworten kann.
Hey Volker... http://img144.imageshack.us/img144/976/dergehtuy2.jpg Data 0 bis Data 9 waren falsch rum...und ich hab ewig gesucht. Ich dank dir, tut mir leid, dass du wegen solchem Unsinn Zeit verschwendet hast. Na wenigstens hat's was gebracht, schließlich hab ich jetzt 'nen Rechner, der die Karten umstellen kann. Also vielen Dank!
Ein Problem hätt ich noch: Hexfile ohne SD-Karte: Wenn ich Spannung anlege, wird die Karte initialisiert, ich kann sie anpingen und im Browser die Seite öffnen. Hexfile mit SD-Karte: Wenn ich Spannung anlege, wird die Karte initialisiert, ich kann sie anpingen, aber wenn ich die Seite im Browser öffne, tut sich nix und hinterher kann ich sie auch nicht mehr anpingen... Hat jemand eine Ahnung?
Dominique Görsch wrote: > Volker wrote: >> Wenn du dich z.B. in einem Klasse-C Netz befindest, [...] > > OT: Classful networking/classful adressing ist (zum Glück) schon lange > (ca. 15 Jahre) tot ;) > > Gruß > Dominique Görsch Hi Dominique Deine Aussage ist zwar korrekt, wird aber nur in großen Rechenzentren/Firmen eingesetzt. Es gibt leider noch sehr viel Hardware, welche mit CIDR (http://de.wikipedia.org/wiki/CIDR) nichts anfangen können. z.B. sind viele SOHO Router nicht in der Lage CIDR zu nutzen. Ergo ist es noch lange nicht tot. Mit freundlichen Grüßen Stefan
Stefan M. wrote: > Dominique Görsch wrote: >> OT: Classful networking/classful adressing ist (zum Glück) schon lange >> (ca. 15 Jahre) tot ;) > > Es gibt leider noch sehr viel Hardware, welche mit CIDR > (http://de.wikipedia.org/wiki/CIDR) nichts anfangen können. > z.B. sind viele SOHO Router nicht in der Lage CIDR zu nutzen. Das stimmt (leider), auch ich nutze meistens noch die alten "Klassen" in den typischen Subnetzgrößen (zu Hause z.b. mehrere /24 aus 192.168.x, ergo 255.255.255.0), aber man sollte trotzdem nichtmehr von einem "Klasse-C Netz" sprechen. Gruß Dominique Görsch
Habt ihr vielleicht 'nen Tipp, was mein Problem betrifft?
Ich wollte nochmal nachfragen, ob denn irgendjemand einen Tipp hat? Ich hab auch, nach einem Hinweis weiter oben, eine der Dioden durch einen Widerstand und den Kondensator durch eine 3,3V-Z-Diode ersetzt, das hat auch nix gebracht. Was könnte der Fehler sein, kannich irgendwelche Spannumngen nachmessen(außer die an Pin 3, 4 und 6)?
Nur eine Vermutung: Vielleicht versucht die Software jetzt Dateien von der SD-Karte zu lesen welche nicht vorhanden sind? Das würde bedeuten, daß jetzt index.html (und evt. noch mehr) auf der SD-Karte sein müssen.
Also... Ich war am Wochenende nicht da und hab grad in aller Ruhe alles nochmal ausprobiert: Wenn ich MMC-Karte 1 einstecke, wird die Karte erfolgreich initialisiert http://img504.imageshack.us/img504/3871/mmc1qj7.jpg Ich kann die Karte anpingen und die eingespeicherte Seite (lilafarbene Seite, links und rechts ein Foto) aufrufen. Wenn ich MMC-Karte 2 einstecke, kommt nur einmal die Meldung, dass keine Karte gefunden wird: http://img370.imageshack.us/img370/2629/mmc2ng1.jpg Das Schöne daran ist, dass der Inhalt beider Karten völlig identisch ist(von der einen auf die andere kopiert). Allerdings sind sie von unterschiedlichen Herstellern mit untereschiedlichen Kapazitäten(128 bzw. 256MB) Wenn ich die Schaltung auf die Z-Diode umschalte(hab nen Umschalter dran gemacht, nach diesem Beitrag: Beitrag "Re: Einfacher und billiger Webserver mit AtMega32"), kommt mehrmals die Meldung, dass keine Karte gefunden wird: http://img221.imageshack.us/img221/2951/wennaufzdiodeumgeschaltgx6.jpg Tja...hat denn noch irgendjemand einen Vorschlag? Nachtrag: Ich habe die Files auf der SD-Karte dem Ordner "files_sd_karte" entnommen aus dem Archiv "SourceCodeCPP_V.135", folgende Dateien sind auf der Karte: ASCII.pdf index.htm ulrich.jpg UntitledFrame-3.htm
Wieso wird eigentlich diese interne Seite ständig neu geladen, wozu ist das gut?
mal ne frage: wie wird der server mit strom versorgt? mfg
Moin, Da ich auch auf den Server gekommen bin und nun einen ATmega644 habe, wollte ich mich daran versuchen diesen schnieken Server aufzubauen. Da ich noch wenig Ahnung von den lieben AVR-Bausteinchen habe wollte ich wissen, ob man hier noch Hilfe zu diesem Thema bekommt und ob ich einen Schaltplan bekommen könnte, da ich eine 3Com Karte verwenden wollte und daher eine andere Platine verwenden wollen würde. Gruß, Amadeus
Hallöchen, ich möchte meinen Elektorbausatz AVR-Webserver aus dem Dezemberheft 2007 verkaufen. Ich liefere eine Netwerkkarte mit der Server ist getestet und läuft.
I was looking for this for a long time now. Need input on this amzon is giving 300 off on it [IMG]http://www.imagefrost.com/img/ih/iG.jpg[/IMG] Is it worth the price...? and has anyone used sony bravia can give any input. Thanks
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.