Forum: Mikrocontroller und Digitale Elektronik winziger Webserver mit enc28j60+mega32


von Nik B. (nikbamert)


Lesenswert?

Ja oke ich glaube ich belasse es mal dabei ausser ich brauche für
irgendwas wirklich die paar bytes bzw mehr geschwindigkeit :)

>Tatsache, der enc kann ja echt selber nen crc berechnen

So wie es aussieht braucht es doch aber die CRC gar nicht? (also die,
die ganz am Ende des Packets hin kommt) praktisch 100% der Pakete die
ich mit Ethereal angeschaut habe, haben diese Checksumme gar nicht
erst... Desweiteren ist mir noch aufgefallen, das meine Netzwerkkarte
tonnenweise Pakete versendet die eine falsche Checksumme haben
"[Checksum incorrect!]", der Server/Client am anderen Ende
beantwortet diese Pakete aber anstandslos ... (?)

Nik

von Alexander (Gast)


Lesenswert?

Hi Nik,

lies mal die Ethereal FAQ, das ist ein bekanntes Verhalten. Die CRC32
Checksum am Ende eines jeden Ethernet-Paketes bekommst du im Userspace
garnicht mehr zu sehen und bei versendeten Paketen ist diese Checksumme
noch nicht dran, das macht idR. die Netzwerkkarte.

Inkorrekte Checksums bei TCP/UDP hab ich im Ethereal auch gehabt,
selbst bei Paketen wo ich die Checksumme von Hand verifiziert habe.
Scheint irgendein Bug zu sein...

- Alex

von Ssss S. (sssssss)


Lesenswert?

Hi!

Quatsch, ich meinte nicht crc sondern die tcp checksum ;)
Aber auch die braucht ja ein bissl rechenzeit...
Die haben ja scheinbar echt (mal) mitgedacht bei microchip g

Bye, Simon

von Alexander (Gast)


Lesenswert?

Hi,

nein, haben sie nicht. Der Mensch, der das Kapitel geschrieben hat, hat
das Einerkomplement nicht verstanden.  Bei empfangenen Paketen reicht es
aus, einfach die Checksumme ueber das komplette Paket (inklusive der
empfangenen Checksum) zu berechnen und anschliessend einfach auf 0x0000
zu testen.  Nicht wie im Datenblatt vorgeschlagen, erst die Checksumme
auszulesen, in den Buffer des enc28j60 0x0000 reinzuschreiben,
anschliessend die Checksumme zu berechnen und mit der vorher
ausgelesenen vergleichen....

- Alexander

von Ssss S. (sssssss)


Lesenswert?

Hi!

Jo g
Aber sie haben mitgedacht und sowas überhaupt eingebaut.
Bleibt nur zu hoffen dass in der funktioni kein bug drin ist gg
Der Chip hat ja schon so genug :-X

Gibt es da eigentlich keinen Plan eine neue Revision zu machen ?!
Ist ja irgendwie merkwürdig dass die einen bugfix produzieren (B4) der
dieselben bugs wie die vorige Rev hat...

Bye, Simon

von Sascha S. (sascha)


Lesenswert?

"Vielleicht hilft es, wenn Du mal ein Cross-Referenz von Deinem
Sourcecode und seinen Includes anlegst; meist sieht man dann recht
schnell, woran es scheitert"

Wenn du mir das auch noch erklärst, in C bin ich nicht so der
Held........


Mfg Sascha

von Tillomar (Gast)


Lesenswert?

@Sascha:

Wenn Du kein Tool dafür hast:

Einfach eine Liste der Source-Dateien anlegen und dann dazuschreiben,
welche Header inkludiert werden. Dann die Header aufschreiben und
ebenfalls die Includes dazuschreiben. Und dann -- je nach Komplexität
-- siehst Du schon das Problem, oder Du must noch eine entsprechende
Baumstruktur bauen. Wichtig ist, die tatsächlichen Abhängigkeiten zu
erkennen; wenn es nicht anders geht, mußt Du die Inhalte der Header
logischer ordnen, um das Problem zu beheben.

Mit diesen Problemen haben schon große Geister gekämpft...

Leider ergibt das keine vollständige Cross-Referenz, wie sie die Tools
erzeugen -- die enthält normalerweise auch alle Symbole (Typen,
Variablen, Funktionen).

Es gibt diverse freie Tools dafür, die sind dann im Normalfall auch
Compiler-unabhängig. Ich benutze den Resource-Browser von Visual Studio
(soweit mein Code compatibel ist), und Doxigen -- das verlangt aber
"Mitarbeit" im Code und ist daher nicht einfach so nachträglich zu
benutzen.

So long,
Tillomar

von Christian G. (Gast)


Lesenswert?

Naja, der Mensch, der das Kapitel über die Checksum im Datenblatt
geschrieben hat, hat wohl übersehen, daß das Einerkomplement von -0
sich nicht wesentlich von 0  unterscheidet.
Ich habe die Checksummenfunktion im Enc28j60, noch nicht ausprobiert,
da ich einen ARM-Controller benutze und das Aufsummieren der Daten
quasi nebenbei passiert, während ich mangels DMA auf das SPI warte.
Ansonsten und wenn man große Pakete zu verschicken hat kann das Feature
aber schon interessant sein.
Um die Ethernet-CRC mußt du dich nicht kümmern, das macht der MAC. Du
hast aber ja noch die Checksums in IP- und UDP-/TCP-Header zu
berechnen.

Das was in den Errata steht, ist ernst zu nehmen, ansonsten hat man mit
dem Chip nicht wirklich Spaß (gilt mindestens für Chip-Rev. B1), mit ein
paar Workarounds bekommt man aber ein zuverlässiges Netzwerk-Interface
und nachdem die funktionieren, hat Microchip sich wohl einfach die
notwendigen Maskenänderungen gespart:

Die Procyon-Lib hat AFAIK die Workarounds nicht drin!

1) Nach einem Soft-Reset via SPI-Kommando funktioniert das Pollen des
ESTAT.CLKRDY bits nicht, um den Status des PHY zu checken. Auch das
mit den 1mS Wartezeit scheint mir sehr optimistisch. Selbst bei 10mS
hats nicht immer geklappt. Ich warte hier jetzt 100mS, um zuverlässig
aus einem Reset zu kommen. Daher kommt auch das seltsame Verhalten beim
ersten (ARP-)Paket!

2) Der RX-Puffer sollte immer am Anfang des Pufferspeichers stehen und
danach der TX-Puffer. Ich hatte das anfangs umgekehrt und ein paar
seltsame Phänomene.

3) Pollen von EPKTCNT statt EIR.PKTIF ist definitiv zuverlässiger um
auf neue Pakete zu checken.

4) Vor Senden eines Paketes prüfen (EIR.TXERIF), ob das vorhergehende
fehlerfrei übertragen wurde, ansonsten durch toggeln von ECON1.TXRST
die TX-Logik resetten.

5) In das ERXRDPT-Register sollten nur ungerade Adressen geschrieben
werden, wie im Workaround beschrieben (Erratum 13). Also einfach von
dem Wert, den du in das Register schreiben willst 1 abziehen und auf
einen Wraparound prüfen (s.a. im Microchip-Stack ENC28J60.C: void
MACDiscardRx(void)).

Zur Hardware:

-Ich habe den Chip mit 2k und 2k7 für Rbias betrieben und konnte keinen
Unterschied feststellen. 2k7 steht aber im Erratum und ist daher wohl
richtiger und außerdem ein E12-Wert.

-Auch wenn das Interface ohne Spule nur mit einer Drahtbrücke
funktioniert, sollte man mindestens eine Ferrit-Perle über die
Drahtbrücke ziehen um wirksamer hohe Frequenzen abzublocken.

-Statt der 50Ohm Widerstände können auch 47Ohm eingesetzt werden. Ich
konnte keine Probleme feststellen, die Fehlanpassung scheint noch
tolerierbar zu sein.

Gruß,

Christian.

von schnuckel (Gast)


Lesenswert?

eventuell hilft euch der SI3400 bei der POE Thematik weiter!
Datenblatt unter
http://www.silabs.com/public/documents/tpub_doc/dsheet/Wireline/High_Voltage/en/Si3400.pdf

mfG
schuckel

von Daniel M. (usul27)


Lesenswert?

Der sieht nett aus. Kennt jemand eine Bezugsquelle für das Teil?

von Thorsten W. (thowa)


Lesenswert?

Hallo,

ich bin in der ganzen Thematik neu und habe noch nie etwas mit einem
AVR gemacht.

Trotzdem finde ich das Projekt sehr interessant.
Ich habe vor eine dezentrale Rolladensteuerung in meinem Haus
einzubauen.
Jedes Fenster soll seinen eigenen µC bekommen. Alle µCs sollen idealer
weise über Ethernet vernetzt werden und zentral gesteuert werden
können.

Dazu scheint mir dieses Projekt eine gute Grundlage zu sein.

Da die Webserver aber im Rolladenkasten verbaut sein würden und ich die
Kästen so selten öffnen möchte wie möglich, stellt sich mir die
entscheidende Frage:

Kann man den Mini-Web-Server so modifizieren, daß man ein SW-Update
über Ethernet durchführen kann?
(Wohlgemerkt nur das update. Die Ursprüngliche Programmierung kann
natürlich über ISP o.ä. erfolgen)

Besten Dank im Vorraus,
Thorsten

von Mike (Gast)


Lesenswert?

Mit einem Controller alleien wird das nicht gehen, da der Webserver wohl
kaum in den Speicherplatz des Bootloaders passen wird.

ALso bleibt nur die Möglichekit 2 Controller zu verwenden, die sich
dann gegenseitig neu programmieren. Ist aber ein ganz schöner Aufwand.

von Ssss S. (sssssss)


Lesenswert?

Hi!

Prinzipiell ist das angedacht gewesen und auch schon zum Teil
implementiert...

Man braucht keinen zweiten Controller dazu, es geht auch so.
Das neue hex für den controller landet erstmal im dataflash und danach
wird der bootloader/flashloader angesprungen der dataflash -> uc
kopiert.
Wie gesagt, ist zum teil schon drin, nur die www->dataflash routinen
sind noch nicht drin.
Passen in den mega32 auch nicht mehr rein...
Ist aber für das Nachfolgeprojekt vorgesehen ;)

Bye, Simon

von Mike (Gast)


Lesenswert?

??

Simon hat deine Frage doch beantwortet.

von schnuckel (Gast)


Lesenswert?

@ Daniel M.:
die volle Produktion des Si3400 startet erst im dritten Quartal 2006
aber Samples sind bereits verfügbar!!!

lg
schnuckel

von Schreiber (Gast)


Angehängte Dateien:

Lesenswert?

Anbei eine Art Netzliste des Digitalteils, also ein Schaltplan in
Textform.

Hier ein ganz ähnliches HW-Projekt mit OpenSource Eagle-Files:
http://www.mikrocontroller.net/forum/read-1-402627.html

von Andreas Lang (Gast)


Lesenswert?

Hi,
wird eigentlich der Source mal online gestellt?

von Patrick (Gast)


Lesenswert?

Hallo,

nach langer Zeit bin ich nun auch dazu gekommen den ENC28J60 zu testen.

Der Grundaufbau steht, die LinkLED funktioniert zuverlässig und ich
kann schonmal die RevID auslesen.
Allerdings habe ich folgendes Phänomen:
Wenn ich ein Paket empfange blinkt die gelbe Led an meinem MagJack auf,
aber weder PKTIF oder EPKTCNT zeigen etwas anderes als "0" an.
Auch komisch: Rbias funktioniert nur mit 2k, nicht mit 2k7. Ansonsten
bekomme ich keinen Link.

Mein ENC28J60 ist ein B1 Chip(revid 2). Der enc ist per crossover mit
meinem Entwicklungsrechner verbunden.
Hat jemand da ein paar Tipps für mich? Als Spule habe ich eine 10uH SMD
Spule genommen. Ist das auch ok?

Grüße

von Ppp M. (sanic)


Lesenswert?

Problem gelöst:
Ich habe die beiden Kondensatoren am Quarz entfernt und siehe da: Es
funktioniert!

Grüße,
Patrick

von Sebastian (Gast)


Lesenswert?

Hallo Simon,
Entschuldigung für die vielleicht etwas (zu)direkte frage: Wie sieht es
denn nun mit Circuit Cellular, dem Quellcode und Platinen aus ?

Sebastian

von Ssss S. (sssssss)


Lesenswert?

Hi!

Von Circuit Cellar hab ich bis jetzt nur eine Bestätigung dass meine
Daten angekommen sind und eine mail mit einem Zugang zur
Onlineversion der Zeitschrift (sehr interessant btw).

Ich wollte den Code schon eher veröffentlichen, hatte es nur immer
aus Zeitmangel verschoben.
Hier ist er also nun:
http://avr.auctionant.de/avrETH1/software_download.html

Bitte beachten:
Die Schaltung würde ich so nicht nochmal fertigen lassen, das wird
einfach zu warm im Betrieb.

Außerdem arbeite ich momentan an einer minimal größeren
Nachfolgeplatine:
- mega128 + nahezu alle I/Os auf Stiftleisten verfügbar
- stepdown regler mit 5-25V Eingangsspannung (bei nahezu null
Erwärmung)
- mmc karte
- 2mbyte dataflash
- evtl per addon karte auf poe erweiterbar (alle Verbindungen sind
rausgeführt)
Diese Platine wird es demnächst fertig bestückt zu kaufen geben. Wann
genau steht noch nicht fest ;)

Dazu habe ich auch angefangen basierend auf dem avrETH1 Sourcecode
einen neuen Webserver zu schreiben.
- fat16 zugriff auf mmc und dataflash (kann sämtliche dirs und files im
browser anzeigen, wie wenn man per file://tmp/ verzeichnisse im browser
aufruft)
- komplette konfiguration per browser
- komplett neu geschriebener und optimierter httpd
- einfach erweiterbarer parser der tags wie <?io_temp0> oder <?io_adc0>
durch die ausgelesenen werte ersetzt
- mySQL client um zeitgesteuert zB Temperaturwerte in einen mySQL
Server zu schreiben
- ...

Dazu demnächst mehr auf meiner Webseite ;)

Bye, Simon

von Sebastian (Gast)


Lesenswert?

suuper! Danke :-))

Sebastian

von Stefan M. (stefanm)


Lesenswert?

Ganh großes Lob an Simon! Echt super dass du den Code veröffentlichst
:-)

Damit hast du einen weiteren Meilenstein in der Geschichte der
Mini-Webserver für Hobby-Elektroniker geebnet :-)

Stefan

von SuperUser (Gast)


Lesenswert?

Hallo Simon,

ich fände es klasse, wenn du bei deinem neuen Projekt den Atmega 128
durch einen LPC21xx ersetzen würdest.

Der Atmega 128 kostet mehr als ein LPC21xx und hat bei weitem nicht die
Leistung. Beim LPC entfällt ausserdem die nervige 5V Versorgung. Mit den
grossen RAM kann man auch superschnelle FAT Routinen implementieren und
viele Dateien gleichzeitig offen halten. Ausserdem ist es relativ
einfach Linux Code laufen zu lassen. Da kann man gerade bei Netzwerk-SW
und Filesystem einiges gebrauchen.

Ich bin bei meinen Atmega 128 Projekten schon auf RAM- und Performance
Limitierungen gestossen, daher mein Vorschlag...

von Ssss S. (sssssss)


Lesenswert?

Hi!

Zu spät ;) Prototyp + Layout ist schon fertig.
Außerdem sollte es ein atmega sein weil damit einfach mehr Leute etwas
anfangen können ;)

Wieso nervige 5V Versorgung ? Da läuft alles auf 3.3V :)

Bye, Simon

von SuperUser (Gast)


Lesenswert?

naja pech gehabt...

Bei 3.3V läuft der dann ja "nur" auf 8MHz...

von Nik B. (nikbamert)


Lesenswert?

hehee cool Simon! Bin schon sehr auf die Sourcen deines neuen Projekts
gespannt ... vorallem wegen dem MySql - woher hast du die Informationen
wie man einen MySql server anspricht? Sowas würde ich nämlich auch gerne
mal bei meinem Proggrämmchen einbauen ;)

Nik

von Ssss S. (sssssss)


Lesenswert?

Google ;)
Bzw ich glaub ich hatte in irgendeinen mysql client source
reingeguckt.
Die Authentifizierung war hier gut erklärt:
http://infosecpotpourri.blogspot.com/2006/03/mysql-41x-authentication-internals.html
Da war aber mal ein Fehler drin, hat der Autor aber aufgrund meiner
Mail gefixt (hoffe ich ;) )

Am aufwendigsten war die SHA1 Implementierung :-X
Da ist nicht viel mit debuggen, entweder der korrekte Hash kommt raus
oder totaler murks g
Da gabs aber ne gute RFC zu mein ich.

Bye, Simon

von Nik B. (nikbamert)


Lesenswert?

Danke für den Link .. aber mann mann mann, das sieht ja seeeehr komplex
aus =X und braucht ja wahrscheinlich auch noch tcp, und ich hab erst
udp implementiert, dann muss es eben warten... :(

Gute Nacht, Nik

von Daniel M. (usul27)


Lesenswert?

Also einen mysql-CLient auf einem uC zu implementieren halte ich für
wenig sinnvoll. Wer irgendwo einen SQL-Server laufen hat, der hat
sicher auch einen Webserver. Dann kann man das lieber über SOAP oder
ähnliche Sachen implementieren. Mal abgesehen, dass man damit dann auch
unabhängig von einem Datenbank-Hersteller ist.

von Ppp M. (sanic)


Lesenswert?

Nunja, folgendes Szenario mag man sich vorstellen:

Kleines Netzwerk mit einem Mini-Webserver(MW) der z.B. Temperaturen
loggt und ein "Master PC":

Der MW loggt den ganzen lieben langen Tag vor sich herum und speichert
die Temperaturen lokal.
Alle 5 Minuten schaut er nach, ob der Master PC, welcher einen mysqld
laufen lassen hat, online ist.
Irgendwann kommt der Hausherr oder die Hausdame nach hause und schaltet
den PC an. Der mysqld wird gestartet und der MW schauffelt fröhlich
seine gesammelten Daten rüber und kann wieder munter weitere Daten
lokal speichern. Um die Daten langfristig und plattformunabhängig zu
speichern ist das sicher eine nette Methode.

von Mischu (Gast)


Lesenswert?

Hallo Simon,
Ist es möglich noch eine Platine des Webservers zu bekommen  ?
idealerweise mit den Bauteilen dazu .
Gruß & Danke im voraus !!
Michael

von Ssss S. (sssssss)


Lesenswert?

Hi!

Sorry, hab keine mehr.
Es wird demnächst ein fertig bestücktes Nachfolgeboard
zu kaufen geben. Mit mehr Hardware/Features und nur minimal größer.
Einfach ab und an auf der avreth webseite gucken ;)

Bye, Simon

von Mischu (Gast)


Lesenswert?

Hallo Simon,
Gibt es dafür eine ungefähre Zeitschine ?

Gruß
Michael

von Ssss S. (sssssss)


Lesenswert?

Hi!

Leider noch nicht. Ist grad bissl stressig (uni).

Ein erster Prototyp läuft aber schon ;)
Software basiert auf avreth1, der httpd wurde aber komplett neu
geschrieben.
Da ist außerdem einiges neu dazugekommen (mysql client, mmc/fat16 
support, anzeigen aller files/verzeichnisse von mc im browser, ...)

Hier gibt es ein (schon etwas älteres) Flashvideo davon:
http://avr.auctionant.de/tmp/avreth2_demo.htm

Bye, Simon

von thowa (Gast)


Lesenswert?

Hallo Simon,

würdest Du noch eine kleine Serie der "alten" Platinen bestellen?
Damit hättest Du nicht viel Arbeit und mir und einigen anderen wäre auch 
geholfen.

Mir wäre mit einer einzigen Platine (zur Not auch unbestückt) schon sehr 
geholfen.

Wer hat noch interesse an der alten Version?

Tschööööö Thorsten

von Alexander (Gast)


Lesenswert?

Hi,

wenn jemand Interesse an einer Platine (oder einem Bausatz) fuer mein 
Etherrape-Projekt (http://lochraster.org/etherrape/) hat, schreibt mir 
doch bitte eine Mail, ich ueberlege davon ein paar Platinen zu 
bestellen...

Gruss,
- Alexander

von Thorsten (Gast)


Lesenswert?

Schade, das ist ja alles PDIP :(

von Alexander (Gast)


Lesenswert?

Hi Thorsten,

das ist Absicht, das war eins meiner Design-Ziele.  Es ist allerdings 
auch ein Atmel Dataflash in SOIC8 drauf ;)

Die Software ist natuerlich GPL.

Gruss,
- Alexander

von Sascha (Gast)


Lesenswert?

@Alexander

Du hast Post :)

Mfg Sascha

von Achim (Gast)


Lesenswert?

Hallo

@Alexander ich habe versucht eine Mail abzusetzen geht aber nicht?
Adresse unter imprint auf Deiner Seite

MfG
Achim

von Alexander (Gast)


Lesenswert?

Hi Achim,

sollte eigentlich tun, bei mir ist keine Fehlermeldung in den Logs zu 
sehen, versuchs einfach mit alexander _AT__ bumpern __PUNKT_ de. 
(bitte die Fehlermeldung mitschicken, normalerweise sollte die Adresse 
tun...)

Gruss,
- Alexander

von guru (Gast)


Lesenswert?

push

Wie schauts mit dem avrETH2 aus?

von Ssss S. (sssssss)


Lesenswert?

Hi!

Mitte nächsten Monat wirds spannend ;)

Bye, Simon

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Wie Teuer soll den Die Platine sein ?

von Ssss S. (sssssss)


Lesenswert?

Steht leider noch nicht ganz fest... Kommt ja auf die Stückzahlen an etc 
;)

von guru (Gast)


Lesenswert?

dann bin ich mal gespannt!

Dann bis in ca. einem Monat ;-)

von Michael R. (rubi)


Lesenswert?

Hallo Simon

Bitte merke mich schon mal für ein bis zwei Platinen von Version2 vor.

LG
Michael

von Dirk E. (Gast)


Lesenswert?

Hallo,

hätte auch gerne eine Platine :).

Gruß
Dirk

von guru (Gast)


Lesenswert?

Gibts entzwischen schon Infos? ungeduldig ;-)

von guru (Gast)


Lesenswert?

>> Autor: Ssss Ssssss (sssssss)
>> Datum: 19.01.2007 09:53
>> Hi!
>> Mitte nächsten Monat wirds spannend ;)
>> Bye, Simon

So jetzt haben wir ~ Mitte ;-)

von Seb (Gast)


Lesenswert?

push

von rmknet (Gast)


Lesenswert?

Seit einigen wochen formt sich bei mir der Gedanke auch einen mini 
Webserver zu basteln...
Da bin ich heut Nacht auf die Suche gegangen um Informationen zusammen 
zu tragen... rund 1,5Std hats gedauert, bis ich jeden einzelnen Beitrag 
zu diesem inzwischen sehr umfangreichen Forumseintrag durchgelesen 
hatte...

Ich muss sagen: RESPEK SIMON!

Hab selbst vor ein paar wochen ewig dran rum gefummelt ein VBSript zu 
schreiben dass sich in ein einer IP Steckdosenleite einloggt, schaltet 
und wieder ausloggt. Bugs zu suchen ist manchmal echt nervenaufreiben...

Wenn man diese Beiträge von ganz oben (Anfang 2006) bis Ende (Feb 2007) 
durchließt, kann man leider die Veränderung der allg. Gesellschaft 
wieder erkennen... keiner macht sich mehr Gedanken um den anderen, alle 
wollen nur noch was haben, und keiner hat mehr Zeit...
soviel wollt ich zum Thema push mal loswerden....

So und jetzt dir Simon, weiterhin viel Erfolg!
Deinen neuen Webserver werd ich mir vermutlich auch zulegen....auch wenn 
mich das "zu kaufen" etwas irritiert... gibt es denn zum AVRETH2 keine 
Sources und Doku mehr und wird das dann ein komerzielles Produkt?
Oder meinst du damit einfach nur die neue Platine?

Grüße
rmknet

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Hallo,

ich habe mich nun auch mal mit dem avrETH1 beschäftigt. Da wird die
Buffergröße im AVR ja mit NIC_BUFFERSIZE festgelegt. Nun steht diese
Größe standardmäßig auf 1000 -> also 1000 Bytes RAM für den Buffer.
Wenn ich das Ganze nun richtig verstanden habe darf ein Ethernetpaket
bis zu 1518 Bytes groß sein.
Wenn der ENC28J60 nun aber ein 1500 Byte großes Paket im Buffer liegen
hat, was passiert dann im AVR? In der Mainloop werden von dem Paket mit
len = nic_receive_packet(&buffer[0],NIC_BUFFERSIZE); die ersten 1000
Bytes eingelesen.
Die restlichen 500 Bytes liegen aber noch im ENC28J60. Werden diese
restlichen Bytes auch noch irgendwo ausgelesen?
Ich stehe da gerade ein bisschen auf dem Schlauch.

Gruß,

Thomas

von Tim Rettmann (Gast)


Lesenswert?

Ich wollte nur mein großen Respekt bekunden für dieses Projekt. Gerne 
nehme ich zukünftig auch eine Platine =)

von Patrick (Gast)


Lesenswert?

Hallo,

ich versuche mich gerade an Fileuploads per POST und hänge leider an der 
Erkennung des eigentlichen Dateibeginns.
Nehmen wir einmal ein POST Beispiel von W3C.org:
1
Content-Type: multipart/form-data; boundary=AaB03x
2
Content-Length: xxx
3
        
4
--AaB03x
5
Content-Disposition: form-data; name="document"; filename="b.txt"
6
Content-Type: text/plain; charset=iso-8859-1
7
This is a file.
8
It has two lines.
9
--AaB03x
10
Content-Disposition: form-data; name="title"
11
A File
12
--AaB03x
13
Content-Disposition: form-data; name="summary"
14
This is my file
15
file test
16
--AaB03x--


Wie kann ich hier zuverlässig erkennen wo das File beginnt? Soweit ich 
das richtige interpretiere nimmt der AVRETH Sourcecode einfach alles was 
nach "filename" kommt. Sehe ich das richtig?
Das würde ja in diesem Szenario mit einem korrekt gesetzten Content Type 
nicht funktionieren.

Sollte ich evtl. eine Liste der Parameter "abchecken" die vor einem File 
erscheinen können?

Danke für eure Antworten.

Grüße,
Patrick

von Micha (Gast)


Lesenswert?

Hallo,

worin, außer in der Speichergröße besteht eigentlich der Unterschied 
zwischen dem "4MBit Atmel SPI Flash" und dem "16MBit Atmel SPI Flash"? 
Ich denke, daß es nicht ganz so einfach wäre, die Bibliothek für den 
Flash des 4BBit zu nehmen um damit den 16MBit zu betreiben.
Weiß schon jemand, welche Zeilen man diesbezüglich verändern müßte?

Hat da jemand ne Idee?

Viele Grüße, Micha

von Ha Jo (Gast)


Lesenswert?

Hallo,

grundsätzlich habe ich auch Interesse an einer Platine V2.
Aber den Preis hätte ich auch gerne gewußt.

Danke und weiter so :-)

Joachim

von schnuckel (Gast)


Lesenswert?

@ Ssss Ssssss,

Hallo Simon, ich habe mir deinen Code angesehen und bin dabei über eine 
Anmerkung gestollpert die so nicht ganz stimmt!

Du schreibst:

//nic ethernet address. i picked an address that is free for 
experimental/private use (really?)
//see the last line: http://standards.ieee.org/regauth/oui/oui.txt
//-> AC-DE-48-xx-xx-xx

dass ist so nicht korrekt denn PRIVATE in der oui.txt bedeutet nicht 
"for private use" sondern dass der dem diese Adresse gehört 2000USD mehr 
bezahlt hat, also (1650USD+2000USD) um PRIVATE zu bleiben. Eventuell 
sollte man daher diese Zeilen nochmals überdenken!

lg
Schnuckel

von Thomas H. (pcexperte) Benutzerseite


Lesenswert?

@ Ssss Ssssss,

Hallo Simon,
gibt es schon was neues bzgl. avreth2?

Ich warte sehnsüchtig darauf ;)

Gib mal bitte einen kurzen Status ab, danke.

von Schubi (Gast)


Lesenswert?

Warte auch ganz gespannt!!

von cguru (Gast)


Lesenswert?

ja so wie ich ;-)

von Christian R. (mrrotzi)


Lesenswert?

ich auch!

von Jörg B. (joerg-sh)


Lesenswert?

Ssss Ssssss wrote:
> Hi!
>
> Sorry, hab keine mehr.
> Es wird demnächst ein fertig bestücktes Nachfolgeboard
> zu kaufen geben. Mit mehr Hardware/Features und nur minimal größer.
> Einfach ab und an auf der avreth webseite gucken ;)
>
> Bye, Simon

Ein Jahr danach und wo bleibt der Nachfolger???

von Jörg B. (joerg-sh)


Lesenswert?

Hat nicht jemand mal einen Schaltplan in Eagle Format? Braucht ja auch 
nicht so klein sein wie der von Simon aber eben mit dem Netzwerkchip..

Grüße

Jörg

von eProfi (Gast)


Lesenswert?

Einen Schaltplan im Textformat gibt es weiter oben:
Beitrag "Re: winziger Webserver mit enc28j60+mega32"

Ein ähnliches Projekt hier:
Beitrag "I/O über Ethernet mit einem ENC28J60"

von Mathias (Gast)


Lesenswert?

Hat hier jemand auch die EALE Files von dem Webserver ? (.sch / .brd)

mfg

von Andi L. (a6000000)


Lesenswert?

smd-loeten geht ganz einfach mit loetpaste statt 1mm loetzinn von der 
rolle und eine einer lupen-lampe

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.