Untitled
raw download clone
TEXT
views 19
,
size 3950 b
#include <ESP8266WiFi.h>    //For ESP8266
#define SERVER_PORT 8000    // Port 8000 NodeMCU LabVIEW
const char* ssid = "aaaa";      //SSID NodeMCU Login 
const char* password = "bbb"; //Password  WiFi NodeMCU Login 

WiFiServer server(SERVER_PORT);     // object server  port  8000
int i;       // variabila pentru voltage pin A0 valori 0-1023
float v;     //voltage 0V-3.3V



void setup() 
{   
   pinMode(16,OUTPUT);     //Definirea Pin 16 ca iesire pentru a fi un LED de afișare pe NodeMCU.
     Serial.begin(115200);   //Initializare Port Serial
     Serial.println("");
     Serial.println("");
     WiFi.begin(ssid, password); //Se trimit datele pentru Login si password in reteaua WiFi 
     while (WiFi.status() != WL_CONNECTED)  //Afisare in fereastra de monitorizare a portului serial ->  Login 
     { Serial.print("->");
       delay(200);
     }
     Serial.println("");
     Serial.println("WiFi Successfully Connected");   //Afisarea mesajului "WiFi Successfully Connected" la conectarea cu succes
     Serial.print("NodeMCU IP address: "); //Afisarea mesajului "NodeMCU IP address:"
     Serial.println(WiFi.localIP());     //Afisarea adresei IP alocata placii de dezvoltare NodeMCU de catre WiFi Router
     server.begin();             //Initializarea serverului pentru conectarea cu Labview ca si client
     Serial.println("NodeMCU setat ca Server este gata");//Afisarea mesajului "NodeMCU setat ca Server este gata" ca serverul este pregatit
     for(i=0;i<25;i++)   //Dacă este conectat cu succes, veți vedea o lumină intermitentă pe NodeMCU pentru a vizualiza starea când NodeMCU nu este conectat la computer.
     { digitalWrite(16,HIGH);
       delay(40);
       digitalWrite(16,LOW);
       delay(40);
     }
}
void loop()  //LED-ul de pe pinul 16 va rămâne constant în așteptarea conexiunii.
{       WiFiClient client = server.available();  //Se așteaptă conectarea programului LabVIEW ca Client pentru a solicita servicii de la NodeMCU.
        if (client)                              //Dacă LabVIEW comunică în calitate de Client, declarația if va fi adevărată. 
        {   Serial.println("Hi...Client Nou");   //Afișați mesajul de întâmpinare al noului client la Serial Communication.
            for(i=0;i<2;i++)                     //Veți vedea un LED intermitent pe NodeMCU de 3 ori pe care să îl utilizați pentru a vizualiza starea când NodeMCU nu este conectat la computer.
            { digitalWrite(16,HIGH);
              delay(50);
              digitalWrite(16,LOW);
              delay(50);
            }
            while(1)       
          { while(client.available())   // Se verifica datele trimise de la LabVIEW, dacă există date trimise, va face Bucla.
              {  digitalWrite(16,HIGH);   //Când sunt trimise date, LED-ul de la NodeMCU va clipi.
                 delay(20);
                 digitalWrite(16,LOW);
                 delay(20);
                 uint8_t data =client.read();  //Se citesc informațiile trimise
                 Serial.write(data);           //Se trimit valorile pe portul serial
  
                                   
                 
                 switch (data)                 //Verificarea variabilei trimise din LabVIEW
                 {
                   case 'c':     // date = 'c', Se va citi Tensiunea de la pinul A0 și să trimită datele înapoi la LabVIEW.
                      i=analogRead(0);
                      v=(i*3.3)/1023;
                      Serial.println(v);
                      client.println(v); 
                   break;
                        
              }
             if(server.hasClient())  //Verificați conexiunea la LabVIEW în calitate de client.
             { return;               //Dacă nu există nicio conexiune, ieșiți din buclă și așteptați un nou client.
             }
          }
        } 
}
}
close fullscreen
Login or Register to edit or fork this paste. It's free.