AVR-NET-IO und IPS

mein avr net io kommt in den nächsten tagen, da bin ich aber mal gespannt ob das was wird. ansonsten tonne, danach versuch ichs mit dem ekm-868.

Wieso Tonne? Du findest bestimmt einen Abnehmer für das bisschen Hardware, falls nicht mehr gewünscht.

hat sich vorerst erledigt, pollin hat die bestellung gar nicht ausgeführt.

Ich hole das alte Thema mal hoch weil ich in meinem Keller noch eine alte AVR-NET-IO von Pollin gefunden habe.

AVR compilieren und brennen per AVR Studio und das Bedienen über den Webbrowser funktionierte sofort. Die Einrichtung in IPS 2.4 ging nach der Anleitung des Threadstarters auch fehlerfrei, nur der Betrieb selbst war dann nicht mehr ganz OK. Screnshot im Anhang.

Die digitalen Eingänge wurden unter den Register Variablen gar nicht mehr angelegt, das Ändern der Ausgängvariablen im IPS brachte keine Pegeländerung am C-Port des AVR. Nur die Variablen der Analogen eingänge wurden sehr schnell und sauber aktualisiert. Auch wird das Abgleichs-Script als fehlerhaft markiert, ich erkenne jedoch keinen Fehler in der angegebenen Zeile, es könnte höchstens sein, dass das Script keine eindeutigen Werde vom AVR Prozessor erhalten hat.

Hat jemand eine Idee?

Hallo Simba69,

kannst Du bitte mal die Details zu dem Scriptfehler in der Datei AVR-NET-IO_Abgleich posten.

Hallo Ernst,

danke fürs nachfragen aber ich habe das Projekt schon wieder gelöscht …

Ich war am überlegen was mühsamer ist: Entweder die Fehler zu finden, weil die Scripte und Anleitungen auf einer älteren IPS Version als 2.4 geschrieben wurden, oder es gleich selbst vom neuen zu schreiben.

Aber nachdem ich für die Platine keine wirklich sinnvolle Verwendung habe lohnt sich keines von beiden :stuck_out_tongue:

Hallo Ernst,
er meinte vermutlich diesen Fehler, den ich auch habe. Bin Newbie hier und kann den Fhler auch nicht finden.
Notice: Undefined variable: IPS_SELF in C:\IP-Symcon\scripts\35941.ips.php on line 66

Häng doch mal das ganze Script hier rein, dann kann man mal drüber sehen.

Hallo Rainer,
hier das script, wie in der Anleitung von Ernst übernommen:

<?
/*
*******************************
 IP-SYMCON V2 Event Scripting
*******************************
File     : AVR-NET-IO_Include
Trigger  : Einbindung in andere AVR-NET-IO - Scripte
Interval :
Autor    : EHB
*/

// Variablen definieren ********************************************************
$RegVar_ID = 35941 /*[AVR-Net-IO Cutter\Register Variable\AVR-NET-IO_Include]*/; // ID dieses Scripts
$CS_ID = 28799 /*[AVR-Net-IO]*/; // Client-Socket-ID für AVR-NET-IO-Modul

// Namen der Eingangsvariablen
$PortName[0] = "Schalter 0";  // Boolean
$PortName[1] = "Schalter 1";  // Boolean
$PortName[2] = "Schalter 2";  // Boolean
$PortName[3] = "Schalter 3";  // Boolean
$PortName[4] = "Messwert 4";     // Integer
$PortName[5] = "Messwert 5";  // Integer
$PortName[6] = "Messwert 6";  // Integer
$PortName[7] = "Messwert 7";    // Integer
// Namen der Ausgangsvariablen
$Ausgang[0] = "Ausgang 0";    // Boolean
$Ausgang[1] = "Ausgang 1";    // Boolean
$Ausgang[2] = "Ausgang 2";    // Boolean
$Ausgang[3] = "Ausgang 3";    // Boolean
$Ausgang[4] = "Ausgang 4";    // Boolean
$Ausgang[5] = "Ausgang 5";    // Boolean
$Ausgang[6] = "Ausgang 6";    // Boolean
$Ausgang[7] = "Ausgang 7";    // Boolean
$Ausgang[8] = "AVR-NET-IO-OK"; // Zustand der Verbindung zum Modul

$Var_ID_NETIO_OK = IPS_GetVariableIDByName($Ausgang[8],$RegVar_ID); // ID der Zusatndsvariable ermitteln

// Befehls-String an Modul senden **********************************************
function Befehl_senden($CS_ID,$Var_ID_NETIO_OK,$String)
{
    // Variablen setzen
    $OK = false;
    $i = 0;
    while ((!$OK) && ($i <= 5))
    {
       SetValue($Var_ID_NETIO_OK, false);         // OK-Variable auf false setzen
      IPS_LogMessage("Durchlauf : ",$i."  - String: ".$String);
      CSCK_SendText($CS_ID,$String);             // Befehl senden
          $SendeZeit = microtime(1); // Zeit übernehmen, zu der der String gesendet wurde
          IPS_LogMessage("Sendezeit : ",$SendeZeit);
          IPS_Sleep(300);                                 // Pause
        $VarInfo = IPS_GetVariable($Var_ID_NETIO_OK); // Variablen-Infos übernehmen
        $VarWert = $VarInfo['VariableValue']['ValueBoolean'];         // Wert der Variable übernehmen
        IPS_LogMessage("VarWert : ",$VarWert);
        $VarZeit = $VarInfo['VariableUpdated'];     // Zeit der letzten Aktualisierung
        IPS_LogMessage("VarZeit : ",$VarZeit);
        if (($VarZeit >= $SendeZeit) && ($VarWert == true))     // Antwort vom Modul OK und neuer als Sendezeit
        {
              $OK = true;                             // Schleife verlassen
             IPS_LogMessage("OK ? : ",$OK);
         }
        $i++;                                     // Versuchszähler erhöhen
    }
    if ($i >= 6) // 6 Versuche - keine Antwort
    {
       IPS_LogMessage(IPS_GetName ($IPS_SELF) ," Keine Antwort vom Modul!");
       SetValue($Var_ID_NETIO_OK, false);
       return($OK); // Funktion verlassen, Senden nicht Erfolgreich
    }
return($OK); // Funktion verlassen, Senden Erfolgreich
}
?>

Hallo rekostar,

  • Zur Fehlereingrenzung bitte die Zeile 66 auskommentieren ("//" davor setzen).
  • Zeile 66 kontrollieren : Schreibweise ($IPS_SELF) ok?

Betreffs der restlichen Fehler:

Wie von simba69 schon geschrieben, wurden die Skripte für eine ältere Version von IPS geschrieben. Da sich der Syntax einiger Befehle geändert hat kann es zu den genannten Problemen kommen. Bitte Fehlermeldungen posten!

Hallo.

Bin gerade dabei meinen AVR ebenfalls ins IPS einzubinden.

Jetzt habe ich folgendes problem.

Ich habe die orriginal Software am laufen und kann mit der Pollin Sofftware darauf zu greifen.

Jetzt habe ich die hier bereitgestellte geänderte software runter geladen und in der Config mit dem AVR Studio die IP Adresse meinen bedürfnissen angepasst.

Wenn ich diese jetzt auf den AVR schiebe habe ich keine Verbindung mehr weder mit dem NetServer von Pollin, noch über die Website.

Was kann ich falsch gemacht haben, was muss ich sonst noch änder.

Vielen Dank schon mal

Markus

Die neue IP Adresse ist im Adressraum deiner Netzwerk Umgebung?
Die neue Adresse im Browser eingegeben?

Gruß Helmut

Ja ist sie daswegen habe ich sie ja in der config geändert.

Browser eingeben passiert nix.

Markus

Das Orginal hat diese Daten:
IP-Adresse: 192.168.0.90
Netmask: 255.255.255.0
Gateway: 192.168.0.254
TCP/IP-Port: 50290

Was hast Du denn für die Ports genommen und sind Die in der Firewall frei gegeben?

Gruß Helmut

Also in dem Orriginal von der ersten Seite sind filgende Daten drin.

IP: 192.168.1.99
Router IP: 192.168.1.109
Netmask: 255.255.255.0

Die IP in der Datei httpd.h ist auf 80 eingestellt.

Den TCP/IP-Port habe ich nicht gefunden wo der steht, und wnen ich im internen Netzwerk arbeite muss ich den doch auch nicht freigeben auf em router.

Geändert habe ich die Daten wie folgt:

IP auf 192.168.0.90
Router auf 192.168.0.1

Rast habe ich so gelassen.

Markus

So hatte eben mal kurz zugang zum Webinterface, aber jetzt nicht mehr, habe nichts geändert.

Was kann das sein.

Markus

Hallo Borastoni,

  1. Deine Änderungen in der config.h müssten funktionieren.
  2. Ports:
  • Für den WEB-Zugriff auf das Modul wird der Port 80 verwendet.
  • Für den Telnet-Zugriff wird von IPS der Port 23 verwendet.

Tipps zum Testen:

  • Firewall testweise ausschalten
  • Funktioniert ein Ping auf die Adresse des NET-IO ?
  • Kannst Du das Modul per Telnet ansprechen (mit Hyperterminal, …) ?
  • Hinweis: Die Telnet-Meldungen sind Zahlenbefehle (siehe meine Doku)
  • So habe eben mal die Firewal ausgeschaltet
  • Ping funktioniert nicht
  • Ebenso funktioniert telenet nicht

Und nun?

Danke

Markus

Hallo Markus,

da fallen mir 2 Sachen ein:

  • Fuse-Bits kontrollieren:

    Für einen AVR-Mega 32, 16 MHz, ohne Bootloader:
    h-fuse = CF
    l-fuse = FF

    Die Original Fuses von Pollin gelten für den Betrieb mit einem Bootloader.

  • Stromverorgung:

    Sind die 3,3 V stabil ?

Weitere Tipps die die Hardware betreffen kannst Du hier finden:
AVR Net-IO Bausatz von Pollin - Mikrocontroller.net

Hallo IPS freunde,
versuche ebenfals AVR-NET-IO einzubinden. Nach langem kampf ist der AVR ok, kann per browser schalten! Im IPS habe ich problemme und komm nicht weiter.

Folgendes problem:
laut anleitung von Ernst (EHB) (Danke für die super anleitung!) sollte im Cutter
Unter Schnitte „L:STX, R: ETX“ auswählen und „Setzen“ drücken.
Gehe ich auf „Übernehmen“ springt die einstellung zurück auf „Benutzerdefiniert“.
Woran kann das liegen?
Würde mich über hinweise und hilfe freuen, danke schon mal im voraus.

IPS version 2.40