ESP8266 wifi TCP cliens/server

ESP8266, ESP32 chipek és az ESP-xx modulok. Programozási nyelvek, trükkök, hardware tippek.
Avatar
dpsslaser
Bitmanipulátor
Hozzászólások: 145
Csatlakozott: 2012. július 21. szombat, 6:00

ESP8266 wifi TCP cliens/server

Hozzászólás Szerző: dpsslaser »

Szeretném ESP8266 wifi TCP cliens/server módban használni wifin keresztül!
Találtam minta példát és nem igazán találom az utasitás készletet ehez a részhez!
Ez a rész aminek nem találom az utasitás részét:

serial port alat:

Serial.print(sdm.readVal(SDM120C_VOLTAGE), 2);

De ESP8266WiFi alatt hogy is van?

Clients.print(sdm.readVal(SDM120C_VOLTAGE), 2);
mert igy nem jó!




Kód: Egész kijelölése

#include <ESP8266WiFi.h>

//how many clients should be able to telnet to this ESP8266
#define MAX_SRV_CLIENTS 1
const char* ssid = "**********";
const char* password = "**********";

WiFiServer server(23);
WiFiClient serverClients[MAX_SRV_CLIENTS];

void setup() {
  Serial1.begin(115200);
  WiFi.begin(ssid, password);
  Serial1.print("\nConnecting to "); Serial1.println(ssid);
  uint8_t i = 0;
  while (WiFi.status() != WL_CONNECTED && i++ < 20) delay(500);
  if(i == 21){
    Serial1.print("Could not connect to"); Serial1.println(ssid);
    while(1) delay(500);
  }
  //start UART and the server
  Serial.begin(115200);
  server.begin();
  server.setNoDelay(true);
  
  Serial1.print("Ready! Use 'telnet ");
  Serial1.print(WiFi.localIP());
  Serial1.println(" 23' to connect");
}

void loop() {
  uint8_t i;
  //check if there are any new clients
  if (server.hasClient()){
    for(i = 0; i < MAX_SRV_CLIENTS; i++){
      //find free/disconnected spot
      if (!serverClients[i] || !serverClients[i].connected()){
        if(serverClients[i]) serverClients[i].stop();
        serverClients[i] = server.available();
        Serial1.print("New client: "); Serial1.print(i);
        continue;
      }
    }
    //no free/disconnected spot so reject
    WiFiClient serverClient = server.available();
    serverClient.stop();
  }
  //check clients for data
  for(i = 0; i < MAX_SRV_CLIENTS; i++){
    if (serverClients[i] && serverClients[i].connected()){
      if(serverClients[i].available()){
        //get data from the telnet client and push it to the UART
        while(serverClients[i].available()) Serial.write(serverClients[i].read());
      }
    }
  }
  //check UART for data
  if(Serial.available()){
    size_t len = Serial.available();
    uint8_t sbuf[len];
    Serial.readBytes(sbuf, len);
    //push UART data to all connected telnet clients
    for(i = 0; i < MAX_SRV_CLIENTS; i++){
      if (serverClients[i] && serverClients[i].connected()){
        serverClients[i].write(sbuf, len);
        delay(1);
      }
    }
  }
}

amibe szeretném alkalmazni

Kód: Egész kijelölése

#include <SDM.h>                                                                //import SDM template library

#define ASCII_ESC 27

char bufout[10];


SDM<> sdm;

void setup() {
  Serial.begin(115200);                                                         //initialize serial
  sdm.begin();                                                                  //initalize SDM220 communication baudrate
}

void loop() {

 // sprintf(bufout,"%c[1;0H",ASCII_ESC);
 // Serial.print(bufout);

  Serial.print("Voltage:   ");
  Serial.print(sdm.readVal(SDM120C_VOLTAGE), 2);                                //display voltage
  Serial.println("V");
  Serial.println("-------------------");
 delay(500);  
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: ESP8266 wifi TCP cliens/server

Hozzászólás Szerző: SanyiSay »

viewforum.php?f=46
Itt találhatóak az eddig megkezdett témák és ebből ide tartozik a problémád.
viewtopic.php?f=46&t=1928
Válasz küldése