Client Socket an Arduiono

Hallo zusammen,

ich versuche gerade mein Nextion Display, das an einem Arduino ESP8266 angeschossen ist, mit IP-Symcon zu verbinden.
Was ich bisher gelesen habe nutzt man dafür einen Client Socket.

Leider schaffe ich es nicht einen Client Socket aufzubauen :confused:

Wenn ich Host und Port in der der Konfiguration des Client Socket eingebe, das Häkchen bei Aktiv setzte und übernehme klicke, bekomme ich die Meldung „Verbindungsaufbau abgelehnt“

Was muss ich den (vermutlich auf der Arduinoseite) machen um die Verbindung herzustellen.

Vielen Dank und viele Grüße

Markus

Mein bisheriger Arduino Code:

Die WLAN Verbindung wird aufgebaut und der Text (Test1) für das Textfeld „t5“ wird auch auf dem Display angezeigt

#include <ESP8266WiFi.h>
#include "SPI.h"

const char* ssid = "FRITZ!Box7490";
const char* password = "MEIN_PASSWORT";
boolean wifiConnected = false;

IPAddress gateway(192,168,178,1);   // Gateway Fritzbox
IPAddress subnet(255,255,255,0);  // Subnet Mask
IPAddress server(192,168,178,39);    // IP des IPS-Servers

WiFiClient client;

void setup() {
  Serial.begin(9800);

  wifiConnected = connectWifi();

  delay(1000);

  if (client.connect(server, 9264)) {
    Serial.println("-----IPS Connected------");
  } else {
    Serial.println("-----IPS Not Connected------");
  }
}

void loop() {

  if(wifiConnected){
    Serial.print("t5.txt=");
    Serial.write(0x22);
    Serial.print("Test1");
    Serial.write(0x22);
    Serial.write(0xff);
    Serial.write(0xff);
    Serial.write(0xff); 

    delay(2000);
  }
}



boolean connectWifi(){
  
  boolean state = true;
  int i = 0;
  WiFi.begin(ssid, password);
  Serial.println("");
  Serial.println("Connecting to WiFi");

  Serial.print("Connecting");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    if (i > 10){
      state = false;
      break;
    }
    i++;
  }
  
  if (state){
    Serial.println("");
    Serial.print("Connected to ");
    Serial.println(ssid);
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP());
  } else {
    Serial.println("");
    Serial.println("Connection failed.");
  }
return state;
}

Ich habe einen Code von hier genommen, der funktioniert.

Wenn Du nicht klar kommst, melde Dich

Ich denke Du hast keine Verbindung mit Deinem Code

Gruß und guten Rutsch, Helmut

Hi Markus!

Hatte vor langer Zeit hier mal was veröffentlicht:
Arduino über LAN in IPS einbinden (2-Wege Kommunikation)

Da kannst du dir vlt. das ein oder andere von abschauen.

Aber wie so oft >> viele Wege führen nach Rom :slight_smile:

Grüße,
Chris

Hallo zusammen und ein gutes neues Jahr für euch !!

@Helmut: Vielen vielen Dank für den Tipp, der Code hat auf Anhieb problemlos funktioniert… sehr cool…
Ich kann Daten ans Display senden :smiley:

@Chris: Auch dir vielen Dank, werde ich mir mal anschauen. Eine Terrariensteuerung ist extrem interessant,
hätte ich für mich auch Bock drauf, aber erstmal ein Projekt nach dem anderen.

Was für Tiere hältst du?

Vielen Grüße

Markus

Prima, dass es funktioniert. Was für Tiere er hält ist in seinem Avatar, ich habe ab und zu Enkelhunde.
Gruß und frohes glückliches neues Jahr für alle, Helmut

Ne, ich habe keine Frösche :smiley: Ich bin selbst der Frosch :smiley:

Im Terrarium habe ich Bartagame.

Grüße,
Chris

Oh Bartagame :smiley: :smiley:

Tolle Tiere !! Ich hab selbst ca 15 Jahre Bartagame gehalten und in der Zeit bestimmt 150 - 200 Tier nachgezüchtet.
Darüber hinaus hatte ich noch Kragenechsen, Leopardgeckos, Tokehs, Grüne Wasseragame.

Im Moment halte ich aber nur noch ein Boa.

Viele Grüße
Markus

Hallo Helmut,

hast du vielleicht eine Auflistung welche Befehle man benutzen kann…

bisher habe ich es nur geschafft, Texte anzuzeigen und das Display zu dimmen.

Ich suche noch was um die Seite zu wechseln

Hab mir ein paar Sachen angeschaut, aber ich blick da noch nicht ganz durch

Vielen Dank und viele Grüße

Markus

Eine bessere Seite mit besserem Überblick ist hier. als Die, die man im Editor direkt aufrufen kann.

Dann gibt es Böcker Systemtechnikmit gutem Tutorial und natürlich Try and Error
Gruß Helmut
Edit Das Video kennst Du? Ich nehme reine Printmeldungen vom Display, also nicht die Hex-Meldungen

Hallo Helmut,

ja, das Video kenn ich natürlich :smiley:

Ich brauche eigentlich nur die Funktion txt und page die aus IP-Symcon aufgerufen werden können.
Ich werde keinerlei Touchfunktionen benutzen, es soll nur eine reine Anzeige werden.

Text ändern ist ja zB… t0.txt=„WORT“ und 3x 0xff

Aber wie geht das mit Page?

page=„seite1“ und 3x 0xff funktioniert irgendwie nicht bzw. das Display wechselt die Seite nicht

Viele Grüße
Markus

 CSCK_SendText($DisplayID, "page Taster"."\xFF\xFF\xFF" );     

Für page Taster mußt Du den Namen Deiner HMI Seite einsetzen und die Variable $DisplayID muß Deine Client ID werden, dann sollte es gehen.

 CSCK_SendText(12345, "page Seite1"."\xFF\xFF\xFF" );     

Gruß Helmut

Oh man… :banghead:

Ich sollte nicht immer so kompliziert denken !!!

Danke Helmut, funktioniert einwandfrei!!

Genau, passiert mir auch oft, ein Leerzeichen zu viel und die Suche beginnt :wink:

Das Display ist richtig super, lässt sich wirklich „leicht“ mit Leben erfüllen. Wenn ich’s nicht vergesse nehme ich’s nach Lübeck mit, incl gefräster Rahmen für Auf- und Unterputz.

Gruß Helmut