AVR NEt IO & ethersex firmware

Hallo,
ich probiere gerade meinen AVR Net Io auf die Ethersex Firmware umzustellen.
Dabei bin ich wie folgt vorgegangen:

  • neuen ATMEGA32 in die Fassung
  • Firmwarebuilder auf der Ethersex Seite angeworfen mit IP 192.168.100.15, Gateway 192.168.100.100, Mac Adresse 00:22:f9:01:36:03 (sollte doch wahlfrei sein, oder ?
  • enstandene Dateien ethersex.hex und config.txt heruntergeladen
  • Ponyprog angeworfen (per ISP verbunden)
  • Device ATMEGA32 ausgewählt
  • als Flash File die Datei ethersex.hex programmiet
  • als Data File die Datei config.txt programmiert
  • … und hoffentlich die richtigen Fuses gesetzt… laut ethersex Anleitung …
    Resultat: klappt nicht, Ping auf die gewählte IP bringt keine Antwort

Habe natürlich jede Menge Versuche mit verschiedenen Fuse Settings etc. gemacht …

=> hat jemand von euch schon erfolgreich die ethersex Firmware auf das Pollin Board gebrannt ? Wie sind die Fuses eingestellt ? hat der Programmierjumper noch irgend einen Sinn ?

Bin für jeden Hinweis dankbar !!

Gruß, Michael

Auch wenn der Thread jetzt schon recht alt ist.
Mein Net IO ist jetzt ers ein paar Stunden alt, evtl hilft meine Antwort ja jemandem.

Ich hab das so gemacht:

[ul]
Original Pollin Atmega mit PonyProg komplett ausgelesen und Fuses notiert[/ul]

[ul]
[li]Nagelneuen Atmega hiermit überschrieben und getestet.
[/li][/ul]

[ul]
[li]Die .hex Datei vom Firmwarebuilder auf der Ethersex Seite mit PonyProg geöffnet
[/li][/ul]

[ul]
[li]Flash überschrieben
[/li][/ul]

[ul]
[li]fertig
[/li][/ul]
Die Config Datei hab ich nicht verwendet.
Das Webinterface kann ich jetzt aufrufen.:slight_smile:

Soweit so gut, weiter komme ich mit meinem Wissen noch nicht.
Werd jetzt mal ausgiebig die Boardsuche verwenden um das Teil mit IPS verwenden zu können.

… der Thread kam damls von mir … habe inzwischen 3 Stück Net I/O’s mit Ethersex (Switches und 1-Wire, modifizierte Spannungsversorgung für sparsamen Dauerbetrieb) bei mir laufen … eigentlich problemlos. Von Zeit zu Zeit muss so ein Net I/O allerdings resetted werden da er über LAN nicht mehr ansprechbar ist.

Wenn jemand Informationen zum Thema braucht helfe ich gerne (in meinem Rahmen…).

Guß, Michael

Hast Du die Firmware aus dem Firmwarbuilder im Einsatz?
Was hast Du denn mit den AVRs so realisiert und wie schaut die Anbindung in IPS aus?

Hallo Sascha,

ich hab auch Ethersex auf dem AVR Net-IO im Testbetrieb.

Meine ersten Versuche waren mit dem Image aus dem Firmwarebuilder.
Allerdings war bei diesem Image Telnet und die für mich wichtige Bibliothek für den 1-Wire Baustein 2450 nicht mit eingebunden.

Hab deshalb Ubuntu installiert und ein eigenes Paket compiliert.
Leider ist der Flash-Speicher des Atmega32 voll ausgereizt. Musste auch die AD-Funktionen zugunsten der kompletten 1-Wire-Funktion „opfern“. Werde bei Gelegenheit einen Atmega644 einbauen.

Die Anbindung an IPS könnte grundsätzlich über Telnet oder dem Parsen des Webservers erfolgen.

Hallo Michael,

wie realisierst Du den Reset wenn der Net I/O nicht mehr ansprechbar ist? (Manuell aus/ein, AVR-Watchdog etc.)

Schöne Grüße
Roland

Hallo zusammen,

das mit dem Reset des gesamten AVR NET IO ist eigentlich nicht mehr notwendig. In der Regel läuft die CPU noch, nur der ENC28J60-LAN-Chip rührt sich nicht mehr. Didi hat deshalb eine Überwachung der Flags des ENC28J60 eingebaut und startet ihn dann neu (nur LAN nicht den ganze AVR NET IO). Das ist schon einige Monate im Code drin und läuft bei mir problemlos. Ob das auch für den Firmwarebuilder im Web zutrifft, kann ich leider nicht sagen.

Gruss
Icey

Hallo Icey,

bei mir steigt der ENC28J60 auch nach ein paar Stunden aus und das trotz aktuellem Quellcode aus dem Git Repository.
Muss ich im menuconfig evtl. noch etwas aktivieren?

Vielleicht liegt es ja an der Abfragehäufigkeit der ecmd-Befehle und ich sollte dem Controller zwischen den Befehlen etwas Zeit lassen.
Bisher hole ich mir im Minutentakt die Messwerte der 1-Wire Sensoren. Allerdings wird nach erfolgreicher Antwort des Controllers sofort der nächste Sensor abgefragt.

Schöne Grüße
Roland

Hallo,

sorry, habe zur Zeit leider wegen intensiver Renovierung wenig Zeit zu antworten … wird demnächst besser, dann poste ich auch gerne meine Scripte.

Grundsätzlich: ich verwende den Atmega 664, habe mir Ubuntu in einer virtuellen Maschine installiert, klappt ganz gut.

Zum Reset Problem: ich verwende zwar relativ neuen Code (so ca. 3-4 Monate alt) habe aber immer noch das Problem des Einschlafens des Net I/O’s. Zur Zeit resette ich manuell wenn ich bei der IP Überwachung feststelle, dass sich nichts mehr regt …habe noch keine preiswerte Lösung gefunden das zu automatisieren.
Muss demnächst mal eine neue Version kompilieren, vielleicht ist das Problem ja dann aus der Welt.

Gruß, Michael

Hallo Roland,

ich frage meine 3 AVRs auch im Minutentakt mit zig 1-Wires ab. Einen Sleepbefehl habe ich drin, der Wert ist aber momentan auf null gesetzt. Läuft jetzt seit Monaten zum Glück stabil. Du kannst im menuconfig mal nach den ENC-Parametern nachsehen. Anbei mein PHP-Teil fürs Einlesen in IPS:

 $Sensor1="101a5da9010800f1";	// Vorlauf

 $host = "192.168.178.225";
 $ecmd_start = "http://".$host."/ecmd?";
 $ecmd_init = "http://".$host."/ecmd?1w+convert";
 $delay = 0;

  // echo $ecmd_init; 1Wire Sensoren gesamt abfragen
  $fh = fopen($ecmd_init, 'r');
  fgets($fh, 200);
  fclose($fh);
  sleep($delay);

 sleep($delay);
 $ecmd = $ecmd_start."1w+get+".$Sensor1;
 $neuer_wert=AVR_lesen($ecmd);
 if ( $neuer_wert <> 85.0 ) { // wenn kein Fehler auf 1W-Bus
		SetValue(31788 /*[Ethersex\Rücklauf]*/ ,$neuer_wert);
    	}

Den damaligen Mailthread vom Februar habe ich mal mit angehängt.

Gruss
Bernd

Ethersex-devel-Posting.pdf (84.9 KB)

Hallo Bernd,

erstmal vielen Dank für die Infos.
Die Mailing-Liste hab ich nach Deinem ersten Posting auch gefunden.
Hab auch meine Sourcen kontrolliert --> Es sind alle Änderungen/Patches für den ENC28j60 eingebunden.

Seitdem ich mit 100ms Verzögerung sende, sind keine Ausfälle des ENC28j60 mehr aufgetreten. Wenn das jetzt noch über Tage stabil läuft, kann ich damit leben…

Schöne Grüße
Roland

Ihr macht mich ja echt neugierig.

Selbst habe ich schon vor Monaten aufgehört, mit dem AVR-NET-IO (mit AT644) zu spielen. Ich hatte Ihn nur für ein paar Spielereien zum Schalten genutzt (incl. einiger ADD-ON Platinen. Daneben testete ich auch den Webserver von Radig, der mir noch zur Verfügung steht.

Nun habe ich meine Heizung mit 1-wire Sensoren ausgestattet, die ich noch über den Umweg der Fritzbox (freetz mit digitemp) in IPS darstelle.

Vielleicht stelle ich das doch um auf den AVR-NET-IO, der mir dann auch zu den Tempwerten gleich die Schaltdaten des Brenners nach IPS übertragen kann.

Habt Ihr da bezüglich der Firmware einen Tipp? Ethersex hatte ich selbst noch nie getestet. Ein Linux habe ich auch in einer VM zur Verfügung.

Hallo Boui,

wenn Du noch nicht angefangen hast, würde ich mir die neueste Version mit dem Befehl „git pull origin“ ziehen. Ansonsten gilt, wenn Du eine lauffähige Version hast, die alle deine Anforderunge erfüllt, bleibt dabei. Erst wenn neuere Features eingebaut werden, die Du auch brauchen könntest, in ein Testsystem laden und weiter sehen.

Anbei der Link zu den Installationshinweisen:
Voraussetzungen - zerties.org

Am einfachsten ist es aber, wenn Du in eine virtuelle Maschine die Live-CD installierst. Da ist dann auf dem Ubuntu schon alles drauf (AVR-Compiler, Sourcen, …), was man zum Erstellen einer Ethersex Firmware braucht. Ist zwar nicht mehr das neueste Ubuntu, aber was solls, zum Compilieren taugt es. Live CD - zerties.org

Gruss
Bernd

Hi Bernd,

danke, dass Du mich schon mal auf den Sattel gehoben hast. Ich teste mein Spielzeug mal am WE.

Hallo Boui,

ich habe auf der Ethersex-Homepage noch eine Link auf ein Videotutorial gefunden. Eventuell ganz hilfreich:
YouTube - Embedded Webserver für ca. 30 Euro (AVR Webserver) part 1

Zur Anbindung an IPS steht da aber nichts drin. Wenn Du den WEB-Server einmal am Laufen hast, ist der Rest nicht mehr sehr schwer. Das sind nur ein paar Zeilen PHP-ECMD-Code: Dallas 1-wire Bus - zerties.org

Gruss
Bernd

Ich glaube ich werde mich nun auch mit Ethersex und dem AVR von Pollin beschäftigen, wollte zwar zuerst was mit CAN machen, aber ist mir alles zu unausgereift :slight_smile:

und so nen AVR habe ich immerhin noch zwei rumliegen irgendwo.

Aber ne Frage, hat war bzw gibt es eine Möglichkeit, das der AVR Änderungen automatisch verschickt? Also ohne Pollen von IPS aus?

Und gibt es eine Möglichkeit ein Licht modul oder so zu installieren?
Also ich habe einen Taster, und bei jeder Änderung soll das Licht an/aus geschaltet werden, und der aktuelle Status an IPS übermittelt werden, aber das das Modul auch ohne IPS auskommt.

Gibt es da Möglichkeiten, wo suche ich da für sowas alles am besten?

(Bin gerade dabei die ISO CD zu installieren und auszupacken und upzudaten usw… sehe dann sicher auch mehr … falls hier fragen dabei sind, die sich dann automatisch klären, dann gleich mal sorry :slight_smile: )

Hallo sn00py,

ja, die Funktion gibt es. Ist einzustellen unter:

 Menuconfifg -> I/O -> (Full-featured) I/O abstract model (Port I/O)

und dann

Menuconfifg -> Applications -> Watch IO changes (and react) ->

hier muss dann eingetragen werden, was an welchem Port bei steigenden oder fallenden Flanken gesetzt werden soll. Anbei ein Beispiel:

ECMDTCP(PA1, RISING, 192.168.100.2 io set port0 0x01 0x01)

Sorry für aller anderen Forumsteilnehmer, wenn man das Ethersexprojekt nicht kennt, ist alles kaum zu verstehen. Ich wollte es hier nur sn00py zeigen, da ich mir damals einen Wolf danach gesucht habe.

Gruss
Bernd

Also glaub vieles kann man mit dem Control6 machen, da sollte sich die primitiven Lichtsteuerungen/pumpensteuerung machen lassen
und acuh gleich ein versenden von UDP Meldungen an IPS.

Hat das schon mal wer ausprobiert?

Mit Control6 habe ich bisher noch nichts gemacht. Die Logik läuft bei mir in IPS. Ich wollte aber schon lange mal beginnen einfache Tasks auf den AVR auszulagern. Dann läuft alles autonomer und das kommt meinem Prinzip eher entgegen. Logging von Messwerten auf SD und dann stündlich als Päckchen an IPS ist so ein Beispiel.

Die vorher beschriebene Variante mit Watch IO and react habe ich zumindest soweit getestet, dass ich am AVR einen Schalter betätigt habe und im Etherreal das dann auch mit der richtigen Zieladresse gesehen habe. Auf der IPS oder einem anderen AVR muß dann nur ein Socket offen sein, um dieses Paket aufzunehmen.

Gruss
Bernd

Danke icey, hab deinen vorletzten post erst im nachhinein gesehen :slight_smile:

Also ich glaub mit dem Control6 kann man vieles machen, soviel ich bisher gelesen habe …
Ich will einfach die wirklich primitiven funktionen wie drücke taster -> licht geht an - direkt im controller haben …

Hallo Bernd, was mache wenn mir menuconfig ein [-] anzeigt bei dieser Option?

Das gleiche habe ich auch beim bootloader … ?

Weisst du zufällig obs irgendwo Infos gibt, wann wo was einzusetzen ist?