µC Lan-schnittstelle

Gast #1760241
Lesenswert?

Hallo, ich folgendes Problem:
Ich will ein Temperatur sensor erstellen, der die Daten per Ethernet 
(LAN) sendet.
Das Ergeniss sollte dann per Terminal empfängen werden
so soll es dann aussehen. IP;Temperatur;(evntl. Zeit)

Wichtig ist das ich mit Bascom und mit einem Atmega arbeite.
Bestimmde lösungen, welche mir bekannt sind komm nicht in frage, denn 
ein Web-Server zb. von Ulrich Radig ist über dimensioniert für die 
Aufgabe.

Für hilfe wäre ich sehr Dankbar!
Gast #1760252
Lesenswert?

du wirst nicht um nen LAN-Controller herumkommen (mir wäre auf jeden 
Fall nix derartiges bekannt (wie auch bei min. 10 Mb/s)).

den enc28J60 gibts auch in sehr kleinen SMD-Gehäusen... nimm also deinen 
SMD-AVR (mit SPI) und zB. nen SOIC enc28j60, dann bringst du den ganzen 
Server (mit ein wenig gutem willen) in ne Zündholzschachtel, und ein 
Schaltregler passt auch noch dazu rein. viel kleiner wirst dus nichtmehr 
kriegen.

PS: Wenn du das so aufbaust dann kannst du deinen Code gleich auf dem 
Pollin net I/O testen (des is so billig da kann man nich viel falsch 
machen)
Gast #1760426
Lesenswert?

docean schrieb:

>nicht unbedingt ->
>http://www.cesko.host.sk/IgorPlugUDP/IgorPlug-UDP%20(AVR)_eng.htm

Gibt es zu dem IgorPlug-Projekt schon Erfahrungen?

Wenn man mal von dem eigenwilligen Layer1-Interface
(kein Übertrager) absieht, findet man in
EthernetCRC.inc:

>;Ethernet CRC for packet
>;send CRC32 polynom - because CRC was cleared - send all ones
>UDPSendByte     0xFF
>UDPSendByte     0xFF
>UDPSendByte     0xFF
>UDPSendByte     0xFF

Nach einer Dreiviertelstunde Durchskimmen durch den Code:
IMHO wird das nur "funktionieren", wenn man einen
Switch nimmt, welcher auf die CRC pfeift und beim (Weiter-)Senden
die CRC rekonstruiert. Macht man eine Direktverbindung an
seinen Rechner, muss die Ethernetkarte im promiscuous mode
(z.B. tcpdump/wireshark) sein, dass man ggf. die "kaputten" Pakete
über die Ethernetkarte bekommt, welche normalerweise solche Pakete
verwirft.

Im Code findet man Codeinfrastruktur zum "Compile-Time-Berechnen"
der CRC, falls das gesendete Paket immer *gleich* bleibt.
Stammt vermutlich aus einem vorangegangen Projekt.

VG,
Hans
Gast #1762231
Lesenswert?

Besorg Dir das "PIC32 Ethernet Starter Kit". Incl. C-Compiler und 
fertiger Platine hast Du damit alles für wenig Geld zusammen, was Du 
benötigst, um Dein Projekt (bei entsprechender Ahnung) innerhalb weniger 
Tage zu realisieren.
Gast #1762241
Lesenswert?

... ... schrieb:
>> du wirst nicht um nen LAN-Controller herumkommen
> nicht unbedingt ->
> http://www.cesko.host.sk/IgorPlugUDP/IgorPlug-UDP%...

Damit kannst Du EIN Byte an Nutzdaten per kaputtem UDP senden, mit einem 
non-standard Line-Interface. Geile Idee, aber ansonsten suboptimal.

> Das Ergeniss sollte dann per Terminal empfängen werden

Dazu brauchst Du TCP. Radig und Konsorten sind da schon die 
Minimallösung, den Webserver-Teil kann man ja weglassen, und statt des 
M32 einen M328 nehmen.
Gast #1762446
Lesenswert?

wg. UDP Checksum: die ist in IPv4 optional, das sollte also auch ohne 
Switch funktionieren. Laut RFC muss die dann aber auf 0 gesetzt werden, 
werden die Einsen da nochmal invertiert?
Sonst gibt es weitere Module mit Enc oder anderen Chips für ca. 30€.
http://www.chip45.com/Peripherie-Module/ioMate-NET-CP2201-Embedded-Ethernet-Modul.html
http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=89

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren