Ominide 106 punti
Questo appunto contiene un allegato
Web Server Con Arduino scaricato 3 volte

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());
}

Registrati via email