Hallihallo,
Webserver auf Basis des ENC28J60 gibt's ja genug. Trotzdem hier ein
leicht verschiedener Ansatz. (Das ist keine Konkurrenz, Ulrich Radig!
;))
Verwendet wird der uip Stack von Adam Dunkels zu finden hier:
http://www.sics.se/~adam/uip/index.php/Main_Page
Auf einem von mir gelayoutetem Eagle-Board.
Der Webserver ist im Moment in der Lage 14 normale Ein und Ausgänge über
ein Webinterface zu steuern. (Ist nichts neues - nur eine
Demonstration). Analogeingänge, Timer-Ausgänge (OC-Pins) und die
serielle Schnittstelle sind auch unter diesen GPIOs.
Der Code und das Layout sollen eine gute Basis für eigene Entwicklungen
dienen.
Ich habe auch einen "Application Hub" eingebaut, da es standardmäßig nur
möglich war eine Anwendung auf den uip-Stack zu legen. Jetzt lassen sich
aber anhand der Lokalports die Anwendungen unterscheiden und
verschiedene Anwendungen aufrufen.
Jede Anwendung hat dabei ihre eigene Socket-Struktur. Alle
Socket-Strukturen werden am Ende gemeinsam im Speicher übereinander
gelegt und dem uip-Stack übergeben.
Das Eagle-Layout, dass ich erstellt habe ist mit 38x31mm² auf äußerste
Kompaktheit ausgelegt worden und beinhaltet dementsprechend viele
SMD-Bauteile.
Die verwendeten Bauteile sind komplett bei csd-electronics erhältlich
und kosten insgesamt etwa 17€ (ohne die Platine natürlich).
zwei Platinen habe ich noch über und kann sie für 5€ Selbstkosten
verkaufen, falls da jemand Interesse daran hat.
Unter http://klinkerstein.m-faq.de/index.php?content=MikroWebServer sind
alle Dateien aktuell zu beziehen.
Angehängt noch ein Bild der Platine. Das Archiv habe ich nicht versucht
anzuhängen, da es 1MB misst.
Hauke Radtki wrote:
> Ich hätte Interesse an einer Platine ;)
Dann hab ich nur noch eine. Schreib mir am besten eine persönliche
Email.
Achja: Auf der Platine ist ein kleiner Fehler.
http://klinkerstein.m-faq.de/index.php?content=MikroWebServer&view=Bilder&pic=2.jpg
unten rechts kommt der Pin von der 10uH Festinduktivität unter dem
Spannungsregler hervor. Hier muss man also ein bisschen friemeln (nen
Millimeter Platz lassen unter dem Spannungsregler).
Ansonsten:
Die Platine ist nicht gerade einfach zu löten. Also nix für Anfänger :D
Mittlerweile ist keine der beiden Platinen mehr da. Ich habe aber sonst
keine mehr auf Lager.
Bei genügend Interesse könnte ich aber weitere Platinen anfertigen
lassen.
@blub:
Mit dem aktuellen Programm ist der Flash zu etwa 88% gefüllt (~14 kiB ).
Keine Ahnung, was "haka" ist, aber diese Platine stammt von bilex
(http://www.bilex-lp.com) und ich habe auch nur insgesamt drei von den
kleinen Platinen überhaupt gekauft.
Wenn überhaupt werde ich dort erstmal ein Angebot einholen, falls
Interesse besteht.
@Sebastian: Wie schon gesagt ist die Platine nicht selber geätzt. Nur
selber gelötet und selber gelayoutet ;)
Die Vias sind mit 0.5mm Innendurchmesser gelayoutet.
@Lupin:
Meine Platine sollte noch kleiner sein. Ich habe ja keinen externen
Übertrager (Magjack-Buchse) und auch keine zwei Quarze eingebaut.
Hallo alle zusammen,
bei Interesse lasse ich die Platinen herstellen und biete auch gleich
einen kompletten Bausatz an. Extra für meine "Überbestände" und Projekte
hier aus dem Forum und von meiner Hobby-Seite habe ich jetzt einen
kleinen Shop eingerichtet http://www.it-wns.de .
Ich habe schon Kontakt zu Simon aufgenommen damit das alles korrekt
ablaufen kann, also nur für den privaten Bereich ohne kommerzielle
Nutzung.
Wenn also Interesse an einem Bausatz besteht einfach hier posten und
dann erstelle ich den Artikel im Shop. Ich hoffe das ein für alle
interessanter Preis rauskommt, je mehr die erste Charge haben möchten
desto günstiger kann ich einkaufen.
Die Platinen wären aus Deutschland inkl. Lötstopplack und RoHS konform,
aber ohne Bestückungsaufdruck.
Also wer Interesse hat einfach posten.
> Die Platinen wären aus Deutschland inkl. Lötstopplack und RoHS konform,> aber ohne Bestückungsaufdruck.
Klingt nach einem anderen Preis ;-)))
Gibt es NUR den Komplettsatz, oder eventuell auch größere Teile (ENC,
MagJack, Platine) einzeln?
Den meisten Kram dürften die Jünger schon daheim haben.
Frohes Löten,
Freakazoid
@André
Ich werde alle Einzelteile auch gesondert im Shop anbieten, der
Komplette Bausatz wird 29,- EUR zzgl. Versand kosten.
Heute lege ich noch alle Artikel an, geordert ist auch schon fast alles,
die Platinen dauern aber leider ca. 20 Tage.
Wie warm wird die Platine? Wie ich bei meinem Server (nach Uli) sehen
konnte, wird der 3,3V Spannungsregler doch ordentlich warm.
Und hier ist er direkt ohne große Massefläche auf der Platine.
Gruß Gerd
Ich habe mit einer Eingangsspannung von 5V gearbeitet (Der
Spannungsregler geht eh nur als absolute-maximum bis 20V). Die
Elektronik braucht etwa 150mA Strom.
Bis 7V ist der Regler Hitzetechnisch fühlbar gut warm (nicht heiß).
Mehr habe ich bis jetzt noch nicht ausprobiert. Leider kann man an die
große Kühlfahne keine Massefläche anschließen, weil dort das
Ausgangssignal anliegt...
Hallo Simon,
Meine Platine ist schon da, und sieht sehr gut aus, die größe gefällt
mir ;)
Mein Problem: Ich habe versucht dir eine Nachricht zukommen zu lassen um
dich nach deinen Bankdaten zu fragen, leider habe ich keine Antwort
erhalten (Spam habe ich schon durchsucht).
Könntest du dich bitte noch mal bei mir melden, ich möchte die Platine
auch gerne Bezahlen !
Viele Grüße,
Hauke Radtki
Hi zusammen,
ich hab mir jetzt den Webserver auch mal bestellt. Der Preis ist ja
unschlagbar... ich hoffe nur, ich bekomme das Teil ans Laufen.
Gruß,
SIGINT
P.S.: Bin gerade am Überlegen, ob ich den ATmega168 nicht gegen nen
ATmega328P austausche... dann bleibt mehr Flash über. Eine Idee wäre es
nämlich noch eine MMC-Karte an den Webserver zu hängen. Sieht da
irgendjemand schon ein Problem, oder geht das ohne Weiters?
Gruß,
SIGINT
Oh, es gibt ja tatsächlich eine größere Version vom ATMega168. Das muss
aber eine sehr frische Version sein. Mein lokales Datasheet vom
September 07 über Mega48/88/168 beinhaltet diese Version noch nicht.
Wo bekommt man besagten Mega328 denn?
Achja, ich würde mal nicht davon ausgehen, dass es Probleme bereitet.
Der Code müsste lediglich nochmal neu kompiliert werden. (Mit einem
Compiler, der Definitionen für den Mega328 hat ;))
PS: Man hätte sogar 2kiB RAM. Damit kann man die Maximum Transmission
Unit auf 1514 Bytes stellen (Maximum mit Ethernetheader). Das würde das
Gerät noch ein wenig schneller machen, wenn es mit einem Windows-Client
kommuniziert.
>Wo bekommt man besagten Mega328 denn?
Nichts für ungut Leute:
Hätte man einen ATMega im 44 Pin TQFP Gehäuse genommen
gäbe es keine Probleme mit erweiterten Funktionen.
Einen Webserver minimal auszulegen rächt sich immer irgendwann.
Aber Respekt ! Das das mit einem ATMega168 auch geht ist
schon ganz nett. Man sollte nur nicht zu viel erwarten.
holger wrote:
>>Wo bekommt man besagten Mega328 denn?>> Nichts für ungut Leute:>> Hätte man einen ATMega im 44 Pin TQFP Gehäuse genommen> gäbe es keine Probleme mit erweiterten Funktionen.
Aber ein Problem mit der Platinengröße ;) ;)
> Einen Webserver minimal auszulegen rächt sich immer irgendwann.
Achwas, an dem Code, den ich als Webserver-Applikation implementiert
habe, lässt sich theoretisch noch ne Menge optimieren. Das meiste, was
drauf geht ist die statische Webseite im Mega168.
> Aber Respekt ! Das das mit einem ATMega168 auch geht ist> schon ganz nett. Man sollte nur nicht zu viel erwarten.
Hm? Wieso sollte das nicht gehen? Warum sollte es mit einem Mega16/32
gehen, aber mit einem Mega8/48/88/168/328 nicht? Wegen dem RAM? ;) Das
ist ja wohl kein Argument. Ansonsten sind sie ja quasi fast
Feature-gleich.
Hallo an alle die einen Bausatz oder eine Leerplatine geordert haben,
soeben erreicht mich die Nachricht das die Platinen am 25.01. an mich
versendet werden, also sollte die Auslieferung ab dem 29.01. erfolgen
können. Der Versand dürfte schnell gehen da bereits alles gepackt ist
und nur noch die Platinen dazu gepackt werden müssen ;)
Hallo,
Am 23.01. kommt meine neue Webserver Platine an, bis dahin müsst ihr
euch noch etwas gedulden. Photo wird dann hier Online gestellt!
Schaltpläne, Layouts und Platinen werden dann wie immer auf meiner HP
zur Verfügung gestellt.
Gruß
Uli
Soweit ich weiß gilt das nur für Fertiggeräte und nicht für Bausätze.
Sprich: Bei Bausätzen muss der Hersteller (= Der, der es lötet) auf die
fachgerechte Entsorgung achten.
Richtig wie Ulrich schon sagt einzelne Bauteile und Bausätze sind nicht
betroffen :)
Wenn aber jemand den fertig gestellten Bausatz in "Verkehr"bringt , also
weiter verkauft, gilt dies dann als Gerät!
Korrekt Ulrich?
Hallo,
Soweit wie ich weiß können sogar teilbestückte Platinen (Module)
verkauft werden, die alleine nicht funktionieren. Aber da lasse ich mich
lieber von einer Fachperson beraten. Wie bei microkontroller.com bei dem
Mikrokopter da werden auch teilbestückte Platinen angeboten.
Gruß
Ulrich
@ Thomas Heldt,
ich als Käufer eines µ-Webservers wollte einmal nachfragen, ob die
Platinen/Bausätze schon unterwegs sind ?
Meine Sreichholzschachtel wartet schon ... ;-)
@Michi Müller
Die erste Welle wurde ausgeliefert, die nächsten Bausätze und Platinen
gehen in der kommenden Woche raus.
Wenn du im Shop unter www.it-wns.de über das Kontaktformular mal deine
Auftragsnummer übersendest kann man sagen ob du bei der ersten Welle
dabei
warst, oder jetzt bei der kommenden.
Weitere Infos gibt es auch im Support-Forum des Shop -> Link SUPPORT in
der
Navi-Leiste oben.
@Simon K.
Ja wir versuchen hier alles was geht, aber es gibt schon Lieferengpässe
beim MagJack, geordert sind genug aber leider kommt der Lieferant nicht
nach :(
Deine und meine Platine kommt auch erst mit der übernächsten Lieferung,
ich
habe alle Besteller vorgezogen bevor ich dir eine schicke und selber den
Server aufbaue.
Hallo,
Ich bin am Wochenende auch dazu gekommen, meinde Platine aufzubauen.
Es hat auf sofort auch mit einem atmega328p funktioniert!
Es mussten nur einige defines geändert werden.
Vielen Dank für den schönen Bausatz.
Ja, da warst Du sehr schlau mit dem 328.
Ich hab nicht drüber nachgedacht und hab direkt den 168er verbaut und
bin jetzt am Schwitzen weil der Platz knapp wird.
Naja, wenn sich der erste Ansturm gelegt hat, werd ich mir vielleicht
noch nen 2. bestellen. Den 168 da jetzt runterzukratzen, tu ich mir
nicht an ...
Na da hab ich ja was angerichtet....
Ich wollte eigentlich nur eine positive Erfolgsmeldung abgeben, und dann
sowas.
Ich hab leider selber keine weiteren 328. Sorry!
Achso, ich freue mich natürlich, dass es läuft. Und vor allem, dass es
beim ersten mal läuft, da der kleine Isolate und die relativ
fein-pitchigen Bauteile ja eher für das Gegenteil sorgen.
PS: Bin mal gespannt wann es den Mega328 für den Normalsterblichen zu
kaufen gibt ;)
@Simon
Sobald ich den 328 bekomme stelle ich die Bausätze um sofern du das o.k.
gibst das die Software läuft, aber die aktuelle Anfrage bzgl. 328 hat
nur
ergeben das sie im 1Q/08 lieferbar sein sollen.
Ich dachte eigentlich das es den 328 schon längst zu kaufen gibt. Das
erste Quartal, da sind wir ja schon in der Mitte...
Naja, schade.
@ Thomas :
Wenn Du den 328 auf Lager und die Bausätze umgestellt hast, dann sag
doch bitte hier sofort bescheid ! ;-)
@ Simon :
>dass es beim ersten mal läuft, da der kleine Isolate und die relativ>fein-pitchigen Bauteile
Bei mir lief es auch sofort und es gab auch keine Probleme beim Aufbau.
Es wurde da ja wirklich alles aufs engste zusammengequetscht.
Hast Du gut gemacht ;-)
Michi Müller wrote:
> Bei mir lief es auch sofort und es gab auch keine Probleme beim Aufbau.> Es wurde da ja wirklich alles aufs engste zusammengequetscht.> Hast Du gut gemacht ;-)
Ohne Neukompilierung? Hui, nicht schlecht :-) Aber ich könnte mir
vorstellen, dass der Stackpointer so an der falschen Stelle liegt. Und
das ist nur das Mindeste, was mir gerade einfällt ;)
Und was das Zusammenquetschen angeht. Ich glaub wenn man sich anstrengt
geht da noch mehr :-)
>Ohne Neukompilierung?
Naja gut, das hab ich schon gemacht. Fürs erste testen hatte ich nur
eben die IPs geändert.
>Ich glaub wenn man sich anstrengt geht da noch mehr
Ja, aber dann wird das Löten wohl ein Krampf. Und mann muß dann
aufpassen wo man ihn hinlegt, damit man ihn auch wiederfindet ;-)
Michi Müller wrote:
>>Ohne Neukompilierung?> Naja gut, das hab ich schon gemacht. Fürs erste testen hatte ich nur> eben die IPs geändert.
Ah, Okay. Gut zu wissen :D
>>Ich glaub wenn man sich anstrengt geht da noch mehr>> Ja, aber dann wird das Löten wohl ein Krampf. Und mann muß dann> aufpassen wo man ihn hinlegt, damit man ihn auch wiederfindet ;-)
... Ich dachte du meintest den Sourcecode ;) Bezogen auf die
physikalische Größe fühle ich mich sogar noch mehr geschmeichelt :-)
Danke! ;)
Hallo alle zusammen,
heute und morgen gehen die nächsten Bausätze raus, einer wird noch
nachgeliefert wenn die nächsten Platinen kommen dann sind alle
Bestellungen
erst einmal erledigt.
Bei allen Lieferungen werden die MagJacks nachgeliefert da die leider
noch immer nicht gekommen sind :(
Zum ATMEGA328P habe ich heute vom Distributor die Aussage bekommen,
Zitat "Produziert wird der ATMEGA328P seit Januar, ausgeliefert werden
soll er ab April!"
Also wenn die nächsten Platinen hier eintreffen wird es sicher noch
keine
geben daher lasse ich den Bausatz aktuell mit dem ATEMGA168 im Shop.
Hi zusammen,
ich hab den Webserver jetzt auch aufgebaut und das Teil funktioniert
echt prima. :-)
Jetzt kann es endlich losgehen mit dem basteln. Ne schaltbare
Steckdosenleiste wäre doch was feines :)
Mir ist nur aufgefallen, daß der ENC relativ warm wird; ist das bei euch
auch so? Ich werd das mal im Auge behalten.
Erstmal "Danke" an Simon für das schöne, kleine Board und noch
erfolgreiches Basteln an alle.
Gruß,
SIGINT
Ja, der ENC28J60 wird fühlbar warm. (Aber nicht heiß!). Mit den
ursprünglichen 2k2 Ohm Widerstand an dem ENC28J60 wurde er sogar noch
etwas wärmer als jetzt bei der v2 der Leiterplatte (da sind ja 120 Ohm +
2k2 Ohm hintereinander geschaltet). Alles in allem sollte der Webserver
auch etwa 150 mA verbrauchen.
http://klinkerstein.m-faq.de/index.php?content=MikroWebServer
hier steht mehr. Btw, ich werde die Frage auch nochmal in die FAQ
packen.
Also sollte man den Webserver nicht in EX - Bereichen einsetzen ;-)
Kleiner Scherz am Rande.
Den Stromverbrauch hab ich noch nicht gemessen... aber der Server läuft
ja, daher gehe ich davon aus, daß alles OK ist. Ich werde mich mal in
die Software einarbeiten und dann etwas rumspielen. Wäre auch mal
interesannt zu lesen, was die anderen Nutzer mit dem Server schon
angefangen haben... vielleicht hat ja schon jemand ne MMC Karte am
laufen ;)
Gruß,
SIGINT
Sigint 112 wrote:
> Wäre auch mal> interesannt zu lesen, was die anderen Nutzer mit dem Server schon> angefangen haben... vielleicht hat ja schon jemand ne MMC Karte am> laufen ;)>> Gruß,> SIGINT
Rein theoretisch geht das sogar. Man kann nämlich die SD Karte am
Programmierstecker anschließen (Ein Chip-Select müsste man sich über den
20Pol Verbinder holen. :D Allerdings wird man dafür sicher erst auf den
Mega328 warten müssen.
> Man kann nämlich die SD Karte am Programmierstecker anschließen
Bei einem 10-poligen ISP Anschluss habe ich auf einem Board schon den
überflüssigen Pin3 als CS verdrahtet. Ein kleines Zusatzplatinchen mit
MMC/SD Sockel und Spannungsregler/Pegelanpassung (falls nötig) mit
Flachbandkabel oder als Piggiback anschließen. Geht prima.
Bei den 6-poligen ATMEL-ISP bzw. Powalt-ISP hat man allerdings ein
Problem. Da könnte man evtl. den RESET Anschluß per Jumper umschalten.
Hallo,
sehr interessantes Projekt. Ich würde das gerne für eine Schaltbare
Steckdose verwenden. Also ein Gehäuse wir bei einer Funksteckdose nur
mit dieser Platine drin. So kann die Steckdose über LAN geschaltet
werden.
Dazu sind wohl ein paar Änderungen notwendig:
- (Schalt)netzteil zur Versorgung aus den (vorhandenen) 230V
- Ein 230V Relais um die Steckdose dann zu schalten
- idealerweise ein PHY mit 2 Port Hub, so kann man den Netzwerkdrucker
schalten und braucht nur 1 LAN Dose in der nähe
Jemand interesse daran mitzuwirken?
Hallo,
ist den der "Fehler" auf der aktuellen Platine noch vorhanden?
Grüße
Stephan
>Achja: Auf der Platine ist ein kleiner Fehler.>http://klinkerstein.m-faq.de/index.php?content=Mik...>unten rechts kommt der Pin von der 10uH Festinduktivität unter dem>Spannungsregler hervor. Hier muss man also ein bisschen friemeln (nen>Millimeter Platz lassen unter dem Spannungsregler).
Uwe H. wrote:
> - Ein 230V Relais um die Steckdose dann zu schalten
Du kannst die Relais aber nicht direkt aus der Pfostenleiste versorgen,
sonst könntest du 3V Relais nehmen (Gibts von Finder, bei Reichelt
bspw.).
Also wird in jedem Falle eine kleine Treiberplatine notwendig mit NPN
Transistoren, die das Relais von den 5V (deines Schaltnetzteiles) gegen
Masse schalten.
> - idealerweise ein PHY mit 2 Port Hub, so kann man den Netzwerkdrucker
Dann kannst du aber keinen ENC28J60 mehr nehmen, da dort die PHY schon
eingebaut ist.
> Jemand interesse daran mitzuwirken?
Wenn du ein neues Projekt machst, wäre es gut, das nicht hier zu
erledigen :-)
Übrigens: Wenn du eine kleine Kombination gefunden hast von MAC/PHY mit
2 Port Switch untendran, wäre ich auch interessiert.
Hi zusammen,
ich hab jetzt mal mein altes Etherrape-Board wieder rausgekramt (hatte
das nie im Einsatz) und die Software von Simon so angepasst, daß sie
darauf läuft. Die USART und der Bootloader sind besser zum testen...
später kann man die Software dann wieder auf den Mikrowebserver
portieren. Ich hab vor das Interface mit Bildern aufzupeppen und
konigurierbare Texte im EEPROM abzulegen. Dann kann man immer sehen, was
an welchem Portpin angeschlossen ist.
Ich meld mich, wenn ich weiter gekommen bin.
Gruß,
SIGINT
P.S.: Der Hardwarezugriff auf die IO-Ports ist zum Testen deaktiviert!
Die Ports ändern sich also erstmal nicht.
Interessante Sache.
Wird mal Zeit dass Atmel den Mega328 herausbringt, damit könnte man auch
etwas mehr rumbasteln.
PS: Die serielle Schnittstelle ist herausgeführt und kann direkt auf
einen MAX232 gegeben werden (trotz 3,3V Pegel). Ich habe bei mir die
Versorgungsspannung der Platine auf 5V gesetzt und dann am
Pfostenstecker diese 5V und RxD/TxD abgegriffen und ein MAX232
angeschlossen. Geht problemlos.
Hallo alle zusammen,
endlich habe auch ich mal die Zeit gefunden und mir den "Kleinen"
aufgebaut, 30 Minuten und klappt auf Anhieb ;)
Ich habe die aktuell von it-wns.de ausgelieferte Version MJ2 der
Platine genutzt und die RJ45 Buchse von ERNI.
Ein Hinweis noch an alle die gerne die grüne LED der Buchse für
die LINK-Anzeige nutzen möchten statt der gelben, in der Enc28J60.c
einfach folgende Zeile
Hey Thomas,
Heißt das also, dass die veränderte Variante der Platine funktioniert
(Für HALO, bzw. jetzt auch ERNI Connector?)
(MJ2 sagst du, das ist also die "neuere" Variante?)
@Simon K.
Ja die MJ2 ist die alternative Platine, und es klappt wunderbar ;)
Die ERNI sind auch ab Lager verfügbar.
Evtl. entwerfe ich noch eine Zusatzplatine mit Relais und/oder LED
die man per Flachbandkabel anstecken kann ;)
Hallo ,
erstmal grosses Lob zu diesem tollen Projekt !
Ich hab mir grad das Projekt gedownloadet ums mir an zu schauen aber
wenn ich uWebSrv.aps mit dem AvrStudio öffne dann gibt es folgende
Fehlermeldung : One or more project files could not be found . und wenn
ich das Projekt kompilieren will kommt folgende Fehlermeldung make: ***
No rule to make target `../Net/TcpApps/Gpio.c', needed by `Gpio.o'.
Stop.
kann mir jemand sagen was ich falsch mache !!
Danke schon mal im Voraus
Hallo,
War ein kleiner Fehler in der AVR-Studio Projektdatei. (Arbeite selbst
mit Eclipse (daher auch die .cproject Datei) und hab es deswegen nicht
gemerkt).
Ist gefixt.
Hallo Simon,
ich hab jetzt selbst mal so einen kleinen webserver mit 168er und
enc28j60 aufgebaut und hab auch schon mehrere varianten von TCP stacks
ausprobiert. Deine variante gefällt mir recht gut und hat auch auf
anhieb funktioniert, allerdings ist mir dann doch etwas aufgefallen:
ich habe den http port auf 80 geändert, danach meinte der browser er
müsse jetzt eine datei speichern anstatt die seite aufzubauen.
Schuld daran ist ein korrupter http header. Aus irgendeinem, mir noch
nicht bakannten grund werden zwei zeichen nach der uip_send methode im
buffer überschrieben.
Das passiert auch beim port 8080, nur an anderer stelle im header, die
dem browser anscheinend nichts ausmacht, deswegen ist es auch nicht
gleich aufgefallen.
der rest vom http traffic scheint nicht betroffen zu sein.
Ich habe den code mit AVR studio kompiliert und eigentlich keine
änderungen dran vorgenommen, arbeite nur mit einer höheren taktfrequenz
am 168er (18,432 MHz) daher einige anpassungen diesbezüglich, sonst nix.
kann es da evtl ein problem mit dem stack geben? hat noch jemand so ein
verhalten beobachtet?
wäre dankbar für rückmeldungen
lg
Michael
Hallo Michael,
Ich werde der Sache mal nachgehen, aber lass dir gesagt sein, dass
18,432 MHz Taktfrequenz vermutlich zuviel für den 3,3V Mega168 sind (bis
10MHz offiziell).
Hast du meine Platine verwendet oder einen Eigenbau? Falls ersteres: Wie
hast du das Quarz angeschlossen?
Hier ich nochmal,
Ich habe leider nicht die Möglichkeit im Moment das ganze auf dem
Original µWebserver auszuprobieren, aber mit dem gleichen HTTP-Daemon
habe ich die Sache mal auf Port 80 geändert und auf eine ähnliche
Platine übertragen und es klappt ohne Probleme.
Es wäre mal nett, wenn du einen Dump des kaputten HTTP Headers
mitschicken könntest.
Hallo Simon,
meine platine ist ein experimentierboard von www.embedit.de, wo ich den
enc dazugebastelt hab. Da läuft der 168er mit 5V und den enc versorge
ich separat über einen LM317 regler mit 3V3.
Ich gehe also davon aus, dass die hardware in ordung ist, denn ich habe
auch schon erfolgreich andere TCP implementationen ausprobiert.(zB
Ulrich Radigs version)
Außerdem wie gesagt passiert es auch mit dem port 8080, nur eben an
einer, für den browser unkritischeren stelle, so dass die seite trotzdem
korrekt angezeigt wird.
Ich werde dumps davon machen und posten.
vielen dank
lg
Michael
Hallo nochmal,
ich hab den fehler gefunden. es lag daran, dass anscheinend die globale
variable uip_slen falsch angelegt wurde (evtl linker dran
schuld?)vielleicht hat er sie als const angenommen?
hab sie dann als static definiert, damit gehts.
womit hast du denn kompiliert bzw. gelinkt?
lg
Michael
Hallo Leute,
ich bin absoluter Neuling, was AVR´s usw. angeht und habe dieses
interessante Projekt entdeckt und auch schon den Webserver bestellt.
Ich hoffe Thomas Heldt hat noch einen auf Lager, das es nicht 2-3 Wochen
dauert ;-)
Nun habe ich mir AVR Studio4 runtergeladen und wollte die Software
schonmal an mein Netzwerk anpassen.
Leider kommen dann beim Build die Warnung wie im Anhang aber beim
Compilieren scheint alles in Ordnung.
Da ich weder von C noch vom Programmieren große Ahnung habe möchte ich
mich lieber hier vergewissern, was da los ist.
Ausser der IP habe ich nichs geändert.
Bei der gelegenheit würde mich interessieren, ob es möglich wäre(also
mit dem µWebserver ATmega168),
won einem FTP-Server eine Datei bzw. die ersten 5-8 Zeilen aus einer
txt-Datei in den Webserver zu holen und dann auf einem Text-LCD anzeigen
zu lassen?
Vielen Dank!
Gruß
Clyde
@ Thomas H. :
>Sobald ich den 328 bekomme stelle ich die Bausätze um sofern du das o.k.>gibst das die Software läuft, aber die aktuelle Anfrage bzgl. 328 hat nur>ergeben das sie im 1Q/08 lieferbar sein sollen.
Wie sieht es aus mit dem mega328.
Kommt der bald oder müßen wir noch länger warten ?
Hallo,
tut mir leid, aber ich muss nochmal nerven.
Ich bin scheinbar zu blöd, mit AVR Studio den 168 zu flashen bzw.
richtig einzustellen...
Kann mir jemand sagen, was ich wie und wo bei AVR Studio einstellen
muss, um den Webserver zugänglich zu machen?
Fuses lesen, löschen usw funktioniert alles nur reden will er nicht.
Ich habe in main.c meine IP eingetragen und die IP des Routers.
Dann compiliert und danach die Hex-datei hochgeladen.
Funktioniert ohne meckern. bei den Fuses habe ich auf Brownout 2.7
eingestellt und alle 3 ext. Clock schon durch probiert.
mehr habe ich nicht gemacht aber es kommt auch nichts übern ie.
Vielen Dank schonmal...
In hoffnung auf schnelle kompetente Hilfe
Clyde
Welche IP Adressen hast Du denn eingetragen und welche Adresse hast Du
im Browser aufgerufen ?
Wenn Du den AVR auf externen Takt eingestellt hast und ihn Beschreiben
kannst dann laufen ENC und AVR schon mal. Trotzdem könnte aber auch
theretisch am Aufbau was nicht stimmen.
Wäre auch noch gut zu wissen womit Du den AVR programmierst.
Ich machs mit dem STK 500.
Meine Fuses hab ich für Dich mal in den Anhang gepackt.
Den mega168 stellst Du beim Programmer im Reiter "main" ein.
Im AVR-Studio unter "Projekt -> Configuration Option" dann unter Device.
Guten Morgen und schonmal vielen Dank für die Hinweise.
Im Anhang zuerstmal ein Bild von den Veränderung der IP.
Im ie habe ich alles ausprobiert, mit 8080 und 9000 sowie auch ohne
Portangabe. Beim ping auf den Port fand r den Host nicht und ein Ping
auf die IP ohne Portangabe kam nur eine Zeitüberschreitung.
Ich programmiere mit dem AVR USB-ISP v1.2 von Tuxgraphics/chip45.
Kann es evtl. an dem SPIEN liegen, bei mir ist dort kein Haken und ich
kann dort auch keinen setzen, wie bei Dir im Bild?
Und hier vorsorglich von meinen LockBits, wo ich allerdings nichs
verändert habe.
Ich hoffe es hilft weiter.
Ich habe bis jetzt noch keinen Erfolg gehabt.
Gruß
Clyde
Sieht auf den ersten Blick ganz vernünftig aus.
Überprüfe mal alles auf der Platine ob da nicht was falsch gelötet
worden ist. Anbei musst Du dran Denken, das Du mit 3.3 Volt
programmierst, da der Enc28j60 eine Betriebsspannung von 3,3V hat. Nicht
das Du da was geschossen hast.
Hallo,
Platine habe ich nochmal geprüft, sieht alles richtig aus, 22pF da, wo
sie sein sollen und die Widerstande auch. Ausrichtung der IC´s
ebenfalls.
Wenn ich den Server ans Netzwerk anschliesse, blink es immer wieder mal
und die Grüne LED Leuchtet. Sieht also nach korrekter Funktion aus.
Womit Du mich jetzt verunsicherst wäre die 3,3V.
Ich habe diesen Adapter
http://www.chip45.com/index.pl?page=CrispAVR-USB&lang=de
und der sollte die Spannung usw. ja selbst erkennen, hat ja auch einen
Levelshifter eingebaut und die LED´s blinken wie sie sollen bei
korrekter Funktion.
Ich kann ja auch immer wieder den Atmel programmieren und löschen usw.
ohne das dort ein Fehler angezeig wird.
Muss der ENC auch separat programmiert werde??? Davon habe ich jetzt
irgendwie nichts gelesen...oder habe ich da was überlesen?
Die 3,3V hat er ja auf der Platine
Merkwürdig...
SMD Löten ist für mich jetzt auch keine große Sache, da ich selbst
regelmäßig auf der Arbeit diese verarbeite
(selbst LPC2136 löte ich mit der Hand ohne Probleme)
Nur selber etwas programmieren ist neu(bin ja erst durch meine Arbeit
dazu gekommen)und auf der Arbeit ist alles vorgekaut, das ich mir da
keine großen Sorgen machen musste...
Da ich jetzt erst mit C und Atmels anfange und der µWebserver eigentlich
so mein Bastelprojekt werden soll, ist es doof wenn ich jetzt schon beim
flashen scheiter :-(
Vielen Dank
Clyde
Hallo nochmal,
ich krieg hier noch ne krise...
Im Anhang ein Bild vom Programmieren, alles OK.
Habe nun mal versucht, ob ich die LED Anzeige der RJ45 Buchse verändern
kann um zu sehen ob was passiert.
Aber die grüne Leuchtet weiterhin und die Gelbe ist die Blinkende LED.
Also keine Veränderung.
Aber wie im Bild zu sehen, ist alles ok.
Momentan lasse ich einen IP Scanner laufen, ob irgendwo eine mir
unbekannte IP auftaucht...
Sollte ich evtl. mal ein anderes Programm als AVR Studio probieren, wenn
ja, welches?
Oder was kann ich noch versuchen?
Gruß
Clyde
Guten Morgen,
mein Problem besteht immer noch.
Habe jetzt mal versucht, den Takt zu messen(mit nem normalen TruRMS
Multimeter) und der zeigt mir an XTal1 nur 6,25Mhz an.
Bei Tuxgraphics habe ich aber was von 12,5Mhz gelesen.
Könnte das mein Problem sein? Wenn ja, wie kann ich das lösen?
Eigentlich kann(darf) der 168 ja nur bis 10Mhz bei 3,3V betrieben
werden.
Mit den 12,5 MHz bei 3,3V ist schon in Ordnung. Bei mir gehts ja auch.
Programmieren kannst Du den µC auch, ist auch schon mal OK. Und wenn die
Netzwerk LEDs blinken, kann es auch ein gutes Zeichen sein.
>Da ich jetzt erst mit C und Atmels anfange und der µWebserver eigentlich>so mein Bastelprojekt werden soll, ist es doof wenn ich jetzt schon beim>flashen scheiter :-(
Hättest Dir vielleicht für den Anfang etwas übersichtlicheres nehmen
sollen ;-) Aber nicht aufgeben.
Wie hast Du den Webserver den angeschlossen ? Am Router oder direkt an
einer Netzwerkkarte ? Vielleicht liegt da ja irgendwo der Hund begraben
..
Hallo,
das interessante ist scheinbar, das ich nur 6,25Mhz Takt habe, keine
12,5.
Ich habe ich an einen Switch, der mit dem Router verbunden ist.
Meine erste vermutung wäre, der Mega168 ist zerschossen, aber ich kann
Fuses und ihn selbst programmieren, sieht zumindest danach aus.
Ich verstehe das Teil nicht.
Evtl. redet der 168 nicht mit dem ENC, aber wie finde ich es heraus?
Mein allererstes Projekt war eine Springbrunnensteuerung letzes Jahr,
das klappte auch noch mit dem Mega88 und etwas C :-)
(aber Ehrlich, ein paar Pins an und Ausschalten ist ja nicht das höchste
der gefühle :-) )
Damals hatte ich Imagecraft, welches ich leider nicht mehr habe, wäre
für mich vermutlich nachvollziehbarer geworden jetzt. Aber soviel anders
sieht AVR Studio auch nicht aus.
Achso, diverse Portfreigaben im Router habe ich auch schon probiert,
aber das half auch nix.
Eigentlich hatte ich vor, dieses Wochenende damit zu verbringen, mir den
Webserver zurecht zu basteln mit Website und steuerung, aber das er
überhaupt nicht mit mir reden will...mannomann...
Leute,
ich verstehe es nicht...
Ich kann den Atmega168 scheinbar programmieren, ohne Fehlermeldung.
Ich nutze den AVR Simulator und alle weiteren Einstellung sind ja
bebildert. Die ISP-Frequenz ist 230,,4kHz und das scheint zu
funktionieren.
Der ENC Leuchtet bzw. blinkt mit seinen LED´s (Grün leuchtet beim
verbinden mit dem Switch und Orange blinkt hin und wieder)und gibt
seinen default-takt von 6,25Mhz aus(default lt. Datenblatt) welchen er
aber nicht verändert nach demflashen.
Irgendwo steckt da doch der Wurm drin...wer hat die V2 mit dem ERNI und
evtl. ähnliche Probleme gehabt?
Oder, was mache ich falsch?
Kann der Atmega nen schuss haben obwohl er ich programmieren lässt?
für jeden Tip bin ich Dankbar.
Gruß
Clyde
Achso, wenn es hilft...
Auto MDIX geht nicht, falls überhaupt möglich.
Verbindung mit Switch wird angezeigt, aber direkt mit einem PC gibt
keine verbindung(nix leuchtet)
Gruß
Clyde
@Clyde
kontrolliere bitte alle Lötstellen am ENC28J60 und am Atmega168, wenn
die
Fuses so sind wie geschrieben und alles andere korrekt gelötet ist muss
es gehen. Ich hatte einmal eine kaum sichtbare Lötbrücke an den Pins des
Atmega und da war dann auch so ein Problem da, Brücke entfernt und es
lief ;)
Zur Not schick mir mal die Platine dann schaue ich sie mir an, einfach
Mail an thomas [at] heldt-web [punkt} de senden.
Gruß
Thomas
Hallo,
ich bin jetzt auch Besitzer einer solchen Hardware. Lustig ist das Ding
schon nur als ich versucht habe ein eigenes Projekt auf den Atmega168 zu
portieren ist mir aufgefallen wie wenig Speicher ich da zur Verfügung
habe.
Evtl. würden sich ein paar Leute über ein Redesign mit mehr Ram bzw.
einem anderen µC freuen.
@Josef
>Atmega168 zu portieren ist mir aufgefallen wie wenig Speicher ich da zur >Verfügung
Das hätte Dir aber schon vor dem Kauf auffallen müssen...
Wie Du vielleicht in diesem Thread gelesen hast, warten noch einige auf
den mega328, der hat den doppelten Speicher aber der ist von Atmel noch
nicht ausgeliefert. Alternativ kannst Du ja vom Ulrich Radig den
Webserver mit dem mega644 holen, das gibts schon das 4fache an Speicher
und irgendwo gabs auch einen mit nem Mega128. Aber die sind alle nicht
so schön klein ;-)
@ Clyde
Ich glaube auc wie Thomas das irgendwo eine Lötstelle nicht richtig
sitzt. Bei mir hatte damals der Taktausgang vom ENC keinen richtigen
Kontakt zum Pad. Bei Dir scheint ja am SPI irgendwas nicht richtig zu
sein.
So, kaum Feierabend und zuhause, schon an der Schaltung...
Ich habe nochmal geguckt und werde morgen das Mikroskop auf der Arbeit
bemühen.
Messtechnisch konnte ich folgendes feststellen, was evtl. mal jemand an
seiner funktionierenden Schaltung nachprüfen könnte, wenn er lust hat.
PIN 12 und 13 des ENC melden Durchgang mit ca. 6,8Ohm
PIN 15/16/17 melden mit ca. 7Ohm Durchgang.
Die 49,9Ohm Widerstände R6/R5 haben ca 30 Ohm und R4/R3 melden nur ca.
8Ohm. Könnte natürlich an dem Übertrager liegen, ist mir aber trotzdem
merkwürdig.
Wenn ich morgen wirklich noch ne Brücke finde, fress ich nen Besen :-)
Wenn alles nix hilft, würde ich gerne Dein Angebot annehmen, Thomas.
Gruß
Clyde
Als zwischenstand, ich habe MISO, MOSI usw. verfolgt und hat kontakt mit
den entsprechenden Beinchen.
Morgen werde ich alles nochmal nachlöten mit meinem Flux und genau
begutachten.
Wenn es das dann alles nichts bringt, würde ich mich gerne mal an Thomas
wenden.
Gruß
Clyde
Hallo,
malwieder.
nachdem ich heute die Schaltung nochmal komplett nachgelötet habe und
unter dem Mikroskop keine Brücken finden konnte, bin ich weitestgehend
am Ende.
Eine Idee hätte ich noch, wenn mir da jemand helfen könnte...
Wenn mir jemand ein funktionierendes hex-file des Webserver zur
verfügung stellen könnte, wo zum Beispiel PortC an Pin0 auf Ausgang und
diesen eingeschaltet hat. Einfach um zu sehen, das der Prozessor das
macht.
Evtl. habe ich ja was mit der Software falsch gemacht...ist ja auch
nicht auszuschliessen bei mir...bin da ja ein frischling...
Mal gucken, was mir noch einfällt, bevor ich den Thomas damit belästige
und es hinter ne kleinigkeit ist...
Vielen Dank
Clyde
Hallöchen,
Im dem aktuellen Downloadpaket auf meiner Homepage ist eine kompilierte
HEX Datei dabei.
Zu deinem Problem: Wie du schon festgestellt hast, läuft der Controller
mit nur 6.25MHz statt den 12.5MHz, auf die der Prozessor beim Start
umstellt.
Mich würde mal interessieren ob sich was auf den MISO/MOSI/SCK Leitungen
tut, die den ENC28J60 ansteuern. Falls dort nichts zu sehen ist (vor
allem nachdem die Platine Strom bekommt), dann startet der
Mikrocontroller nicht richtig.
Ich würde außerdem den Brown Out auf 2,7V einstellen. Der externe Takt
ist schon richtig, ich würde aber 65ms Startup Zeit empfehlen. Und Pass
auf, dass die ISP Frequenz beim Programmieren nicht größer als etwa 1
MHz ist.
Ich tippe mal darauf, dass irgendeine Kommunikationsleitung zum ENC28J60
nicht vernünftig verbunden ist.
Achso! Was auch noch sehr gut sein kann ist, dass du in den
Projekteigenschaften des AVR Studios keine Einstellungen vorgenommen
hast. Dort musst du natürlich den Mega168 angeben und den richtigen
Quarztakt einstellen.
Alternativ: Wie gesagt, in dem neuesten Paket ist eine HEX Datei für den
Mega168 dabei:
http://klinkerstein.m-faq.de/index.php?content=MikroWebServer&view=Downloads&dl=uWebSrv.zip
Hallo und vielen Dank für die Tips.
Dann muss ich wohl davon ausgehen, das der MC ne macke hat.
ISP Frequenz ist 230,4kHz(geht max. auf 920kHz) und den Brown out habe
ich jetzt auf 2,7 und den Takt auf die 65ms gestellt, ohne Erfolg.
Die HEX Datei, die im Zip unter Release steht, habe ich eben nochmal neu
runter geladen ohne veränderung.
Der ENC behält seinen default von 6,25 MHz und an MOSI/MISO/SCLK kann
ich mit dem Multimeter nix messen...nen Oszi habe ich leider nicht
hier...
Mal gucken, ob ich nen 168 aufgetrieben bekomme und ihn tausche. evtl.
hilft das ja.
Im Anhang ein Screenshot von den Einstellungen, ist dort etwas evtl.
nicht korrekt?das habe ich so default gelassen, also nichts verändert.
Evtl. hilft es, aber werde mal nach nem 168 gucken...
Vielen Dank
Gruß
Clyde
Hi Clyde,
bei mir schaut es im Moment ähnlich aus. Aktuelle Hex in den Atmel
geschoben - Netzwerk auf dem PC eingestellt - aber der uWebServ
antwortet nicht.
Die Link-LED leuchtet (bei mir ist es die gelbe LED), die grüne LED
blinkt auch regelmäßig (gehe von aus, das diese den Datentraffic
anzeigt).
Versucht hab ich bisher http, ping und arp - ohne Erfolg.
Was mir gestern noch in den Sinn kam, das der Reset-Pin am AVR keine
Spannung erhält und dieser somit stets (low) geschaltet ist - das würde
erklären, weshalb der AVR sich beschreiben läßt, respektive sich die
Fuses einstellen lassen. Dann würde der AVR ohne ISP ständig im Reset
sein und das Programm nicht "ablaufen".
Bei mir hat sich diese Vermutung aber zerschlagen, hab einfach nur einen
falschen Massebezug genommen :-)
Werd heute Abend mal testen, ob das Programm ansich läuft, indem ich
einen GPIO toggeln lasse.
Viele Grüße
Christian
@Chris und Clyde
Zieht ihr das ISP-Programmer Kabel ab oder lasst ihr es angesteckt?
Wenn ihr es angesteckt lasst probiert mal ob der Webserver arbeitet wenn
ihr das Kabel nach der Programmierung abzieht und dann kurz die Spannung
trennt.
Ich habe gerade nochmal eine Platine bestückt und der Webserver lief
sofort.
Gruß
Thomas
Hi Thomas,
ISP-Programmer-Kabel wird (selbstverständlich) abgezogen -
Spannungsversorgung unterbrochen und wieder angesteckt. (ISP-Kabel wird
im ausgeschalteten Zustand abgezogen :-)
Anmerkung - benutze den usbprog mit Levelshifter - bisher konnte ich
meine AVRs mit Spannungsversorgung aus dem usbprog programmieren. Dies
hat diesmal nicht geklappt (obwohl 3,2V an der richtigen Position am
ISP-Anschluss anliegt). Ich muss den AVR mit der regulären Spannung
versorgen und die Spannungszuführung vom usbprog her abschalten.
Diesbezüglich hatte ich die Verbindungen auch schon ausgeklingel -
scheint alles okay.
ENC (Pin) - ISP (Pin) - AVR (Pin)
6 - 1 - 16 -> MISO
7 - 4 - 15 -> MOSI
8 - 3 - 17 -> SCK
CS vom ENC hab ich gestern Abend nicht mehr gemessen - werd mir heute
Abend nochmal MISO/MOSI mit dem Oszilloskop ansehen und, wie schon
geschrieben, mal einen GPIO toggeln lassen.
Wenn alles nichts hilft, werd ich mir eine neue LP bestellen und
nochmals bestücken - die Fehlersuche kostet mich sonst mehr Zeit, als
die paar Euro :-)
Viele Grüße
Christian
Hmm, ehrlich gesagt bin ich da ziemlich ratlos. Prinzipiell ist alles,
so wie du (ihr) es eingestellt habt, völlig in Ordnung. Ich würde an
eurer Stelle das nette Angebot von Thomas wahrnehmen und ihm, oder mir
mal die Platine zur Fehlersuche zuzuschicken.
Sehr schönes Projekt!
Ich hab da mal ne Frage - sowohl der ATmega 168(P)
(Quelle:http://www.atmel.com/dyn/products/product_card.asp?part_id=3303)
als auch ATmega168P und der ATmega328P sind mit Vcc 1.8-5.5 V angegeben.
Also müßte die Programmierung mit 5V funktionieren, vorausgesetzt man
läßt die Versorgungspannung über den ISP-Stecker weg - oder?
Programmieren kannst du den Chip mit +5V Versorgungsspannung, aber nicht
während er aufgelötet ist. Auf der Platine ist nur ein 3,3V
Spannungswandler und das aus gutem Grunde ;) (ENC28J60 mag nicht mehr
haben).
Der Pin für die Spannung am ISP Stecker ist dafür da um den
Levelshifter, der üblicherweise im ISP ist, mit der Spannung der
Zielschaltung zu versorgen um so die korrekte Programmierspannung
einzuhalten.
Der Pin ist nicht da um ein Programmiertarget mit Strom zu versorgen.
Hallo Simon,
danke für die schnelle Antwort - Frage anders: ist er mit einem normalen
ISP-Programmierer (ich nutze den von Matwei-USBisp od. eine einfache
parallele Lösung) programmierbar (ohne Spannungspegel von dort)?
Oder bräuchte man eine Wandlerplatine (die ja auch bei IT-WNS zu
bekommen ist)?
LG
Vajk
Hallo Leute,
ich bin durch...
Prozessortausch hat nichts gebracht...
Keine Ahnung woran es liegen könnte, evtl. defekter/zerschossener ENC
oder weiss der KuckKuck was...
Habe sogar die IP mal DMZ geschaltet, aber nix.
Takt bleibt bei 6,25...
Gruß
Clyde
p.s. wenn der Fehler entdeckt wird, werde ich berichten(hoffentlich habe
ich nicht doch was übersehen...)
@Thomas, email for you...
Ich vermute mal du hast irgendwie Leitungen zum ENC28j60
kurzgeschlossen. Defekt wird er nicht sein, da ja die Lampe für die
Eingehenden/Ausgehenden Daten mal aufblinkt und auch die Link LED
korrekt funktioniert.
Der ENC28J60 wird gar nicht erst initialisiert, worauf man durch die
6,25MHz Takt schließen kann. Also stimmt was nicht mit der Kommunikation
zu diesem.
Vajk Von ipolyi wrote:
> Hallo Simon,> danke für die schnelle Antwort - Frage anders: ist er mit einem normalen> ISP-Programmierer (ich nutze den von Matwei-USBisp od. eine einfache> parallele Lösung) programmierbar (ohne Spannungspegel von dort)?> Oder bräuchte man eine Wandlerplatine (die ja auch bei IT-WNS zu> bekommen ist)?> LG> Vajk
Du wirst einen Programmierer mit Pegelwandler brauchen. Also
beispielsweise einen Atmel ISP mkII (wie ich ihn habe).
Hallo allerseits,
hier läuft es jetzt auch ?!
Wie erwähnt, wollte ich ja mal einen GPIO toggeln, habe dementsprechend
die main.c kurz erweitert. Nach dem Einspielen gibt es zumindest schon
mal Antwort auf den Ping. Den Rest hab ich jetzt noch nicht
kontrolliert, sollte aber laufen.
Da mich die Sache etwas stutzig gemacht habe, hab ich nochmals die
Release-Version eingespielt. Es trat der gleiche Fehler auf, wie vorher
- der Server war nicht erreichbar.
Vom Optischen her - vorher hatte ich ein Dauerleuchten auf der gelben
LED (ging bisher davon aus, das die für die Linkanzeige zuständig ist) -
jetzt zeigt sie mir die einzelnen Pings an und die grüne LED hat ein
Dauerleuchten (Link-LED?).
Weitere Änderungen habe ich nicht vorgenommen.
Anmerkung zum verwendeten MagJack -> SI-60024F
Dann wird es jetzt mal Zeit, die weiteren Funktionen zu testen.
Viele Grüße
Christian
Chris, könntest Du mir mal dein Hex mit dem toggle mailen?
Welcher Pin wird dort geschaltet?
Würde das gerne auch mal testen.
Ich habe die ERNI Buchse mit Grün Links und Gelb Rechts.
Dafür packe ich den server gerne nochmal aus :-)
Gruß
Clyde
email: Phuture_Vibes (at) t-online (punkt) de
PS: an eine Brücke kann ich kaum noch glauben, aber manchmal sieht man
den Wald vor lauter Bäumen nicht...
Chris wrote:
> Vom Optischen her - vorher hatte ich ein Dauerleuchten auf der gelben> LED (ging bisher davon aus, das die für die Linkanzeige zuständig ist) -> jetzt zeigt sie mir die einzelnen Pings an und die grüne LED hat ein> Dauerleuchten (Link-LED?).
Jau, die Belegung der LEDs wird bei der (korrekten) Initialisierung vom
ENC28J60 umkonfiguriert.
Okay, der Rest läuft (wie erwartet) auch - Webserver auf Port 8080.
@Clyde
Sorry, das erste Hex-File hatte geänderte IPs - ein neues Hex-File mit
den Beispiel-IPs ist gerade raus.
Viel Erfolg
Chris, vielen Dank!
Irgendwas ist doch hier komisch...
Nachdem ich das Hex (ich habe beide probiert mit gleichem Ergebnis)
vom Chris geflashed habe, leuchtet meine Gelbe(Rechte LED)mit kurzen
unterbrechungen und die Grüne(Linke LED) ist aus.
Eine toggelfunktion habe ich allerdings nicht auf PC0
ABER der ENC läuft jetzt mit 12,5Mhz
Irgendwo habe ich doch nen Bock,oder nicht.
Selbst mit der Original Hex, aus dem Zip von Simon kommt diese Funktion
nicht zustande...
Auf MISO/MOSI messe ich jetzt auch ne Frequenz, was vorher nicht der
Fall war.SCK zeigt 2,33Mhz,wenn mein Multimeter richtig misst.
@Vajk Von ipolyi
Ja der Pegelwandler wird gehen da er nichts anderes macht als die
Signale des 5V Programmers auf die Spannung des Targets anzupassen ;)
@Clyde
Scheint irgendwo dann doch an der Software zu liegen, aber wie gesagt
ich kann es gerne testen.
Gruß
Thomas
Momentan vermute ich ein problem in meiner Compilierung, liegt doch
sicher nahe, wenn Chris´s HEX-File zumindest in der Kommunikation
zwischen MC und ENC funktioniert...oder?
Ha, überschnitten.Thomas.
Den Gedanken habe ich auch. Ich habe Chriss mal gebeten, mit meiner IP
ein HEX zu compilieren. Mal sehen, wenn er so nett ist ;-), ob das
funktioniert.
Dann muss ich den Fehler woanders suchen...
Ist das dabei dann ein Unterschied, ob ERNI oder MagJack? LED technische
schon, oder?
@Clyde
Die Platinen sind unterschiedlich eine ist für den SI-60024F und eine
(MJ2) ist für der ERNI angepasst, programmtechnisch sind beide gleich.
Gruß
Thomas
Ich möchte ja keinen Programmierfehler ausschließen, allerdings würde
mir ein solcher ziemlich komisch vorkommen, da das Board bei
mittlerweile vielen Leuten problemlos funktioniert.
Hm!
@Simon
Ich meinte eher das ein nicht funktionierendes HEX File durch falsche
Einstellungen rauskommt ;)
Ich habe deinen Code ja auch auf beiden Versionen installiert und beide
gehen.
Da ja bei Clyde mit dem Hex von Chris zumindest die Initialisierung zu
gehen scheint scheidet ein Hardwarefehler fast schon aus.
Gruß
Thomas
Thomas H. wrote:
> @Simon>> Ich meinte eher das ein nicht funktionierendes HEX File durch falsche> Einstellungen rauskommt ;)
Jau, das stimmt.
> Da ja bei Clyde mit dem Hex von Chris zumindest die Initialisierung zu> gehen scheint scheidet ein Hardwarefehler fast schon aus.
Meine HEX Datei sollte aber mit deinem Bausatz problemlos funktionieren.
Er ist für einen Mega168 kompiliert.
Hallo alle zusammen,
habe jetzt aus meinen Versuchen bzgl. obiger Probleme zwei fertige
Webserver hier liegen die ich nicht mehr benötige und somit verkaufe.
Ich würde sie zum Bausatzpreis 26,99 EUR abgeben, die aktuelle Software
von Simon ist drauf ;)
Wer einen oder beide haben möchte bitte entweder PN über das Forum oder
Mail an thomas [at] heldt-web [punkt] de senden.
Verkauf also von Privat.
Gruß
Thomas
Hallo,
Evt. hat die Platine eine Unterbrechung! Wurden die Platinen einen
E-Test unterzogen?? Ich hatte bei HAKA auch schon Platinen bestellt ohne
E-Test und hatte auf einer eine Unterbrechung!
Gruß
Uli
Hallo,
da ich ja der Auslöser war, hier die "Entwarnung".
Dank Chris´s HEX-File ist die Platine Funktionstüchtig!
Es liegt wohl an Einstellungen in meinem AVR-Studio, aber der Server
läuft!
Das Make-File macht mir zwar noch zu schaffen(no rule to make taget)
aber hier gibt es ja viel zu lesen :-) )
Es ist also mit sicherheit kein Hardwareproblem.
Vielen vielen Dank, für die freundliche Hilfe und Unterstützung!
Gruß
Clyde
PS: leider(für euch :-) ) bin ich mir sicher, das ich anderweitig wohl
noch hilfe hier im Forum suchen muss...
@Ulrich
Ja die Platinen wurden einem E-Test unterworfen, daher war ich ja so
sicher das es kein Platinenfehler sein kann.
@Clyde
Nimm mal im Makefile die ../ vor den Zeilen der zu kompilierenden Files
raus, danach hat es bei mir geklappt.
Gruß
Thomas
Danke Thomas, das war´s...
Witzigerweise, habe ich dem Tutorial nach, die Sache mit den Pfaden
gesehen und kontrolliert, aber das hab ich nicht gelesen oder
überlesen...
Aber ich glaube, ich habe recht skurile Fehler hier...oder einfach nur
DAU Fehler...
Bei Chris´Hex, muss ich, um die geschalteten Ports(grünes Feld) zu
sehen, 2 mal auf Refresh im Browser drücken(nach Modify kommt "Website
kann nicht angezeigt werde", erst nach refresh kommt sie und dann
nochmal refresh um die aktuellen Werte zu sehen.)
Bei "meinem" HEX ist nach einstellen des Ports und drücken auf Modify,
schluss.
Nix kommt mehr und SCK ist ruhig(tot)(der Port wurde aber ein geschaltet
am MC) und der Browser zeigt natürlich nichts mehr an und hängt.
Geflashed mit Simon´s Make-File und nur die IP und den Port
geändert(Port deswegen,weil ich dachte das ein Konflikt in meinem
Netzwerk dafür sogen könnte wegen 8080 im Router). Und die RJ45 LED´s
habe ich mal getauscht.
Könnte es damit zusammenhängen:
Net/uip/uip_arp.c: In function 'uip_arp_update':
Net/uip/uip_arp.c:160: warning: 'tabptr' may be used uninitialized in
this function
Net/uip/uip_arp.c: In function 'uip_arp_out':
Net/uip/uip_arp.c:356: warning: 'tabptr' may be used uninitialized in
this function
was bei mir nach Build bzw rebuild all kommt?
Ich merke zunehmend, das diese Schaltung nix für Anfänger ist, obwohl
ich sie gerade dafür so passend finde...:-(
Gruß
Clyde
@Clyde
In Sachen Software etc. kann dir besser Simon helfen, was für einen
Browser nutzt du denn?
Ich habe es mit dem IE6 und Firefox2 probiert und bei beiden Webservern
klappt es mit dem Seiten laden etc.
Die Hinweise keim kompilieren kannst du ignorieren.
Gruß
Thomas
Ich will ja eigentlich nicht den ganzen Thread zu spammen mit meinen
Newbie-Problemen...
Ich nutze den IE7...
Die Warnungen sind also keine Probleme?
Naja, bin schonmal Froh,das die Hardware läuft, zweifelte schon fast an
meinem Löten und meinen Augen :-)
Gruß
Clyde
Hallo Experten
des "kleinen" Miniservers. Besteht die Chance die DS18S20
Erafssungsroutinen zu integrieren oder reicht da der Platz im 168er
absolut nicht. Ich möchte nur ein Gefühl dafür ob es Chancenlos ist oder
schwierig?
Hat das schon jemand versucht?
MfG
Achim
@Sucher
Also ich sage mal es sollte schon noch passen die Routine sollte ja
nicht sonderlich viel Platz brauchen, zur Not halt die Portumschaltungen
raus nehmen dafür ;)
Genau kann das aber nur Simon sagen.
Gruß
Thomas
Hallo,
im Anhang das Ergebnis der Befehls.
Im Shop von Thomas werden praktisch SMD-Löterfahrung vorrausgestzt, aber
von programmieren steht da nichts :o)
SMD ist für mich kein Problem, das habe ich schon beschrieben und daran
hat es dann ja auch nicht gelegen.
Das mit dem Programmieren bzw. Compilieren ist dann doch etwas anders...
Es fängt ja schon bei der Wahl des Programmes an und von den PlugIns mal
abgesehen...
Sorry, wenn ich damit nerve, werde mich bessern!
Gruß
Clyde
Okay, das sieht nach der neuesten Version aus. Ich benutze zur Zeit noch
die Version 4.1.2 (WinAVR 20070525) und hab bisher nicht geupdatet wegen
bestimmter Probleme, die hier auch im Forum nachzulesen sind.
Ich bin mir nicht sicher, aber es könnte hier dran liegen. Was mich aber
wundert ist, dass mein HEX File nicht funktioniert auf dem Bausatz, den
du von Thomas bekommen hast. (Ich hab zwar (noch?) keinen von ihm hier),
aber der Prototyp, von dem er das Platinenlayout hat läuft wunderbar mit
dem HEX File in dem Zip Archiv von meiner Seite.
Wie hoch ist denn deine Versorgungsspannung?
@Simon
Ich hatte ja auf den beiden letzten Webservern dein Hex-File drauf, nur
IP-Adressen angepasst und lief ohne Probleme.
Ich habe den WinAVR-20071221 im Einsatz, an die neue Version gehe ich
auch noch nicht ran ;)
Meine Versorgungsspannung waren 5 und 9 Volt un damit rennt er wie er
soll.
Schick mir bitte noch einmal deine Adresse dann sende ich dir einen
Bausatz in der kommenden Woche raus dann hast du auch die aktuelle
Platinenversion.
Gruß
Thomas
Hallo,
meine Versorgungsspannung ist 5 Volt und 3,29Volt nach dem
Spannungsreglerdes µWeb.
Ich kann auch mal gucken, das ich AVR Studio und WinAVR downgrade, evtl
klappt es dann, wenn es bei WinAVR probleme in der Aktuellen Version
gibt.
Es ist halt komisch, das, was ich compiliere(trotz Makefile) nichts
bringt, aber das HEX von Chris weitestgehend läuft...
Clyde, wenn du doch das AVR Studio benutzt zum programmieren, wofür dann
Makefile? Du kannst in den Projektoptionen alles einstellen.
Und am besten schreibst du dann erstmal ein Programm ala
1
intmain()
2
{
3
DDRC=0xFF;
4
PORTC=0xFF;
5
6
while(1)
7
{
8
asmvolatile("nop");
9
}
10
11
return0;
12
}
und schaust ob überhaupt was passiert (Voltmeter, LED+Vorwiderstand an
PC0-PC5).
Hi,
das Makefile nutzte ich, weil Du es extra online gestellt hast. Und
meine "Einstellungen" scheinbar falsch sind.
Dein Programm werde ich noch testen, muss mir da noch die
Include-Dateien zusammen kramen...
Gruß
Clyde
jaja wrote:
> Ist nicht die Version 20080411 die neueste und 20080402 wurde> zurückgezogen?
Hm, tatsächlich? Müsste man nochmal nachschauen. Könnte aber einiges
erklären ;)
Clyde: In dem ZIP File ist auch eine AVR Studio Projektdatei drin, womit
man direkt kompilieren kann ohne über das Makefile zu gehen.
Als einziges include-file brauchst du <avr/io.h>
Guten Morgen,
habe gestern mal noch WinAVR auf 20071221 geändert.
Simon, Dein Programm sorgt dafür, das alle Pins High sind, 3,29Volt.
Ich denke mal, das es so sein soll in einer Endlosschleife, wenn ich das
richtig verstehe.
Werde nachher mit der veränderten WinAVR nochmal compilieren und gucken
was passiert.
Gruß
Clyde
Hallo,
ich meinte natürlich nur PortC.
Ich habe heute nochmal etwas probiert.
Habe das Zip vom Simon und vom Christian nochmal neu geladen und
praktisch von vorne angefangen. Ohne Makefile sondern mit der
aps-Projektdatei.
Bei Simon´s Sources die IP geändert, build und compile gemacht und
geflashed.
Läuft, bis zu dem Zeitpunkt wo ich mit Modify einen Port einschalten
will.
Port geht zwar an aber dann ist der Server nicht mehr ansprechbar.
Beim Chris seiner Source mit der Blinkenden LED(PCO) funktioniert das
gleiche spiel, nur das ich nach Modify erstmal den IE refreshen muss, um
den aktuellen Status zu sehen, da nach Modify erstmal eine Fehlermeldung
kommt "Seite kann nich angezeigt werden". Aber es läuft weiter und ich
kann weiter Ports schalten.
Wenn ich aber über meinen Tablet per WLAN schalten möchte, dann hängt
sich der MC auf(scheinbar), da die blinkende LED stehen bleibt.
Verbindung wird über FB WLAN mit nachgeschalteten Switch realisiert.Alle
haben eine feste IP, DHCP ist aus.
Bin ich der einzigste mit dieser Problematik?
Ich meine, ich ändere NUR die IP´s. Das eine HEX läuft, das andere nicht
bzw. nicht ganz.
Gruß
Clyde
Benutzt du IE7? Vielleicht gibt es da Probleme mit, wobei ich mir das
nicht vorstellen kann. IE6 habe ich selbst ausprobiert.
Stinkt aber irgendwie schon danach, wenn beim aufrufen über IE7 der
Server abschmiert.
Hast du die Möglichkeit mal Firefox zu benutzen?
Hallo,
IE7 habe ich auf meinem "normalen" PC, auf meine Tablet(WLAN) läuft
Win2K mit IE6.
Aufgrund der "einfachtheit" des Webinterfaces, finde ich das verhalten
auch merkwürdig. Mein Netzwerk habe ich auch mal gechecked, da läuft
alles sauber, schon seit ewigkeiten und den kleine uWeb habe ich DMZet,
damit da garkeine Hindernisse aufkommen in der testphase.
Habe vorhin auch mal den Port gewechselt, weil 8080 auf meinem
Apache-Server freigegeben ist, bringt aber auch keinen Erfolg.
Firefox könnte ich mir auch mal holen, aber was mich verwirrt, ist, das
Dein HEX nicht so will, aber das von Chris, wobei Chris sagt, das er nix
ausser der IP und dem Toggle gändert hat.
Ich raff das nicht, es müssten ja beide funktionieren, das
refresh-problem hätte ich jetzt noch auf den IE geschoben aber so kapier
ich es nicht...
Ich habe Chris HEX heute mal ein paar Stunden laufen gehabt und hin und
wieder was geändert, kein Thema ausser dem üblichen refresh, also hat
die Elektronik scheinbar keine (thermische) Probleme. Deine Schaltung
scheint prima zu laufen.
Compilierungseinstellungen....keine Ahnung, ich nehme es so, wie es es
vorgibt. Und da beides eigentlich identisch sein sollte(bis auf IP und
Toggle LED), sollte es auch nach IP änderung und compilierung
einwandfrei laufen...
Achja, ich habe es mal übers Internet versucht, dank dyndns...nach
modify kommt nichts mehr(IE7), meinen Tablet(IE6) habe ich noch nicht
getestet, er bekommt keine Aktuelle Site (refresh oder IE neu starten)
mehr aber der MC läuft weiter aber nimmt scheinbar die
Aktualisierungsanfrage nicht mehr wahr.
Alles komisch...
Gruß
Clyde
Achso, kurz und knapp, mit IE6 über Tablet(WLAN) schmiert er ab. Nicht
über IE7(LAN).
Sind da evtl. probleme mit der Laufzeit der Pakete oder so möglich?
Hallo,
ich habe jetzt mal Firefox probiert.
Chris HEX funktioniert damit scheinbar einwandfrei.
Da ich selber noch keine Erfahung mit dem Browser habe, fällt mir eine
beurteilung schwer. Er scheint aber langsamer zu sein wie IE beim
Seitenaufbau. Beim uWebserver scheinbar passend, aber im vergleich zu
meinen Favorites langsam und stockend...wie gesagt, ich habe ihn jetzt
zum erstenmal genutzt und kenne ihn daher nicht.
Das Hex vom Simon und das gleiche über WLAN folgt noch die Tage.
Gruß
Clyde
teste doch mal Opera .. ich warte noch auf das Modul, dann kann ich auch
probieren. Firefox (heißt unter Linux iceweasel) ist eigentlich schon
schnell.
Hallo,
beim Portforwarding unter Portfreigabe einfach "Andere Anwendung"
wählen.
Deine IP und den gewählten Port eingeben. Bei Port "von" und "bis" sowie
"an" einfach den gleichen Port eingeben.
Der Port darf nicht für eine andere IP freigegeben sein.
So geht´s bei mir, aber nur mit Mozilla und Chris´s HEX. Simons habe ich
noch nicht probieren können. WLAN mit Mozilla geht auch, Opera habe ich
nicht probiert.
Am Wochenende werde ich mal weiter testen.
Gruß
Clyde
Hallo mal wieder...
Nun habe ich Simons HEX wieder genommen...
Mit Firefox funktioniert es bisher eiwandfrei, mit IE7 hängt er sich auf
wie oben beschrieben.
Woran könnte das liegen? Ich finde Firefox lahm im Seitenaufbau, evtl.
liegt da der Knackpunkt...Aber andere haben kein Problem mit IE, oder?
Aufgrund meiner DVR Anwendung, kann ich nicht dauerhaft zu Firefor
wechseln aber wie kann man das Problem lösen mit dem IE?
Ich will ja auch von überall darauf zugreifen können...
Scheint an deinem System zu liegen.
Ich habe den Server gerade für Dich nochmal angeschmissen und bei mir
läufts auf beiden fast gleich schnell.
Er läuft über nen Router und nen Switch und das Bild ist Ruck Zuck da.
Wenn auch ich das nur wüsste...
Das es bei mir hier irgendwo hakt, schliesse ich definitiv nicht aus.
Nur wo?
Mein Hauptproblem ist erstmal, der unterschied zwischen den Hex-Files
bzw. die unterschiedliche Reaktion.
Die verstehe ich einfach nicht, da ich beide gleichermaßen
öffne,verändere, compiliere und flashe...
Simon- "Absturz" durch IE7, Firefox OK.
Chris- geht so halb bei IE7, Firefox OK.
Firefox ist aber echt nur Bild-für-Bild darstellung bei mir, also
langsam und IE "normal" schnell, im normalem Web.
Bei mir ist es ebenfalls Router-Switch-(Switch, habe 2 Switches
kaskadiert aber auch schon direktanschluss probiert!).
IE6 über WLAN macht auch probleme...
Ich werde am WE mal weiter probieren mit IE6 über LAN usw.
Ich war mal versucht, Tuxgraphic-HEX zu nehmen, bin mir aber nicht
sicher, ob die Portänderung für ENC-Int reicht...
Aber an dem Code kann es ja eigentlich auch nicht liegen, da Chris´s
sein HEX ja wenigstens etwas funktioniert.
Evtl. würde ich mein Modul doch mal verschicken, um technischen Mangel
wirklich vollkommen auszuschliessen...
Gruß
Clyde
Hallo Leute,
ich möchte euch mal bitten, an meinem Webserver rumzuspielen und Eure
Erfahrung mitteilen. Bitte nur GPIO 00-03 nehmen, da die anderen nicht
angeschlossen sind ich dann nix sehen kann.
erreichen könnt ihr den unter http://217.236.189.73:5003
@criuix
ich habe tcp auf Port 5003 freigegeben im Router.
Danke
Gruß
Clyde
> als tip...DDR auch auf 1 setzen, damit die LED´s angehen ;-)
:-) ich habs bei Dir vorhin blinken lassen - Rückmeldung gabs jeweils
erst nach dem refresh, modify hat nicht gereicht (iceweasel).
Hi Clyde,
habs auch eben mal "Blinken" lassen - keine Probleme. Nach Klick auf
>Modify< bekam ich den (von mir eingestellten) Status wieder angezeigt -
keine Abbrüche, kein Refresh nötig.
Ich setzte hier Firefox ein.
Viele Grüße
Chris
Mit Firefox ist es bei mir auch OK.Nur das es langsamer im Aufbau ist.
Bekomme dort auch rückmeldung.(Ausser bei FF refresh, dann meckert er
wegen nem POST Inhalt)
Simons HEX ist da momentan drauf.
Abgestürzt ist er bis jetzt auch nicht.
Könnt Ihr mal IE6/7 ausprobieren?
Gruß
Clyde
Hat jemand einen Safari Browser installiert? Der verhält sich
merkwürdig. Im Wireshark sehe ich die komplette HTTP-Unterhaltung, wie
in jedem anderen Browser, allerdings sagt der Safari nach ein paar
Sekunden "unknown error".
Ich glaub ich hab deinen Server gerade mit meinem IE6 zum Absturz
gebracht, keine reaktion mehr, sowohl im FF also auch im IE6. Wollte
Port 1 toggeln .... im Firefox wars kein problem, IE6 lässt ihn
offensichtlich abschmieren
Das mit dem IE6, bei dem einen geht´s beim anderen nicht ist ja schonmal
interessant...
Er ist mir also definitv nur 1mal bisher abgeschmiert.
Firefor ist also definitiv ok, aber IE nicht...woran könnte es liegen?
FF mit 2-4 Sekunden ist also normal, gut zu wissen, da ich keine FF
erfahrung habe, dann ist es bei mir wohl normal.
Naja, evtl. kommt man der Sache ja noch auf den Grund...
Was anderes, hat schon jemand etwas mit Radio-Buttons oder Checkbox(en)
realisiert als Http-bedienung?
Daran versuche ich mich gerade :-D
Naja, mal gucken, was sich noch so ergibt...
Auf jedenfall schonmal ein Lob an Simon, das Projekt gefällt mir(sonst
hätte ich es ja nicht gekauft :-) ) und für die umfangreiche Hilfe und
Unterstützung.
Gruß
Clyde
Hallo nochmal...
kurze Frage, wenn ich einen Eingang High legen, sollte/müsste da nicht
auch in der Spalte "Port" eine grüne 1 erscheinen oder ist es gewollt,
das nur der entsprechende Pin eine grüne 1 zeigt?
Guß
Clyde
Hallo,
heute ist der Bausatz angekommen - nachher mal löten.
Kleiner eagle-Tipp: die Schriftgröße der Beschriftung kann man mit
"change size" kleiner machen, dann läßt sich das besser zum Bauteil
positionieren und wird übersichtlicher. Dann passen auch die Werte noch
in die Bauteilansichten des boards.
Und 0603 läßt sich genauso gut löten wie 0805, hätte besser gepaßt für
die kleine Platine. Ich hab hier noch eine SMD-Lötanleitung:
http://www.antennenkoppler.de/doku.php?id=smdloeten
Hallo mal wieder :-)
Ich habe jetzt mal wieder rumgespielt und versucht die Oberfläche meinen
Wünschen näher zu bringen.
Witziger weise ausgehend von dem (bei mir ja problematischem) Hex von
Simon.
Wo ich vorher probleme mit dem IE7 hatte, habe ich jetzt wenigstens die
möglichkeit, nach 2maligen Refresh, weiter zu schalten ohne absturz des
uWeb. Also ähnlich wie bei Chris´s seinem Hex(problematik s.o.)
Kann es sein, das es da probleme gibt wegen fehlender w3c definierung?
Ich weiß nicht, ob man da jetzt einfach noch großartig was reinschreiben
kann(JS wäre auch schön, sprengt hinterher vermutlich den Speicher).
Momentan sieht es so aus bei mir http://217.236.165.230:5003
Wenn ich über die externe IP gehe, will mein IE eine Datei
speicher!?!?!Hat das noch wer?
Gruß
Clyde
Ich habe IE7 nicht ausprobiert und glaube auch nicht, dass es Probleme
gibt, wenn eine W3C DOCTYPE Definierung fehlt. Der Content-Type ist auf
text/html eingestellt. Verstehe auch nicht, warum der IE7 da etwas
herunterladen möchte.
Die Sache mit dem zweimaligen Refresh klingt irgendwie verdammt komisch,
genau wie die anderen Probleme. Irgendwie bin ich ziemlich ratlos.
Kannst du mal einen (Wireshark-)Dump anhängen, wenn du die Seite remote
aufrufst?
So, hier mal ein Dump. Hoffe der ist korrekt so...
Habe nun mal über meine Dyndns, über direkte Dyn-IP Eingabe und Lokal
etwas rum gespielt.
Den Fehler mit der Datei konnte ich nicht reproduzieren...
Das mit dem Refresh liegt wohl am IE, nach Modify kann er die Seite
nicht anzeigen, beim ersten Refresh lädt er sie wohl aus dem Cache und
erst beim 2ten Refresh lädt er sie nochmal neu.
Leider kann ich nicht groß helfen, mit HTML setze ich mich auch erst
frisch auseinander, gibt halt viel zu lernen...von C mal abgesehen :-)
Ich werde einfach weiter probieren, evtl. hat ja jemand ähnliche
Problematiken. Nur mit Firefox klappt es einwandfrei...
217.236.159.139:5003 ist die Aktuelle Dyn-IP und die 192.168.178.15 im
Dump ist lokal, nur mal zur erklärung.
Vielen Dank nochmal für die Geduld mit mir.
Gruß
Clyde
Wo ist der uWebSrv denn jetzt genau abgestürzt? Ich sehe nur, dass du da
ein paar mal die Seite von ihm anforderst. Und das läuft wunderbar. Wie
geschmiert quasi ;)
Beschreib doch mal genauer was der Internet Explorer 7 macht und was du
vorher gemacht hast. Irgendwie werde ich aus deinen Angaben bisher nicht
schlau.
Hi,
wenn ich das alles so genau wüsste...
Im anhang das eben erzeugt Dump.
Nach mikrocontroller.net eben den uWeb aufgerufen und verändert mit
modify.
Wieder die refreshaktion.
Was man da sonst sieht, kann ich nicht "sehen".
Wie gesagt, das mit dem File speichern kam beim ersten Dump auch nicht
und gerade auch nicht.
Komme mir gerade wie doof vor...vorallem, weil es bei ersten Dump, bis
auf den Refresh-Akt lief.
Abgestürzt ist er mir nach meinen Modifikationen nicht mehr...
Werde gleich nochmal das Original drauf werfen und nur die IP ändern,
wie am anfang und dann mit Shark aufzeichnen.
Gruß
Clyde
So, hier im Anhang, etwas länger, der Dump mit dem Zugriff IE7 auf
Hex-Simon.
Nur IP geändert auf 192.168.178.15 auf Port 8080. Sonst nichts!
geändert.
Keine Reaktion mehr bei IE7 und danach, versucht mit Firefox darauf zu
zu greifen... Ohne Erfolg.
Evtl.ist das aufschlussreicher...
Auch kein blinke der Grünen LED mehr. MC scheint nun zu hängen...
Evtl. Hilfts...
Sehr gut, der Log ist besser.
Der Punkt, an dem der Prozessor in einer Schleife hängen bleibt
geschieht, während er nach den 2xCRLF sucht, vermute ich mal. Oder kurz
danach. Denn nach dem Paket mit den POST-Daten scheint der Webserver
nicht mehr zu reagieren.
Der Fehler liegt irgendwo in dem Code, der POST Daten entgegennimmt. IE7
scheint also irgendwo einen kleinen Unterschied in der Art, wie die POST
Message aussieht gegenüber anderen Browsern, was ich jedoch anscheinend
nicht beachtet habe.
Leider hab ich meinen uWebSrv im Moment nicht im betriebsfähigen Zustand
:|
Thomas, hast du noch welche zum Verkauf? ;)
EDIT: Ich habe eine Vermutung woran es liegt: Beim IE7 ist der
POST-Datenbereich (wo also die Information über die Pins drinsteht) auf
zwei Pakete verteilt. Und zwar zufallsbedingt (es kommt gerade so aus).
Mein Code geht aber davon aus, dass die kompletten POST-Daten in einem
Paket vorliegen. Da werde ich wohl noch umstrukturieren müssen. Aber
vorher brauche ich erstmal wieder eine funktionierende Version des
Webservers.
@Simon
Habe gerade wieder Platinen bestellt, sollten in ca. 2 Wochen da sein.
Schick mir doch noch einmal deine Adresse bitte damit ich dir einen
Bausatz schicken kann wenn wieder welche da sind. Ich habe auch keine
fertigen mehr und halt auch keine Bausätze.
Gruß
Thomas
DDDAAAAANNNNKKKKKEEE!!!!
Schön, das ich doch nicht so blöd bin :-)
Hauptsache der "Fehler" wird auch für andre ausgemerzt!
Was auch immer...
Ich werde gucken, das ich den Wireshark mitlaufen lasse. in der
"Hoffnung" das der File-Download nochmal kommt. irgendwoher kommt das ja
auch und anderes ausser Pins ein und ausschalten mache ich auch nicht...
Gruß
Clyde
... mal noch "so" ne Frage, der USB-Progger aus'm "shop it-wns" ist ja
der hier: http://www.embedded-projects.net/index.php?page_id=148 - aber
da steht nix von Pegelwandlung - also für das Projekt leider nicht
verwandbar, oder?
*** TUUUUUUUT *** freu ***
Geringe Anpassung am makefile UND Korrektur des Dateinamens in:
Net/TcpApps/HttpD.c und Hardware/GPIO.c auf Gpio.h - da unter Linux die
Gross-/Kleinschreibung von Dateinamen unterschieden werden, CC = unter
Linux keine .exe und avr-size unter Linux kennt kein -C (was das auch
immer bedeuten soll) und das hex spielt - unter ip/8080 ansprechbar.
Allerdings führt ein modify im Brauser bei mir auch zur fehlerhaften
Zeilenausgabe danach, geschaltet wird aber.
Der HTML-Header vor "value='0' maxlength='1' size='1'></td><td
class='s1'> .... " fehlt dann ... probiere ichs mit opera, so kommt
timeout - ein reload funktioniert dann wieder ...
Und jetzt eine neue Frage, wie kann ich bidirektional Daten austauschen,
würde die 8+6 Bit gerne zur Datenübertragung nutzen. Die
Webserverfunktionalität ist dafür wahrscheinlich nicht geeignet, oder ?
Noch eine Anmerkung - lustig die Quarzheizung ist
Und noch ein herzliches Danke an Simon, goiles kleines Teil, super
kompakt!
LG
Vajk
@Vajk
Der Progger ist wie jeder andere verwendbar wenn man einen Pegelwandler
(gibt es als Zubehör) dahinter hängt. Dann halt noch einen kleinen
Adapter von 10polig auf 6polig basteln, kann man ja immer gebrauchen,
und fertig ;)
Der Pegelwandler kann auch mit anderen Proggern genutzt werden da er
einfach nur 5V auf der einen auf 3,3V auf der anderen Seite anpasst (und
umgekehrt), wer oder was die 5V Signale liefert ist dem Pegelwandler
egal solange die Belegung der 10poligen Kabel denen des 10poligem Atmel
ISP entspricht.
Siehe
hier:http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#Pinbelegung
Gruß
Thomas
Danke für die Blumen :-) und auch Danke an Clyde zur Aufklärung des
Fehlers!
Ich werde das mit Thomas mal regeln und mich dann mal an die Beseitigung
setzen.
@Vajk: Danke für den Hinweis mit der Groß/Kleinschreibung. Ist mir
tatsächlich nicht unter Windows aufgefallen :-) Makefile habe ich auch
angepasst. Die -C Option von dem avr-size wird glaube ich durch einen
Patch hinzufgefügt. Ich weiß nicht mehr genau was da ablief, aber es
kann gut sein dass du die Option nicht hast (Die Option ermöglicht es
Prozent-Angaben anzeigen zu lassen AFAIK). Berichtige mich, wenn dies
nicht so ist. Der Fehler sollte aber nicht zu tragisch sein.
Zu dem Problem mit deinen "Brauser": Am liebsten wäre mir ein Hex-Dump
(Wireshark, oder was auch immer), damit ich sehen kann, was genau in die
Hose geht.
Danke an Alle dann nochmal :D
PS: Hat schon jemand weitere Infos bzgl. des ATMega328?
Hallöchen,
Ich habe es doch noch geschafft behelfsmäßig einen uWebSrv
zusammenzubauen. Zumindest hat der Behelf gereicht um den Webserver zu
reparieren.
Auf meiner Seite ist ein neues ZIP Archiv online:
http://klinkerstein.m-faq.de/Download.php?content=MikroWebServer&dl=uWebSrv.zip
Ich habe die Struktur des HTTP Dienst etwas verändert. Unter anderem
auch das Parsing.
Rückmeldung ob es funktioniert wäre nett :-) Und falls es das nicht tut,
am liebsten wieder Wireshark-Berichte.
Hallöchen zurück :-)
So, das scheint jetzt zu funktionieren. Im Original mit geänderter IP
auf gleichem Port.
Kein Absturz (WLAN muss ich noch probieren), beim refresh die Frage nach
dem wiederholten sende dürfte bei POST normal sein. Prima Sache...
Ich glaube aber jetzt, das ich mit einem Persönlichen Problem komme.
In der alten Source habe ich mir das Webinterface angepasst, und damit
klappt es nun nicht auf anhieb...
Nach "Modify" kommt nix mehr, erst nach einem Refresh.
Da ich HTML Neuling bin, habe ich evtl. was übersehen.
Im Anhang mal mein Wireshark...
...und hier im Anhang mal meine veränderte Source...
Ich habe das einfach von der alten HttpD rüber kopiert zur neuen...
OK, ehrlich gesagt, bin ich bei den Variablen noch nicht so
durchgestiegen und witziger weise, klappt meine Menüveränderung jetzt
auch nicht mehr mit Firefox...:-(
Die funktion wird übertragen und ausgeführt, aber die Seite nicht
automatisch upgedated...
Aber wie gesagt, das Original vom Simon macht jetzt im IE bei mir keine
Probleme mehr!
Vielen Dank,
Gruß
Clyde
Super, dass der Originalcode erstmal funktioniert. Deine Probleme können
durchaus davon kommen, dass ich ein bisschen an der Struktur gebastelt
habe.
Die Warnung, bei einem Refresh nach einem POST ist völlig normal (je
nach Browser).
Ich schaue mir deine Dateien mal bei Gelegenheit an :-)
Frage untergegangen:
Wie kann ich bidirektional Daten austauschen,
würde die 8+6 Bit gerne zur Datenübertragung nutzen.
Die Webserverfunktionalität ist dafür wahrscheinlich nicht geeignet,
oder ?
Ja, der uip Stack unterstützt auch UDP. Für UDP ist auch ein
"Application Hub" vorhanden im uip Ordner, wo du eine UDP Applikation
einbauen kannst. Du kannst auch den Webserver herausnehmen dann um den
Speicher freizukriegen.
Hallo,
ich versuche es mal in Worten zu fassen.
Die ersten 10 GPIOs möchte ich nur zum Schalten nehmen, also DDR = 1 und
dann mit den Radio-Buttons An oder Aus schalten, mit Statusmeldung.
Und die letzten 4 möchte ich als Eingänge zur Statusmeldung nutzen.
Da ich noch nicht durchgestiegen bin, wo die Variablen herkommen und
hingehen, habe ich das versucht in HTML zu lösen.
Mit Hilfen von Google und entsprechenden HTML Kursen ;-)
Aber da stehe ich halt auch noch am Anfang, deswegen ist es für leute
mit kenntnissen sicher recht *** ;-)
Ist halt "learning by doing" im "Try and Error" Format :-)
Mehr bei bedarf nach Feierabend...
Gruß
Clyde
Clyde wrote:
> Hallo,>> ich versuche es mal in Worten zu fassen.> Die ersten 10 GPIOs möchte ich nur zum Schalten nehmen, also DDR = 1 und> dann mit den Radio-Buttons An oder Aus schalten, mit Statusmeldung.> Und die letzten 4 möchte ich als Eingänge zur Statusmeldung nutzen.>> Da ich noch nicht durchgestiegen bin, wo die Variablen herkommen und> hingehen, habe ich das versucht in HTML zu lösen.> Mit Hilfen von Google und entsprechenden HTML Kursen ;-)> Aber da stehe ich halt auch noch am Anfang, deswegen ist es für leute> mit kenntnissen sicher recht *** ;-)> Ist halt "learning by doing" im "Try and Error" Format :-)
Ah, Okay. Naja, das große Problem ist halt, dass du für die Sache nicht
nur HTML brauchst, sondern auch nen Gefühl dafür haben musst, wie du
HTML Quelltext mit den (dynamischen) Variablen ausm Code verbindest.
Bisher läuft das so, dass "%i<nn>" im HTML-Quellcode durch den Wert (0,
1) von GpioGetPin(<nn>) ersetzt wird. "%d<nn>" durch GpioGetDdr(<nn>)
und "%o<nn>" durch GpioGetPort(<nn>). Dafür sorgt die CopyHtmlData (oder
so ähnlich) Funktion.
Das ist die eine Richtung.
Die andere Richtung geht über das POST Interface. Alle Elemente im
HTML-<form> haben einen Namen und einen Wert, der per POST (also im HTTP
Header des Browsers) in Form von "Name1=Wert1&Name2=Wert2..." an den
uWebSrv zurückgeschickt wird, der dies wiederum wieder parst und
"%d<nn>" in GpioSetDdr(<nn>) und "%o<nn>" in GpioSetPort(<nn>) umsetzt.
Zu beachten ist hierbei aber, dass der POST-Parser nach einer bestimmten
(zur Kompilierzeit festgelegten) Anzahl von Zeichen aufhört. Damit spare
ich mir das weitere Parsen von dem HTTP Header des Browsers. (Das
#define dazu steht in HttpD.c ganz oben irgendwo). Falls du also
Änderungen vornimmst, musst du auch den Parameter anpassen. Die Länge
des POST Headers kannst du mit Wireshark oder Firefox+Live HTTP Headers
Addon herausfinden und dort eintragen.
Ha, dann wird das vermutlich der punkt sein, mit dem Parser :-)
Werde ich nachher mal ausprobieren.
Danke auch für die weitere Erklärung, das hilft mir sicher sehr, denn
ich habe mich schon gefragt, wo da die Schnittstelle ist :-)
Prima! Danke!
Ich hoffe das klappt dann, dann habt ihr ruhe vor mir ;-)
Danke!
Gruß
Clyde
Hallo wieder :)
Der neue Sourcecode funktioniert auch bei IE6 auf W2K über WLAN.
Super Sache!!!
Bei meinem Persönlichem Menü hängt es zwar noch, aber die aktuelle
Version von Simon läuft prima!!!
Wenn meine Version klappt, stelle ich sie gerne hier rein.
Falls jemand schon eine abgewandelte Vrsion hat, würde ich mich
natürlich auch drüber freuen ;-)
Gruß
Clyde
Clyde wrote:
> Hallo wieder :)> Der neue Sourcecode funktioniert auch bei IE6 auf W2K über WLAN.> Super Sache!!!
Super.
> Wenn meine Version klappt, stelle ich sie gerne hier rein.> Falls jemand schon eine abgewandelte Vrsion hat, würde ich mich> natürlich auch drüber freuen ;-)
Wenn du nicht weiter kommst, stell deinen bisherigen Quelltext mal rein
;)
Ja, das ist wirklich super! ;-)
Vielen Dank für die Hilfe, aber ich hänge derzeit ja nur im HTML Code
und versuche es darüber passend zu machen.
Ich hoffe mal, das es mit Google machbar ist...
Nur etwas über HTML in verbindung mit MC´s zu finden ist schwierig ;-)
> Nur etwas über HTML in verbindung mit MC´s zu finden ist schwierig ;-)
Kleine Info - das was der WebServer sendet ist HTML-Code - sprich eine
ganz "normale" Seite, wie die Billionen von Seiten des Netzes, die Du
Dir mit (vermutlich) jedem Brauser angucken kannst (typisch: Quelltext
anzeigen).
Das Beispiel printf("Hello World") könntest Du vermutlich kennen.
Du mußt also nix anderes tun, als ein printinsnetz(Html_Code); machen.
Und eine gute Info über HTML-Code findest Du hier:
http://de.selfhtml.org/
Für ein zentriertes "Hello World" mußt Du also nix anders machen als
folgenden Text Richtung Internet schreiben:
printinsnetz("<html><body><center>Hello World</center></body></html>");
Am einfachsten baust Du Dir also erstmal eine Seite in normalem
HTML-Code und überträgst das dann in die
Textausgabe_Richtung_Internet(t).
Das nur so als Konzept/Idee/grundlegende Info - ist wirklich easy!
Viel Erfolg :-)
Vajk
Anmerkung des Verfassers:
"Brauser" ist (m)ein Scherz
printinsnetz ist eine Funktion, die den Text eben aus dem uC raussendet
Zur Verwirrung: php macht auch nix anderes, als eben programmgesteuert
HTML-Code zu erzeugen ... mit php, könnte man auch einen
uWebServer-Emulator schreiben ....
Guten Morgen,
vielen Dank für die Ausführung.
Sowohl "Hello World" und auch Selfhtml kenne ich schon;-)
Selfhtml ist meine derzeitige Lektüre.
Mein Problem ist die einbindung der Variablen des uWeb im HTML ;-)
Und da finde ich nicht viel drüber, mal beschreibungen, die sich nicht
umsetzen lassen und dann mal wieder aussagen, das Variablen in HTML
nicht vorkommen sondern Javascript benötigen.
an JS will ich erstmal noch nicht, eins nach dem anderen halt.
Meine letzten Programmiertversuche sind schon fast 20Jahre her und waren
auf nem C64 ;-) HD44780 am Userport.... lang lang ists her :-D
Gruß
Clyde
> Mein Problem ist die einbindung der Variablen des uWeb im HTML ;-)
Was das Problem?
int uWebCounter = 7;
printf("<html><body><center>Hello World Nr. %d</center></body></html>",
uWebCounter);
und schwupps, steht eine Variable im HTML-Code.
Oder anders gesagt, beschreibe Dein Problem ganz genau, dann kann man(n
oder frau) auch ganz genau antworten oder Tipps geben ;-)
Im Prinzip stimmt das, was Vajk sagt, aber das mit printf ist natürlich
nicht so ganz richtig ;)
Das "Verfahren" was beim uWebSrv angewandt wird, ist kein bestimmtes
Verfahren, was man irgendwo nachlesen kann, sondern das ist von mir dort
eingebaut worden.
Sprich: Der uWebSrv ist von mir darauf limitiert worden nur Seiten aus
dem PROGMEM heraus zu laden. Das heißt, dass die komplette Webseite als
Quelltext im ROM des Mikroprozessors stehen muss.
So, jetzt habe ich noch dieses besagte Verfahren eingebaut, was
automatisch beim kopieren des Quelltextes in den uip-Buffer nach
%-Zeichen sucht und an der Stelle das Ergebnis von den Gpio Funktionen
einsetzt.
Das ist händisch von mir so eingebaut worden und diente mehr oder
weniger auch nur der Demonstration als einem höheren Zweck. Was aber
nicht daran hindern soll, den uWebSrv-HttpDaemon weiter auszubauen.
Und eben weil das Innere des Http-Daemons nur eine Demonstration für den
uWebSrv (der nach meiner Definition nicht unbedingt einen Http-Daemon
haben muss ;)) relativ schlecht dokumentiert ist, habe ich hier ja schon
meine Hilfe angeboten bzgl. wie du dynamische Variablen in den Code
einbauen willst.
Dazu wirst du nämlich nichts im Internet finden :D
Hallo,
selfhtml hilft ja schon gut weiter @vajk.
Aber der uWeb mag meine
"<input type='radio' name='o00' value='1'>Ein <input type='radio'
name='o00' value='0'>Aus"
Zeile nicht mehr(lädt nicht fertig), nach dem die Funktionierende Source
kam. Vorher klappte es, mit der nicht richtig funktionierende Version.
Das verstehe ich halt nicht ganz.
Da ich Variablenzuweisungen bisher nur als "Q=1" kenne und dies
natürlich nicht geht, habe ich bei der Zuweisung des DDR-Wertes einfach
"<input type='hidden' name='d00' value='1'>%d00"
So wurde DDR nach dem ersten modify eingestellt und gleichzeitig durch
das CSS markiert. Das Funktioniert auch in dem neuen Source.
Was den Parser angeht, es wird ja jetzt nicht mehr übertragen, daher
half ein verändern des Wertes auch nicht, so meine
erkenntnis/vermutung...
Eine Funktion mit "IP:Port:DDR:Pin" zum schalten ist sicher auch nett,
aber da wird es mit der Statusabfrage sicher schwierig.
Wie auch immer, Deine Demonstration ist im Prinzip das, was ich brauch,
nur halt mit Buttons, damit ich es mit einem Touchscreen einfacher habe
;-)
halt mit Rückmeldung, was an ist und was aus ist.
Im C Code möchte ich noch nicht rumwühlen, da fehlt mir einfach die
Ahnung. HTML sehe ich da als Leichter und für mich als Mittel zum Zweck.
Also, um es einfach fürs Verständnis zu machen :-)
Ich stelle mir ein Eingabefenster vor, wie jetzt, aber wo ich per
"Knopf" die auf Ausgang gestellten Ports ein bzw. aus schalte und die
auf Eingang geschalteten Ports den Zustand erkenne. Es reicht mir ja,
wenn ich 1 und 0 mit Rot und Grün sehe :-) und die definition des DDR
möchte ich im HTML festlegen...
So far so good...:-)
Gruß
Clyde
Hallo,
könnte jemand mal die Input-Zeile mit den Radio-Buttons ausprobieren?
Ich glaube, das der " " nicht gemocht wird, ohne klappt es
scheinbar...
Gruß
Clyde
Ich glaube du wirst nicht um das Ändern des Codes drumherumkommen, wenn
du die Ausgänge einzeln schalten willst, übrigens.
Aber aus deinem letzten Post werde ich auch nicht so wirklich schlau :-)
" " ist übrigens einfach nur ein Html-Spezialzeichen für ein
Non-Breaking-Space. Also ein nicht umbrechbares Leerzeichen.
Hallo nochmal...
könnte jemand mal die Source im Anhang ausprobieren und mir schildern,
was bei ihm passiert.
Das   scheint es nicht (nur) zu sein.
So, wie es jetzt ist, muss ich nach dem schalten nochmal refreshen.
Auch den Parser auf 177 zu setzen( o(nn) ist ja 2mal aufgeführt obwohl
es ja dieselbe Variable ist) hat nichts verändert.
Evtl. den Parser noch weiter herauf setzen?
Gruß
Clyde
Hat sich wohl überschnitten :-)
Ja, das   sollte jau auch ein Space in der Zeile sein ;-)
Ich hatte zu diesem Zeitpunkt nur die GPIO 00 geändert mit den
Radio-Buttons und dann mal mit und dann ohne   probiert. Da war ich
aber zu voreilig...
Nachdem ich die ersten 10 GPIO´s mit dem Radio-Button versehen hatte,
stehe ich vor o.g. Problem...
Es läuft sonst, mit meinen verönderungen 100%, nur die Radio-Buttons
werden nicht gemocht. Vermutlich, weil ich ja einmal die Input-Abfrage
mit 1 und dann nochmal mit 0 mache um die Wahl zu haben...
Komisch das ist ;-)
Gruß
Clyde
Clyde, schau dir mal die HttpD.c im Anhang an. Das sollte so ziemlich
das sein, was du willst. Einziger Nachteil: Für den Status der
Checkbuttons beim Laden der Seite musste ich Javascript einsetzen.
Wow!!!
Danke!!!
So habe ich mir das gedacht :-D
Ich wollt Dich jetzt nicht mit der Umsetzung belästigen oder
auffordern!, aber Danke!, das Du es gemacht hast
Mein Weg wäre wohl noch sehr weit gewesen...auch wenn er für
Spezialisten wie Dich kein Problem ist ;-)
Javascript ist kein Problem, nur ICH hätte mich da jetzt noch nicht ran
gewagt, weil ich erstmal HTML lernen möchte und ebenso auch C.
Das mit den "vormarkierten" Buttons war sogar eine Wunschvorstellung von
mir;-)
Mal gucken, ob ich verstehen lerne, was Du gemacht hast. Eine
Javascript-Seite habe ich schon aufgetan, die einiges beschreibt.
Mann, sie lädt sogar schnell!!!
DANKE!!! nochmals!
Prima Sache, auch wenn ich, scheinbar, recht "anspruchslos" in der
Nutzung des uWebservers bin :-)
Gruß
Clyde
Kein Problem, war ja nur eine Fingerübung für mich ;) Wie gesagt benutzt
die Seite ein wenig Javascript. Das heißt u.a. dass der Start-Wert der
Optionbuttons erst eingestellt wird, wenn die Seite komplett fertig
geladen ist. Außerdem darf im Browser das Javascript nicht deaktiviert
sein.
Trotzdem Danke!
Ist ja nicht selbstverständlich, das sich jemand die Zeit nimmt:-)
Ich werde sicher jetzt OT, möchte aber gerne wissen, ob ich das richtig
interpretiere und meine Leserei wirklich weiterhilft :-)
Wenn ich das richtig sehe, dann werden erst alle 10 Werte durch die
Schleife eingelesen wenn die Seite geladen wird(onload) was Du ja im
Prinzip oben geschrieben hast und dann verglichen in der "If Else".
Die zu lesenden Variablen sind mit var definiert, das heisst, wenn ich
jetzt aller 14GPIOS zum schalten nehmen will, müsste ich diese in die
var output setzen und die Schleife von 0 bis 13 zählen lassen, richtig?
Und natürlich die Tabelle entsprechend ändern.
Was mich etwas stutzig macht, ist die IF-Sache...
Wenn i ==1 dann o0+i gleich 0 aber ansonsten(else) o0+i gleich 1?
Ich hätte jetzt eher gedacht, 1=1 und 0=0 und dementsprechend dann die
Buttons "ge"checked...
OK, mit Javascript hatte ich noch nix am Hut aber das wäre jetzt mein
Verständnis gewesen :-) und mit document.irgendwas kann ich auch noch
nix anfangen...
Gruß
Clyde
Clyde wrote:
> Was mich etwas stutzig macht, ist die IF-Sache...> Wenn i ==1 dann o0+i gleich 0 aber ansonsten(else) o0+i gleich 1?> Ich hätte jetzt eher gedacht, 1=1 und 0=0 und dementsprechend dann die> Buttons "ge"checked...
Nene, so einfach geht das nicht. mit "o0+i" bastele ich den namen der
Checkboxen zusammen und hol mir eine Javascript Referenz per
document.getElementsByTagName(...). Diese Funktion wiederum liefer ein
Array (Es kann mehrere Elemente mit dem gleichen Namen geben).. Und dann
wird entweder das erste Element mit dem Namen (On Check) oder das zweite
(Off Check) entsprechend gesetzt.
Simon K. wrote:
> AVR ISP mkII
tnx ... wieso verkauft Tanter Reichelt den für 280 Euro, wenns den bei
embedit für 45 Euro gibbet - der ist doch identisch, oder?
Und der "USBprog - Open-Source" würde mir besser gefallen, aber geht
wohl nicht ohne Adapter ...
Oder?
Simon K. wrote:
> Der ist das.
...
> 280€ kostet vermutlich das JTAG ICE mkII
Ah, Danke - wow Tante R hat eine "nichtverfügbarkeitsinformation" - wow
LG
Vajk
@Clyde - könntest DU Dich hier mal anmelden, damit man Dir auch ein PN
schicken kann.
Du hast den CrispAVR-USB - funktioniert der auch mit Spannungserkennung,
wenn VCC auf der ISP nicht beschaltet ist?
@Simon K - sie selbe Frage, was wenn VCC nicht beschaltet ist?
VCC am ISP Stecker ist beim AVR ISP mkII (und eigentlich allen anderen
Atmel Programmiergeräten) unbedingt nötig, da diese einen
Spannungswandler beinhalten und diese VCC-Spannung die Spannung der
Zielschaltung vorgibt in der programmiert werden soll.
Billige(re) Programmiergeräte haben meistens keinen Pegelwandler drin
und programmieren fest mit 5V oder 3,3V
Hallo,
nun bin ich auch angemeldet. Hätte ich eh gemacht, hier gefällts mir ;-)
Ich kann Die leider nicht sagen, ob er auch ohne VCC auf dem ISP
funktionier...ist mein Erster Atmel mit dem 6pol. ISP
Bei meinem Ersten "Projekt" hatte ich noch nen 5pol. Parallel adapter,
passte auch da 5Volt.
Gruß
Clyde
Ich warte noch auf den mega328 ;) Bei Digikey ist er gelistet, wird aber
nur auf Anfrage geordert (lagerbestand 0). Ist der dann schon verfügbar
oder einfach nur schon mal privisorisch gelistet?
Tja, ich habe bei unserem Großhändler auch mal angefragt, die sagten mir
was vom 3ten Quartal, wo der 328 kommen soll...
Evtl. würde ich mir nämlich nen 2ten uWeb zulegen und dann mit dem 328
ausstatten :-D
Clyde H. wrote:
> Tja, ich habe bei unserem Großhändler auch mal angefragt, die sagten mir> was vom 3ten Quartal, wo der 328 kommen soll...> Evtl. würde ich mir nämlich nen 2ten uWeb zulegen und dann mit dem 328> ausstatten :-D
Hoffen wir es :D Ich warte auch noch auf den Mega328. Eventuell gibt es
dann eine SD-Kartenerweiterung. Versprechen kann ich aber nichts ;)
Hey, SD-Karte hört sich gut an, vor allem, wenn die Website dort
abspeicherbar ist:-) Dann flashe ich den Speicher vom ATM168 nicht noch
kaputt bei meinen versuchen :-D
Ich hab heute ein wenig mit WANem herumgespielt und mal den Webserver
auf verlorene Pakete und doppelte Pakete getestet.
Dabei ist jetzt die Version 1.2 entstanden, wo die HTTP Applikation in
Sachen Retransmit verbessert wurde. Der Webserver ist nun also komplett
TCP konform.
http://de.klinkerstein.m-faq.de/index.php/MicroWebServer
Ok, ich mal wieder :-)
Was verstehe ich jetzt unter TCP konform?
Und, was mir wichtig ist ;-) kann ich die abgewandelte HttpD.c von Dir
einfach in 1.2 übernehmen?
Gruß
Clyde
PS: Habe momentan kein Programmierkabel da...
Clyde H. wrote:
> Ok, ich mal wieder :-)> Was verstehe ich jetzt unter TCP konform?
Das heißt prinzipiell, dass der uWebSrv jetzt ein vollkommen konformer
TCP Server ist. Genau so, als würdest du einen Apache Webserver
ansprechen, wie der, der mikrocontroller.net hostet. Nur langsamer.
> Und, was mir wichtig ist ;-) kann ich die abgewandelte HttpD.c von Dir> einfach in 1.2 übernehmen?
Die HttpD._c musst du in HttpD.c umbenennen (und die alte HttpD.c
löschen oder so). Dann hast du die Webapplikation mit den 10 Ausgängen
und 4 Eingängen wieder.
Ich hab uip_rexmit() implementiert. Da stand vorher nur uip_abort() drin
;) Jetzt wird korrekterweise das zuletzt ausgegebene Paket erneut
gesendet. (So wie der uip-Stack es verlangt)
moin Simon,
hast du schon deinen 328 schon bekommen ? Hab meine schon 5 Monate
zuhause liegen und noch nicht dazugekommen was zu machen :/. Tja
beruflich geht einfach vor g
Aber wenn du die SD Karte einbindest .. muss ich es dann doch auch
wieder mal Angehen gg
hehe ;) hab zwar 10 stück aber zuviele kann man nie haben gg (sry) ^^
die hab ich direkt von atmel bekommen ;) musst auch noch unterschreiben
und blah (hatten irgendwie vertriebsprobleme damals gg) aber naja hab
se bekommen gehabt so garnoch recht günstig.
Manuel Kauf wrote:
> moin Simon,>> hast du schon deinen 328 schon bekommen ? Hab meine schon 5 Monate> zuhause liegen und noch nicht dazugekommen was zu machen :/. Tja> beruflich geht einfach vor *g*
Woher hast du die denn, wenn man fragen darf? ;)
EDIT: Grad gelesen. Wie hast du die denn bei Atmel bestellt? per EMail?
Hm..
hehe ne ich hab 2 leute bei atmel einen in vertrieb deutschland und
einen in norwegen (hab beruflich mit denen zu tun) und ja g.
Brauchst einen Simon ?
Manuel Kauf wrote:
> hehe ne ich hab 2 leute bei atmel einen in vertrieb deutschland und> einen in norwegen (hab beruflich mit denen zu tun) und ja g.>> Brauchst einen Simon ?
Auf kurz oder lang habe ich mir den schon ausgesucht. Die nächste
Version des uWebSrvs soll mit dem Mega328 bestückt werden. Aber was
nützt mir ein Mega328 wenn der Rest den noch nicht bekommen kann ;)
Manuel Kauf wrote:
> wie rest noch nicht bekommen kann ? *gg*>> was fehlt den zum glück ?
Na im Laden ist er noch nicht erhältlich. Und ich glaub nicht jeder hat
so einen Draht zu Atmel wie du ;)
noch nicht ? g
öhm umguck *gg*
naja wie gesagt könnte dir einen zur Verfügung stellen wenn du magst ;)
wie gesagt .. hab die teile schon 5monate rumliegen hab ma kurz getestet
soweit fein aber halt keine zeit :/ deswegen wenn du da etwas zeit
hättest und weiter basteln würdest könntest da schon einen ham ;)
Huhu,
ich wieder mit meinen Problemen...:-(
Ich hänge wohl wieder am Parser...
Ich möchte gerade 9 Outputs und 5 Inputs generieren.
Die Tabellenänderung inkl. der abänderung der var output sowie
document.elements... und der //set input/output war soweit kein Problem
und der neue Input funktioniert auch.
Aber nun bleibt die Seite beim laden wieder hängen... Anderungen im
define PARSEBYTES bringen nix... die Daten, die mir wireshark ausgibt
helfen nicht weiter...
Übersehe ich da was, was ich noch mit ändern muss?
Ich versuche zwar en Weg im Code nachzuvollziehen, aber das klappt
nicht...
Über Hilfe wäre ich wie immer sehr Dankbar!
Ich will ja nicht immer nerven, wenn ich mal was ändere...aber leider
komme ich gerade nicht drum rum...
Gruß
Clyde
Hallo,
hier mal im Anhang.
Die Parse Bayes habe ich mal auf 59 stehen lassen, probierte Werte
anhand Wireshark waren 54, 60, 62(das waren die kleinsten Werte die er
anzeigte) habe ich probiert, ohne Erfolg.
Der neue Eingang (GPIO09) funktioniert, bei aktivierung eines Ausgangs
erfolgt auch eine, aber die Seite bleibt im Ladevorgang hängen.
Was übersehen ich?
Danke und Gruß
Clyde
Im Anhang siehst du, wo du den Wert für die Anzahl POST-Request Daten
ablesen musst.
Im "richtigen Leben" parst der Server diese Angabe ("Content-Length")
und weiß dann bescheid, wie lange er parsen muss. Aber einen weiteren
Parser für das Parsen der HTTP-Header Daten habe ich noch nicht
eingebaut. Eventuell später mal.
Trägst du oben folgendes ein:
Et funzt :-D
Danke!
zuerstmal habe ich nach den falschen Werten geguckt in Wireshark und
hatte meinen Port nicht bei HTTP mit angegeben
(Du nutzt ja den 8080, ich nutze ja nen anderen...)
und somit kam bei mir natürlich auch keine entsprechende Meldung... :o)
Meine Versuche, am Anfang immer 1 Byte weniger bei Parsebytes, habe ich
bei 54Bytes aufgegeben und bin dann erst zu wireshark :-) ein Byte
weniger und es hätte funktioniert ;-)
Das mit dem Parsen habe ich noch nicht begriffen, aber das wird sicher
noch...
Was anderes zwischendurch, warum hast Du eigentlich jetzt überall im
HTML-Code einen Backslash?
Gruß
Clyde
Clyde H. wrote:
> Das mit dem Parsen habe ich noch nicht begriffen, aber das wird sicher> noch...
Ganz einfach. Bei dem POST-Request (wo die Eingabemaske an den uWebSrv
übertragen wird) gibts eine bestimmte Syntax (auch zu sehen oben im
Screenshot) wie die Ausgangseinstellungen übertragen werden. Diese muss
einfach nur durchlaufen werden. Allerdings lässt sich (ohne das parsen
der Content-length im HTTP Header) die Länge der vom Browser
übertragenen Daten nicht bestimmen, sodass man diese Fix angeben muss.
Sprich nach x Byte hört der Parser auf die Daten vom Browser
durchzugehen.
> Was anderes zwischendurch, warum hast Du eigentlich jetzt überall im> HTML-Code einen Backslash?
Das sind C-Escape Sequenzen. Wenn man ein Anführungszeichen in einem
String verwenden möchte (der ja wiederum wieder in Anführungszeichen
eingebettet ist), dann muss man diesen escapen. Und das geht mit einem \
davor.
http://de.wikipedia.org/wiki/Escape-Sequenz
Ahja, jetzt Ja...:-)
Vielen Dank!
Also entspricht 1 GPIO = 6 Byte bei der Übertragung wegen "&o08=0"=6
Zeichen á 1 Byte...logisch, wenn man es weiß :o)
Das mit dem Escape ist mir zwar noch nicht begegnet, aber ich stehe ja
am Anfang. Vielen Dank für den Link!
Gruß
Cylde
Hallo zusammen,
ich wollte mich auch mal zu Wort melden und über meine Erfahrungen mit
dem MicroWebServer von Simon berichten. Da ich mich schon länger
hobbymäßig mit den AVR's beschäftige, fand ich die Möglichkeit
faszinierend, endlich über Ethernet mit dem Mikrocontroller Daten
austauschen zu können. Ich beobachte dieses Projekt hier im Forum schon
einige Zeit, bin aber erst jetzt dazu gekommen den Webserver selbst
aufzubauen. Die Platine und die meisten Bauteile habe ich von IT-WNS,
sprich Thomas Heldt (Lob übrigens, an Samstag bestellt, am Dienstag war
alles im Briefkasten, Preise sind auch gut).
Also bei mir hat der Webserver auf Anhieb funktioniert (Fast jedenfalls,
beim ersten Mal hatte ich vergessen die IP-Adresse an mein Netzwerk
anzupassen). Wenn man das AVR-Studio 4 mit installiertem WinAVR benutzt,
kann man die Sourcen von Simon Kueppers ohne Anpassungen sofort
fehlerfrei übersetzen. Jetzt muß ich mal sehen, was ich damit anfangen
kann. Vielleicht berichte ich später noch mal über meine Anwendungen
(Viel Platz ist ja im Speicher nicht mehr frei, da muß man wohl irgendwo
kürzen).
Ein paar Worte muß ich noch zu den dauernden Anfragen hier wegen dem
passenden Programmiergerät loswerden. Ich nehme an, daß es allgemein
bekannt ist, aber weil es hier noch nie gesagt wurde, möcht ich noch
erwähnen, daß es auch eine kostenlose Möglichkeit gibt um das Hex-File
in den AVR zu bekommen. Einige Neulinge wissen es vielleicht noch nicht
und die Kosten für das Programmiergerät schrecken dann ab.
Ich benutze von Anfang an PonyProg2000 von Claudio Lanconelli zum
programmieren der AVR's (http://ponyprog.sourceforge.net). Als Adapter
benutze ich die Einfachstversion, bestehend aus 3 Wiederständen und 6
Dioden, an der Seriellen Schnittstelle des PCs. Das funktioniert auch
mit dem MicroWebServer bei einer Versorgungsspannung von 3,3 Volt (die
Spannung der Seriellen PC-Schnittstelle wird mit den Dioden auf die
Versorgungsspannung der Schaltung begrenzt).
Das war's erst mal,
Friedo
@Friedo "Jetzt muß ich mal sehen, was ich damit anfangen kann."
Also z.B. Steckdose übers Netz steuern von PC und Co, Klingesignale aufn
PC umleiten, Rasensprenger, Ideen gibts viele. ...
Hallo zusammen,
vor kurzem habe ich mir den uWebServer von Simon Küppers besorgt.
Nach dem Zusammenbau hat alles sofort funktioniert.
Simon hat in seiner Beschreibung die folgende MAC-Adresse
verwendet: 00:03:6F:55:1C:C2
Meine Fragen hierzu:
Wie kommt man zu der MAC-Adresse?
Gibt es für private Aktivitäten einen freien Adressbereich?
Für zahlreiche Infos wäre ich dankbar!
Gruß
Dieter
Dieter Otterbach wrote:
> Hallo zusammen,>> vor kurzem habe ich mir den uWebServer von Simon Küppers besorgt.> Nach dem Zusammenbau hat alles sofort funktioniert.
Freut mich, schön!
> Simon hat in seiner Beschreibung die folgende MAC-Adresse> verwendet: 00:03:6F:55:1C:C2>> Meine Fragen hierzu:> Wie kommt man zu der MAC-Adresse?> Gibt es für private Aktivitäten einen freien Adressbereich?
Die MAC-Adresse ist (weitgehend) zufällig gewählt. Einen offiziellen
privaten Adressbereich gibt es nicht, da es aber diese MAC Adresse in
meinem Netzwerk noch nicht gibt und das Netzwerk stark örtlich begrenzt
ist (nur bei mir Zuhause), sollte es da (rechtlich als auch technisch)
keine Probleme geben.
Es gibt aber ein wenig zu beachten, bei der MAC Adresse:
http://de.wikipedia.org/wiki/MAC-Adresse#Aufbau
Hallo zusammen,
ich habe auch so einen kleinen Webserver von Simon, nun wollte ich eine
UDP Application einbauen und dafür den ganzen TCP-Kram ausbauen, nur
irgendwie blicke ich noch nicht so ganz durch den Code durch. Daher
meine Frage, gibt es schon irgendwen, der erfolgreich eine
UDP-Application eingebaut hat, bzw. gibt es ein einfaches Programm,
welches eine UDP-Application laufen lässt. Einegntlich brauche ich auch
keinen Application Hub oder so, da ich nur UDP-Pakete empfangen will.
Ach so, nur falls die Frage aufkommt, warum ich das machen möchte, ich
würde gerne den Webserver in einen Artnet-node umfunktionieren, d.h. die
Ausgänge per Netzwerk-DMX zu steuern.
Mit freundlichen Grüßen
Jochen
Hallo und Guten Morgen,
nach einer kleinen Pause, will ich nun auch weiter machen.
Im Gegensatz zu Jochen, möchte ich allerdings den ganzen UDP-"Kram"
rauswerfen und nur TCP/IP nutzen inkl. Webinterface.
In der Hoffnung doch einiges an Speicher frei zu räumen, da ich schon
bei knapp 95% bin :-)
Ich konnte es noch nicht probieren und einfach die Dateien rauswerfen um
zu sehen ob der uWeb dann noch läuft...
Da ich mit dem ATM18 Projekt von Elektor jetzt ein wenig am lernen bin,
möchte ich versuchen gewisse Dine in den uWebServer einzubinden,
zum Beispiel die 2-Draht-Ansteuerung von 8 Relais. Würde Ports sparen
für andere Dinge.
Gruß
Swen
Jochen S. wrote:
> [UDP Applikation bauen]
Hallo Jochen, entschuldige die späte Antwort. Die TCP Applikation kannst
du im Prinzip relativ einfach ausbauen.
-In Net/uip/uip_TcpAppHub.h die folgenden Zeile löschen:
1
#include"../TcpApps/HttpD.h"
2
...
3
structtHttpDHttpDSocket;
4
...
-In Net/uip/uip_TcpAppHub.c die folgenden Zeilen löschen:
-HttpD.* aus dem Projekt entfernen. Nun sollte keine TCP Applikation
mehr mitkompiliert werden
Um UDP Applikationen einzubauen kannst du am besten die
uip-Dokumentation konsultieren. Da steht, was für Funktionen gebraucht
werden um ankommende Pakete entgegenzunehmen. Diese Funktion müsste dann
im Application Hub aufgerufen werden (nachdem der Zielport als passend
ermittelt wurde).
Clyde H. wrote:
> Hallo und Guten Morgen,>> nach einer kleinen Pause, will ich nun auch weiter machen.> Im Gegensatz zu Jochen, möchte ich allerdings den ganzen UDP-"Kram"> rauswerfen und nur TCP/IP nutzen inkl. Webinterface.> In der Hoffnung doch einiges an Speicher frei zu räumen, da ich schon> bei knapp 95% bin :-)
Was heißt "ganzer UDP Kram"?
Das wird nicht viel bringen, da der UDP Kram aus einer leeren Funktion
besteht.
Wie auch immer: Du kannst in uip/uipopt.h UDP ausschalten und alle
Referenzen (#includes usw) auf den uip_UdpAppHub löschen und diese
Dateien aus dem Projekt entfernen.
Ich wollte mir einen Webserver basteln habe aber keinen Übertrager.
Könnt ihr mir helfen.
Welchen Impulsübetrager nehmt ihr ?
Gibt es Alternativen?
Gibt es so etwas bei Farnell(de.farnell.com)?
Hallo,
habe den (Web-)Server ohne HTTP am Laufen, d.h. nur die TCP/IP-Schicht.
Ich glaube, dass ich so bei 65% liege, habe also Luft. Die ganze
html-Beschreibung ist wohl sehr speicherhungrig.
Eigentlich wollte ich vielleicht noch weitere Bausätze bestellen.
Aber in dem Shop ist dieser aber ausverkauft.
- Gibt es bald wieder den Bausatz?
- Vielleicht mit dem 328?
Gruß
Jörg
Jörg wrote:
> Hallo,> habe den (Web-)Server ohne HTTP am Laufen, d.h. nur die TCP/IP-Schicht.> Ich glaube, dass ich so bei 65% liege, habe also Luft. Die ganze> html-Beschreibung ist wohl sehr speicherhungrig.>> Eigentlich wollte ich vielleicht noch weitere Bausätze bestellen.> Aber in dem Shop ist dieser aber ausverkauft.> - Gibt es bald wieder den Bausatz?> - Vielleicht mit dem 328?>> Gruß> Jörg
Hallo Jörg, danke für den Hinweis. Ich werde mich mal mit dem Thomas in
Verbindung setzen.
Der 328 ist zum Glück Pinkompatibel zum 168. Also müsste nur dem Bausatz
der Mega328 hinzugefügt werden. Ich werde das sofort veranlassen, wenn
er verfügbar ist :D
Wenn ich einen Bausatz mit dem 328 besitze, werde ich auch meine kleine
Erweiterungsplatine vorstellen mit Micro-SD-Kartenslot und FT232 USB
Adapter.
Hallo Simon
> Wenn ich einen Bausatz mit dem 328 besitze, werde ich auch meine kleine> Erweiterungsplatine vorstellen mit Micro-SD-Kartenslot und FT232 USB> Adapter.
die Variante mit uSD-SLot würde mich schon jetzt sehr interessieren, da
ich bis heute z.B. den Webserver mit Karte nicht zum Laufen gebracht
habe ... wie geht das zuverlässig?
LG
Vajk
Vajk .v.i. wrote:
> die Variante mit uSD-SLot würde mich schon jetzt sehr interessieren, da> ich bis heute z.B. den Webserver mit Karte nicht zum Laufen gebracht> habe ... wie geht das zuverlässig?
Wie meinst du das? Welcher Webserver? Bisher habe ich die SD Karte noch
nicht angesprochen, da mir etwas Programmspeicher für einen
SD-Kartentreiber und eine FAT-Implementierung fehlt. Wenn das
funktioniert, soll der Webserver Dateien von der Micro-SD Karte öffnen
können.
Das sollte eigentlich sehr zuverlässig arbeiten. Siehe Webserver von
Ulrich Radig und diversen anderen, die hier mit SD Karten arbeiten.
Zum Thema *Verfügbarkeit*: Ich habe soeben erfahren, dass Thomas zur
Zeit körperlich angeschlagen ist und deswegen diese Woche noch nicht zu
erreichen ist. Hoffen wir alles gute :-)
> Wie meinst du das? Welcher Webserver? Bisher habe ich die SD Karte noch> nicht angesprochen, ...
na ich meinte genau das Teil (die mit der ISA-Netzwerkkarte-Variante)
von U.R. ich hab das mal versucht nachzubauen, mit einer SD-Karte hat es
bei mir nicht geklappt. Hatte mir sogar dann extra die Kontaktiereinheit
gekauft, un Kontaktschwierigkeiten auszuschließen.
Vajk .v.i. wrote:
>> Wie meinst du das? Welcher Webserver? Bisher habe ich die SD Karte noch>> nicht angesprochen, ...> na ich meinte genau das Teil (die mit der ISA-Netzwerkkarte-Variante)> von U.R. ich hab das mal versucht nachzubauen, mit einer SD-Karte hat es> bei mir nicht geklappt. Hatte mir sogar dann extra die Kontaktiereinheit> gekauft, un Kontaktschwierigkeiten auszuschließen.
Das wird dann entweder am Pegelwandler oder an der Software liegen.
Roland Riegel hat ein paar Sources für SD Karte und FAT parat.
Jupp ist heute ja mal wieder ganz gut drauf ^^
Das ganze war als Information für jedermann den es interessiert gedacht,
für mich allein wird CSD garantiert keine 500+ controller bestellen wenn
ich nur einen benötige, wenn jedoch größeres Interesse besteht (was ich
vermute) dann wird CSD wohl mal ne Ladung bestellen.
Und: Ich werde bei zeiten auch mal nachfragen, nur ist fahr ich morgen
früh für etwa ne Woche weg, also wirds bei mir wohl etwas später ;)
Hallo alle zusammen,
leider lag ich ein paar Wochen im Krankenhaus und konnte daher nicht
reagieren, die Bausätze wird es in ca. 3 Wochen, sobald die RJ45 Buchsen
wieder lieferbar sind, wieder geben. Aktuell noch mit ATMEGA168 weil
nirgendwo anständige kleine Mengen des 328P verfügbar sind.
Auch für uns sind 500 Stück (Digikey) oder 1000 Stück (Distributor in D)
nicht sinnvoll sich auf Lager zu legen.
Sollte es in D den ATMEGA328P irgendwann und irgendwo mal in kleinen
Stückzahlen geben wird es den Bausatz mit diesem MC geben.
Aktuell bin ich noch dran hier alles aufzuarbeiten, auch kann ich leider
noch nicht so wie ich will daher dauert alles etwas länger :(
Auf jeden Fall wird es die Bausätze wieder bei IT-WNS geben, versprochen
;)
Gruß
Thomas
Simon K. wrote:
> Roland Riegel hat ein paar Sources für SD Karte und FAT parat.
Wenn ich hier schon genannt werde, darf ich vielleicht kurz auf mein
anderes Projekt hinweisen: mega-eth. Dort habe ich einen Webserver
implementiert, der auf eine SD-Karte zugreift und relativ einfach
erweiterbar ist, auch für Steueranwendungen über HTTP/HTML. Allerdings
ist die Hardware deutlich aufwändiger und hat in der Folge größere
Abmessungen als der hier diskutierte Mikro-Server von Simon.
Beitrag "Erweiterbares Ethernetboard mit MMC/SD-Slot und USB"
Gruß,
Roland
Hallo alle zusammen,
der Bausatz kann jetzt wieder bei IT-WNS bestellt werden, die
Auslieferung erfolgt in ca. 3 Wochen wenn die neuen Platinen da sind.
Aktuell wird der Bausatz noch mit dem ATMEGA168 ausgeliefert, also
passend zur aktuellen Software.
Hallo zusammen,
ich habe jetzt endlich mal zeit gefunden um mich etwas in UDP mit dem
uIP hineinzufinden. Allerdings will der nicht so wie ich :-(
Ich will einfach nur UDP Pakete senden, das Empfangen brauche ich im
Moment nicht. Nur wenn ich direkt in der Hauptschleife meine Funktion
aufrufe kommt irgendwie nichts an.
Hier zur Verdeutlichung noch etwas Code.
main.c
1
while(1)
2
3
{
4
udp_out();
5
uip_len=0;
6
uip_len=Enc28j60Receive(uip_buf);
wobei udp_out meine function ist und so aussieht:
1
voidudp_out(){
2
staticstructuip_udp_conn*sub_conn=NULL;
3
char*subdata;
4
uip_ipaddr_tipaddr;
5
uip_ipaddr(ipaddr,192,168,0,100);// Server
6
sub_conn=uip_udp_new(ipaddr,124);// new connection
Hallo zusammen,
ich muss mich mal wieder melden. nach längerer Ruhezeit, will ich
weitermachen.
Leider habe ich, obwohl ich lange Zeit nichts gemacht habe, mit
folgender arnung zu tun...
../Net/uip/uip_arp.c: In function 'uip_arp_update':
../Net/uip/uip_arp.c:160: warning: 'tabptr' may be used uninitialized in
this function
../Net/uip/uip_arp.c: In function 'uip_arp_out':
../Net/uip/uip_arp.c:356: warning: 'tabptr' may be used uninitialized in
this function
Ich habe im moment keine Ahnung, warum diese kommt und wie schwerwiegend
diese ist..
Kann mir bitte jemand was dazu sagen?
Gruß
Clyde
Clyde H. wrote:
> ../Net/uip/uip_arp.c:356: warning: 'tabptr' may be used uninitialized in> this function> Kann mir bitte jemand was dazu sagen?
Die Warnung ist in diesem Falle gefahrenlos, auch wenn nicht wirklich
schön. Sie ist Teil des uip Stacks.
Vielen Dank für die prompte Antwort!
Dann will ich mal hoffen, das es keine weiteren Probleme macht.
Eine weitere Frage hätte ich noch :-)
Ich habe vor, den uWebServer als Webinterface über Uart zu verwenden.
Wie stehen meine Chancen bezgl. Flashspeicher und
realisierungsmöglichkeit?
Mein Vorhaben ist, das der uWebServer über den UART einen String mit
Zeit und Temperaturwerten empfängt und im Webinterface ausgibt und
umgekehrt auch ein paar Steuersignale über den Uart sendet.
Der Sender/Empfänger ist ein Mega88(die Sache funktioniert schon prima
mit dem T6963 Code von Dir Simon) und soll nun als