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
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
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<SPI.h>
#include<Ethernet.h>

è 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()) {
[/i]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()”
Esempio:
client.println(<html>);
.
.
.
client.println(</html>)

caricare la pagina in una MicroSD e richiamarla nel programma con apposite istruzioni.
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<SD.h>
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());
}
Estratto del documento

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.

This presentation is a property of Marco Carega, All Right Reserved 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 Se vogliamo collegare Arduino ad un

classe) e la porta di trasmissione: Router (secondo schema), bisogna

anche inserire gli indirizzo IP del

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

0xED}; gateway e del server DNS:

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

• byte gateway[]={192,168,2,1};

• EthernetServer server(80); byte DnsServer[]={8,8,8,8};

This presentation is a property of Marco Carega, All Right Reserved

ISTRUZIONI: SETUP & LOOP

A questo punto inizia la connessione Dopo l’inizializzazione, il server

dell’Ethernet e del server: incomincia la ricerca dei client:

EthernetClient client = server.available();

Ethernet.begin(mac, ip);

• Se la connessione è avvenuta con

server.begin();

• successo, il server invia al client la

Nel caso in cui Arduino è collegato pagina web.

ad un router, l’istruzione è questa:

Ethernet.begin(mac,ip,gateway,DnsServer

• );

This presentation is a property of Marco Carega, All Right Reserved HTML

HTML è un linguaggio che permette Una pagina HTML inizia con <html>

la costruzione di pagine web. e finisce con </html>. È inoltra

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.

This presentation is a property of Marco Carega, All Right Reserved HTML & ARDUINO

HTML può anche interfacciarsi È anche possibile stampare i

con Arduino in due modi: valori dei componenti montati su

Arduino o creare dei pulsanti

Scrivere l’intera pagina web

• virtuali che ne

nell’IDE; accendono/spengono altri .

Mettere la pagina web in una

• Micro SD e richiamarla nel

programma;

This presentation is a property of Marco Carega, All Right Reserved IL LETTORE MICROSD

Come già detto prima, si può

caricare una pagina web dal Lettore

MicroSD montato sulla Shield. In

questo modo, il programma è più

leggero e si evita di appesantire

l’EEPROM di Arduino.

This presentation is a property of Marco Carega, All Right Reserved LETTORE MICROSD: IL

SOFTWARE

Per utilizzare Il lettore MicroSD, Infine, dopo che il server si è

bisogna inserire la seguente libreria: connesso col client, Arduino

carica la pagina web:

#include<SD.h>

In seguito si dichiara una variabile File dataFile = SD.open("index.htm");

che utilizza il Pin 4, quello ad esso • if (dataFile) {

dedicato: while(dataFile.available())

• const int chipSelect = 4; • {client.write(dataFile.read());}

Se la memoria è presente, verrà

inizializzata:

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

This presentation is a property of Marco Carega, All Right Reserved

Dettagli
Publisher
10 pagine
30 download