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
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..
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.
Sieh Dir das ethersex-Projekt an. Da kannst Du alles moeglich auskonfigurieren und hast sicher so ziemlich das, was Du willst. citb
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.
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
@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.
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.
@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.
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.
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.
@ 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..
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
@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?
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.
Gibts denn hier ein simples UDP-Beispiel, wenns geht in C?
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.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.