Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am

» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am

» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm

» Google Home diventa un traduttore simultaneo
Da Admin Mar Feb 19, 2019 4:27 pm

» Recensione Xiaomi Redmi 5 - Edizione 2019
Da Admin Mar Feb 19, 2019 4:24 pm

» Guadagnare lavorando per Google Street View
Da Admin Mar Feb 19, 2019 4:20 pm

» UMIDIGI F1 - Specifiche tecniche
Da Admin Mar Feb 19, 2019 4:14 pm

» display oled 168x64
Da fulvio Dom Feb 10, 2019 9:47 am

» Metro digitale con Arduino
Da Biciopit Gio Feb 07, 2019 11:54 am

I postatori più attivi del mese
Glak
 

Codice - Accendere/Spegnere led in remoto con Arduino Ethernet Shield

Andare in basso

Codice - Accendere/Spegnere led in remoto con Arduino Ethernet Shield

Messaggio Da Admin il Gio Giu 16, 2016 10:35 am


In questo progetto andremo a vedere il funzionamento della Ethernet Shield. In pratica accendere un LED con l'uso di una semplice web app. Il codice utilizzato è il seguente:

Codice:
#include <Ethernet.h> //libreria ethernet
#include <SPI.h> //collabora con la libreria ethernet
#include <String.h> //gestione stringhe

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; //indirisso fisico
byte ip[] = {192, 168, 1, 177}; //indirizzo ip locale
byte subnet[] = {255, 255, 255, 0}; //indirizzo subnet
byte gateway[] = {192, 168, 1, 1}; //indirizzo gateway
EthernetServer server(80); //imposto porta protocollo HTTP

int led = 7; //dichiarazione led
String ascoltatore; //dichiarazione stringa

void setup() {
  Ethernet.begin(mac, ip, gateway, subnet); //inizializzazione impostazioni
  pinMode(led, OUTPUT); //impostazione led come output
  ascoltatore=""; //inizializzazione stringa
}

void loop() {
  EthernetClient client = server.available(); //attendo l'arrivo di un client
  
  if (client) { //se c'è il cliente deve..
    
    while(client.connected()) {
      if(client.available()) {
        char c = client.read(); //..leggere i caratteri che invia
        ascoltatore.concat(c); //concatena i caratteri del client
        
        if (c == '\n') { //se arrivo a fine riga
           if(ascoltatore.indexOf("led=1")>0) { //controllo che nell'url ci sia led=1
            digitalWrite(led, HIGH); //se c'è accendo il led
           }
           else {
            digitalWrite(led, LOW); //altrimenti spengo il led
           }
        client.println("HTTP/1.1 200 OK"); //dico al client che è tutt'ok - standard http
        client.println("Content-Type: text/html"); //indico il formato - standard http
        client.println(); //necessario per non buggare
        client.println("<html>"); //inizio codice html
        client.println("<head><title>Accendi/Spegni led</title> <link rel='shortcut icon' type='image/x-icon' href='http://i44.servimg.com/u/f44/16/84/89/65/23570310.png' /></head>");
        client.println("<body><a href='/?led=1'>Accendi</a> - <a href='/?led=0'>Spegni</a></body");
        client.println("</html>"); //fine codice html
        client.stop(); //stop richieste dal client
        ascoltatore="";
        }
      }
    }
  }
}
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4363
Crediti Crediti : 12155
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Re: Codice - Accendere/Spegnere led in remoto con Arduino Ethernet Shield

Messaggio Da Admin il Sab Nov 05, 2016 2:56 pm

Aggiornamento: Il codice non era esattamente come quello nel video. Mi ero dimenticato una riga di codice. Adesso l'ho aggiornato e dovrebbe funzionare Ciao!
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4363
Crediti Crediti : 12155
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Torna in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum