Pages: [1]   Go Down
Author Topic: Arduino YUN keine TCP Verbindung nach WLAN aus.  (Read 282 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 2
Posts: 143
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo
ich habe eine TCP Verbindung zu einer SPS über WLAN die soweit funktioniert. Wenn ich das WLAN kurz ausschalt verbindet sich das Arduino mit der SPS. Wenn ich das WLAN über Nacht aus habe erhalte ich nach WLAN Neustart am nächsten Tag keine TCP Verbindung mehr. Ich muss erst das Arduino neu starten damit es wieder funktioniert.

Ich glaube dies kommt von der Linuxseite. Kann mir jemand bei diesem Problem helfen?

Im Anhang das Arduino Programm

Code:
 #include <SPI.h>
  #include <Wire.h>
  #include <Bridge.h>
   #include <YunClient.h>
  #include <Console.h>
  #include <DHT22.h>
  #include "IRremote.h"
  
  // SPS Port und IP
  #define PORT 2500
  IPAddress PLC(192,168,178,30); // PLC Address
  bool _Connected;
 
  
  // Temperatursensor PIN
  #define DHT22_PIN 4
  DHT22 myDHT22(DHT22_PIN);
  
  // Zeitlicher Funktionsaufruf
  long previousMillis = 0;
  long interval = 9000;
  unsigned long currentMillis;
  
  
  // IR Empfenger
  int receiver = 3;
  IRrecv irrecv(receiver);           // create instance of 'irrecv'
  decode_results results;
  
  
   void setup() {
    
    irrecv.enableIRIn(); // Start the receiver
    Bridge.begin();      // Sarte Bridge
    digitalWrite(13, HIGH);
    Console.begin();     // Starte Console
    delay(1000);
    
    YunClient client;
   }
  
   //******************************************************************Hautprogramm********************************************************
   void loop()
   {
    // listen for incoming clients
    YunClient client;// = server.accept();
    // LED aus wenn Client nicht verbunden
      
    // Zeit für Zeitliche aufruf              
    unsigned long currentMillis = millis();
        
    //  Temperaturwerte alle 2,5sec senden
    if(currentMillis - previousMillis > interval) {
       previousMillis = currentMillis;
        if (client.connect(PLC,PORT)){
          Console.println("connected");
          digitalWrite(13, HIGH);
         if (client.connected()) {
             TempFeuchte (client);
             TCPDisConnect(client);
          }
        }
       }    
    if (irrecv.decode(&results)) {// have we received an IR signal?
      //  translateIR(client);
        irrecv.resume(); // receive the next value
        }  
    
      delay(100);
        
  }
  

  //***********************************************
  //**     Funktion TCP Verbindung              **
  //***********************************************

  void TCPDisConnect (YunClient client) {
       client.stop();
       client.flush();
      _Connected = LOW ;
      digitalWrite(13, LOW);
      Console.println("Disconnected");
  }
  
  //***********************************************
  //**     Funktion Temperatur Feuchtw           **
  //***********************************************
  
   // Temperatur und Feuchte abfragen und senden
   void TempFeuchte (YunClient client) {
  
   DHT22_ERROR_t errorCode;  
   errorCode = myDHT22.readData();  
   int value;
   String cString;
  
   // TCP Verbindungsaufbau
  
  
  
  
     switch(errorCode)
     {
      case DHT_ERROR_NONE:  
      value = myDHT22.getTemperatureC()*100;
      
   // Value nur senden wenn nicht 0
        if (value != 0) {
           cString ="GV/01"+String(value,DEC);
           client.write((uint8_t*)&cString[0], cString.length());
           Console.println(cString);
         }
  
     value = myDHT22.getHumidity()*100;
        // Value nur senden wenn nicht 0
        if (value > 0) {
           cString ="GV/02"+String(value,DEC);
           client.write((uint8_t*)&cString[0], cString.length());
           Console.println(cString);
           }
        
     break;
     }
    
        
   }
  
Logged

Germany, Osnabrück
Offline Offline
God Member
*****
Karma: 30
Posts: 654
E-Technik Student - Master
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Welches Linux läuft denn darauf, ich hab mich die letzten Tage intensivest mit dem Raspberry Pi beschäftigt, unteranderem mit Wlan problemen.
Vielleicht hilft dir diese Seite weiter.
http://www.gieseke-buch.de/raspberrypi/wlan-verbindung-automatisch-wiederherstellen
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 143
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Auf dem Arduino lauft
OpenWRT named Linino

Die Datei /etc/ifplugd/action.d. finde ich nicht im Arduino YUN

aber das Problem was da beschrieben wird ist genau wie bei mir.
« Last Edit: February 07, 2014, 12:56:40 pm by emilio20 » Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 143
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Komme nicht mehr weiter.

Kennt sich jemand mit der Linux seite des Yun aus ? Es muss doch eine Möglichkeit geben das Wlan immer auf Verbindungsaufbau zu stellen ? Wie im Beitrag des Rasbery Pi berschrieben. Wo finde ich im Yun die Wlan einstellungen ?
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 143
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo
ich konnte das Problem mit der TCP Verbindung zu einer SPS nach längerem WLAN aus nicht beheben.
habe folgende Lösung versucht

http://forum.arduino.cc/index.php?topic=215644.0

leider ohne erfolg.

Gibt es eine Möglichkeit die Zeit zu ändern bis das Arduino YUN die WLAN Verbindung unterbricht bei fehlenden WLAN ?
Momentan liegt diese bei ca 2h.
Hat jemand noch eine Lösung hierzu ?

Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 143
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hat jemand noch eine idee wie ich das Problem lösen kann ? Habe immer noch keine lösung gefunden ??
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 143
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gibt es eine Möglichkeit das Arduino Yun Täglich neu zu starten ? Über den Reset Eingang Startet nur die Arduino Software neu nicht das linino
Logged

Pages: [1]   Go Up
Jump to: