+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 19
  1. #1
    Registriert seit
    Apr 2014
    Beiträge
    1

    Question Daten vom Arduino an IPS übermitteln Ethernet

    Hallo,
    ich möchte mit einem Arduino über mein Netzwerk eine Steuerung für meine Dachfenster realisieren. Das Schalten funktioniert recht gut mit http Befehlen über IPS, nun möchte ich auch mit IPS meine Daten auslesen. Wenn ich die IP Adresse des Arduinos mit einem Browser aufrufe werden alle Analogen und Digitalen Daten angezeigt. Meine bisherige suche ergab bis jetzt "Arduino -> Ethernet Shield -> Server Socket in IPS -> Verbindung über TCP/IP -> simpel". Aber wie dies zu realisieren ist, also eine genauere Anleitung habe ich bis jetzt noch nicht gefunden.
    Kann mir jemand weiterhelfen? Danke.

  2. #2
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    955

    Hallo,

    hatte in dem Thread auch geschrieben, dass ein Beispiel-Sketch enthalten ist, wo eigentlich schon alles drin steht.
    Aber hier mal mein Sketch, mit dem die digitalen Eingänge an IPS übermittelt werden können (über nen Server-Socket auf IPS-Seite).

    Code:
    #include <SPI.h>
    #include <Ethernet.h>
    
    byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
    IPAddress ip(192,168,0,201);
    IPAddress server(192,168,0,10);
    EthernetClient client;
    boolean socket = false;
    int pinD2 = 2;
    int pinD3 = 3;
    int pinD4 = 4;
    int pinD5 = 5;
    int pinD6 = 6;
    int pinD7 = 7;
    int pinD8 = 8;
    int pinD9 = 9;
    int inputD1;
    int inputD2;
    int inputD3;
    int inputD4;
    int inputD5;
    int inputD6;
    int inputD7;
    int inputD8;
    int stateD1;
    int stateD2;
    int stateD3;
    int stateD4;
    int stateD5;
    int stateD6;
    int stateD7;
    int stateD8;
    int lastStateD1;
    int lastStateD2;
    int lastStateD3;
    int lastStateD4;
    int lastStateD5;
    int lastStateD6;
    int lastStateD7;
    int lastStateD8;
    int tD1;
    int tD2;
    int tD3;
    int tD4;
    int tD5;
    int tD6;
    int tD7;
    int tD8;
    int tDebounce = 150;
    
    void setup() {
    
      pinMode(pinD2, INPUT);
      pinMode(pinD3, INPUT);
      pinMode(pinD4, INPUT);
      pinMode(pinD5, INPUT);
      pinMode(pinD6, INPUT);
      pinMode(pinD7, INPUT);
      pinMode(pinD8, INPUT);
      pinMode(pinD9, INPUT);
      digitalWrite(pinD2, HIGH);
      digitalWrite(pinD3, HIGH);
      digitalWrite(pinD4, HIGH);
      digitalWrite(pinD5, HIGH);
      digitalWrite(pinD6, HIGH);
      digitalWrite(pinD7, HIGH);
      digitalWrite(pinD8, HIGH);
      digitalWrite(pinD9, HIGH);
      stateD1 = digitalRead(pinD2);
      stateD2 = digitalRead(pinD3);
      stateD3 = digitalRead(pinD4);
      stateD4 = digitalRead(pinD5);
      stateD5 = digitalRead(pinD6);
      stateD6 = digitalRead(pinD7);
      stateD7 = digitalRead(pinD8);
      stateD8 = digitalRead(pinD9); 
      lastStateD1 = stateD1;
      lastStateD2 = stateD2;
      lastStateD3 = stateD3;
      lastStateD4 = stateD4;
      lastStateD5 = stateD5;
      lastStateD6 = stateD6;
      lastStateD7 = stateD7;
      lastStateD8 = stateD8;
      
      Ethernet.begin(mac, ip);
      delay(2000);
      
      if (client.connect(server, 5000)) {
        socket = true;
        client.print("{\"input_d1\" : ");
        client.print(stateD1);
        client.println("}");
        client.print("{\"input_d2\" : ");
        client.print(stateD2);
        client.println("}");
        client.print("{\"input_d3\" : ");
        client.print(stateD3);
        client.println("}");
        client.print("{\"input_d4\" : ");
        client.print(stateD4);
        client.println("}");
        client.print("{\"input_d5\" : ");
        client.print(stateD5);
        client.println("}");
        client.print("{\"input_d6\" : ");
        client.print(stateD6);
        client.println("}");
        client.print("{\"input_d7\" : ");
        client.print(stateD7);
        client.println("}");
        client.print("{\"input_d8\" : ");
        client.print(stateD8);
        client.println("}");
      } else {
        socket = false;
      }
      
    }
    
    void loop() {
     
      inputD1 = digitalRead(pinD2);
      if (inputD1 != lastStateD1) {
        tD1 = millis();
      }
      if ((millis() - tD1) > tDebounce) {
        if (inputD1 != stateD1) {
          stateD1 = inputD1;
          if (socket) {
            client.print("{\"input_d1\" : ");
            client.print(inputD1);
            client.println("}");
          }
        }
      }
      lastStateD1 = inputD1;
      
      inputD2 = digitalRead(pinD3);
      if (inputD2 != lastStateD2) {
        tD2 = millis();
      }
      if ((millis() - tD2) > tDebounce) {
        if (inputD2 != stateD2) {
          stateD2 = inputD2;
          if (socket) {
            client.print("{\"input_d2\" : ");
            client.print(inputD2);
            client.println("}");
          }
        }
      }
      lastStateD2 = inputD2;
      
      inputD3 = digitalRead(pinD4);
      if (inputD3 != lastStateD3) {
        tD3 = millis();
      }
      if ((millis() - tD3) > tDebounce) {
        if (inputD3 != stateD3) {
          stateD3 = inputD3;
          if (socket) {
            client.print("{\"input_d3\" : ");
            client.print(inputD3);
            client.println("}");
          }
        }
      }  
      lastStateD3 = inputD3;
      
      inputD4 = digitalRead(pinD5);
      if (inputD4 != lastStateD4) {
        tD4 = millis();
      }
      if ((millis() - tD4) > tDebounce) {
        if (inputD4 != stateD4) {
          stateD4 = inputD4;
          if (socket) {
            client.print("{\"input_d4\" : ");
            client.print(inputD4);
            client.println("}");
          }
        }
      }  
      lastStateD4 = inputD4;
      
      inputD5 = digitalRead(pinD6);
      if (inputD5 != lastStateD5) {
        tD5 = millis();
      }
      if ((millis() - tD5) > tDebounce) {
        if (inputD5 != stateD5) {
          stateD5 = inputD5;
          if (socket) {
            client.print("{\"input_d5\" : ");
            client.print(inputD5);
            client.println("}");
          }
        }
      }
      lastStateD5 = inputD5;
      
      inputD6 = digitalRead(pinD7);
      if (inputD6 != lastStateD6) {
        tD6 = millis();
      }
      if ((millis() - tD6) > tDebounce) {
        if (inputD6 != stateD6) {
          stateD6 = inputD6;
          if (socket) {
            client.print("{\"input_d6\" : ");
            client.print(inputD6);
            client.println("}");
          }
        }
      }  
      lastStateD6 = inputD6;
      
      inputD7 = digitalRead(pinD8);
      if (inputD7 != lastStateD7) {
        tD7 = millis();
      }
      if ((millis() - tD7) > tDebounce) {
        if (inputD7 != stateD7) {
          stateD7 = inputD7;
          if (socket) {
            client.print("{\"input_d7\" : ");
            client.print(inputD7);
            client.println("}");
          }
        }
      }
      lastStateD7 = inputD7;
      
      inputD8 = digitalRead(pinD9);
      if (inputD8 != lastStateD8) {
        tD8 = millis();
      }
      if ((millis() - tD8) > tDebounce) {
        if (inputD8 != stateD8) {
          stateD8 = inputD8;
          if (socket) {
            client.print("{\"input_d8\" : ");
            client.print(inputD8);
            client.println("}");
          }
        }
      }  
      lastStateD8 = inputD8;
      if (!client.connected()) {
        client.stop();
        delay(100);
        //Reconnect
        if (client.connect(server, 5000)) {
          socket = true;
          stateD1 = digitalRead(pinD2);
          client.print("{\"input_d1\" : ");
          client.print(stateD1);
          client.println("}");
          stateD2 = digitalRead(pinD3);
          client.print("{\"input_d2\" : ");
          client.print(stateD2);
          client.println("}");
          stateD3 = digitalRead(pinD4);
          client.print("{\"input_d3\" : ");
          client.print(stateD3);
          client.println("}");
          stateD4 = digitalRead(pinD5);
          client.print("{\"input_d4\" : ");
          client.print(stateD4);
          client.println("}");
          stateD5 = digitalRead(pinD6);
          client.print("{\"input_d5\" : ");
          client.print(stateD5);
          client.println("}");
          stateD6 = digitalRead(pinD7);
          client.print("{\"input_d6\" : ");
          client.print(stateD6);
          client.println("}");
          stateD7 = digitalRead(pinD8);
          client.print("{\"input_d7\" : ");
          client.print(stateD7);
          client.println("}");
          stateD8 = digitalRead(pinD9);
          client.print("{\"input_d8\" : ");
          client.print(stateD8);
          client.println("}");
        } else {
          socket = false; 
        }
      }
    
    }
    KNX | WAGO 750-889 mit 753-646 | DALI mit 753-647 | HM via piVCCU3

  3. #3
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    955

    Hier noch das Skript auf IPS-Seite:

    PHP-Code:
    <?
    if($_IPS['SENDER'] == "RegisterVariable") {

        
    $data RegVar_GetBuffer($_IPS['INSTANCE']);
        
    $data .= $_IPS['VALUE'];
        
        if (
    strpos($data'{') === false || strpos($data'}') === false) {
            
    RegVar_SetBuffer($_IPS['INSTANCE'], $data);
       } else {
            while (
    strpos($data'{') !== false && strpos($data'}') !== false) {
                
    $pos1 strpos($data'{');
                
    $pos2 strpos($data'}');
                
    $msg substr($data$pos1, ($pos2-$pos1)+1);
                
    $json json_decode($msg);
                if (
    $json) {
                   foreach(
    $json as $entryName => $entryValue) {
                        
    IPS_LogMessage("Arduino"$entry_name.": ".$entryValue);
                      switch (
    $entryName) {
                         case 
    "input_d1":
                            
    SetValue(27799 /*[Konfiguration\Arduino\DI_1_Regensensor]*/, !$entryValue);
                           break;
                          case 
    "input_d2":
                           
    SetValue(54722 /*[Konfiguration\Arduino\DI_2_BMI_Dusche]*/, !$entryValue);
                           break;
                          case 
    "input_d3":
                           
    SetValue(10583 /*[Konfiguration\Arduino\DI_3]*/, !$entryValue);
                           break;
                          case 
    "input_d4":
                             
    $var_time IPS_GetVariable(38708 /*[Konfiguration\Arduino\DI_4_BMI_Flur_OG]*/)['VariableUpdated'];
                             if (
    time() - $var_time >= 1) {
                               
    SetValue(38708 /*[Konfiguration\Arduino\DI_4_BMI_Flur_OG]*/, !$entryValue);
                                }
                           break;
                         case 
    "input_d5":
                             
    $var_time IPS_GetVariable(43325 /*[Konfiguration\Arduino\DI_5_BMI_Ankleide]*/)['VariableUpdated'];
                         if (
    time() - $var_time >= 1) {
                                
    SetValue(43325 /*[Konfiguration\Arduino\DI_5_BMI_Ankleide]*/, !$entryValue);
                                }
                           break;
                          case 
    "input_d6":
                             
    $var_time IPS_GetVariable(49265 /*[Konfiguration\Arduino\DI_6_BMI_Windfang]*/)['VariableUpdated'];
                             if (
    time() - $var_time >= 1) {
                               
    SetValue(49265 /*[Konfiguration\Arduino\DI_6_BMI_Windfang]*/, !$entryValue);
                                }
                           break;
                          case 
    "input_d7":
                           
    SetValue(21018 /*[Konfiguration\Arduino\DI_7_BMI_Bad]*/, !$entryValue);
                           break;
                          case 
    "input_d8":
                             
    $var_time IPS_GetVariable(37661 /*[Konfiguration\Arduino\DI_8_Dämmerungsschalter]*/)['VariableUpdated'];
                             if (
    time() - $var_time >= 1) {
                               
    SetValue(37661 /*[Konfiguration\Arduino\DI_8_Dämmerungsschalter]*/, !$entryValue);
                                }
                           break;
                        }
                    }
                }
                
    $data substr($data$pos2 1);
                
    RegVar_SetBuffer($_IPS['INSTANCE'], $data);
            }
        }
    }

    ?>
    KNX | WAGO 750-889 mit 753-646 | DALI mit 753-647 | HM via piVCCU3

  4. #4
    Registriert seit
    Apr 2014
    Ort
    Raum Heilbronn
    Beiträge
    2

    Standard Empfangsbestätigung für erhaltene Daten zurück an Arduino

    Die Lösung mit dem Server Socket und den Beispielen für PHP und ARduino funzt echt super, selbst mit den kleinen 28J60er NW Bausteinen.

    Gibt es in Ergänzung zu der geposteten Lösung einen einfachen Weg per PHP Script bei aufgebautem Socket auf der IPS eine Datenquittierung durch den IPS Server an den Arduino Client zu schicken?

    Ich denke an etwas das so ähnlich ist wie bei den Musterbeispielen (Siehe unten rot) der Arduino NW Lib´s nur halt auf der IPS Server Seite?

    //RX Part...
    ...
    while((size = client.available()) > 0)
    {
    uint8_t* msg = (uint8_t*)malloc(size);
    size = client.read(msg,size);
    Serial.write(msg,size);
    free(msg);
    }

    //TX Quittierung...
    client.println("DATA from Server!");


    Bin leider auf Seiten der IPS PHP SW Erstellung am absoluten Anfang, die Arduino Seite spielt schon recht gut....
    Danke für nen kurzen Tipp...

    Atlantis

  5. #5
    Registriert seit
    Aug 2013
    Beiträge
    132

    Nabend,

    kann mir das mal einer mit dem "Server Socket" mal erklären, wie man die Verbindung zwischen Arduino und IPS herstellt.
    Muß man bei dem Client auch etwas angeben?

    Gruß Stefan
    IPS 4.3 Professional | Siemens S7-300 | IBH-Link | RaspberryPi | Arduino Mega 2560 | Arduino Nano | WeMos Mini | MQTT | sonoff | gosund

  6. #6
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    955

    Auf dem Arduino (=Client) musst Du nur die IP und den Port deines IPS-Servers angeben.
    KNX | WAGO 750-889 mit 753-646 | DALI mit 753-647 | HM via piVCCU3

  7. #7
    Registriert seit
    Aug 2013
    Beiträge
    132

    OK Danke.



    Gruß
    Stefan
    Geändert von Stefan W (14.11.14 um 15:52 Uhr)
    IPS 4.3 Professional | Siemens S7-300 | IBH-Link | RaspberryPi | Arduino Mega 2560 | Arduino Nano | WeMos Mini | MQTT | sonoff | gosund

  8. #8
    Registriert seit
    Aug 2013
    Beiträge
    132

    Hi,
    ich habe diesen Sketch

    #include <SPI.h>
    #include <Ethernet.h>

    byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
    IPAddress ip(192,168,0,201);
    IPAddress server(192,168,0,10);
    EthernetClient client;
    boolean socket = false;
    int pinD2 = 2;
    int pinD3 = 3;
    int pinD4 = 4;
    int pinD5 = 5;
    int pinD6 = 6;
    int pinD7 = 7;
    int pinD8 = 8;
    int pinD9 = 9;
    int inputD1;
    int inputD2;
    int inputD3;
    int inputD4;
    int inputD5;
    int inputD6;
    int inputD7;
    int inputD8;
    int stateD1;
    int stateD2;
    int stateD3;
    int stateD4;
    int stateD5;
    int stateD6;
    int stateD7;
    int stateD8;
    int lastStateD1;
    int lastStateD2;
    int lastStateD3;
    int lastStateD4;
    int lastStateD5;
    int lastStateD6;
    int lastStateD7;
    int lastStateD8;
    int tD1;
    int tD2;
    int tD3;
    int tD4;
    int tD5;
    int tD6;
    int tD7;
    int tD8;
    int tDebounce = 150;

    void setup() {

    pinMode(pinD2, INPUT);
    pinMode(pinD3, INPUT);
    pinMode(pinD4, INPUT);
    pinMode(pinD5, INPUT);
    pinMode(pinD6, INPUT);
    pinMode(pinD7, INPUT);
    pinMode(pinD8, INPUT);
    pinMode(pinD9, INPUT);
    digitalWrite(pinD2, HIGH);
    digitalWrite(pinD3, HIGH);
    digitalWrite(pinD4, HIGH);
    digitalWrite(pinD5, HIGH);
    digitalWrite(pinD6, HIGH);
    digitalWrite(pinD7, HIGH);
    digitalWrite(pinD8, HIGH);
    digitalWrite(pinD9, HIGH);
    stateD1 = digitalRead(pinD2);
    stateD2 = digitalRead(pinD3);
    stateD3 = digitalRead(pinD4);
    stateD4 = digitalRead(pinD5);
    stateD5 = digitalRead(pinD6);
    stateD6 = digitalRead(pinD7);
    stateD7 = digitalRead(pinD8);
    stateD8 = digitalRead(pinD9);
    lastStateD1 = stateD1;
    lastStateD2 = stateD2;
    lastStateD3 = stateD3;
    lastStateD4 = stateD4;
    lastStateD5 = stateD5;
    lastStateD6 = stateD6;
    lastStateD7 = stateD7;
    lastStateD8 = stateD8;

    Ethernet.begin(mac, ip);
    delay(2000);

    if (client.connect(server, 5000)) {
    socket = true;
    client.print("{\"input_d1\" : ");
    client.print(stateD1);
    client.println("}");
    client.print("{\"input_d2\" : ");
    client.print(stateD2);
    client.println("}");
    client.print("{\"input_d3\" : ");
    client.print(stateD3);
    client.println("}");
    client.print("{\"input_d4\" : ");
    client.print(stateD4);
    client.println("}");
    client.print("{\"input_d5\" : ");
    client.print(stateD5);
    client.println("}");
    client.print("{\"input_d6\" : ");
    client.print(stateD6);
    client.println("}");
    client.print("{\"input_d7\" : ");
    client.print(stateD7);
    client.println("}");
    client.print("{\"input_d8\" : ");
    client.print(stateD8);
    client.println("}");
    } else {
    socket = false;
    }

    }

    void loop() {

    inputD1 = digitalRead(pinD2);
    if (inputD1 != lastStateD1) {
    tD1 = millis();
    }
    if ((millis() - tD1) > tDebounce) {
    if (inputD1 != stateD1) {
    stateD1 = inputD1;
    if (socket) {
    client.print("{\"input_d1\" : ");
    client.print(inputD1);
    client.println("}");
    }
    }
    }
    lastStateD1 = inputD1;

    inputD2 = digitalRead(pinD3);
    if (inputD2 != lastStateD2) {
    tD2 = millis();
    }
    if ((millis() - tD2) > tDebounce) {
    if (inputD2 != stateD2) {
    stateD2 = inputD2;
    if (socket) {
    client.print("{\"input_d2\" : ");
    client.print(inputD2);
    client.println("}");
    }
    }
    }
    lastStateD2 = inputD2;

    inputD3 = digitalRead(pinD4);
    if (inputD3 != lastStateD3) {
    tD3 = millis();
    }
    if ((millis() - tD3) > tDebounce) {
    if (inputD3 != stateD3) {
    stateD3 = inputD3;
    if (socket) {
    client.print("{\"input_d3\" : ");
    client.print(inputD3);
    client.println("}");
    }
    }
    }
    lastStateD3 = inputD3;

    inputD4 = digitalRead(pinD5);
    if (inputD4 != lastStateD4) {
    tD4 = millis();
    }
    if ((millis() - tD4) > tDebounce) {
    if (inputD4 != stateD4) {
    stateD4 = inputD4;
    if (socket) {
    client.print("{\"input_d4\" : ");
    client.print(inputD4);
    client.println("}");
    }
    }
    }
    lastStateD4 = inputD4;

    inputD5 = digitalRead(pinD6);
    if (inputD5 != lastStateD5) {
    tD5 = millis();
    }
    if ((millis() - tD5) > tDebounce) {
    if (inputD5 != stateD5) {
    stateD5 = inputD5;
    if (socket) {
    client.print("{\"input_d5\" : ");
    client.print(inputD5);
    client.println("}");
    }
    }
    }
    lastStateD5 = inputD5;

    inputD6 = digitalRead(pinD7);
    if (inputD6 != lastStateD6) {
    tD6 = millis();
    }
    if ((millis() - tD6) > tDebounce) {
    if (inputD6 != stateD6) {
    stateD6 = inputD6;
    if (socket) {
    client.print("{\"input_d6\" : ");
    client.print(inputD6);
    client.println("}");
    }
    }
    }
    lastStateD6 = inputD6;

    inputD7 = digitalRead(pinD8);
    if (inputD7 != lastStateD7) {
    tD7 = millis();
    }
    if ((millis() - tD7) > tDebounce) {
    if (inputD7 != stateD7) {
    stateD7 = inputD7;
    if (socket) {
    client.print("{\"input_d7\" : ");
    client.print(inputD7);
    client.println("}");
    }
    }
    }
    lastStateD7 = inputD7;

    inputD8 = digitalRead(pinD9);
    if (inputD8 != lastStateD8) {
    tD8 = millis();
    }
    if ((millis() - tD8) > tDebounce) {
    if (inputD8 != stateD8) {
    stateD8 = inputD8;
    if (socket) {
    client.print("{\"input_d8\" : ");
    client.print(inputD8);
    client.println("}");
    }
    }
    }
    lastStateD8 = inputD8;
    if (!client.connected()) {
    client.stop();
    delay(100);
    //Reconnect
    if (client.connect(server, 5000)) {
    socket = true;
    stateD1 = digitalRead(pinD2);
    client.print("{\"input_d1\" : ");
    client.print(stateD1);
    client.println("}");
    stateD2 = digitalRead(pinD3);
    client.print("{\"input_d2\" : ");
    client.print(stateD2);
    client.println("}");
    stateD3 = digitalRead(pinD4);
    client.print("{\"input_d3\" : ");
    client.print(stateD3);
    client.println("}");
    stateD4 = digitalRead(pinD5);
    client.print("{\"input_d4\" : ");
    client.print(stateD4);
    client.println("}");
    stateD5 = digitalRead(pinD6);
    client.print("{\"input_d5\" : ");
    client.print(stateD5);
    client.println("}");
    stateD6 = digitalRead(pinD7);
    client.print("{\"input_d6\" : ");
    client.print(stateD6);
    client.println("}");
    stateD7 = digitalRead(pinD8);
    client.print("{\"input_d7\" : ");
    client.print(stateD7);
    client.println("}");
    stateD8 = digitalRead(pinD9);
    client.print("{\"input_d8\" : ");
    client.print(stateD8);
    client.println("}");
    } else {
    socket = false;
    }
    }

    }
    und dieses Skript

    <?
    if($_IPS['SENDER'] == "RegisterVariable") {

    $data = RegVar_GetBuffer($_IPS['INSTANCE']);
    $data .= $_IPS['VALUE'];

    if (strpos($data, '{') === false || strpos($data, '}') === false) {
    RegVar_SetBuffer($_IPS['INSTANCE'], $data);
    } else {
    while (strpos($data, '{') !== false && strpos($data, '}') !== false) {
    $pos1 = strpos($data, '{');
    $pos2 = strpos($data, '}');
    $msg = substr($data, $pos1, ($pos2-$pos1)+1);
    $json = json_decode($msg);
    if ($json) {
    foreach($json as $entryName => $entryValue) {
    IPS_LogMessage("Arduino", $entry_name.": ".$entryValue);
    switch ($entryName) {
    case "input_d1":
    SetValue(27799 /*[Konfiguration\Arduino\DI_1_Regensensor]*/, !$entryValue);
    break;
    case "input_d2":
    SetValue(54722 /*[Konfiguration\Arduino\DI_2_BMI_Dusche]*/, !$entryValue);
    break;
    case "input_d3":
    SetValue(10583 /*[Konfiguration\Arduino\DI_3]*/, !$entryValue);
    break;
    case "input_d4":
    $var_time = IPS_GetVariable(38708 /*[Konfiguration\Arduino\DI_4_BMI_Flur_OG]*/)['VariableUpdated'];
    if (time() - $var_time >= 1) {
    SetValue(38708 /*[Konfiguration\Arduino\DI_4_BMI_Flur_OG]*/, !$entryValue);
    }
    break;
    case "input_d5":
    $var_time = IPS_GetVariable(43325 /*[Konfiguration\Arduino\DI_5_BMI_Ankleide]*/)['VariableUpdated'];
    if (time() - $var_time >= 1) {
    SetValue(43325 /*[Konfiguration\Arduino\DI_5_BMI_Ankleide]*/, !$entryValue);
    }
    break;
    case "input_d6":
    $var_time = IPS_GetVariable(49265 /*[Konfiguration\Arduino\DI_6_BMI_Windfang]*/)['VariableUpdated'];
    if (time() - $var_time >= 1) {
    SetValue(49265 /*[Konfiguration\Arduino\DI_6_BMI_Windfang]*/, !$entryValue);
    }
    break;
    case "input_d7":
    SetValue(21018 /*[Konfiguration\Arduino\DI_7_BMI_Bad]*/, !$entryValue);
    break;
    case "input_d8":
    $var_time = IPS_GetVariable(37661 /*[Konfiguration\Arduino\DI_8_Dämmerungsschalter]*/)['VariableUpdated'];
    if (time() - $var_time >= 1) {
    SetValue(37661 /*[Konfiguration\Arduino\DI_8_Dämmerungsschalter]*/, !$entryValue);
    }
    break;
    }
    }
    }
    $data = substr($data, $pos2 + 1);
    RegVar_SetBuffer($_IPS['INSTANCE'], $data);
    }
    }
    }

    ?>
    nun habe ich die IP Adressen angepasst

    IPAddress ip(192,168,3,177); Arduino
    IPAddress server(192,168,3,11); IPS

    und den Port der beim IPS unter Server Socket hier

    if (client.connect(server, 1024)) {

    und

    if (client.connect(server, 1024)) {


    ist das soweit richtig?

    Gruß

    Stefan
    Geändert von Stefan W (13.12.14 um 22:55 Uhr)
    IPS 4.3 Professional | Siemens S7-300 | IBH-Link | RaspberryPi | Arduino Mega 2560 | Arduino Nano | WeMos Mini | MQTT | sonoff | gosund

  9. #9
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    955

    Ja, das passt so. Sollte sich verbinden.


    Sent from my iPhone using Tapatalk
    KNX | WAGO 750-889 mit 753-646 | DALI mit 753-647 | HM via piVCCU3

  10. #10
    Registriert seit
    Aug 2013
    Beiträge
    132

    Hm, es scheint das er sich Verbindet, als was muß ich denn die Variablen in IPS anlegen.
    IPS 4.3 Professional | Siemens S7-300 | IBH-Link | RaspberryPi | Arduino Mega 2560 | Arduino Nano | WeMos Mini | MQTT | sonoff | gosund

Ähnliche Themen

  1. Daten vom mikrocontroller an IPS übermitteln
    Von wowa371 im Forum Bastel-Ecke
    Antworten: 15
    Letzter Beitrag: 30.07.14, 18:26
  2. Arduino Modbus und Arduino mit TFT
    Von sallos im Forum Projekt Showcase
    Antworten: 12
    Letzter Beitrag: 30.06.14, 10:09
  3. Daten eines Arduino weiterverarbeiten
    Von SmartHomeSchweiz im Forum Skripte, PHP, SQL
    Antworten: 15
    Letzter Beitrag: 29.12.13, 08:44
  4. Daten vom Archiv in txt schreiben?
    Von michl im Forum Skripte, PHP, SQL
    Antworten: 1
    Letzter Beitrag: 02.11.13, 23:13
  5. Störung der Heizung ohne IPS übermitteln ..??
    Von HolgerK im Forum Off Topic
    Antworten: 3
    Letzter Beitrag: 23.09.13, 09:02

Stichworte