Aso die 12V-Z Diode ist die Sicherung. Also D4.
Ich habe mit D... gerechnet eine Schutzdiode gegen Verpolung und eine Z-Diode gegen Überspannung. Ich weiß auch, das die 7805er eine Temperaturüberwachung haben aber sicher ist Sicher.
Nicht die Z Diode ist die Sicherung!!!!!! F1 ist die Sicherung!!! D4 hat sie nur ausgelöst!!!
>Ich weiß auch, das die 7805er eine Temperaturüberwachung haben aber sicher ist
Sicher.
Da tust du auch gut dran. wenn die Teile mit Kühlkörper betrieben wrden,
dann fließen ziemliche Ströme bis die Temperatursicherung kommt. Da kann
der Regler oder Anderes schon mal dran glauben. ;)
Aber nicht mit 12V oder nur ohne die Diode, sonst tut sie der Sicherung bald gleich ;)
>Aso ok. Dann ist D4 heile. Ich Überbrücke dann F1. Danke.
Brenn meine Schaltung, brenn ;)
Sicherungen überbrückt man nicht einfach so.
Es gibt einen Grund wieso sie durchbrennen.
Sicherungen sind bei defekt meist hochohmig die Z-Dioden sind meist dann niederohmig ;-)
Ja der Grund war weil ich 12V benutzt habe. Hab jetzt aber 9V. Hab die PICOFUSE ausgebaut. Kann ich Sie irgendwie testen um sicher zu sein das die durchgebrannt ist?
Jop die Sicherung ist durch. Ulrich deine Glasskugel funktioniert ;-). Die PICOFUSE lässt nichts mehr durch.
ES BRENNT ES BRENNT ... die LED leuchtet ;-) Am Terminal kriege ich auch folgendes raus: <\n><\r>System Ready<\n><\r><\n><\r>NIC init:READY!<\r><\n>My IP: 192.168.1.18<\r><\n><\r><\n>Kein NTP Server gefunden!!<\r><\n>" Aber lässt sich nicht pingen oder Aufrufen :-( Die beiden LEDs blinken auch nicht. PC EinstellungenPER DHCP: Verbindungsspezifisches DNS-Suffix: IP-Adresse. . . . . . . . . . . . : 192.168.1.48 Subnetzmaske. . . . . . . . . . . : 255.255.255.0 Standardgateway . . . . . . . . . : 192.168.1.1 AVR Einstellungen: //Umrechnung von IP zu unsigned long #define IP(a,b,c,d) ((unsigned long)(d)<<24)+((unsigned long)(c)<<16)+((unsigned long)(b)<<8)+a //IP des Webservers #define MYIP IP(192,168,1,18) //Netzwerkmaske #define NETMASK IP(255,255,255,0) //IP des Routers #define ROUTER_IP IP(192,168,1,1) //IP des NTP-Servers z.B. Server 1.de.pool.ntp.org #define USE_NTP 1 //1 = NTP Client on #define NTP_IP IP(77,37,6,59) //MAC Adresse des Webservers #define MYMAC1 0x00 #define MYMAC2 0x20 #define MYMAC3 0x18 #define MYMAC4 0xB1 #define MYMAC5 0x15 #define MYMAC6 0x6F //Taktfrequenz //#define F_CPU 16000000UL #define F_CPU 14745600UL //#define F_CPU 11059200UL Wie suche ich am besten nach dem Problem?
Die beiden LEDs blinken nicht, nicht gut! LED2 muß bei einer Verbindung zum Router leuchten. LED3 zeigt RX/TX Daten an.
Auch wenn der Prozessor nicht funktionieren würde, zeigt LED2 einen Link normalerweise an. Es kann sein das der 25MHz Quarz vom ENC28J60 nicht schwingt. Fehler in der Bestückung Ethernet Seite. Das Programm im Prozessor spielt jetzt noch keine Rolle.
Ok habe ein neues LAN-Kabel genommen. Jetzt blinkt LED3 ab und zu. Aber auf die Weboberfläche oder Ping funktioniert nicht. LED2 leuchtet nur kurz beim Einschalten auf und leuchten dann nicht mehr. LED3 blink paar mal kurz ... dann etwas länger schneller and wieder kurz ... es blink so zu sagen fast immer.
Achja das Board hängt an einem Netzwerk Switch. Beim Switch gibt es 3 LEDs. 1. Speed, 2. Link/Ack, 3. FDX. Im Port von Board leuchtet nur LED 2. Bei allen anderen Geräten lechten immer 3.
Das kann gut möglich sein. Ich mache mir gedanken warum LED2 auf dem Webboard nicht leuchtet! FB2022 richtig herrum eingebaut?
Ja der FB2022 muss richtig drin sein. Habe es von deinem Video abgeguckt. Ich kann die Schrift lesen wenn der Netzwerk Anschluss und RS232 oben sind.
Wieso soll sich der Webservice bein Router anmelden? Ping er den Router oder was?
Kann ich im Quellcode an den wichtigen Zeilen Debug ausgaben einbauen die das Problem eingrenzen?
Hallo, ich habe davor den Quellcode von Simon Hufnagel benutzt Webserver_f_r_AVR_Studio.ZIP. Hab jetzt die letze Version von der Seite runtergeladen, also V1.0.56 (12.01.08). Jetzt leuchten LED1, LED2 und LED3 blink manchmal. Aber kann auf die Webseite nicht Zugreifen und Ping geht auch nicht. Liegt es vielleicht an den FUSES-bits? Programmiere per AVR DRAGON und AVR Studio und habe folgende Einstellungen: Brown-out detection disabled; [BODLEVEL=111] JTAG Interface Enabled; [JTAGEN=0] Boot Flash section size=4096 wors Boot start address=$0000;[BOOTRST=0] Ext. Crystal Osc.; Frequency 8.0- MHz; Start-up time: 16K CK + 65 ms; [CKSEL=1111 SUT=11] Die einstellungen sind angeklickt.
Hallo @Richard B.: Welchen Prozessor verwendest du? MEGA32 oder MEGA644? Konnte ich auf deinem Bild leider nicht erkennen. Meinen Code habe ich leider nur mit dem MEGA32 getestet, da ich noch keinen MEGA644 zur Hand hatte. Bei mmeinem Code habe ich außerdem die Funktion der LEDs umprogrammiert!!!! !!!!!!!!LED2 zeigt TX und LED3 zeigt RX!!!!!!!!!! Wenn du meinen Code verwendest, ist es normal, dass die LEDs nur kurz blinken (eben genau dann, wenn was gesendet/empfangen wird)! Mit einem MEGA32 funktionert der Code bei mir, ich kann ihn anpingen und die Seite läd auch. Über den MEGA644 kann ich wie gesagt leider noch nichts sagen... MfG Simon
Ich benutze einen MEGA644. Ich bin ratlos wieso ich das Ding nicht anpingen kann:-(
Hallo Ullrich, gestern hab ich grad den bedrahteten Webserver bestellt, und nun kommt eine neue Version in SMD, genau das was ich eigentlich gesucht habe. Verrate uns doch mal was da an neuen Hardware Features drauf ist. Gruss Ingo_s
Hallo Ihr! Ich hab mal das Programm (newStack1_0_56) von Ulrich Radig auf einen AT90CAN128 überspielt! Hab natürlich einen ENC28J60 genommen. Die Hardware funktioniert, die habe ich schon mit anderer einfacher Software getestet! Beim Programm von Ulrich zeigt der Hyper Terminal folgendes: /////////////////////////////////////////////// System Ready NIC init: System Ready NIC init:READY! My IP: 192.168.10.22 Kein NTP Server gefunden!! Kein NTP Server gefunden!! Kein NTP Server gefunden!! /////////////////////////////////////////////// Ich kann das Gerät aber nicht anpingen und die Server-Seite kann ich somit auch nicht aufrufen! Kann mir da jemand helfen! Ich hab den Quellcode für den AT90CAN128 mit drangehängt! Danke Euch! Gruß, Thorsten
Das gleiche Problem habe ich auch ... nur ich benutze den Mega644.
Ich habe zur Zeit einen Webserver mit Kamera und ATMega644 am Laufen. SW-Version 1.0.56. Läuft seit 4 Stunden ohne Hänger. Die Auflösung der Kamera umstellen, funktioniert allerdings noch nicht. Zur Zeit läuft die Kamera auf 160x120. Ich habe in der main.c die Zeile 79 so abgeändert: >max_bytes = cam_picture_store(2); Muss noch etwas geändert werden? Gruß Gerd
Mit anderen Programmen funktioniert das Ganze! Ich kann den ENC anpingen, usw. Leider aber nicht mit dem Programm von Ulrich Radig. Schade, da mich die NTP-Geschichte sehr interressiert.
hmm... dann einfach mal die initroutinen vergleichen. Steffen.
Moin allerseits, also Ulrichs 1.056 läuft auf meinem ATMega644 perfekt. >Beim Programm von Ulrich zeigt der Hyper Terminal folgendes: >/////////////////////////////////////////////// >System Ready >NIC init: >System Ready >NIC init:READY! >My IP: 192.168.10.22 Wirklich zweimal "System Ready" ? Dann hätte der zwischen den beiden NIC init einen Reset machen müssen. Das hat der bei mir noch nie gemacht. Da könnte irgend was faul sein. Hängt da noch mehr am SPI ? >Kein NTP Server gefunden!! >Kein NTP Server gefunden!! Das könnte mehrere Gründe haben: NTP Server nicht erreichbar, Router IP falsch, oder der Router lässt die IP des Webservers nicht durch (weil nicht freigegeben im Router). Gruß holger
Hallo Gerd, änder mal die Einstellung cam_picture_store in httpd.c!! Desweiteren den den cam_dat_buffer auf 1000 setzen in cam.h! Gruß Uli
Hallo Holger! Danke für den Tip! Werde die nächsten Tage das Ganze mal überprüfen! Schönen Dank nochmal und Gruß, Thorsten
Nochmal ne Frage! Muß bei der Router-IP der Gateway oder wirklich die IP des Routers, mit der ich auch auf die Konfigurationsseite komme, eingefügt werden??? Thorsten
Hallo Uli, hat einwandfrei funktioniert. Erkennst du die Platinen auf dem Bild? ;-P Jetzt lasse ich ihn mal laufen. Gruß Gerd
dann_mal_los wrote: > Nochmal ne Frage! > Muß bei der Router-IP der Gateway oder wirklich die IP des Routers, mit > der ich auch auf die Konfigurationsseite komme, eingefügt werden??? > > Thorsten Hat Ulrich schon mal beantwortet. Du brauchst die lokale Adresse deines Routers im Netzwerk, z.b. 192.168.0.1. Beitrag "Re: Webserver ATmega32/644DIP ENC28J60"
@Richard B. Wenn Ping funktioniert! @all es gibt nun Version 1.0.57 Änderungen betreffen nur den Kamarabetrieb! z.B. Einstellung der Auflösung in der config.h ;-) Gruß Uli
OK hab debug Ausgaben aktiviert. Das wird nur ausgegeben: System Ready NIC init:READY! My IP: 192.168.1.25 TCP Anwendung wird in Liste eingetragen: Eintrag 0 TCP Anwendung wird in Liste eingetragen: Eintrag 1 Ping und Zugriff auch webpage geht nicht. Jemand eine Idee woran es liegen könnte?
@Richard B. Wenn ein Ping ausgeführt wurde, wie sieht der ARP-Cache vom Webserver aus? Schon mal mit einem Crossover-Kabel direkt am Rechner getestet?
Per Crossover-Kabel direkt an PC geht auch nicht :-(. ARP-Cache? Wo sehe ich den? Wie gebe ich ihn aus?
@Richard B. Meiner Meinung nach hast Du ein Problem mit deiner Hardware. Wenn die Link-LED am Switch nicht angeht, dann kann das Problem eigentlich nur zwischen dem ENC, Übertrager und der RJ45-Buchse liegen. Und das für RX & TX getrennt von einander. Sobald der ENC mit Spannung versorgt wird und der Quarz korrekt angeschlossen ist leuchten nach kurzer Zeit die Link_LED am Switch und am Webserver (Bei mir am MagJack). Das ganze funktioniert normalerweise auch ohne Prozessor. Die physikalische Ebene übernimmt der ENC allein. @Alle Ich hatte vor ein paar Tagen die Frage nach der Vernetzung von mehreren AVR gestellt. Aus den vielen Vorschlägen (Danke an alle) habe ich mir nach langen Überlegen und nach viel lesen den Vorschlag von Ulrich ausgewählt, das mittels I2C zu machen. Nachdem ich nun die Kommunikation von 2 AVR mittels I2C hinbekommen habe, bin ich gerade dabei, das ganze etwas abzurunden und in die Software vom Webserver mit einzubinden. @Ulrich Aus welchem Grund hast Du eigentlich den ENC-Treiber gewechselt? Hat der alte zu viele Probleme gemacht? Bei meinem Webserver konnte ich keinen Unterschied feststellen. Er läuft bis heute problemlos mit allen Softwareversionen ab 1.0.20. Und das mit einer handgestrickten Platine auf Lochrasterbasis. Viele Grüße Torsten
Hallo, Im Alten waren noch nicht alle Erratas eingearbeitet ;-) desweiteren wollte ich sehen ob ein anderer Treiber besser läuft. Meiner Meinung nach ist der neue Treiber besser. Gruß Uli
@Torsten Keil Die Link-LED am Switch und die Link-LED am Board leuchten ja. Das ist ja das Problem. Und die LED für TX und RX blinkt auch.
So, wieder mal eine Meldung von mir. Ich habe heute, ähh gestern, die Platine für Ser_LCD geätzt, gebohrt und bestückt. Mit dem Test-Programm auf der Homepage von Ulrich läuft das einwandfrei. Beim Webserver bekomme ich nicht einmal das LCD initialisiert, obwohl ich in der config.h USE_SER_LCD auf 1 gesetzt habe. Also ist wieder Fehlersuche angesagt... HW-Version 1.1 Atmega644 DC-3840 an ADC aus SW-Version 1.0.57 Ansonsten läuft der Server ohne Abstürze oder ähnliches. Die Kamera braucht bei 640x480 relativ lange. Aber das ist bei der MCa25 auch nicht besser. Und ab und zu wird das Laden der Webseite nicht fertig!?!(Win XP) @Richard Wie sieht es bei dir aus? Hast du deine HW nochmal gecheckt? Am Atmega644 sollte es nicht liegen, da er sich seriell meldet. Außer du hast den falschen Treiber angewählt. Gruß Gerd
Hallo Gerd, Nachdem ich lange mein Display nicht getestet habe, musste ich dieses erstmal an der aktuellen Version 1.0.58 testen (ATmega32 + ATmega644)! Aber wie erwartet funktionierte es ;-) Die Display Testroutine ist die gleiche Routine die ich auch im Webserver verwende! Anderer Quarz?? Evt. Display Busy Wait in lcd.h etwas vergrößern. In der Version 1.0.58 wurde noch ein Fehler in der cam.c entfernt. Hier gab es noch einen Fehler in der längenbyte Berechnung. Gruß Uli
Hallo Ulrich, die Testroutine lief auf dem Pollin-Board mit einem Atmega32 und 16MHz. Auf dem Server ist ein Atmega644 mit 14,74576 MHz (wegen Cam). Also sollten die Timings nicht so schlecht sein. Ich probiere noch einmal und melde mich dann. Gruß Gerd
O.K. Display läuft. War mein Fehler. Einen neuen ATmega644 genommen, weil der alte in meinem zweiten Server gewandert ist und den Standardfehler gemacht: JTAG! Folgende Kombis durchgespielt: Kamera an, Servo an, Display an -> o.k. Kamera an, ADC an, Display an -> kein Bild von der Kamera mehr. SW: 1.0.58 Die Suche geht weiter... Mal sehen, was ich da wieder verbockt habe...
Hallo Gerd, Hast du die neue Httpd.c benutzt? Beim laden des Kamerabildes wird der ADC dort nun kurz abgeschaltet! Wenn nicht funktioniert die Kamera Routine nicht. Gruß Uli
Die httpd.c, die bei 1.0.58 dabei war? Oder hast du in deinem Forum eine spezielle? Ich verwende das Projekt so, wie es auf deiner Homepage gezippt ist. Eigene Sachen sind in diesem Server noch nicht drin.
Bei mir leider nicht. Ich habe gesehen, dass in der httpd.c der ADC kurz aus und wieder eingeschaltet wird. Allerdings bekomme ich trotzdem kein Kamerabild auf die Webseite wenn ADC an ist.
Hallo Gerd, versuche mal Version 1.0.59 jetzt kannst du Kamera und ADC benutzen! Gruß Uli
Hallo Ulrich, bis ich nachgesehen hatte, warst du schon bei 1.0.60 ;-P Habe es gerade auf dem Server geladen und es funktioniert. Danke! Werde mir jetzt den Code vornehmen und spionieren, was du geändert hast. Bin weiter am Testen! Gruß Gerd
Zwischenstand: Die ADC-Geschichte läuft bei mir noch nicht richtig. Die meiste Zeit liefern die Kanäle 0 zurück, obwohl 2,5V anliegen. Werde morgen eine neuen Atmega einsetzen, falls die AD-Kanäle defekt wären. Auch muss ich die Kamera umverdrahten, damit die serielle Schnittstelle zum Debuggen frei ist.
Tja, habe mir eine Poti-Platine gebastelt und da defekte Potis erwischt. Waren ausgeschlachtet. 40 ausgebaut und zwei waren defekt. Die habe ich natürlich sofort genommen...*grmpfl* Hätte doch früher ins Bett gehen sollen. Jetzt suche ich nach einer Möglichkeit die Balkenanzeige in der Vertikalen zu machen. Bei einer Füllstandsanzeige sähe das besser aus.
Hallo! Wollt mal eben bescheid geben! Die Software von Urich Radig läuft nun auf dem AT90CAN128. Ich habe folgenden Fehler gemacht: In der stack.c musste ich noch die while-schleife an den AT90CAN128 anpassen. PINB musste in PIND geändert werden, usw...... /////////////////////////////////////////////////////////////// void eth_get_data (void) { if(eth.timer) { tcp_timer_call(); arp_timer_call(); eth.timer = 0; } if(eth.data_present) { #if USE_ENC28J60 while( (PIND &(1<<PD2)) == 0) { #endif /////////////////////////////////////////////////////////////// Desweiteren hat sich das Programm gern mal resetet. Das lag wohl am delay(200000); in der void enc28j60_init(void). Habe den delay gesplittet und ein paar watchdogs integriert und seitdem läuft alles super!! Danke nochmal für die Tips!!!! Hat eigentlich schonmal jemand versucht einen FTP-Server anzusprechen über TCP oder ähnliches?? Versuche das gerade, aber dat haut irgendwie nicht so richtig hin! Kann mir da jemand weiterhelfen?? Gruß, Thorsten
Hallo, Hier mal ein kleines ADD_ON evt. kann das jemand gebrauchen ;-) Gruß Uli
Hi Ulrich, wie sieht es den mit deinem Neuen Webserver aus ? :) schon gespannt bin
>Hier mal ein kleines ADD_ON evt. kann das jemand gebrauchen ;-)
Nicht schon wieder die Spannungsteiler an der MMC/SD ;)
Was sagt denn die ISP Programmierung dazu wenn CS der
MMC/SD beim Reset in der Luft hängt ?
>Was sagt denn die ISP Programmierung dazu wenn CS der >MMC/SD beim Reset in der Luft hängt ? Oh Gott, CS hängt ja gar nicht in der Luft, sondern ist aktiv auf low. Da muss man die Karte beim ISP prommen ja rausziehen :(
Hallo Holger, einfach ein 10K Pullup und das Problem sollte beseitigt sein. @Manuel Kauf Der neue Webserver wird am Donnerstag von mir zusammen gebaut. Dann gibt es hier das erste Foto ;-) Gruß Uli
Na dann bin ich mal Gespannt ;) hatte gehofft das du ihn schon gelötet hast ;) will doch wissen was du wieder "gezaubert" hast
>einfach ein 10K Pullup und das Problem sollte beseitigt sein.
Da bin ich ja mal gespannt wie du den anschliesst ;)
Naja 10K sind es nicht gerade sondern nur 1k. Portpin PA0 mit einen 1k Widerstand gegen VCC. Im Anhang die Bilder von meinem Webserver mit MMC/SD-Karte ;-) Gruß Uli
jaaa besser nicht die Karte beim Flashen drin lassen - beim xx? mal hab' ich's vergessen, und promt geht sie nicht mehr :( . Lässt sich zwar initialisieren, aber mehr auch nicht! Sascha _______________________________________ http://sw-penig.dyndns.org:8080
Hallo, Hier wie versprochen die neuen Fotos vom Webserver ;-) Gruß Uli
Hallo Uli, Dein Projekt ist einsame Spitze. Seit langen hatte ich nicht so was interessantes zu Basteln. Nachdem ich nun, fernab der Arbeit etwas Zeit hatte, habe ich heute Nacht den Webserver endlich aufbauen können und er klappte auf Anhieb. Echt prima Sache ! Jetzt gehts dann weiter, sich durchs Programm wühlen ;-) Die neue SMD-Platine sieht auch super aus, ich glaube ich werde mir die auch noch bestellen ...
Hallo uli, ich habe in deinem Forum gelesen, dass du mit der aktuellen Version auch WOL implementiert hast. Kannst du noch ein paar Worte zu der Funktion sagen? Kann ich damit den Controller aufwecken? Oder kann ich damit einen weiteren Rechner aufwecken (wenn z. B. die Temperatur zu hoch ist...)? Gruß Steffen.
Hallo, Es kann ein Rechner z.B. der PC gestartet werden. Gruß Uli
Hi leute ich habe vor einigen Tagen eine alte Netzwerkkarte gefunden wo ein Takarack TC30911JL und ein TC3296N auf der Platiene aufgeloetet ist. Habe das Internet durchgesucht aber bin nur auf Seiten gestossen die die Datenblaetter freigeben gegen einen gewissen preis. Wenn jemand die datenblaetter oder den link wo ich sie finden kann, hier im thread posten kann wuerde es toll. :)
Hallo @Ulrich auf so ein Webmodul habe ich schon lange gewartet, als Ersatz für meine C_Control. Hast Du auch noch vor eine universelle Basisplatine mit IO-Klemmen für das Hutschienengehäuse zu bauen mit AnalogEingangen,TasterInput,Relausausgang(e),etc.....eventuell mit nem eigenen Prozessor via SPI/I2C an den Webserver angebunden um Regelungen zu implementieren unabhängig vom Webservertrafik?
Hallo, Ich erstelle gerade eine Basisplatine. Mit DC-DC Wandler für die 24V Versorgung. 4 Relais für die Ausgänge und 4 Optokopler für Eingänge sowie 8 Analogeingänge. Ein eigenen Prozessor für I/O ist nicht vorgesehen. Für Regelungsaufgaben kann ein Timerinterrupt verwendet werden dieser ist Netzlast unabhängig. Gruß Uli
Hallo zusammen, ich habe hier eine Version mit DS1631 (Temperaturfühler mit I2C Anschluss) basierend auf der Version 1.0.65. auf der Webseite des Servers wird die aktuelle und die maximale und minimale Temperatur seit Serverstart angezeigt. Schöne Grüße Simon Hufnagel
Hallo, das Projekt ist wirklich super. Hier noch ein Paar Anregungen dazu. Da RAM-Speicher knapp ist, gibt es noch folgende Optimierungsmöglichkeiten. 1) In base64.c kann die Variable BASE64CODE im Flash hinterlegt werden. Das ergibt 65 Bytes mehr Ram. Dann muß es ganz hinten im Programm heißen: *strp = pgm_read_byte(&BASE64CODE[(*strp) & 0x3F]); Oder man berechnet das Authentikationswort gleich offline (nochmals 20 Byte mehr). 2) Die Kamera kann direkt in eth_buffer schreiben. Man braucht also keinen eigenen Puffer. Die Änderungen dazu sind minimal: Man muß nur einen Zeiger definieren, der auf den Puffer zeigt. Z.B. volatile unsigned int max_bytes; volatile unsigned int cmd_buffercounter = 0; volatile unsigned int dat_buffercounter = 0; volatile unsigned int cam_dat_start = CAM_HEADER; volatile unsigned int cam_dat_stop = CAM_HEADER + DAT_BUFFER_SIZE; volatile unsigned int dat_buffer_size = DAT_BUFFER_SIZE; volatile unsigned char cam_cmd_buffer[CMD_BUFFER_SIZE]; volatile unsigned char cam_dat_buffer[DAT_BUFFER_SIZE]; volatile unsigned char * cam_dat_ptr = cam_dat_buffer; // Zeiger auf Datenpuffer In der ISR-Routine heißt es dann: SIGNAL (SIG_USART_RECV) { char tmp = UDR; if(cmd_buffercounter < CMD_BUFFER_SIZE) cam_cmd_buffer[cmd_buffercounter] = tmp; // if(cmd_buffercounter >= cam_dat_start && cmd_buffercounter < cam_dat_stop) cam_dat_buffer[dat_buffercounter++] = UDR; if(cmd_buffercounter >= cam_dat_start && cmd_buffercounter < cam_dat_stop) cam_dat_ptr[dat_buffercounter++] = UDR; cmd_buffercounter++; } Die Voreinstellung ist hier, daß der Zeiger auf den 1Byte großen cam_dat_buffer zeigt. Später muß er in httpd.c auf den entspechenden Platz im eth_buffer umgeleitet werden. Das ganze Programm möchte ich hier nicht reinstellen, da ich doch vom Original sehr abgewichen bin. Harald
Hallo Uli (und Forum), vielen Dank für dieses Projekt. Ich habe die altuelle Version für den ATMEGA644 (1.0.65) geflasht, es geht auch alles, nur über die serielle Schnittstelle kann ich nichts konfigurieren. Er gibt mir alles als Echo zurück (lokales Echo ist aus), aber "help", "IP 192.168.3.1" etc. haben keinerlei Wirkung. An der Hardware kann es ja eigentlich nicht liegen ?????? Hat jemand eine Idee??? Viele Grüße, Gonzo
**nach oben bring** keiner eine Idee ?? (ich komme nicht so richtig weiter und das Wochenende ist auch bald vorüber..)
Hört sich ja fast so an, als ob der Telnetserver an ist. Hast Du denn an der Software was verändert oder hast Du das Original Hex-File genommen ? Ist alles richtig konfiguriert ? comport einstellung und so ? Handshake aus ?
Ich habe das originale hex-File geflashed. Die Com-Porteinstellingen sind richtig, ich bekomme ja ordentlichen Text vom uC bzw. meine Eingaben kommen als Echo richtig vom uC zurück - meine Befehle ignoriert er aber. Viele Grüße, gonzo
Wenn scheinbar alles richtig ist, bekommst Du die paar Zeilen nach dem Reset beim Init zu sehen ? Hast Du ein fertiges Board, oder selbstgebaut, dann evtl. RX/TX prüfen.
Ja klar kommt der Init -Text vom uC (bei RESET), dann kann ich etwas eintippen z.B. help - kommt auch korrekt als Echo zurück - nur es passiert halt nix. Platine hab ich selbst gemacht, Webserver läuft auch (mit der Standard-IP). Wie gesagt, Hardware scheint ok. Grüße, Gonzo
ist natürlich eine Idee...... habe ich schon kontrolliert. Weiter oben war die Rede vom Telnet-Server - blockiert dieser die serielle Schnittstelle ? Grüße, Gonzo
>Telnet-Server - blockiert dieser die serielle Schnittstelle
Dafür muß er aktiviert werden, was Du bestimmt nicht gemacht hast.
Ich würde nochmal die Hardware überprüfen.
Ok, ich versuche es mal andersrum - Bei euch funktioniert die Konfiguration über serielle Schnittstelle einwandfrei - ihr habt auch einen ATMEGA644 mit dem Hexfile 1.0.65 von Ulis Webseite geflashed und nichts verändert ?! Ich weis mir keinen Rat mehr, wie oben schon erwähnt scheint die Schnittstelle zu funktioniern, TX und RX sind lt. Multimeter auch nicht kurzgeschlossen. Grüße, Gonzo
Hi, habe gerade mal das Original Hexfile für Dich auf meinem System geflasht. Ergebnis : Es funktioniert. Was hast Du für einen Quarz ? Default im Hex ist 16 MHz.
Danke für die Mühe, habe einen 16 MHz Quarz drin (wie im Bauplan - ist auch kein Oberwellenquarz (zumindest hatte ich keinen bestellt). Ok, das hilft erst mal weiter - es ist also an der Harware definitiv was faul. Da werde ich mal mit der Methode des "scharfen Ansehens" weiter den Fehler suchen müssen. Viele Grüße, Gonzo
Ach ja, ich hab die Fuses nach Low/High Byte im Makefile gesetzt - gibt es auch eine Auflistung welche Fuses gesetzt(geändert) werden müssen? Eventuell sollte ich auch an dieser Stelle noch mal schauen..... Grüße, gonzo
Meine Fuses sind so eingestellt (Mit dem STK500) Bin jetzt erstmal zu "Zoch" ;-)
Habs gefunden.... der Leiterzug von PIN 3 des Proz. zum ENC28J60 INT war unterbrochen - das muss den uC wohl aus dem Tritt gebracht haben. Vielen Dank für alle Ratschläge, Gonzo
>An der Hardware kann es ja eigentlich nicht liegen >Wie gesagt, Hardware scheint ok. >Habs gefunden.... der Leiterzug von PIN 3 zum ENC28J60 INT war unterbrochen Jaja, und wir hatten wieder die Mühe ;-) Freut mich für Dich, das es jetzt klappt !
Ok, du mußt aber auch zugeben, das das (bezogen auf Probleme mit der seriellen Schnittstelle) ein nicht sooo leicht zu findender Fehler war. Aber wozu hat man euch ;-)).......... Viele Grüße, Gonzo
Hallo, ich hatte im Bereich "Protokoll DC-3840 Handycam" gelesen, dass diese Handycam die Daten über die serielle Schnittstelle schon als jpg-Datei ausgibt und für die Verwendung als Webserver nur noch der TCP-Header hinzugefügt werden muss. Nun zu meiner Frage. Ist dies auch bei der MCA25 der Fall? Ich möchte diese nämlich auch gerne in diesem Projekt verwenden. Mir ist klar das hierzu eine andere Initialisierung notwendig ist. Gruß Martin
Schon mal überlegt warum es die Funktion "Suchen" gibt ? In diesem Thread Beitrag "Handykamera MCA-25 ansteuern" steht : "Die Kamera liefert einen reinen JPG Stream " Für mehr Details mußt Du Dich da mal selbst Durchlesen ;-)
Hallo, ich hatte ja Ulrichs Webserver schon voriges Jahr auf Lochraster verdrahtet und damit rumgespielt. Heute habe ich nun endlich die Leiterplatte von Ulrich fertig bestückt und die Kamera mit einem Stecker versehen. Jetzt zu meinem Problem: C ist (immernoch ;-) nicht mein Ding, programmiere in ASM... Ich habe die aktuelle Version der Sourcen, habe erstmal den Mega644P "nachgerüstet", also alle 644er Definitionen nochmal als 644P reinkopiert. Damit compiliert er jetzt fehlerfrei für den 644P und läuft auch darauf. Die Absicht dahinter ist einfach: der 644P hat einen 2. USART, den ich für die Kamera nehmen will. Also erstmal in cam.h und cam.c alle Definitionen des USART um den Präfix CAM_ erweitert und die Registernummern von 0 auf 1 geändert, um den UART unabhängig von USART0 als Debug-Ausgabe zu bekommen. In der usart.c die CAM-Abfragen im Moment noch auskommentiert, damit die Ausgaben auch mit eingebundenem CAM-Modul laufen. Da muß ich noch Abfragen für den 644P nachrüsten, damit USART0 beim 644P aktiv bleibt, auch wenn CAM eingebunden ist. cam_init in main.c ist erstmal auskommentiert, die Kamera hängt noch nicht dran, meine Kiste hatte keinen passenden Quarz auf Lager... Evetuelle Abweichungen des USART1 habe ich noch nicht überprüft, das mache ich wohl morgen mit passendem Quaz und Kamera dran. Meine Frage ist nur: habe ich bis hier was wesentliches übersehen oder sollte es so dann erstmal mit der CAM an USART1 laufen? Er compiliert mit CAM ohne Fehler und läuft bis jetzt auch noch. Gruß aus Berlin Michael
>Jetzt zu meinem Problem: C ist (immernoch ;-) nicht mein Ding Hi, ich wollte früher auch nie µC in C programmieren. War auch immer ein ASM Narr. Aber ich persönlich kann sagen, der Umstieg hat sich gelohnt, so sehr, das ich eigentlich gar nicht mehr in assembler programmiere. Also : Trau Dich ;-) >habe erstmal den Mega644P "nachgerüstet" Genau das selbe hatte ich auch mal vor. Aus den selben Gründen wie Deine. >sollte es so dann erstmal mit der CAM an USART1 laufen? Probiere es doch aus, viel kaputt gehen kann ja nicht. Wenn doch weitere Probleme auftreten, kannst Du ja noch mal nachfragen.
Hallo, da mein Quarz jetzt da ist... Die Kamera hat sich auf Anhieb am USART1 gemeldet, USART0 zum PC geht auch. Ich räume die geänderten Files noch auf und stelle die dann mal hier rein, falls noch jemand den 644P nehmen will. Gruß aus Berlin Michael
Super das es klappt. Über den Code würden sich bestimmt einige Leute freuen. Schreib doch bitte auch einen Beitrag in Ulrichs Forum, vielleicht nimmt er den Code dann sogar beim nächsten Bugfix mit auf.
Hallo, hier mal die geänderten Files für den Mega644P mit Camera an USART1 und serieller Verbindung weiterhin an USART0. Wäre nett, wenn mal jemand drüberschaut, ob das so richtig ist, bin immernoch ASM-Programmierer. ;) Bei mir spielt es zumindest so und ein paar schnelle Tests mit/ohne Camera mit dem 644P klappten auch. Mega644, Mega644P und Mega32 compilieren ohne Fehler, bei den anderen (Mega128/Mega8/Mega88) fehlten ohnehin ein paar Definitionen, hat wohl auch keiner in Benutzung. Gruß aus Berlin Michael
Mega128 + RTL8019AS (alter Webserver, neuer Stack 1.0.65) habe ich im Einsatz. War meine Lösung um die Cam und serielle Schnittstelle gleichzeitig arbeiten zu lassen. Welche Fehler hattest du? Wo hast du den Atmega644P gekauft? Ich habe ihn jetzt bei CSD und Kessler-Electronic gefunden. Gruß Gerd
Hallo, ich hatte nur mal mit Einstellung Mega128 compiliert, da her er irgendwelche UASRT-Register angemault, habe ich nicht weiter verfolgt... Da ich in Berlin wohne und ein Bekannter dort arbeitet: www.segor.de Bitte keine Preisdebatte, wenn ich mir den einzeln schicken lasse, ist er vermutlich woanders auch nicht billiger und so habe ich ihn sofort. ;-)) Ich habe jetzt mal ein Timeout und eine Meldung eingebaut, wenn sich die Cam nicht meldet, meine wollte vorhin irgendwie nicht mit mir reden, ich muß mir den angelöteten Stecker wohl nochmal anschauen. Ist im Moment alles mehr C-Übung, wie schon öfter erwähnt, programmiere ich sonst nur ASM. Ich habe hier eigentlich noch einen ASM-Treiber für den ENC rumliegen und einen angefangenen TCP-Stack. Bisher ARP, ICMP-Ping und der Anfang von IP. Vielleicht mache ich den auch nochmal weiter und leihe mir ein paar Ideen aus den C-Sourcen... Ist ohnehin nur Zeitvertreib, man will ja auf seine "alten" Tage nicht dumm sterben. ;-) Gruß aus Berlin Michael
Habe es mir beinahe gedacht, dass da Segor im Spiel ist, wenn du schon aus Berlin kommst.;-P Ich habe leider so was hier nicht in der Nähe, also werde ich ihn woanders bestellen. Vielleicht habe ich ihn nächste Woche. >Bitte keine Preisdebatte, wenn ich mir den einzeln schicken lasse, ist >er vermutlich woanders auch nicht billiger und so habe ich ihn sofort. >;-)) Wird es mit mir nicht geben, da ich die Elektronik als Hobby betrachte. Da gab es doch jemanden, der behauptete, dass ein Hobby Geld kosten muss, sonst wäre es kein Hobby. >Ist ohnehin nur Zeitvertreib, man will ja auf seine "alten" Tage nicht >dumm sterben. ;-) Alter ist relativ. Erst dann, wenn man nicht mehr dazu lernen will, ist man alt. Bis dahin hat man ja einen gewissen Spieltrieb. Gruß Gerd
Hallo zusammen! Auch ich habe einen kleinen Webserver gebaut. Dabei habe ich den Schaltplan von Ulrich als Referenzdesign verwendet. Deshalb ist seine Software zu 100% mit meiner Hardware kompatibel. Funktion: Der Server soll primär als Gateway für ein Home-Automation-Projekt dienen. Über die Webside lassen sich bei mir zu Hause zahlreiche Steckdosen An-und Ausschalten. Dazu steuert der Mega32 einen reverse-engineered 433Mhz Funksender aus einer dieser China-Funksteckdosen-Sets an. Features: - Bis zu 12 Steckdosen in bis zu 50m Reichweite schaltbar - Pro Steckdose Leistung bis 3,5kW - Geringe Leistungsaufnahme P < 2W. (Einsatz eines Step-Down-Schaltreglers) - Sehr einfaches Boarddesign (1 Brücke) - Layout optimiert auf Ätzbarkeit, Brückenlosigkeit und auf Bauteile die jeder in der Bastelkiste haben sollte - Low Cost (Alles zusammen inkl. 3 Steckdosen ca. 35€) - Debugging über Rs232 - Verpolungsschutz Adresse: Der Server ist unter http://www.majus.homeip.net/ erreichbar. Name ist "Marius" und Passwort ist "test" (Bitte nicht Nachts missbrauchen, an Steckdose1 hängt eine Lampe (A=Ein,B=AUs) Im Anhang findet ihr ein paar Fotos und ein Video. Im Video sieht man: Grüne Led - Betriebsspannung Gelbe Led - Link (leuchtet) Gelbe Led - Transmit(blinkt bei Zugriff) Rote Led - Leuchtet bei aktivem Funk Vielleicht hab ich ja jemanden angeregt das Projekt nachzubauen. Jetz wo die Harware funktioniert, werde ich die Webside noch was schöner machen und ein visuelles Feedback über den Zustand der Steckdosen einbauen. Gruß, Majus Bilder: http://img218.imageshack.us/my.php?image=img5952sr4.jpg http://img218.imageshack.us/my.php?image=img5954ll7.jpg http://img218.imageshack.us/my.php?image=img5962eo0.jpg http://img218.imageshack.us/my.php?image=img5964qg2.jpg http://img175.imageshack.us/my.php?image=img5966qx6.jpg http://img176.imageshack.us/my.php?image=img5970mg1.jpg
Hallo, ich habe da ein Problem. Und zwar suche ich das MAGJACK SI-60024-F das für den Webserver in SMD benötigt wird. Nur hat den kein Händler im Angebot :( Bei csd-electronics.de ist er auch nicht auffindbar. Hat die Buchse noch jemand vorrätig und würde sie mir verkaufen oder hat jemand einen Ersatztyp parrat der auf die Platiene passt?
@ Majus ich würde gern das Projekt (Platine auch), speziell mit den Funksteckdosen, nachbauen. Da gehst du scheinbar auf den FB-Chip. Visuelles Feedback wäre natürlich auch schön. Würdest du die Dateien hier reinstellen? Da ich nicht so der C-Programmierer bin, neben den C-Files auch ein fertiges Hex? Vielen dank im Vorraus
@Anschluss verpasst CSD hat ihn, nur im Moment nicht an Lager(ArtikelNr. 015-54085). Als Ersatz könnte man laut CSD auch den SI-60062 nehmen(ArtikelNr. 015-54084)
@Anschluss verpasst Beim SI-60062-F aber aufpassen da er nur 2 LED hat funktioniert ohne Änderungen an der Platine/am MagJack(TM) nur eine LED.
Danke für die Hilfe, ich werde mir den Ersatztyp bestellen. Das die eine LED nicht funktioniert ist mir eigentlich ziemlich egal.
@ted Im Anhang befindet sich die Eagle Datei mit Layout und Board. Den Code möchte ich momentan nicht veröffentlichen, da a) Der Code zu 95% dem von Ulrich R. entspricht und dort downgeloadet werden kann. b) Die Webside momentan auf keinen Fall ausgereift ist. Ich habe das Interface zum Chip möglichst offen gehalten. So sollte es mit vielen verschiedenen Modellen dieser Funk-Fernbedienungen funktionieren(Optokoppler überbrücken einfach die Tasten der Fernbedienung). Meins ist von "Rev" und gekauft bei Real Beim Kauf darauf achten das man keins nimmt was abbrennen kann. (Da gibt Rückrufaktionen, Google hilft) @alle Schön das in den letzen Tagen so viele Leute auf der Homepage waren. Vormittags geht meine Zimmerlampe im 15 Minuten Rhytmus An und Aus. In der Nacht von Freitag auf Samstag hat um halb 4 Nachts jemand das Licht angemacht. Dann musste ich erstmal den Rechner hochfahren um es wieder aus zu machen... Gruß, Majus
Cool, Rechner hochfahren um das Licht auszuschalten... Man könnte auch den Stecker ziehen, oder zur Not im Garten einen Stein holen und damit das Licht ausknipsen ;-) Jürgen
Hallo Uli habe mir dieses kleine geniale Teil die Tage mal zusammengebaut und mit Software bestückt. Obwohl eher DAU auf dem SW-Gebiet, gelang es mir auf Anhieb, die nötigen Änderungen in Deinem gut dokumentierten Code vorzunehmen und das Ergebnis einzuspielen. Funktioniet auch alles. Nun habe ich mich mit der Funktion der übers Netz geleiteten RS232 befasst. Wenn ich ein Terminal (Als Stand-Alone-Gerät) an den Webserver anschliesse, an meinem PC die entsprechende Software (com0com, com2tcp) installiere, bekomme ich eine saubere Verbindung, d.h. alle Eingaben landen jeweils auf dem Terminal bzw Terminal-Programm am PC. Getestet mit 9600 baud. Als nächsten Schritt wollte ich eine micro-SPS (www.microsps.com) über Deinen Webserver ansprechen. Baudrate ist auf 57600 eingestellt. Konkret starte ich zB ein Terminal-Programm am PC und schliese die SPS an die COM1 an. Wenn ich die SPS resete, werden die Statusmeldungen einwandfrei ausgegeben (Ähnlich wie bei dem SPS-eigenen Download-Tool). Betreibe ich das Ganze aber über den Webserver und die virtuelle Schnittstelle am PC, kommt nur Datenmüll am Terminal-Programm an. Und mit dem Download-Toll geht natürlich gar nix. Hast Du bereits Erfahrung mit der SPS? Wäre halt unheimlich praktisch, die SPS-Steuerungen über Deinen Webserver irgendwo ins Netz zu hängen und von jedem PC aus zu warten. Danke und Gruss, Gerd
Hallo, Für die microSPS muß der Datenbuffer vergrößert werden. Selbst an der microSPS habe ich den Webserver noch nicht getestet. Gruß Uli
Hallo Uli, danke für die turboschnelle Antwort :-) Die Vorgabe ist ja: #define BUFFER_SIZE 50 Frage: Welche Grösse würdest Du empfehlen (So aus'm Bauch heraus). Oder anders formuliert: welche Änderung hat welchen Effekt? Werde die Tage dann mal testen und berichten... Gruss, Gerd
Hallo, so, habe nochmal einwenig experimentiert... Der Zeichensalat im Terminalprogramm ist beseitigt - hatte dummerweise vergessen, die Baudrate in der "config.h" auf 57600 umzustellen. Also, die Startmeldungen der SPS kommen nun an, laufen im Terminalprogramm (fast immer) einwandfrei auf. Das Download-Tool funktioniert dagegen nur sehr zäh bis gar nicht. Wenn was ankommt, dann ist es idR vollständig. Ich kann die SPS auch vom Tool aus reseten, dann kommen aber meist keine Startmeldungen mehr. Beim Starten des Debug-Tools geht dann gar nichts mehr. Die Einstellungen des com2tcp sind wie folgt: com2tcp --baud 57600 --ignore-dsr \\.\CNCB0 192.168.xxx.xx telnet Ohne das "--ignore-dsr" geht's nicht. Ich habe die BUFFER_SIZE stufenweise auf bis zu 1500 angehoben, ohne nennenswerten Erfolg. Ich benutze derzeit die Version mit dem AtMega644. Kann es sein, dass der Webserver mit den 57600 baud grundsätzlich überfordert ist? Oder fällt wem noch was ein? Gruss, Gerd
Habe das Problem bei einem MC-Board mit einem C166, bei dem das Ladeprogramm den Com-Port öffnet und erst beim 2ten Byte das über com2tcp gesendet wird, gibt der Webserver die Daten weiter. das ganze habe ich auch mit einem Agelent-Datenlogger probiert, bei der er dann auch keine Verbindung aufbaut, weil ein Teil des Protokolls verloren geht. Dieses war auch bei nur 9600 baud. Gruß Wolfgang Metz
Hallo, den Eindruck habe ich auch, dass einfach einige Daten verloren gehen. Inzwischen habe ich das Teil allerdings wieder etwas stabiler hinbekommen: Statt 16 MHz einen 14,745600 MHz Quarz. Der bringt einen besseren Teilungsfaktor für die Serielle. Grundsätzlich hilft auch im Setup-Tool des "com0com" der Zusatz "EmuOverrun=yes" Nun habe ich im Terminal am PC eine saubere Datenübertragung. Auch im Fenster des SPS-Downloaders erscheinen nun alle Zeichen. Das Hochladen einer Konfig-Datei oder gar der Start des Debugers verursachen aber wieder Datenmüll, der u.U. auch den Webserver zum Einfrieren nötigen. Habe nochmal am BUFFER_SIZE rumgeschraubt, leider ohne Erfolg. Nun gehen mir wirklich die Ideen aus... ;-) Gruss, Gerd
Hallo Gerd, und schon mal den TX/RX Buffer vergrößert ich rede hier nicht von BUFFERSIZE! USART.H Zeile 29 Gruß Uli
Hallo Uli, helf' einem Software-DAU doch bitte noch ein wenig auf die Sprünge ;-) Ich gehe mal von der aktuellen Version (1_0_75) aus. Welchen "TX/RX Buffer" meinst Du? An dem BUFFER_SIZE in Zeile 29 habe ich ja schon rumgeschraubt. Zur Übersicht (vielleicht auch für andere Intetressierte), meine bisherigen Änderungen an einem frischen SW-Paket von Dir: config.h IP-Adressen angepasst, Taktfrequenz auf 14,7456Mhz, Baudrate auf 57600 eingestellt, (Und selbstverständlich auch 'nen 14,7456 Quarz ins Board gesteckt) makefile atmega644 ausgewählt usart.h Zeile 15: BUFFER_SIZE versch. Werte (50 - 1500) Zeile 46: #define SYSCLK 16000000UL nach 14745600UL (ist das OK so?) Das Programm com0com installiert, Im Setup-Tool: "change CNCA0 PortName=COM4" und: "change CNCA0 EmuOverrun=yes" ein list ergibt: CNCA0 PortName=COM4,EmuOverrun=yes CNCB0 PortName=- Das Tool com2tcp mit folgendem Parameter aufgerufen: com2tcp --baud 57600 --ignore-dsr \\.\CNCB0 192.168.xxx.xx telnet (natürlich mit sinnvoller IP-Adresse...) Vor allem die Zeile 46 in der usart.h kam mir noch verdächtig vor, ist doch richtig, dass ich hier auch die 14,7456MHz eintragen muss, oder? Vielleicht hast Du noch ne Anregung? Danke und Gruss, Gerd
Sorry, kleine Korrektur für die ganz aktuelle Version (1_0_75): usart.h Zeile 29: BUFFER_SIZE versch. Werte (50 - 1500) Zeile 60: #define SYSCLK 16000000UL nach 14745600UL (ist das OK so?)
Hallo! Ich habe die Software meines Webservers noch etwas erweitert. Zum einen wurde die Software auf den aktuellen Stand gebracht. Außerdem wird der Zustand der einzelnen Funksteckdosen jetzt auch online angezeigt. Des weiteren habe ich noch einen Bug beim Laden der Seite entfernt. Die Benutzerführung ist noch etwas komisch, aber das bekomme ich die auch noch hin. (Ausschaltdominant) Vielleicht lässt sich ja auch ein kleiner Event-Manager realisieren. Wo ich online die Ein- und Ausschaltzeit in einer Liste eintragen kann... Dank Ulrich's NTP wäre das dann auch Sekundengenau! Der Server ist unter http://www.majus.homeip.net/ erreichbar. Name ist "Marius" und Passwort ist "test" Bitte nicht Nachts missbrauchen! Steckdose A1,A2 und A3 steuern 3 kleine Lampen in meinem Schlafzimmer. Gruß, Majus
Um mehr als Port A 0-2 steuern zu können, hab ich in webpage.h (ab Zeile 74) und httpd.c (ab Zeile 181) die Einträge entsprechend ergänzt (newStack1_0_76). Leider funktionieren nach wie vor nur die ersten 3 Ports. Wo muss ich jetzt noch etwas ändern? Danke
Hallo , ich hab' mich entschlossen den Bausatz auch aufzubauen. Ich habe die Platine schon bekommen ( danke an Uli, ging sehr schnell ). Was Reichelt nicht hatte war der Quarz und die 10uH-Ferritspule, den Quarz habe ich mittlerweile dank der Netzwerkkarten-Idee bei Conrad bekommen, aber die Spule fehlt mir noch. Spricht was dagegen, die selbst als Luftspule zu wickeln ( würde eben gerne loslegen...)oder hat der Ferritkern eine besondere Bewandnis ? Gruß Strabe
Hallo, zur Not geht auch eine Brücke, als alternative geht auch SMC 10. Gruß Uli
Hallo, ich habe auch einen ETH_EX_M32 von Ulrich am Laufen. Ich verwende einen ATMega644. Ueber die serielle Schnittstelle sehe ich auch, dass er was tut; NTP klappt und anpingen kann ich ihn auch. Nur eine Webseite sehe ich nicht (Seitenladefehler). Es sollte doch eigentlich reichen, "http://<myip>"; aufzurufen, oder? Mit "telnet <myip> 80" stuerzt der ATMega leider ab. Auch HTTP_DEBUG (in httpd.h) zu aktivieren hilft scheinbar nix. Hat jemand 'ne Idee, was ich noch checken kann? Danke und viele Gruesse von Arwed p.s.: Ich benutze die newStack1_0_77 Firmware.
Hallo, Wie immer sind die FuseBits richtig eingestellt?? Wurde was am SourceCode geändert? Wurde das File selbst erstellt oder ein fertiges HexFile verwendet? Gruß uli
Hallo Ulrich, die Fuses habe ich so gesetzt, wie ich Deinem Makefile entnommenm habe: LF=0xff; HF=0xdf; EF=0xFF. Habe selber compiliert. Unter Linux mit avr-gcc (4.1.0-1); avr-libc (1.4.4-2); binutils (2.16.1-1). Die Vorversionen, die ich bisher benutzt habe, hatten noch keinen Support fuer den ATMega644 drin. Der Code ist noch original; nur HTTP_DEBUG hatte ich versucht zu aktivieren. Viele Gruesse von Arwed
Hallo! Ich beginne gerade damit ein paar eigene Erweiterungen in den Webserver einzubauen. Der Stack unterstützt ja auch retransmissions. Dazu hab ich eine Frage: Wird immer nur ein Packet gesendet, auf die bestätigung gewartet und dann das nächste Packet erzeugt? Oder werden mehrere gesendet, so das auch retransmissions von früheren Packeten auftreten können?
Hallo, Die Packete werden immer nur nacheinander gesendet. Habe ja nur 2kB SRAM. Gruß Uli
Hallo, erstmal Respekt - Schönes und ausgereiftes Projekt. Ich hab hier einen Übertrager vom Typ 16PT8515-4. Allerdings scheint das Pinout vom Empfohlenen abzuweichen, könnte mir wohl bitte jemand helfen wie die Pins beschaltet werden müssen ? Danke, Dalli
Hallo nochmal, ..rein von den Schaltsymbolen her - paßt das Bauteil für den Einsatzweck ? Unter "Übertrager" find ich leider kaum Erklärungen, funktioniert das über Induktion ? ( sehen wie Spulen aus die Schaltzeichen ) .. und wenn ja, kann ich durch Verpolung die Schaltung schrotten ? Dank im vorraus Dalli
Hallo, Dein Übertrager ist nicht kompatibel zum FB2022. Wenn dieser richtig beschaltet wird sollte es aber funktionieren. Der Übertrager ist nichts anderes als ein mini Trafo. Durch Verpolung habe ich noch keinen geschrottet. Der Übertrager dient zur galvanischen Trennung und hat in unserem Fall ein ü = 1. Desweiteren enthält der Übertrager noch einen kleinen Filter bestehend aus Spule und Kondensator bzw. zweimal, einmal für RX, und einmal für TX. Gruß Uli
Hallo Uli, vielen Dank für die Info, hab mir (blöderweise) nur einen Enc bestellt gehabt, da wollte ich auf Nummer sicher gehen. Hatte mal versucht so einen Elektroschocker nachzubauen, da ging die Schaltung in Rauch auf weil der Trafo falsch rum saß ;) Also nochmal, Vielen Dank ! Dalli
Hallo, ich habe ein Problem mit dem 25 MHz Quarz, am Anfang habe ich 33pF Kapazitäten benutzt aber der Quarz ist nicht angeschwungen. Dann habe ich Beide durch 22pF ersetzt, jetzt beobachte ich ab und mal dass der Quarz mit 25MHz schwingt, sonst schwingt er mit 8,333MHz. Das Entfernen hat auch nichts gebracht. Woran kann das liegen? MFG
Hallo Gilles R., Du hast ein 3.Oberton Quarz gekauft. Aber du brauchst ein Grundton-Quarz.
Es ist tatsächlich ein 3 Oberton Quarz, leider hat der Händler um die Ecke nur den einen 25MHz Quarz. Weiß jemand ob es sich bei dem 25 MHz Quarz (25.00M HC49-S) den TME im Programm hat um den Grundton handelt?
Hallo, ich möchte das Board als Ethernet Brücke zwischen einem PC und einem Embedded Rechner mit Serieller Verbindung nutzen. Benutze dafür die Windows Software HW Virtual Serial Port, die im Internet frei verfügbar ist. (habe auch schon com0com, com2tcp eingesetzt) Wenn ich in USART.h die Konstante BUFFER_SIZE von 50 auf z.B. 1000 ändere, geht die Richtung vom Embedded Rechner zum PC über das Hyperterminal einwandfrei, vielleicht ein wenig verzögert, das ist aber soweit ok; es kommen alle Zeichen an. Wenn ich aber Eingaben am PC im Hyperterminal mache, werden einige Zeichen bei der Eingabe "verschluckt". Ich glaube weiter oben habe ich über ein ähnliches Problem gelesen. Das passiert gerade dann, wenn man zeichen sehr schnell hintereinander eingibt. Jemand eine Idee ?? was könnte ich im Quellcode noch verändern ? Danke im Voraus.
Hallo Ulrich, ich beziehe mich auf den Fehler in stack.c, den Holger am 21.11.2007 gemeldet hat
1 | //Packeteintrag im TCP Stack finden! |
2 | index = tcp_entry_search (ip->IP_Srcaddr,tcp->TCP_SrcPort); |
3 | |
4 | if (index >= MAX_TCP_ENTRY) //Eintrag gefunden wenn ungleich |
5 | { |
6 | // Auweia. Hier wird index für tcp_entry[index] benutzt |
7 | // obwohl der Wert so groß ist das er ausserhalb des |
8 | // Arrays struct tcp_table tcp_entry[MAX_TCP_ENTRY]; |
9 | // liegt. Ab hier ist index mindestens MAX_TCP_ENTRY. |
10 | // Um index hier benutzen zu können müsste man so deklarieren: |
11 | // struct tcp_table tcp_entry[MAX_TCP_ENTRY+1]; |
12 | |
13 | DEBUG("TCP Eintrag nicht gefunden\r\n"); |
14 | tcp_entry_add (eth_buffer); |
15 | if(tcp->TCP_HdrFlags & FIN_FLAG || tcp->TCP_HdrFlags & RST_FLAG) |
16 | { |
17 | result32 = LBBL_ENDIAN_LONG(tcp_entry[index].seq_counter) + 1; |
18 | tcp_entry[index].seq_counter = LBBL_ENDIAN_LONG(result32); |
19 | |
20 | if (tcp_entry[index].status & FIN_FLAG) |
21 | { |
22 | tcp_entry[index].status = ACK_FLAG; |
23 | create_new_tcp_packet(0,index); |
24 | } |
25 | tcp_index_del(index); |
26 | DEBUG("TCP-Stack Eintrag gelöscht! STACK:%i\r\n",index); |
27 | return; |
28 | } |
29 | return; |
30 | } |
Die Korrektur mit dem +1 - Pflaster in der Array-Definition ist nicht ganz wasserdicht. Falls das tcp_entry-Array nicht vollständig belegt ist, würde tcp_entry_add() einen Feldindex != index verwenden. Eigentlich sollte dann nach tcp_entry_add() ein erneuter Aufruf von tcp_entry_search() erfolgen, der den echten Index zurückliefert. Falls das tcp_entry-Array voll ist, dann tut tcp_entry_add() nichts, d.h. die Felder in tcp_entry[index] sind nicht mit den Daten aus eth_buffer befüllt, da tcp_entry_add() die +1 Sonderbehandlung nicht kennt. Gruß Jürgen
Hallo, ich habe mich heute nach langer Zeit mal wieder an den Webserver gesetzt und habe festgestellt das er funktioniert :-) Also zumindest kann ich über Ponyprog auslesen und flashen. Nur mit WinAVR hapert es, das will mit meinem Billigstprogrammieradapter nicht zusammen arbeiten. Kann ich jetzt einfach das .hex-File hernehmen und mit Ponyprog auf den µC flashen? Wars das schon? Oder muss ich noch eine Datei rüberflashen (ich denke da an den Inhalt im eeprom). Bei meinen vorherigen Projekten habe ich immer nur die .hex-Datei flashen müssen und bin daher etwas überfordert mit den ganzen Dateien die mir WinAVR ausspuckt ;) Wäre schön wenn mir jemand einen Tipp geben kann was ich alles flashen soll. Gruß
Hallo, programmieren des Flash und der Fusebits reicht! Gruß Uli
Ich bin Neuling und habe mit Interesse dieses Forum verfolgt. Ulrich wie kann ich deine Source-Files im AVR-Studio benutzen ? MfG
So, auf Dauer nur 3 LEDs schalten ist langweilig :D Ich habe mich mal dran gemacht und wollte ein paar Ausgänge mehr schalten bzw abfragen, aber ich stehe auf dem Schlauch :( Die Ausgänge werden wohl irgendwie in der httpd.c geschaltet aber die genaue Vorgehensweise vom Code verstehe ich nicht. Was muss ich alles ändern um mehrere Ausgänge zu schalten und abzufragen? Das Teil hat ja 20+ GPIOs. UART, Kamera, I2C brauch ich alles nicht das könnte ich alles als Ausgänge schalten. Wo muss ich ansetzen und was muss ich ändern? Vielleicht kann mir da jemand behilflich sein. Gruß
Das mit dem AVR-Studio hat sich erledigt - klappt jetzt. Ulrich - wie kann ich denn die ENC-LED's vertauschen. Link nicht gelb sondern grün ??? MfG Ronny
Hat sich auch erledigt. Wenn es jemanden interessiert: -in enc28j60 Line 150 Wert 0x347A in 0x374A ändern. MfG
So, hallo noch einmal! Ich kann es drehen und wenden wie ich will, ich kann keine Eingänge an Port C abrufen :( Die 6 freien Pins an PortC (PC2-PC7) ändern bei mir einfach nicht das Signal, da wird nur "inaktiv" angezeigt. PC6 und PC7 toggeln wild hin und her ohne das ich etwas anschließe. Hängt da etwas dran? Im Schaltplan ist zumindest nichts was an PC6 und PC7 hängt. in config.h habe ich folgendes eingestellt: #define OUTC 0x00 bei webpage.h das: "<p><img src=\"%PINC2\" width=\"17\" height=\"17\"> Port C Pin 2</p>\r\n" "<p><img src=\"%PINC3\" width=\"17\" height=\"17\"> Port C Pin 3</p>\r\n" "<p><img src=\"%PINC4\" width=\"17\" height=\"17\"> Port C Pin 4</p>\r\n" "<p><img src=\"%PINC5\" width=\"17\" height=\"17\"> Port C Pin 5</p>\r\n" "<p><img src=\"%PINC6\" width=\"17\" height=\"17\"> Port C Pin 6</p>\r\n" "<p><img src=\"%PINC7\" width=\"17\" height=\"17\"> Port C Pin 7</p>\r\n" Ich probiere jetzt schon seit 2 Tagen rum, weiß aber nicht mehr weiter. Was mach ich falsch? Was muss ich ändern? Villeicht kann mir jemand helfen bevor ich das Teil an die Wand klatsche ;)
Hallo, das hört sich doch schon gut an ;-) Port 6 und 7 haben ohne Beschaltung einen nicht definierten Zustand. Bei den anderen Ports nehme ich mal an das der Jatag Port deaktiviert wurde. Gruß Uli
na sowas, da soll man mal drauf kommen :D Aber es funktioniert jetzt! Alles! Ich brauche nur noch eine Applikation für die ich den Webserver nützlich einsetzen kann... Danke für die Hilfe uli Gruß
Hallo, ich versuche bis jetzt vergeblich, die Cam an Ulis Webserver mit Servo zu steuern. Wenn ich in servo.c einen anderen Wert für servo_pos eintrage, fährt der Servo auch in die neue Position. Wie geht das nun über eine Variable in webpage.h und httpd.c ? Muss doch auch andere interessieren, die Cam "beweglich" zu machen. Die modifizierten webserver von Wil funktionieren bei mir nicht.
Warum funktioniert die Kamera nicht? Ohne Einbindung der Cam in der config.h geht der Server.
Die Camera funktioniert natürlich. Es geht um die Servo Steuerung, damit man die Cameraposition aus der Ferne steuern kann. Das war meiner Frage doch deutlich zu entnehmen.
Bei mir will der Server mit der Kamera nicht funktionieren. Ohne die Kamera in der config.h funzt er super! Hat einer ne Idee ob noch mehr umgestellt werden muss?
Hallo, Kamera richtig angeschlossen! Wie sieht es mit der Kabellänge aus? Wurde der richtige Quarz verwendet? Nur funktioniert nicht hift mir nicht weiter. Cam in der Config.h auf 1 ist die einzige Option. Gruß Uli
Hallo Uli, Quarz ist ok, angeschlossen ist sie nach deiner Beschreibung. Der Atmel ist ein 644er und im Makefile richtig eingetragen. Ohne die Cam zu aktivieren, wird der Webserver erkannt und läuft super. Kompiliere ich die Cam mit, kein Ping und kein Mucks vom Server. Auch ohne angeschlossener Cam wird der Server nicht erkannt. Ich habe mir extra WinAvr-20071221 besorgt, aber auch kein Erfolg möglich.
Das liegt nicht an der Version! Wird die Cam nicht richtig initialisiert funktioniert der Webserver nicht mehr! Wie lang ist das Kabel????? Gruß Uli
Hallo, vielen Dank erst einmal für die schnelle Hilfe! Das Kabel ist 12cm lang, ungeschirmt.
Hallo Uli, warum gibt eigentlich niemand eine Antwort auf die Frage "Wie kann man die SERVO STEUERUNG DER CAM erfolgreich einbinden?"
Ich kann zwar nicht für Uli Antworten, aber Du. Wie hast Du die Kamera zum laufen gebracht? Also Bilder über den Webserver. Wäre für jede Info dankbar.
Hallo Uli, ich habe deine heutige Software und ein ganz kurzes Kabel (5cm) benutzt. Die linke LED blinkt ab und zu, wie immer, aber das wars auch schon. Ich komme mit der Kamera nicht weiter!
Hallo Uli, nach langem Suchen und fluchen, habe ich noch an den Fusebits gefummelt. So funzt es jetzt bei mir. Super Soft von dir!
Eine Frage noch. Geht ein Quarz mit 22,1184 MHz am Mega644 besser und schneller? Sind die Bilder besser?
Hallo, mit einen anderen Quarz wird die Cam nicht schneller die ist schon schnell genug. Entweder Linux oder mehr Speicher! Die Qualität kann durch ändern der Konfiguration verbessert werden Tag/Nachtmode usw. oder warte bis es heller wird. Aber die Bilder werden nicht so gut wie bei einer 10MPixel Cam. Gruß Uli
Toll, wie eine Frage nach Einbindung der SERVO Steuerung hier schlichtweg übergangen wird. Scheint also keinen zu interessieren. Na, auch gut.
>Toll, wie eine Frage nach Einbindung der SERVO Steuerung hier schlichtweg >übergangen wird. Scheint also keinen zu interessieren. Na, auch gut. Tja, hart ist das Leben ....
wolle wrote: > Toll, wie eine Frage nach Einbindung der SERVO Steuerung hier > schlichtweg übergangen wird. > Scheint also keinen zu interessieren. Na, auch gut. Interessiert mich auch, aber Du bist ja auch nicht 'Der Hilfeleistende'! Am Wochenende mache ich mal was mit htm, ob deín Servo funzt, musste selber Probieren. Na, auch gut, oder?
Hallo wir haben ein Schulprojekt, bei dem wir eine Wetterstation ins Internet einbinden wollen. Wir verwenden das Board von Pollin mit der Software von Ulrich Radig. Die Webseite läuft auch schon. Mein Problem ist jetzt die Firewall. Das Board ist am Internen Stadt-Schulnetz angeschlossen, und da kommt man von Aussen nicht rein. Wir möchten jedoch von anderen Webseiten die Wetterdaten abfragen. Wenn wir von aussen nicht reinkommen, dann muss unser kleiner Server eben die Daten periodisch zu einem externen Server bringen (auf dem laufen mehrere Projektseiten der Schule). Ich weiss jetzt nur nicht genau wie ich das machen soll. Mir ist dazu nur eine Varianten in den Sinn gekommen. - Kann ich mit der FTP erweiterung von http://www.ganix.de/ eine Datei auf einen anderen Webserver hochladen? Hat jemand noch ne bessere Idee bzw. eine Antwort auf meine Frage? mfg Philipp
Hallo Ich habe den Webserver mit dem 644P nachgebaut. Kann mir jemand sagen wie ich die Fusebits setzten muss? Ich programmiere mit PonyProg. Habe weiter oben ja schon die Fusebits gefunden, aber im PonyProg sieht das anders aus. Außerdem ist die funktion da ja glaube ich anders. Wenn im Pony ein häckchen ist bedeutet das ja glaube ich nicht gesetzt. Will keinen Controller verproggen... darum hier noch einmal dei Frage. Wäre wirklich klasse wenn mir jemand kurz Antwort geben könnte. Danke! MFG Bean
@ Bean (Gast) AVR für wenig Geld im LAN: http://www.mikrocontroller.net/attachment/42502/FuseBitsMega644.JPG mfg Rud
Hallo, vieleicht kann mir hier jemand helfen. Ich habe ein AVR-NET-IO von Pollin. Die mitgelieferte SW läuft ohne Probleme. Wenn ich jetzt die Webserver SW von H. Radig, bei der ich nur den DHCP-Server aktivert habe, darauf laufen lasse bekomme ich einen Eintrag mit der richtigen MAC-Adresse in meinem Router aber der Webserver bleibt jetzt hängen. Der Interrupt vom ENC28J60 bleib anstehen. Nach einigen Untersuchungen habe ich festgestellt das das EIR "ETHERNET INTERRUPT REQUEST" und das EPKTCNT "ETHERNET PACKET COUNT REGISTER" auf 0 stehen, aber der Interrupt vom ENC28J60 steht weiter an. Wiso? Mit PKTIE "RECEIVE PACKET PENDING INTERRUPT ENABLE" läst sich der Interrupt sperren obwohl er ja eigentlich nicht aktive ist "PKTIF=0 und EPKTCNT=0". Mit PKTDEC "PACKET DECREMENT" läst sich der Interrupt löschen wobei wie gesagt der EPKTCNT=0 ist. Beim nächsten blinken der grünen LED von der Ethernet Buchse bleibt der Interrupt wieder stehen bis ich PKTDEC aktiviert habe. Ein Paket wird nicht empfangen. Wie oben bereits erwähnt läuft die mitgelieferte SW also sollte der ENC28J60 und seine Beschaltung in Ordnung sein. Aber was geht hier nicht? MFG
Hallo liebe AVR Freaks. Habe das Polinboard laufen. Sobald ich WOL in der config.h aktiviere geht gar nichts mehr (webserver nicht mehr erreichbar). Hatte jemand schonmal das Problem? Oder hat jemand eine Idee was der Fehler ist? dorstefan
Hallo, hat jemand den aktuellen newStack1_2_1 Code auf einem ATmega128 laufen? Ich bekomme keine ARP Einträge.. Der selbe Code läuft auf dem ATmega644 nach ein paar Pings zum "anstarten" doch sehr zuverlässig. Folgendes habe ich geändert: SPI Schnittstelle auf Port B angepasst
1 | #define SPI_SCK 1
|
2 | #define SPI_MISO 3
|
3 | #define SPI_MOSI 2
|
4 | #define SPI_SS 0
|
Sonst noch die config.h angepasst und alle features deaktiviert. Wenn ich versuche über die Console ein Ping zu starten, kommt folgende Ausgabe (Debug aktiv):
1 | System Ready |
2 | Compiliert am Jun 8 2009 um 19:18:18 |
3 | Compiliert mit GCC Version 4.3.2 |
4 | |
5 | NIC init:enc revid 4 |
6 | My MAC: 00:22:f9:01:1c:55 |
7 | |
8 | IP 192.168.1.64 |
9 | MASK 255.255.255.0 |
10 | GW 192.168.1.1 |
11 | ping 192.168.1.1. |
12 | MY NETWORK! |
13 | ARP Eintrag nicht gefunden* |
14 | enc_send: 42 bytes |
15 | enc_receive: EPKTCNT=1 |
16 | enc_receive: status=0080 |
17 | enc_receive: 60 bytes |
18 | |
19 | **KEINEN ARP EINTRAG GEFUNDEN** |
20 | **KEINEN ARP EINTRAG GEFUNDEN** |
21 | **KEINEN ARP EINTRAG GEFUNDEN** |
22 | **KEINEN ARP EINTRAG GEFUNDEN** |
23 | **KEINEN ARP EINTRAG GEFUNDEN** |
24 | **KEINEN ARP EINTRAG GEFUNDEN** |
25 | **KEINEN ARP EINTRAG GEFUNDEN** |
26 | **KEINEN ARP EINTRAG GEFUNDEN** |
27 | **KEINEN ARP EINTRAG GEFUNDEN** |
28 | **KEINEN ARP EINTRAG GEFUNDEN** |
29 | **KEINEN ARP EINTRAG GEFUNDEN** |
30 | **KEINEN ARP EINTRAG GEFUNDEN** |
31 | **KEINEN ARP EINTRAG GEFUNDEN** |
32 | **KEINEN ARP EINTRAG GEFUNDEN** |
33 | **KEINEN ARP EINTRAG GEFUNDEN** |
34 | **KEINEN ARP EINTRAG GEFUNDEN** |
35 | **KEINEN ARP EINTRAG GEFUNDEN** |
36 | **KEINEN ARP EINTRAG GEFUNDEN** |
37 | **KEINEN ARP EINTRAG GEFUNDEN** |
38 | **KEINEN ARP EINTRAG GEFUNDEN** |
39 | ARP Eintrag nicht gefunden* |
40 | enc_send: 98 bytes |
41 | Ready |
42 | |
43 | enc_receive: EPKTCNT=1 |
44 | enc_receive: status=0000 |
45 | enc_receive: 916 bytes |
46 | enc_receive: EPKTCNT=1 |
47 | enc_receive: status=0302 |
48 | enc_receive: 1200 bytes |
49 | enc_receive: EPKTCNT=1 |
50 | enc_receive: status=679b |
51 | enc_receive: 1200 bytes |
52 | enc_receive: EPKTCNT=1 |
53 | enc_receive: status=5e5e |
54 | enc_receive: 1200 bytes |
55 | enc_receive: EPKTCNT=1 |
56 | enc_receive: status=bcc8 |
57 | enc_receive: 1200 bytes |
58 | enc_receive: EPKTCNT=1 |
59 | enc_receive: status=454f |
60 | enc_receive: 1200 bytes |
61 | enc_receive: EPKTCNT=1 |
62 | enc_receive: status=0250 |
63 | enc_receive: 1200 bytes |
Hat jemand vielleicht eine Idee? Vielen Dank, H.
Ok, habe den Fehler gefunden: Lang an zu langen oder schlechten Leitungen zwischen dem ATmega und dem ENC... Wiederholung: Auch wenn Multimeter und Durchgangsprüfer alles als ok melden, trotzdem prüfen und die Leitungen immer so kurz und knapp wie möglich halten. Wieder was gelernt. Danke Uli für die tolle Software! H.
ich will an dieser stelle einen fehler in der aktuellsten version des radig-web-servers erwähnen. starte ich telnet und stelle eine verbindung zum webserver (80) her und habe dabei parallel einen webbrowser geöffnet und öffne ebendort die seite des webservers (80) so erhält die telnet anwendung daten ohne danach gefragt zu haben. der webserver bezieht seine ip-adresse mittels dhcp. das nur am rande. authorisierung ist deaktiviert. kann jemand den zuvor erwähnten "fehler" bestätigen? hat den schon jemand erwähnt und ich überlese es?
beim öffnen erhalte ich immer Daten auch dann wenn kein Webbrowser geöffnet wurde. Danach wird der Port geschlossen.
Aber das ist doch nicht richtig. Wenn ich den Port öffne und keine Anfrage starte, also kein GET bla bla bla angebe, dann darf da doch nichts zurückgegeben werden. Und dann komme ich auch direkt auf das was da zurückgegeben wird. Das ist willkürlich irgendetwas. Jetzt in diesem Augenblick probiere ich es aus, da kommt dann eine GIF-Datei beginnend mit END und das ist sicherlich auch nicht richtig. Und jetzt bekomme ich nacheinander alle Kopfzeilen die es gibt mit allen Content-Typen ... 200 ... html 401 ... html 200 ... jpg 200 ... gif 200 ... css 401 Bei jeder Verbindung spult der nacheinander die Dateien ab die im ATMega hinterlegt sind. Verbinde immer und immer wieder neu, da kommen willkürliche Daten raus. Nehme ich meinen eigenen privaten WebServer, so reagiert der gar nicht wenn ich den nichts Frage. Stattdesen macht der irgendwann dicht ohne irgendetwas zu antworten.
Und wo ich schon einmal dabei bin: Der DHCP-Client macht auch nicht so ganz das was er soll. Mein Router verteilt IP-Adressen mit einer Gültigkeitsdauer von 30 Minuten. Nach dieser Zeit holt der AVR-WebServer sich jedoch keine neue Adresse beziehungsweise aktualisiert er diese nicht. In der Liste der DHCP-Clienten wird der AVR-Webserver dann nicht mehr angezeigt. Erreichbar ist er allerdings weiterhin. Ganz anders reagieren da andere am Router angeschlossene Clienten. Diese holen sich nach Ablauf der 30 Minuten erneut eine IP-Adresse beziehungsweise aktualisieren diese, so dass diese weiterhin in der Liste der DHCP-Clienten angezeigt werden.
Und weil es so schön ist, direkt noch einen hinterher. Diesmal NTP. Auf der WebOberfläche bekomme ich die richtige Zeit angezeigt. Verbinde ich mich mit dem UART, also per Teminal, fehlt eine Stunde.
Hallo, mittlerweile sind die Kameras MCA-25 Und Philips 3860 nur noch sehr schwer zu bekommen. Ich habe eine Siemens IQP-500 ersteigert, doch jetzt fängt mein Problem an. Ich habe einen Gerüstcode von Memed gefunden: Beitrag "Siemens S55 Kamera" Leider bin ich noch zusehr C-Anfänger um das Code-Gerüst im Webserver einzufügen. Es wäre sehr nett wenn sich einer der "C-Profis" mal ansehen könnte ob es überhaupt möglich ist. Im voraus schon mal vielen Dank. Horst
Hallo das Kamera-Problem ist mir auch schon aufgefallen. es sollte sich mal um eine Alternative umgesehen werden... ich bin eigentlich auch mehr anfänger als profi und will den server noch nachbauen hab mir schon platine geätzt und alle bauteile bis auf den ejc.... besorgt. diese woche gehts los. bitte kümmert euch um die kamera wäre sehr schade wenn ich keine mehr bekommen könnte. danke martin!!!!!1
Hallo, Habe das Net-IO-Board von Pollin, mit dem Atmega 644P. Werde auch bald die SD-Card dazuhängen. Nun eine kurze Frage: ist es möglich diese Flash Diagramme irgendwia auf meine Webserverseite einzubinden? http://teethgrinder.co.uk/open-flash-chart-2/tutorial.php Die Flash Dateien würden ja dann auf der SD Card liegen. lg
Hallo zusammen, ich hoffe dieser Thread ist auch da um Probleme mit dem ENC 28J60 Ethernet Module zu diskutieren. Ich versuche derzeit das Modul zum laufen zu bringen. Folgende Schritte konnte ich bereits erfolgreich umsetzen: 1) SPI Conncetion Senden / Empfangen 2) ARP Paket empfangen Das Problem vor dem ich jetzt stehe ist die Antwort (Transmit Arp Packet) meines Moduls auf einen Ping vom PC. Das Arp Paket selber ist richtig zusammen gesetzt, da ich es mir über UART aufzeichne. Leider kommt das Arp Paket im Tool Ethereal nicht an. Ich vermute dass es an der Registereinstellung für das Senden liegt. Ist es möglich das jemand von Euch mir alle wichtigen Konfigurationen für das Senden von Messages nochmal zusammenfast? Ich weiß es gibt Tausend von Beispielcodes aber ich habe Sie alle schon mehrmals verglichen. Schonmal Vielen Dank für Eure Hilfe!!!
Hallo Gerd ich weiss , der Post ist schon alt. Was ist aus deinem Webserver mit RFM12 Temperatur Sensoren geworden? Gruss Josef Gerd G. schrieb: > Thomas Heldt wrote: >> @Gerd G. >> >> Nimm doch einen SHT11 von Sensirion (evtl. als Sample) und du hast auch >> die Luftfeuchtigkeit, Code dafür habe ich schon eingebunden und läuft >> stabil. > > Ist schon richtig. Das Teil ist nicht schlecht. Leider habe ich noch > keinen. Die Dallas verwende ich, weil ich vier Meßstellen habe und nur > die Temparatur brauche. > > Aber eine Wetterstation mit Innen- und Außenmeßwerten wird auf meiner > Liste sein. Funkübertragung natürlich über RFM12, die bieten sich zur > Zeit an. Die Werte sollen auf einer Website dargestellt werden und alle > halbe Stunde auf SD-Karte gespeichert werden. Wäre natürlich toll, wenn > ich die Werte dann als Diagramm anzeigen könnte (Tageswerte).
Hallo zusammen, ich habe der Webserver in meine Steuerung für Rasen giessen eingebunden. Jetzt bin ich dabei, die Steuerung inbetriebzunehmen. In meiner Steuerung verwende ich keine MMC Karte, und deshalb habe ich die verschidene Webseiten genau so konfiguriert, wie in dem Webserver von Ulrich. Das heist Page1 - Index.htm, Page2 - name1.htm, Page3 - name3.htm u.s.w. Um Platz zusparen wollte ich die style Definition in einem externem style.css file abspeichern, und von dort könnten dan alle Seiten den gleichen Style laden. Das File Style.css wurde als Page10 - style.css definiert. Wenn ich aber die Seite mit einem Firefox oder IE lade, wird sie ohne dem style.css geladen, und volgende Fehlermeldung wird angezeigt: stab.css wurde nicht geladen, weil sein MIME-Typ, "text/html", nicht "text/css" ist. Wie kann ich das File direkt auf dem AVR abspeichern, daß es von dem Firefox oder IE akzeptiert wird? Wenn ich das style.css, mit der Seite Index.htm von der Festplate auf dem Rechner lade, funktioniert alles problemlos. Hier noch das style.css File:
1 | char const name_Page10[] PROGMEM = "style.css"; |
2 | PROGMEM char const Page10[] = |
3 | { "HTML {background-color:#eeffee;font-family: Comic Sans MS;}\r\n" |
4 | "H1 {letter-spacing:0.1em;font-weight:bold;font-style:italic;color:green;text-align:center;}\r\n" |
5 | "H2 {font-size:18px;font-weight:normal;text-align:center;}\r\n" |
6 | "hr {height:0px;border:1px solid black;}\r\n" |
7 | "#framea{position: relative;width:700px;height:600px;top:50px;border:none;background-color:#DDffAA;overflow:hidden;}\r\n" |
8 | "#frameb{width:800px;height:700px;border:none;background-color:#88ffAA;overflow:hidden;}\r\n" |
9 | "#szlider{width:300px;height:15px;border:1px solid #000;overflow:hidden;}\r\n" |
10 | "#szliderbar{width:0%;height:15px;border-right: 1px solid #000000;background: green;}\r\n" |
11 | "#szazalek {color: #000000;font-size: 15px;font-style: italic;font-weight: bold;left: 140px;position: relative;top: -18px;}\r\n" |
12 | "a {color:#000080;text-decoration:none;line-height:20px;}\r\n" |
13 | "a:visited {color:#400060;font-family:Arial}\r\n" |
14 | "a:hover {color:#d00000;font-family:Arial;text-decoration: underline;}\r\n" |
15 | "a:active {color:#008000;font-family:Arial}\r\n" |
16 | "%END"}; |
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.