Forum: Mikrocontroller und Digitale Elektronik Pollin AVR Net-IO ganz einfach ohne Webserver


von No H. (nohe)


Lesenswert?

Hallo,

ich bin auf der Suche nach einem möglichst kleinen Stack für das Pollin 
AVR-NET-IO Board. Ich möchte lediglich mit LabView per TCP Ports ein- 
und auslesen. Es gibt hier zwar viele Beiträge und auch eigene Software 
aber es ist immer direkt ein Webserver und dergleichen mehr 
implementiert.

Hat vielleicht jemand einen Link bzw. eine bereits abgespeckte Firmware 
für das Pollin Board, die auf dieses Minimum beschränkt ist? 
Grundsätzlich gefällt mir dir Realisierung von Ulrich Radig ganz gut nur 
für meinen Bedarf viel zu umfangreich.

Viele Grüße

von dunno.. (Gast)


Lesenswert?

klingt fast als bräuchtest du nur eine PC seitige software die auf die 
original - firmware des boards zugreift?

wenn du wirklich nur auf die ports zugreifen willst, das kann die 
original FW ja auch, hab schon irgendwelche java guis o.ä. gesehen..

von No H. (nohe)


Lesenswert?

Nein, PC-seitig ist das kein Problem für mich.
Ich möchte für den AVR eine andere Firmware haben. Die Quellen der 
Pollinfirmware liegen nicht offen. Auch wenn die originale Software das 
beherrscht, was ich möchte, würde ich schon gerne den Quellcode anpassen 
können. Da ich mit dem Atmel noch mehr machen möchte als nur die Ports 
per TCP zu übertragen bin ich an einem möglichst schlanken Stack 
interessiert.

von citb (Gast)


Lesenswert?

Sieh Dir das ethersex-Projekt an.
Da kannst Du alles moeglich auskonfigurieren und hast sicher so
ziemlich das, was Du willst.

citb

von No H. (nohe)


Lesenswert?

Danke, habe ich gerade gemacht.
Da kann man ja wirklich fast alles einstellen, was man will. Für das 
Grobe gibt es zwar die GUI wennn man dann aber ins Detail geht wird man 
von den ganzen defines erschlage, was die Sache für mich nicht gerade 
einfach macht. Das ist ja super viel, ich finde da kaum das 
Hauptprogramm. Und wenn ich dann kleinere Dinge abändern will wird das 
wohl nicht so leicht funktionieren.
Aber danke, ich schau es mir mal genauer an.

von dunno.. (Gast)


Lesenswert?

also ich glaube das du eine lösung "out-of-the-box" nicht finden wirst..

ich persönlich benutze OpenMCP, weil mir das von den 3 möglichkeiten am 
saubersten gemacht erscheint. dürfte auch nicht schwer fallen, da nicht 
benötigtes raus zu kicken..

ethersex ist zwar sicher von der funktionalität her überragend, aber für 
meine bedürfnisse doch zu komplex. (und evtl auch zu verbastelt)

auch die FW von radig find ich einfach nicht so elegant wie OpenMCP..


MfG

von debounce (Gast)


Lesenswert?

@No He
Du hast schon gesehen, das das mit der original AVR Net-IO Firmware auch 
geht? Per TCP und ASCII Kommando die Ports und auch A/D Wandler 
auslesen? Du brauchst nicht das GUI dazu.

von No H. (nohe)


Lesenswert?

debounce schrieb:
> @No He
> Du hast schon gesehen, das das mit der original AVR Net-IO Firmware auch
> geht? Per TCP und ASCII Kommando die Ports und auch A/D Wandler
> auslesen? Du brauchst nicht das GUI dazu.

Ja, das weiß ich, aber ich kann dir originale Firmware nicht abändern 
bzw. mit eigenen Dingen erweitern aufgrund der fehlenden Sourcen. Und 
ich hätte auch bei der originalen FW Dinge implementiert, die nur Platz 
im µC wegnehmen die ich nicht nutze.

von No H. (nohe)


Lesenswert?

@dunno:
ich glaube, du hast recht. Wobei ich dachte, auch andere hätten 
Interesse an einem minimalen Stack mit rudimetären Funktionen.
Dann werde ich mir mal OpenMCP ansehen.

von debounce (Gast)


Lesenswert?

No He schrieb:
> ich hätte auch bei der originalen FW Dinge implementiert, die nur Platz
> im µC wegnehmen die ich nicht nutze.
>
Na ja, wo ist der Unterschied ob die Bytes leer oder mit ungenutzten 
Routinen gebrannt sind?
Aber stimmt, mit der Original Firmware bist Du auf bestimmte Ports 
beschränkt.

Ansonsten ist der Ethersex Stack ganz gut geeignet, da es ein Command 
Line Interface gibt und auch ein AVR-Net-IO als Template. Wenn Du nur 
Port einlesen und setzen brauchst wird das recht einfach und der Code 
einigermaßen klein.

von No H. (nohe)


Lesenswert?

Der Ethersex Stack ist bestimmt nicht schlecht. Ich dachte nur, wer sich 
mit der Thematik befasst und einen Stack schreibt, der fängt doch 
sicherlich auch klein an und wird nicht direkt einen Webserver aufsetzen 
sonder eher sowas versuchen zu realisieren wie ich benötige.
Von daher habe ich die Hoffnung hier fündig zu werden.

von dunno.. (Gast)


Lesenswert?

@ No He:

vielleicht solltest du einfach mal ein bisschen genauer auf deine 
vorstellungen eingehen..

insbesondere darauf, was du denn nun genau (selbst) implementieren 
willst.. klar macht es sinn für den einstieg in so ne komplexe thematik 
sich erstmal nen kleineren stack o.ä. vorzunehmen..

- mir gefiel allerdings halt der gedanke daran, das zb. bei OpenMCP 
eigentlich sämtliche low-level-dinge schon mit drin sind, und man nicht 
jedes rad neu erfinden muss. - wenn mich irgendeine low-level-geschichte 
interessiert, kann ich mir die immernoch en detail ansehen..

von Frank K. (fchk)


Lesenswert?

No He schrieb:
> Hallo,
>
> ich bin auf der Suche nach einem möglichst kleinen Stack für das Pollin
> AVR-NET-IO Board. Ich möchte lediglich mit LabView per TCP Ports ein-
> und auslesen. Es gibt hier zwar viele Beiträge und auch eigene Software
> aber es ist immer direkt ein Webserver und dergleichen mehr
> implementiert.

Muss es TCP sein? Wenn Du darauf verzichtest und nur UDP und ICMP 
verwendest, kannst Du sehr viel Code einsparen, und die Implementierung 
kann sehr primitiv sein.

fchk

von No H. (nohe)


Lesenswert?

@dunno
Ja klar, da stimme ich voll und ganz zu. Weil ich mich bisher nicht im 
Detail damit beschäftigt habe und eben das Rad nicht neu erfinden wollte 
habe ich hier mal angefragt.
Zu dem, was ich gerne machen möchte:
Per LabView einzelne Port Pins setzen und auslesen bzw. Kommandos an das 
Board schicken. Das Board soll entsprechend der reagieren, die Ports 
setzen (da kommen Relais für für eine Beleuchtungssteurung dran).
Außerdem soll aus einem Cronjob von einem Linux Rechner aus per Kommando 
die serielle Schnittstelle des µC-Boards bedient werden.

@fchk
TCP hat den Vorteil, dass ich sicher gehen kann, dass ein Paket auch 
angekommen ist. UDP bietet das leider nicht. Trotzdem, wenn es einfach 
ist sollte ich damit vielleicht besser anfangen. Hättest du denn da 
eventuell einen Beispielcode für mich?

von JojoS (Gast)


Lesenswert?

Auf Anwendungsebene weiß man auch bei TCP nicht ob und wann ein Paket 
angekommen ist, TCP übertragt Streams ohne Ende. Da ist für so eine 
einfache Kommandostruktur UDP mit Feedback gar nicht so verkehrt. Ich 
würde da auch mit einem simplen UDP Beispiel anfangen, IO und ADC im AVR 
ist ja mit wenigen Zeilen Code
 erschlagen.

von No H. (nohe)


Lesenswert?

Gibts denn hier ein simples UDP-Beispiel, wenns geht in C?

von JojoS (Gast)


Lesenswert?

Das steht auf meiner langen ToDo Liste auch irgendwo... Aber die Suche 
nach tcp Stack AVR liefert schon einiges, der uip Stack von Adam Dunkel 
findet oft Verwendung.

von debounce (Gast)


Lesenswert?

Na alle genannten quellen haben doch einen passenden Kernel drin, am 
einfachsten zu lesen dürfte wohl OpenMCP sein, da sind die Files ja 
schon entsprechend benamt (udp.h, udp.c tcp.h usw...) das musst Du nur 
noch passend zusammenflicken.

von dunno.. (Gast)


Lesenswert?

nur mal so am rande, ist ne beleuchtungssteuerung, die nur bei 
eingeschaltetem pc funktioniert, nicht irgendwie etwas unpraktisch? - 
ich möchte sowas auch umsetzen, allerdings sollte da der pc wirklich nur 
zur statusabfrage / zum setup dienen, der rest per cron, oder, im 
idealfall (nach viel noch zu erledigender arbeit) via funk.

von No H. (nohe)


Lesenswert?

In meinem Fall sollen damit Gewächshäuser beleuchtet und bewässert 
werden. Und da neben diesen Sachen auch noch andere Dinge laufen ist 
sowieso immer ein PC an.

von No H. (nohe)


Lesenswert?

Ich denke, ich habe gefunden wonach ich gesucht habe.
Hier Beitrag "AVR für wenig Geld im LAN" wird von RoBue ein 
minimaler Stack basierend auf U. Radig angeboten:
http://www.mikrocontroller.net/attachment/44843/AVR-NET-IO_RoBue_minimal.zip

Den habe ich genommen, alles was mir noch zu viel war (http Server) 
rausgeworfen und kann jetzt per TCP eine Verbindung öffnen und Befehle 
schicken. Jetzt muss ich nur noch die Befehle auswerten und entsprechend 
reagieren bzw. antworten.

Vielen Dank an alle, die mir bei der Suche behilflich waren und 
natürlich an diejenigen, die sich die Mühe gemacht haben einen solchen 
Stack zu schreiben bzw. weiterzuentwickeln!

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.