Estratto del documento

Web server

Powered by Marco Carega

This presentation is a property of Marco Carega, all rights reserved.

Ethernet Shield

Arduino è in grado di utilizzare le funzionalità di rete attraverso l’Ethernet Shield, una scheda aggiuntiva con dei circuiti che permettono la trasmissione e la ricezione di dati attraverso un cavo UTP.

Funzionamento

L’Ethernet Shield, per funzionare, utilizza i Pin 10, 11, 12 e 13. Il Pin 4 è riservato al lettore Micro SD, quando utilizzato [figure verdi].

Oltre al collegamento hardware, c’è anche bisogno di determinate istruzioni.

Istruzioni: librerie e variabili

Prima di tutto bisogna inserire le librerie:

  • #include<Ethernet.h>;
  • #include<SPI.h>;

In seguito si dichiarano MAC (scritto sotto la scheda), IP (con la stessa classe) e la porta di trasmissione:

  • byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

Se vogliamo collegare Arduino ad un router (secondo schema), bisogna anche inserire gli indirizzi IP del gateway e del server DNS:

byte ip[] = {192,168,2,33};

  • byte gateway[]={192,168,2,1};
  • byte DnsServer[]={8,8,8,8};
  • EthernetServer server(80);

Istruzioni: setup e loop

A questo punto inizia la connessione dell’Ethernet e del server:

  • Ethernet.begin(mac, ip);
  • server.begin();

Nel caso in cui Arduino è collegato ad un router, l’istruzione è questa:

Ethernet.begin(mac,ip,gateway,DnsServer);

Dopo l’inizializzazione, il server incomincia la ricerca dei client:

EthernetClient client = server.available();

Se la connessione è avvenuta con successo, il server invia al client la pagina web.

HTML

HTML è un linguaggio che permette la costruzione di pagine web.

Una pagina HTML inizia con <html> e finisce con </html>. È inoltre divisa in due parti:

  • Head: parte che riguarda l’intestazione, lo stile e varie informazioni sulla pagina web;
  • Body: il corpo effettivo della pagina web.

HTML e Arduino

HTML può anche interfacciarsi con Arduino in due modi:

  • Scrivere l’intera pagina web

È anche possibile stampare i valori dei componenti montati su Arduino o creare dei pulsanti.

Anteprima
Vedrai una selezione di 3 pagine su 10
Web Server Con Arduino Pag. 1 Web Server Con Arduino Pag. 2
Anteprima di 3 pagg. su 10.
Scarica il documento per vederlo tutto.
Web Server Con Arduino Pag. 6
1 su 10
Sintesi

Riassunto di TPS 3-3: Arduino Web-Server

Arduino è in grado di utilizzare le funzionalità di rete attraverso l’Ethernet Shield, una scheda aggiuntiva con dei circuiti che permettono la trasmissione e la ricezione di dati attraverso un Cavo Ethernet.

Ethernet Shield

Descrizione

Fisicamente l’Ethernet Shield mostra una porta Ethernet, un lettore MicroSD e la stessa piedinatura di Arduino. Per quanto riguarda il funzionamento e la ricetrasmissione, la scheda utilizza i pin 10, 11, 12, 13; il pin 4 è riservato al lettore MicroSD, quando utilizzato. Alcuni Tipi Di Arduino hanno l’Ethernet Shield Integrato (Arduino Yun, ecc.).

Codice

Setup

Per poter utilizzare l’Ethernet Shield, bisogna inserire nell’IDE le seguenti librerie:

#include&lt;SPI.h&gt; #include&lt;Ethernet.h&gt;

È anche necessario inserire l’indirizzo MAC (scritto sotto la scheda Ethernet) ed un indirizzo IP compatibile con la rete.

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 192,168,2, 130 };

Con la funzione EthernetServer inizializziamo il server con la porta da utilizzare:

EthernetServer server(80);

Se vogliamo collegare Arduino ad un router e non direttamente al computer, bisogna dichiarare anche l’indirizzo IP del gateway ed il Server DNS:

byte gateway[] = { 192,168,2,254 }; byte DnsServer[] = { 8,8,8,8 };

Si inizia la connessione col server:

Ethernet.begin(mac, ip); server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP());

Loop

Inizia la ricerca di eventuali client:

EthernetClient client = server.available(); if (client) { Serial.println("new client");

Finisce le richieste HTTP (porta 80) con una linea vuota:

while (client.connected()) { while (client.available()) { char c = client.read(); Serial.write(c); }

Caricamento della pagina Web

Per caricare una pagina web su Arduino, vi sono due modi:

  • Scrivere l’intera pagina HTML nel programma, utilizzando dei “client.println()”.
  • Caricare la pagina in una MicroSD e richiamarla nel programma con apposite istruzioni.

Esempio:

client.println(&lt;html&gt;); . . . client.println(&lt;/html&gt;)

Lettore MicroSD

L’Ethernet Shield di Arduino ha installato un lettore MicroSD che può supportare una capacità massima di 2 GB, è solitamente utilizzato per richiamare pagine web dalla memoria.

Istruzioni

Per poter utilizzare il Lettore MicroSD, bisogna dichiarare la seguente libreria:

#include&lt;SD.h&gt;

Dichiariamo una variabile che utilizza il pin 4, quello riservato al LettoreMicroSD:

const int chipSelect = 4;

Se la Scheda MicroSD è presente, verrà inizializzata:

if (!SD.begin(chipSelect)) { return; } }

Dopo che il server si è connesso col client, Arduino aprirà dalla MicroSD la pagina web:

File dataFile = SD.open("index.htm"); if (dataFile) { while (dataFile.available()) { client.write(dataFile.read()); }

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi