Pages: 1 2 3 [4]   Go Down
Author Topic: Problema login arduino ethernet  (Read 4273 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Prima di tutto Buon anno a tutti


Io ho pastrocchiato questo, l'ho testato e devo dire che funziona, però gradirei che gli diate un'occhiata:


Code:
#define WEBDUINO_AUTH_REALM "Prova Autenticazione"

#include "SPI.h"
#include "Ethernet.h"
#include "WebServer.h"


static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };


static uint8_t ip[] = { 192, 168, 1, 220 };

#define PREFIX ""
WebServer webserver(PREFIX, 80);

boolean Rele1 = false;
boolean Rele2 = false;
boolean Rele3 = false;

void defaultCmd(WebServer &server, WebServer::ConnectionType type,char *url_param, bool param_complete)
                     
{
  server.httpSuccess();
  if (type != WebServer::HEAD)
 {
    String s = "";
 
     if (param_complete == true)
    {
      s = url_param;
 
      if ( s == "R1=ON")
      {
        Rele1 = true;
        digitalWrite(3, HIGH);
      }
      else if ( s == "R1=OFF")
      {
        Rele1 = false;
        digitalWrite(3, LOW);
      }
 
      if ( s == "R2=ON")
      {
        Rele2 = true;
        digitalWrite(5, HIGH);
      }
      else if ( s == "R2=OFF")
      {
        Rele2 = false;
        digitalWrite(5, LOW);
      }
 
      if ( s == "R3=ON")
      {
        Rele3 = true;
        digitalWrite(6, HIGH);
      }
      else if ( s == "R3=OFF")
      {
        Rele3 = false;
        digitalWrite(6, LOW);
      }
    }
 
P(helloMsg) = "<h1>Prova Autenticazione</h1><a href=\"private.html\">Accesso</a>";

    server.printP(helloMsg);
     server.print("<h2>User = 1234   Password = 1234</h2>"); 
  }
}



void privateCmd(WebServer &server, WebServer::ConnectionType type,
         char *url_param, bool param_complete)
         
         
 {
    String s = "";
 
     if (param_complete == true)
    {
      s = url_param;
 
      if ( s == "R1=ON")
      {
        Rele1 = true;
        digitalWrite(3, HIGH);
      }
      else if ( s == "R1=OFF")
      {
        Rele1 = false;
        digitalWrite(3, LOW);
      }
 
      if ( s == "R2=ON")
      {
        Rele2 = true;
        digitalWrite(5, HIGH);
      }
      else if ( s == "R2=OFF")
      {
        Rele2 = false;
        digitalWrite(5, LOW);
      }
 
      if ( s == "R3=ON")
      {
        Rele3 = true;
        digitalWrite(6, HIGH);
      }
      else if ( s == "R3=OFF")
      {
        Rele3 = false;
        digitalWrite(6, LOW);
      }
    }       
                   
{
 if (server.checkCredentials("MTIzNDoxMjM0"))
  {
    server.httpSuccess();
    if (type != WebServer::HEAD)
    {
      P(helloMsg) = "<h1>Accesso eseguito</h1>";
      server.print("<table border=\"1\">");
    server.print("<tr><td>Stato Rele</td><td>Comandi</td><td>");
 
    if(Rele1 == true)
      server.print("<tr><td style=\"color: red;\">RELE 1 ON</td><td>");
    else
      server.print("<tr><td style=\"color: black;\">RELE 1 OFF</td><td>");
 
    if(Rele1 == false)
 
    server.print("<input type= button value='Accendi'onclick=\"location.href='private.html?R1=ON'\">");
    else
 
   server.print("<input type= button value='Spegni'onclick=\"location.href='private.html?R1=OFF'\">");
 
    server.print("</td></tr>");
 
    if(Rele2 == true)
      server.print("<tr><td style=\"color: red;\">RELE 2 ON</td><td>");
    else
      server.print("<tr><td style=\"color: black;\">RELE 2 OFF</td><td>");
 
    if(Rele2 == false)
   
      server.print("<input type= button value='clicca qui'onclick=\"location.href='private.html?R2=ON'\">");
    else
    server.print("<input type= button value='clicca qui'onclick=\"location.href='private.html?R2=OFF'\">");
 
    server.print("</td></tr>");
 
    if(Rele3 == true)
   
      server.print("<tr><td style=\"color: red;\">RELE 3 ON</td><td>");
    else
      server.print("<tr><td style=\"color: black;\">RELE 3 OFF</td><td>");
 
    if(Rele3 == false)
 
    server.print("<input type= button value='clicca qui'onclick=\"location.href='private.html?R3=ON'\">");
    else
 
    server.print("<input type= button value='clicca qui'onclick=\"location.href='private.html?R3=OFF'\">");
 
    server.print("</td></tr>");
 
 
      server.printP(helloMsg);
       
    }
  }
 
       else
 
  {
    /* send a 401 error back causing the web browser to prompt the user for credentials */
    server.httpUnauthorized();
  }
 

}
}

void setup()
{
  Ethernet.begin(mac, ip);
  webserver.setDefaultCommand(&defaultCmd);
  webserver.addCommand("index.html", &defaultCmd);
  webserver.addCommand("private.html", &privateCmd);
  webserver.begin();
 
  delay(100);
 
   //definisci i pin 2 3 4 in uscita
  pinMode(3, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
 
 
  //inizializza i le uscite
  digitalWrite(3, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
 
}



void loop()
{
  char buff[64];
  int len = 64;

  /* process incoming connections one at a time forever */
  webserver.processConnection(buff, &len);
}




Quote
Era un po' che non mettevo mani sulla lib Ethernet.

Allora ricordavo bene la risposta che ti serve è sul char(c). Ho preso un esempio dell'ide e ti ho inserito l'autenticazione base64


Ora sto provando a passare il controllo dei led nel tuo codice, ma senza successo
Logged

Pages: 1 2 3 [4]   Go Up
Jump to: