Forum: Mikrocontroller und Digitale Elektronik µC Lan-schnittstelle


von Temp (Gast)


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!

von Max (Gast)


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)

von ... .. (docean) Benutzerseite


Lesenswert?

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

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

von Hans (Gast)


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

von Gullu (Gast)


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.

von Dr. Prügelpeitsch (Gast)


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.

von Robert L. (lrlr)


Lesenswert?


von JojoS (Gast)


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

von (prx) A. K. (prx)


Lesenswert?

Die UDP-Checksum ist optional, aber die Ethernet-CRC nicht.

von Joachim (Gast)


Lesenswert?

Hallo,

ich bin auch erst Anfänger. Da ich mich nicht groß mit dem AVR Webserver 
befassen wollte, habe ich PIC Webserver SBC65EC von Modtronix genommen 
und einen Atmega8 drauf gemacht. Das geht einwandfrei...

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.