Forum: Mikrocontroller und Digitale Elektronik C-Code von AVR-NET-IO zu bekommen?


von Matthias W. (matt007)


Lesenswert?

ich habe ein ENC28J60-Modul und möchte ihn mit einem Arduino nano3 in 
Betrieb nehmen. RTC und SD-Card laufen mit WinAVR und C.

Nun suche ich eine Software in C zum Ansprechen des ENC. Es gibt den 
Code für die Register von Pascal Stang und die Basics von Nik Bamert 
enc_basics.zip.

Das Pollin-Teil läuft wohl. Nur gibt es offenbar den C-Code nicht dazu. 
Auf der Seite von Pollin sehe ich dazu nichts. Welchen C-Code sollte man 
nehmen um ihn leicht verstehen und ggf. auch anpassen zu können?

Dieser Beitrag sah leider nicht so ermutigend aus:
Beitrag "Webclient mit AVR-NET-IO"
"Ich habe mir nun einen AVR-NET-IO von Pollin besorgt, und suche nun 
"nur
noch" nach einer Ethernet-Bibliothek für Atmega32/Enc28j60 mit DNS- und
TCP-Client-Funktionalität. Darüber bin ich schier am Verzweifeln."
"Ist zwar das übliche, wenig durchdachte Open-Source-C-Gebastel."

Was wäre momentan denn zu empfehlen?

von David P. (chavotronic)


Lesenswert?


von Joachim B. (jar)


Lesenswert?

ich habe eine Mischung von Ulrich Radig und Axel Schnell

Ulrich Radig(2008) Axel Schnell(2008) jar(2011/16 20MHz m1284p)

musste aber selber viel Hand anlegen, aber vielleicht findest du Code im 
Netz, meiner ist nun 66kB ich habe ja 128kb flash

von Matthias W. (matt007)


Lesenswert?

David P. schrieb:
> https://www.mikrocontroller.net/articles/AVR_Net-I...

Danke David. Den Artikel hatte ich heute angesehen. Da kriegt man einen 
Schreck wenn man die Mängelliste bei der Hardware so liest.

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> musste aber selber viel Hand anlegen, aber vielleicht findest du Code im
> Netz, meiner ist nun 66kB

Vielen Dank Joachim !

sicher gibt es eine Menge Code im Netz. Auch C++. Es ist halt schwierig 
zu beurteilen was brauchbar ist. Du hast offenbar auch schon viel 
angeschaut und geändert.

Am Anfang kann es Sinn machen mit weniger anzufangen und schrittweise 
dann mehr hinzuzunehmen. Manche Pakete haben dazu ja defines - so wie 
Chans FatFS.

Der Arduino nano3 hat natürlich nicht so viel flash. Daher möchte ich 
erst mal mit weniger Codeumfang starten. Wenn es dann anstößt steige ich 
um auf eine Platine mit einem 2560.

von Joachim B. (jar)


Lesenswert?

Matthias W. schrieb:
> Wenn es dann anstößt steige ich
> um auf eine Platine mit einem 2560.

ich würde ja lieber arduino mighty mini 1284p sagen, der hat 16KB SRAM 
ist viel nützlicher als der 2560 mit nur 8 KB SRAM

von Michael U. (amiga)


Lesenswert?

Hallo,

vielleicht bringen Dich auch meine Varianten weiter:

Beitrag "AVR-LAN-Sensor"

Beitrag "AVR-NetIO recycling"

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Matthias W. schrieb:
> David P. schrieb:
>> https://www.mikrocontroller.net/articles/AVR_Net-I...
>
> Danke David. Den Artikel hatte ich heute angesehen. Da kriegt man einen
> Schreck wenn man die Mängelliste bei der Hardware so liest.

??? der Link ist kaputt

AVR Net-I
Diese Seite enthält momentan noch keinen Text. Du kannst sie erstellen, 
ihren Titel auf anderen Seiten suchen oder die zugehörigen Logbücher 
betrachten.

ich wüsste keine Mängel, OK ich habe meine eh getuned
Rekom R785 und R78333 eingebaut, Rv für LED vergrößert und uh LED 
verbaut.
Das Layout frei angepasst für den LM317 Ersatz R78333 und zuletzt dem 
m1284p eingebaut.
Momentan denke ich noch an 21/22 MHz Quarz, dem hörensagen nach sollen 
Einzelstücke bis 24MHz funktionieren.

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Warum haben so viele Leute ein Brett vor dem Kopf und machen
noch mit den ENC28J60 herum? Ich verstehe es nicht.

Der ganze TCP/IP Stack und noch mehr, verschoben auf den Chip
spart einem jede Menge Speicher (Flash und RAM) und Probleme
mit Fehlern in der Implementierung. Interrupts auf dem MAC-
Level muss man auch nicht behandeln.

Der Chip heisst W5100, und er hat sogar noch Brüder .....
Und es gibt eine Viefalt an fertigen Modulen mit diesen
Chips, (fast) für jeden was dabei .....

Also ich versteh's nicht.

von Michael U. (amiga)


Lesenswert?

Hallo,

Arduinoquäler schrieb:
> Warum haben so viele Leute ein Brett vor dem Kopf und machen
> noch mit den ENC28J60 herum? Ich verstehe es nicht.

weil die eben da waren, speziell die NetIO bei mir...
Die UIPethernet-Lib läuft hier zumindest stabil. Mit einem Mega1284 hat 
man auch Flash und Ram "ohne Ende" auf dem NetIO.

Warum also nicht?
Die Chinesen sind inzwischen zwar beim W5100-Board bei "billig" 
angekommen, allerdings wäre mir ein W5100 Minimodul für z.B. einen Nano 
oder ProMini o.ä. lieber.
Andererseits brauche ich eigentlich kaum LAN und ltztlich ist es eine 
Frage, was das Ding im Einsatz machen soll. Ich bevorzuge Einzelsensoren 
/ -aktoren da, wo ich sie brauche. Da soll also nur wenig drauf laufen 
und dann reicht selbst ein Mega328 mit dem ENC28J60. Kabel ziehen kann 
(Mietwohnung) und will ich möglichst nicht, also nutzt mir ein 
LAN-Endpunkt mit diversen I/O usw. wenig.

Sein Problem mit Nano, ENC, RTC und SD-Card wird ohnehin am 
Speicherverbrauch sterben, da wäre ein W5100 definit die bessere Wahl.
Oder ein ESP8266... ;)

Gruß aus Berlin
Michael

von Joachim B. (jar)


Lesenswert?

Arduinoquäler schrieb:
> Warum haben so viele Leute ein Brett vor dem Kopf und machen
> noch mit den ENC28J60 herum? Ich verstehe es nicht.

alles fertig, eine Platine und hängt eh am Router, RJ45 Anbindung ist 
kein Problem, 5V sind eh da aus dem Router mit stepdown angezapft, 
Platine ist komplett und fertig und alle 1w DS18B20 Sensoren kommen eh 
aus 2-Draht Telefon Paaren am Router zusammen und die kann der Atmel 
gleich auf den Webserver zeigen und er braucht für einen 24/7 wenig 
Power und als Zwischenglied kann er auch schalten und 5V auf weitere 
Adernpaare der Telefonleitungen legen, somit spare ich ne Menge Funken 
mit all ihren Problemchen.

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Ich rede ja nicht von fertigen Lösungen die man nur in Betrieb
nimmt oder ein bisschen software-mässig daran herumfummelt.

Ich verstehe diejenigen nicht die sich jetzt ein nacktes ENC28J60-
Modul nehmen, einen Mikrokontroller anschliessen und dann schauen
wie sie in die Puschen kommen.

von Michael U. (amiga)


Lesenswert?

Hallo,

Arduinoquäler schrieb:
> Ich verstehe diejenigen nicht die sich jetzt ein nacktes ENC28J60-
> Modul nehmen, einen Mikrokontroller anschliessen und dann schauen
> wie sie in die Puschen kommen.

ich vermute mal: User ist recht neu in der Ecke.
LAN ist LAN, also W5100-Modul oder ENC28J60

ENC28J60 für 3,40€ aus China oder rund 9,00€ für den W5100.
Das war der Stand vor gut 6 WOchen, als ich da mal geschaut habe.

Inzwischen sind die W5100 Module aus China fast um die Hälfte billiger 
geworden, selbst ein W5100-Shield für den UNO bekommt man für 4,00€...

Gruß aus Berlin
Michael

von Arduinoquäler (Gast)


Lesenswert?

Michael U. schrieb:
> ENC28J60 für 3,40€ aus China oder rund 9,00€ für den W5100.
> Das war der Stand vor gut 6 WOchen, als ich da mal geschaut habe.

Was sollen diese Preisvergleiche? Zwei Stück Hardware-Module die
funktional und performant nicht unterschiedlicher sein können.
Äpfel und Birnen.

Lieschen Müller aus der Mikrocontroller-Ecke schaut auf den letzten
Cent den er/sie sparen könnte und überblickt nicht was man/frau sich
an zusätzlicher Arbeit für die paar gesparten Cent/Euro einhandelt.

von Joachim B. (jar)


Lesenswert?

Arduinoquäler schrieb:
> Lieschen Müller aus der Mikrocontroller-Ecke schaut auf den letzten
> Cent den er/sie sparen könnte und überblickt nicht was man/frau sich
> an zusätzlicher Arbeit für die paar gesparten Cent/Euro einhandelt.

ich habe das immer im Blick

mit dem atmega32 habe ich die ersten AVR Sachen gemacht bevor ich zum 
Arduino und ESP kam, ergo war es für mich leichter mich in den AVR-NETIO 
einzufummelen, mit dem Aufstieg zum m644p und m1284p musste ich weder 
die Hardware verändern noch das Programmgerüst.
Die Erfahrung die ich am m32 sammeln konnte fehlt mir am ESP und anderen 
und ewig Zeit sich überall einzulesen und zu testen hat man ja auch 
nicht.

Das Ganze ist ja kein Selbstzweck sondern soll für mich Ergebnisse 
bringen und da nimmt man was schnelleren Erfolg verspricht, der NETIO 
lief bei mir jedenfalls mit Hardware und Software schneller als mein 
Raspi, der Raspi der immer noch Probleme mit 7 DS18B20 parasitär 
gespeist 2-draht auf 100m Stern/Bus gemischt in meiner Wohnung hat und 
dabei sogar mehr Power benötigt, ich gestehe ja dem PI mehr Leistung zu 
und man kann tolle Sachen mit machen, ich offensichtlich nicht.

: Bearbeitet durch User
von Dauergast (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Ich verstehe diejenigen nicht die sich jetzt ein nacktes ENC28J60-
> Modul nehmen, einen Mikrokontroller anschliessen und dann schauen
> wie sie in die Puschen kommen.

1. ENC28J60 erlaubt IPv6, W5100 nicht
2. ENC28J60-Modul ab €2.20, W5100-Modul ab €5.39 (jeweils 
versandkostenfrei)

Fertige, out-of-the-Box funktionierende Libs gibt es für beide.

Es gibt somit nicht den geringsten Grund, einen W5100 zu benutzen.

von Arduinoquäler (Gast)


Lesenswert?

Schöne Grüsse an Lieschen Müller.

Ach ja, hatte ich ganz vergessen. Mit IPv4 lässt sich heute ja
gar nicht mehr arbeiten, gell? Selbst die hauseigene Fritzbox
verweigert ja bereits den Transport von IPv4 Paketen.

von Dauergast (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Mit IPv4 lässt sich heute ja
> gar nicht mehr arbeiten, gell?

Arduinoquäler schrieb:
> Ich verstehe es nicht.

Offensichtlich :-)

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> ich würde ja lieber arduino mighty mini 1284p sagen, der hat 16KB SRAM
> ist viel nützlicher als der 2560 mit nur 8 KB SRAM

vielen Dank Joachim !
Es sieht so aus als ob der 1284p weniger leicht auf Platine verfügbar 
ist.

Dieses Modul kommt aus USA:
http://www.ebay.de/itm/Mighty-Mini-ATMega1284p-compatible-with-Arduino-/331463717483 
Artikelstandort: Venice, California

es gibt dann noch dies: SainSmart Rev. 1.3 Atmega1284p: EUR 47,88. 
Vielleicht habe ich etwas übersehen.

Im Vergleich dazu liegen 2560-boards unter 7.- von diversen Anbietern. 
Natürlich sind 16kB RAM doppelt so schön.

von Matthias W. (matt007)


Lesenswert?


von Ludwig (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Schöne Grüsse an Lieschen Müller.
>
> Ach ja, hatte ich ganz vergessen. Mit IPv4 lässt sich heute ja
> gar nicht mehr arbeiten, gell? Selbst die hauseigene Fritzbox
> verweigert ja bereits den Transport von IPv4 Paketen.

Da schart der Kleine gleich mit den Füßchen und beißt in sein Lätzchen.

von Matthias W. (matt007)


Lesenswert?

Michael U. schrieb:
> vielleicht bringen Dich auch meine Varianten weiter:

Vielen Dank Michael. Das klingt sehr interessant. Wenn ich auch so eine 
Platine herumliegen hätte würde ich die natürlich auch erst mal nehmen.

So habe ich aber erst mit dem nano3 angefangen und schrittweise RTC, ADC 
und SD in Betrieb genommen.

Einen Webserver brauche ich eigentlich nicht wirklich. Mir geht es erst 
mal um Grundlagen. Chip programmieren, eine Verbindung herstellen mit 
dem Laptop. Ping schauen. Vielleicht Telnet. Keine Ahnung. Erst mal 
einfache Sachen und dann mehr.

Die Platine mit dem 2560 ist mittlerweile da. Auch da kann ich das Modul 
mit dem ENC also anhängen.

Erst mal will ich verschiedene Software anschauen um zu verstehen was da 
alles ist und wozu man das brauchen kann.

von Dauergast (Gast)


Lesenswert?

Matthias W. schrieb:
> Es sieht so aus als ob der 1284p weniger leicht auf Platine verfügbar
> ist.

Ja, aber für's Steckbasteln gibt es ihn überall in DIP-40, läuft auch im 
Net-IO.

Für was Neues nimmt man die ja sowieso nicht mehr, ein Cortex M4-Board 
mit 1M Flash und 256k RAM mit LAN ist für 20€ zu haben, mit kostenloser 
Eclipse-basierter IDE oder Arduino-like, oder für WiFi halt CC3200 bzw. 
ESP (ebenfalls bei mit "richtig" oder Arduino-like).

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> Ulrich Radig(2008) Axel Schnell(2008) jar(2011/16 20MHz m1284p)

Du hast also von beiden Codeteile genutzt und daraus etwas eigenes 
gemacht?
jar(2011/16 20MHz m1284p) ist Dein Projekt?

Hast Du Deinen C-Code irgendwo öffentlich gemacht?

von Michael U. (amiga)


Lesenswert?

Hallo,

Matthias W. schrieb:
> Vielen Dank Michael. Das klingt sehr interessant. Wenn ich auch so eine
> Platine herumliegen hätte würde ich die natürlich auch erst mal nehmen.

mein Sketch passt sowohl auf einen Mega32 als auch auf den Mega328 des 
Nano.
Ob Du da allerdings SD-Card, RTC usw. mit unterbringst, wirst Du testen 
müssen.

Ein Webserver ist ohnehin nicht dabei, nur ein MQTT-Client, da müßtest 
Du also auch selbst nach Deinen Wünschen Hand anlegen.

Mehr als eine Anregung und ein funktionierendes Beispeil für den 
ENC28J60 soll es für Dich auch nicht sein.

Natürlich kannst Du das LAN-Modul und Deine anderen Sachen auch an einen 
Arduino Mega2560 hängen, das ist merklich billiger zu beschaffen.

Gruß aus Berlin
Michael

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> und zuletzt dem m1284p eingebaut.

wenn ein DIL-Sockel da ist kann man das ja tun. Auf den üblichen 
China-Boards scheinen selten Sockel zu sein.

von Matthias W. (matt007)


Lesenswert?

Arduinoquäler schrieb:
> Der Chip heisst W5100

Danke für den Hinweis.

von Joachim B. (jar)


Lesenswert?

Matthias W. schrieb:
> vielen Dank Joachim !
> Es sieht so aus als ob der 1284p weniger leicht auf Platine verfügbar
> ist.
>
> Dieses Modul kommt aus USA:
> Ebay-Artikel Nr. 331463717483
> Artikelstandort: Venice, California

oh wenig Lieferanten und teuer diesmal, ich hatte zuerst bei OSH Park 5 
Platinen billig geordert und alles Vogelfutter und MC selber gekauft und 
bestückt war auch nicht billiger also hatte ich die letzten um 20,-€ 
bestellt, aber das ist böse teuer, da lohnt sich fast wieder die nackten 
Platinen zu ordern wenn nicht diese doofe Löterei wäre!

Alternativ vielleicht das hier:
http://www.ebay.de/itm/RKAT40c-Compact-PCB-for-Arduino-Sanguino-and-ATMega644-ATMega324-ATMega1284P-/182307853770?var=&hash=item2a726515ca:m:m4dBIw1AxzHmgZJEJr6mbCA

oder eben bei OSH Park Platinen bestellen
https://oshpark.com/shared_projects/KaCh1X2a
https://www.oshpark.com/shared_projects/7cpT6gFj

ich hatte noch eine Version angefangen auf Lochraster zu fädeln aber die 
Lust verloren, habe ja keine Langeweile :)

von Matthias W. (matt007)


Lesenswert?

Michael U. schrieb:
> Sein Problem mit Nano, ENC, RTC und SD-Card wird ohnehin am
> Speicherverbrauch sterben

das ist mir schon klar daß das passieren kann. Momentan probiere ich ein 
Modul nach dem anderen aus.

Wenn alle laufen kann ich das zusammenführen was ich brauche. Die 
Software von Radig scheint viele defines zu haben um Teile die man nicht 
braucht abschalten zu können. So wird der Codebedarf kleiner.

und wenn es nicht reicht. . .   das größere board ist ja nun da.

von Joachim B. (jar)


Lesenswert?

Matthias W. schrieb:
> das größere board ist ja nun da.

Flash OK, RAM ich weiss ja nicht, ich kann nicht den ganzen Stack 
überwachen, aber ich gestehe ich bin ein RAM Verschwender, lieber mehr 
SRAM haben als stundenlang RAM sparen!

von Matthias W. (matt007)


Lesenswert?

Dauergast schrieb:
> Fertige, out-of-the-Box funktionierende Libs gibt es für beide.

eben diese möchte ich mir mal näher ansehen. Dabei werden dann auch die 
Unterschiede wohl sichtbar.

: Bearbeitet durch User
von Matthias W. (matt007)


Lesenswert?

Dauergast schrieb:
> für's Steckbasteln gibt es ihn überall in DIP-40, läuft auch im
> Net-IO.

ja. Prima !

von Matthias W. (matt007)


Lesenswert?

Michael U. schrieb:
> mein Sketch passt sowohl auf einen Mega32 als auch auf den Mega328 des
> Nano.

vielen Dank Michael !

> Ob Du da allerdings SD-Card, RTC usw. mit unterbringst, wirst Du testen
> müssen.

klar.

> Ein Webserver ist ohnehin nicht dabei, nur ein MQTT-Client, da müßtest
> Du also auch selbst nach Deinen Wünschen Hand anlegen.

MQTT ist Neuland für mich.
"MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity 
protocol."

> Mehr als eine Anregung und ein funktionierendes Beispeil für den
> ENC28J60 soll es für Dich auch nicht sein.

klar. Mehr braucht es erst mal nicht. Den Code von Radig habe ich ja 
auch noch. Und es gibt den Code bei Olimex:
https://www.olimex.com/Products/Modules/Ethernet/ENC28J60-H/
"ATMega32 example - ATMega32 and ENC28J60-H - written by Erik Rasmussen"

von dunno.. (Gast)


Lesenswert?

Weils noch nicht gefallen ist, würde ich mal www.net-io.de in den raum 
stellen. Code gibt's da tonnenweise..

Auch wenn's nicht mehr zeitgemäß ist, seit dem W5500 spätestens..

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> Alternativ vielleicht das hier:
> Ebay-Artikel Nr. 182307853770

Vielen Dank Joachim. Bild nicht verfügbar sagt er bei mir. So ist 
schlecht zu sehen was das ist.

von Matthias W. (matt007)


Lesenswert?

dunno.. schrieb:
> www.net-io.de

Vielen Dank für den Hinweis !

von Matthias W. (matt007)


Lesenswert?

dunno.. schrieb:
> Auch wenn's nicht mehr zeitgemäß ist, seit dem W5500 spätestens..

Du meinst weil das chip viel mächtiger ist und daher viel Code auf diese 
Weise entfallen kann?

von dunno.. (Gast)


Lesenswert?

Matthias W. schrieb:
> dunno.. schrieb:
>> Auch wenn's nicht mehr zeitgemäß ist, seit dem W5500 spätestens..
>
> Du meinst weil das chip viel mächtiger ist und daher viel Code auf diese
> Weise entfallen kann?

Ja genau. Egal ob W5100 oder (neuer) W5500, die nehmen dir ewig viel 
arbeit (code) ab - und auch rechenzeit. eine million potenzieller bugs 
weniger, die du befürchten musst..

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> lieber mehr SRAM haben als stundenlang RAM sparen!

da hast Du sicher auch wieder recht. Es ist jedoch möglich ein SRAM 
extern anzuschließen. Das kann sogar ein paralleles SRAM sein. 32kB 
sollten kein Problem sein.

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> oder eben bei OSH Park Platinen bestellen
> https://oshpark.com/shared_projects/KaCh1X2a
> https://www.oshpark.com/shared_projects/7cpT6gFj

Danke Joachim !

> ich hatte noch eine Version angefangen auf Lochraster zu fädeln aber die
> Lust verloren

kann ich gut verstehen. Früher habe ich auch viel gefädelt. Eine ganze 
Doppel-Europakarte mit einem 68000 und Peripherie - das ganze board 
voll. Da weiß man dann was man getan hat. So was ist ziemlich verrückt 
wenn man nicht muss.

von Arduinoquäler (Gast)


Lesenswert?

dunno.. schrieb:
> Ja genau. Egal ob W5100 oder (neuer) W5500, die nehmen dir ewig viel
> arbeit (code) ab - und auch rechenzeit. eine million potenzieller bugs
> weniger, die du befürchten musst..

Dauergast schrieb:
> Es gibt somit nicht den geringsten Grund, einen W5100 zu benutzen.

von Joachim B. (jar)


Lesenswert?

Matthias W. schrieb:
> Vielen Dank Joachim. Bild nicht verfügbar sagt er bei mir. So ist
> schlecht zu sehen was das ist.

http://i.ebayimg.com/images/g/gl4AAOSwuYVWm2hS/s-l1600.jpg

von Matthias W. (matt007)


Lesenswert?


von Ralf J. (ralfjahns)


Lesenswert?

Hallo,


warum hat eigentlich noch niemand ethersex erwähnt? für mich DAS 
Projekt, wenn es um FW für das Pollin AVR-NET-IO bzw. allgemein ENC28J60 
geht.

Bei Ethersex stellt man erst in einem Menü ein, welche 
Hardware/Features/Protokolle die Firmware unterstützen soll und dann 
wird das Ganze compiliert und zusammengebaut.

Willst Du Deinen Buderus-Heizkessel ins Netz hängen? Gibt's schon! Ein 
MQTT-Device bauen? Nur den entsprechenden Haken setzen.

Wenn man was eigenes machen will, schaltet man am besten im Menü 
appsample (oder so ähnlich - ich schreib' das aus dem Kopf) ein. Dann 
kann man in appsample.c die init- und die periodic-Funktion mit eigenem 
Inhalt füllen. Die periodic-Funktion wird (soweit ich mich erinnere) 
aufgerufen, wenn Daten vom Netzwerk empfangen wurden. Ansonsten kann man 
sich an den anderen HW- oder Protokolltreibern orientieren, die im 
Projekt vorhanden sind.


Gruß
Ralf

von Matthias W. (matt007)


Lesenswert?

Ralf J. schrieb:
> warum hat eigentlich noch niemand ethersex erwähnt? für mich DAS
> Projekt, wenn es um FW für AVR-NET-IO bzw. allgemein ENC28J60 geht.

Danke Ralf !

> Bei Ethersex stellt man erst in einem Menü ein, welche
> Hardware/Features/Protokolle die Firmware unterstützen soll und dann
> wird das Ganze compiliert und zusammengebaut.

das klingt einfach. Bei mir geht es momentan weniger um die Heizung 
sondern erst mal nur ums Verständnis.

> Willst Du Deinen Buderus-Heizkessel ins Netz hängen? Gibt's schon! Ein
> MQTT-Device bauen? Nur den entsprechenden Haken setzen.

prima. Das klingt gut. MQTT ist noch Neuland für mich.

> Wenn man was eigenes machen will... Dann
> in appsample.c die init- und die periodic-Funktion mit eigenem
> Inhalt füllen. Die periodic-Funktion wird (soweit ich mich erinnere)
> aufgerufen, wenn Daten vom Netzwerk empfangen wurden. Ansonsten kann man
> sich an den anderen HW- oder Protokolltreibern orientieren, die im
> Projekt vorhanden sind.

das werde ich im Hinterkopf behalten. Für den Anfang habe ich das 
Radig/RoeBue-Projekt abgespeckt. Es kompiliert nun fehlerfrei auf meinem 
Arduino nano3. Die Init des ENC28J60 klemmt jedoch noch, da muss ich 
suchen.

von Arduinoquäler (Gast)


Lesenswert?

Matthias W. schrieb:
> Es kompiliert nun fehlerfrei auf meinem Arduino nano3.

Wow! Ein Compiler der auf dem Arduino Nano 3 läuft.

Sehr beeindruckend! Irgendwie mach ich was falsch ....

von Kurt (Gast)


Lesenswert?

Joachim B. schrieb:

> oder eben bei OSH Park Platinen bestellen
> https://oshpark.com/shared_projects/KaCh1X2a
> https://www.oshpark.com/shared_projects/7cpT6gFj

Interessante Seite! Allerdings vermisse ich eine Suchfunktion. 
Übersehen?

von Kurt (Gast)


Lesenswert?

Geht auch so: site:oshpark.com RFM12 ATMEGA

von Joachim B. (jar)


Lesenswert?

Kurt schrieb:
> Interessante Seite! Allerdings vermisse ich eine Suchfunktion.
> Übersehen?

??? unter shared projects gibts doch 'ne Suche
https://oshpark.com/shared_projects

von Kurt (Gast)


Lesenswert?

Joachim B. schrieb:
> Kurt schrieb:
>> Interessante Seite! Allerdings vermisse ich eine Suchfunktion.
>> Übersehen?
>
> ??? unter shared projects gibts doch 'ne Suche
> https://oshpark.com/shared_projects

Sehe keine Suchfunktion.

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Kurt schrieb:
> Sehe keine Suchfunktion.

hast recht ist search

von Matthias W. (matt007)


Lesenswert?

der ENC28J60 durchläuft nun die Init. Das Netzteil zeigt 180-190mA 
Stromverbrauch an. Weitere Tests mit der Software von Radig/RoeBue habe 
ich noch nicht gemacht.

Arduinoquäler schrieb:
> Der ganze TCP/IP Stack und noch mehr, verschoben auf den Chip
> spart einem jede Menge Speicher (Flash und RAM) und Probleme
> mit Fehlern in der Implementierung. Interrupts auf dem MAC-
> Level muss man auch nicht behandeln.

das klingt einleuchtend.

> Der Chip heisst W5100, und er hat sogar noch Brüder .....
> Und es gibt eine Viefalt an fertigen Modulen mit diesen
> Chips, (fast) für jeden was dabei .....

ok. Ist die Frage wie einfach das nun zu erschließen ist. Es war eine 
ziemliche Arbeit den C-Code von Radig/RoeBue anzufassen und auf der 
Arduino nano3 zum fehlerfrei compilieren zu bekommen.

um dies mit einem W5100 zu testen mit dem C-Code der nun da ist müsste 
der Codeteil des ENC28J60 durch einen Codeteil für den W5100 ersetzt 
werden. Hat das mal jemand für den Radig-Code gemacht?

Es ist ja nicht nur die Init des neueren Chips anders. Wenn der 
TCP/IP-Stack im W5100 sein soll müssen die ganzen Funktionen von Radig 
die den Stack im RAM des Arduino aufbauen dazu umgeschrieben werden.

So einfach scheint mir das nicht zu sein.

von Arduinoquäler (Gast)


Lesenswert?

Matthias W. schrieb:
> So einfach scheint mir das nicht zu sein.

Wenn du den Vorteil der W5xxx-Chips nicht siehst bzw. nicht
brauchst und den (völlig anders gearteten) Implementierungs-
aufwand entweder nicht beherrschst oder scheust, dann bleib
einfach bei dem was du schon angefangen hast.

Jedenfalls gibt es auch für die W5xxx-Familie vorgefertigte
Codes die man auf seine eigenen Bedürfnisse anpassen kann.

Für die ganz Eiligen kann man auch mal auf der Arduino-
Ebene mal etwas austesten. Da gibt es eine fertige Ethernet-
Library die man nur einbinden und aufrufen muss.

Das Ethernet Shield mit dem W5100 kriegt man für so um die
10 Euro.

von Matthias W. (matt007)


Lesenswert?

Arduinoquäler schrieb:
> Wenn du den Vorteil der W5xxx-Chips nicht siehst

ich sehe 2 Vorteile:
+ kleinerer Stromverbrauch -> Chip weniger heiß
+ Entlastung der CPU (weniger Speicherbedarf, weniger Interruptlast)

Du hast doch gemeint man wäre verrückt das nicht zu sehen und zu 
beachten.

Nun frage ich danach - wie einfach oder wie schwer ist es dies in den 
Code von Radig zu bekommen. Kannst/willst Du dazu etwas konkretes sagen?

von Kerbela (Gast)


Lesenswert?

> Jedenfalls gibt es auch für die W5xxx-Familie vorgefertigte
> Codes die man auf seine eigenen Bedürfnisse anpassen kann.


Hast du für mich einen Link auf einen guten C-Quellcode?

von Matthias W. (matt007)


Lesenswert?

Arduinoquäler schrieb:
> Jedenfalls gibt es auch für die W5xxx-Familie vorgefertigte
> Codes die man auf seine eigenen Bedürfnisse anpassen kann.

ich habe nichts gegen vorgefertigte Codes mit denen man etwas anfangen 
kann. Daher nahm ich erst mal den Code von Radig den sicher viele 
genutzt haben und der daher sicher seinen Sinn hatte oder noch hat.

Daher erst mal meine Frage:
Gibt es da etwas Erprobtes um den C-Code von Radig und den W5100 in 
WinAVR zusammenzubringen?

Oder läuft das eher nur unter C++ als ino-File in der Arduino-IDE?

von Matthias W. (matt007)


Lesenswert?

Arduinoquäler schrieb:
> Wenn du den Vorteil der W5xxx-Chips nicht siehst

offenbar sehen die Vorteile der W5100-Module nicht alle:
https://www.amazon.de/product-reviews/B009N826DY/
"Leider ist der verbaute w5100 Chip für viele Projekte, bei denen der 
Stromverbrauch eine Rolle spielt völlig ungeeignet. Trotz intensiver 
Suche war der einzige Ansatz, mit dem w5100 akzeptable 
Stromverbrauchswerte zu erreichen, ihn komplett per Relais vom Strom zu 
nehmen und bei jedem Gebrauch neu zu initialisieren... weswegen ich mir 
dann ein Bauteil mit enc28j60 chip kaufe, welches in einen 
Stromsparmodus versetzt werden kann (mit allen Konsequenzen, die das bei 
der Kommunikation via IP und Ethernet so hat!). Warum drei Sterne? Der 
Chip ist nicht mehr zeitgemäß, es gibt für gleich viel Geld besseres."

nicht alle Module scheinen so toll:
"Die Boards sind definitiv mit falschen Abschlusswiderständen bestückt 
und funktionieren damit nicht an allen Ethernetkomponenten... einige 
Tage an Fehlersuche gekostet."

"Leider sind diese Ethernet Shields falsch gebaut. Diese haben einen 
falschen Widerstand verbaut (einfach mal suchen nach WIZ5100 511)."

"Einen Stern ziehe ich aber ab, da der Controller im 24/7 Betrieb so 
heiß wird, dass man ihn fast nicht mehr anfassen kann."

von dunno.. (Gast)


Lesenswert?

Matthias W. schrieb:
> "Einen Stern ziehe ich aber ab, da der Controller im 24/7 Betrieb so
> heiß wird, dass man ihn fast nicht mehr anfassen kann."

Ich kann hier nur für den 5500 sprechen, da aber aus der erfahrung mit 
30 stück. Die werden im dauerbetrieb nicht nennenswert heiß. Klar, 
ethernet ist keine stromsparende geschichte.

Was fertigboards angeht, das w550io (oder so ähnlich) tut was es soll.



Da die frage kam: Code gibt's von wiznet, ist dann letztlich ähnlich wie 
sockets in unix zu verwenden.

Alles was in der software von radig dann auf die sockets zugreift, muss 
halt umgebogen werden. Kenne den code nicht wirklich, daher kann ich 
nicht sagen, wie sauber da zwischenden layern getrennt ist...

von Matthias W. (matt007)


Lesenswert?

dunno.. schrieb:
> Code gibt's von wiznet, ist dann letztlich ähnlich wie
> sockets in unix zu verwenden.

Danke Dunno.

> Alles was in der software von radig dann auf die sockets zugreift, muss
> halt umgebogen werden.

Leider bin ich da kein Fachmann.

von dunno.. (Gast)


Lesenswert?

Matthias W. schrieb:
>
> Leider bin ich da kein Fachmann.

Jeder fängt klein an..

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.