Arduino Quick Reference Arduino Quick Ethernet library Reference Di Luca Panebianco per Automazione Open Source Versione 1.0 www.xploreautomation.com Pag 1 Arduino Quick Reference Indice dei contenuti 1 Classe Ethernet .................................................................................................................................3 2 Classe IPAddress ..............................................................................................................................3 3 Classe Server ....................................................................................................................................3 4 Classe Client......................................................................................................................................5 5 Classe EthernetUDP..........................................................................................................................8 La lista di delle classi e i metodi che compongono la libreria sono stati tratti dalla pagina: http://arduino.cc/it/Reference/HomePage Pag 2 Arduino Quick Reference 1 Classe Ethernet La classe Ethernet inizializza la libreria e le impostazioni di rete begin(mac) begin(mac, ip) begin(mac, ip, gtway) begin(mac, ip, gtway,subnt) Inizializza la libreria Ethernet. La versione 1.0 della libreria consente il DHCP. Parametri: mac: L'indirizzo MAC della scheda(si può trovare nel retro della stessa(array di 6 byte). Ip: L'indirizzo IP della scheda, con il DHCP non c'è bisogno di questo parametro(array di 4 byte) gtway: L'indirizzo IP del gateway(array di 4 byte) subnt: La subnet mask della rete(array di 4 byte) Ritorna: nulla LocalIP() Ottiene l'indirizzo IP della shield. Utile se si è utilizzato il DHCP Parametri: nessuno Ritorna: L'indirizzo IP(array di 4 byte) 2 Classe IPAddress IPAddress(address) Definisce un indirizzo IP. Può essere utilizzato per definire sia l'IP locale che quello remoto(utilizzabile come parametro ip nel metodo begin() della classe Ethernet). Parametri: address: quattro byte suddivisi da una virgola Ritorna: nulla 3 Classe Server Server(port) Definisce un server in ascolto ad una determinata porta. Parametri: port: la porta alla quale mettersi in ascolto definito da un int Ritorna: nulla EthernetServer(port) E' uguale a Server(port). Pag 3 Arduino Quick Reference begin() Dice al server che può iniziare a mettersi in ascolto. Parametri: nessuno Ritorna: nulla available() Ritorna un client che si è connesso alla porta del server e che ha dati pronti per essere letti. La connessione persiste finchè l'istanza di client sussiste e la sua connessione si può chiudere chiamando client.stop(). Parametri: nessuno Ritorna: un oggetto di tipo client. Se nessun client ha dati disponibili alla lettura l'oggetto riportato varrà come una variabile booleana false. Write(data) Scrive dei dati ai client connessi al server Parametri: data: i dati da dover scrivere(byte, char o string) Ritorna: nulla print(data) print(data,base) Scrive i dati a tutti i client connessi al server. Scrive i numeri come sequenze di cifre, ognuno attraverso un carattere. Parametri: data: i dati da dover scrivere(char, byte, int, long o string) base(opzionale): la base con la quale esprimere i numeri:BIN per binario(base 2), DEC per decimale(base 10), OCT per ottale(base 8) o Hex per esadecimale(base 16). Ritorna: un valore che rappresenta il numero di byte scritti Pag 4 Arduino Quick Reference println() println(data) println(data, base) Scrive i dati come il metodo print(), seguiti da un carattere di “a capo”. Se lasciato senza parametri scriverà solo il carattere “a capo”. Parametri: data(opzionale): i dati da dover scrivere(byte o char) base(opzionale): la base con la quale esprimere i numeri:BIN per binario(base 2), DEC per decimale(base 10), OCT per ottale(base 8) o Hex per esadecimale(base 16). Ritorna: un valore che rappresenta il numero di byte scritti 4 Classe Client Questa classe gestisce un Client che si può connettere a dei Server per inviare e ricevere dati. Client(ip, port) Crea un Client con uno specifico IP e porta.E' il costruttore della classe. Parametri: ip: l'indirizzo IP a cui connettersi(array di 4 byte) port: la porta alla quale connettersi(int) Ritorna: nulla EthernetClient() Crea un client che si può connettere ad un certo IP e porta(che vengono definiti con il metodo connect(ip, port). E' consigliabile utilizzare il costruttore Client(ip, port). Parametri: nessuno Ritorna: L'indirizzo IP dell' host remoto(array di 4 byte) connected() Notifica se un Client è connesso o meno. Da notare che un Client è considerato connesso anche la connessione è stata Pag 5 Arduino Quick Reference chiusa ma ci sono ancora dei dati nel buffer non letti. Parametri: nessuno Ritorna: Un booleano nel quale true significa che il client è connesso, false viceversa. connect() Permette la connessione all'indirizzo IP e porta definito nel costruttore. La variabile di ritorno identifica il successo o il fallimento della connessione. Parametri: nessuno Ritorna: un booleano che identifica la riuscita dell'operazione. write(data) Scrive dei dati al server al quale è connesso il client. Parametri: data: i dati da dover scrivere(byte o char o string) Ritorna: nulla print(data) print(data,base) Scrive i dati al server a cui è connesso. Scrive i numeri come sequenze di cifre, ognuno attraverso un carattere. Parametri: data: i dati da dover scrivere(char, byte, int, long o string) base(opzionale): la base con la quale esprimere i numeri:BIN per binario(base 2), DEC per decimale(base 10), OCT per ottale(base 8) o Hex per esadecimale(base 16). Ritorna: un valore che rappresenta il numero di byte scritti Pag 6 Arduino Quick Reference println() println(data) println(data, base) Scrive i dati come il metodo print(), seguiti da un carattere di “a capo”. Se lasciato senza parametri scriverà solo il carattere “a capo”. Parametri: data(opzionale): i dati da dover scrivere(byte o char) base(opzionale): la base con la quale esprimere i numeri:BIN per binario(base 2), DEC per decimale(base 10), OCT per ottale(base 8) o Hex per esadecimale(base 16). Ritorna: un valore che rappresenta il numero di byte scritti available() Ritorna il numero di byte disponibili alla lettura mandati dal server al quale il Client è connesso. Parametri: nessuno Ritorna: Il numero di byte disponibili read() legge il prossimo dato ricevuto dal server al quale il client è connesso. Parametri: nessuno Ritorna: Il prossimo byte(o char) disponibile. Ritorna -1 se non ci sono byte da leggere. flush() Scarta qualunque altro byte che è stato mandato dal server al client ma che non sono ancora stati letti. Parametri: nessuno Ritorna: nulla Pag 7 Arduino Quick Reference stop() Permette la disconnessione dal server. Parametri: nessuno Ritorna: nulla 5 Classe EthernetUDP Questa classe consente l'utilizzo del protocollo UDP per inviare e ricevere messaggi. Per utilizzare questi metodi bisogna creare un'istanza di EthernetUDP. begin(port) Inizializza la libreria UDP dell'Ethernet Shield e le impostazioni di connessione. Parametri: port: la porta locale che si utilizza. Ritorna: nulla read() read(buf, maxsize) Legge dei dati nel protocollo UDP dal buffer. Se nessun parametro viene specificato legge un singolo carattere. Questo metodo può essere chiamato solo dopo aver chiamato parsePacket(). Parametri: buf(opzionale): array di caratteri dove poter salvare i pacchetti da leggere. maxsize: lunghezza massima dell'array(int). Ritorna: nulla write(ch) Scrive dei dati UDP. Questo metodo deve essere chiamato dopo beginPacket() e prima di endPacket() poiché il pacchetto di dati viene mandato solo quando viene chiamato Pag 8 Arduino Quick Reference endPacket(). Parametri: ch: il messaggio da mandare(string, char). Ritorna: il numero di byte mandati beginPacket(remIP, remPort) Utilizza il protocollo UDP per inviare dei pacchetti ad un dato IP e porta. Con questo metodo si inizializza la spedizione. Parametri: remIP: l'indirizzo IP della connessione remota (4 byte) remPort: la porta della connessione remota (int) Ritorna: nulla endPacket() Viene chiamato dopo aver scritto i dati all'host remoto Parametri: nessuno Ritorna: nulla parsePacket() Controlla se è disponibile un pacchetto UDP nel buffer di lettura. Deve essere chiamato prima del metodo read() della classe UDP. Parametri: nessuno Ritorna: La grandezza del pacchetto UDP ricevuto. available() Ritorna il numero di byte(caratteri) disponibili sul buffer di lettura. Per funzionare correttamente deve essere chiamato dopo il metodo parsePacket(). Parametri: Pag 9 Arduino Quick Reference nessuno Ritorna: Il numero di byte disponibili da poter leggere. remoteIP() Ritorna l'indirizzo IP della connessione remota. Deve essere chiamato dopo il metodo parsePacket() per funzionare correttamente. Parametri: nessuno Ritorna: L'indirizzo IP dell' host remoto(array di 4 byte) remotePort() Ritorna la porta della connessione remota. Deve essere chiamato dopo il metodo parsePacket() per funzionare correttamente. Parametri: nessuno Ritorna: La porta dell' host remoto(int) Pag 10