Arduino Webserver

Webduino scheda relè evitare blocco Arduino UNO

Come aggiungere relè al progetto senza bloccare la scheda

Molti utenti che hanno realizzato il tutorial Scheda relè remota con Arduino e Webduino, dopo aver constatato il funzionamento del codice hanno poi implementato il codice per la gestione di ulteriori relè. A questo punto si sono accorti che il codice smette di funzionare e Arduino UNO sembra bloccata.
Tutto ciò avviene perché aggiungendo istruzioni contenenti stringhe ad un certo punto si arriva a saturare la memoria SRAM, questo è il motivo per cui la scheda va in blocco. La mancanza di memoria SRAM di fatto non permette di eseguire le istruzioni del nostro sketch.

Come è possibile risolvere il problema senza aumentare la memoria SRAM?

Sapiamo che la scheda possiede anche una memoria EEPROM da 1KB, e che tramite la funzione PROGMEM possiamo memorizzarci delle stringhe.

Scheda relè con Arduino UNO e webduino

Anche la libreria Webduino permette di salvare e richiamare le stringhe dalla memoria EEPROM, quindi possiamo usare questa funzionalità per liberare SRAM e permettere la normale esecuzione del codice.

Vediamo come modificare una porzione del codice del precedente articolo:

[c]
if(Rele1 == true)
server.print(“<tr><td style=\”color: red;\”>RELE 1 ON</td><td>”);
else
server.print(“<tr><td style=\”color: black;\”>RELE 1 OFF</td><td>”);
[/c]

utilizzando le funzioni della libreria Webduino, per memorizzare le stringhe nella EEPROM

[c]
//memorizza le stringhe sulla EEPROM
P(str_rele1ON) = “<tr><td style=\”color: red;\”>RELE 1 ON</td><td>”;
P(str_rele1OFF) = “<tr><td style=\”color: black;\”>RELE 1 OFF</td><td>”;

if(Rele1 == true)
//richiama la stringa dalla eeprom
server.printP(str_rele1ON);
else
//richiama la stringa dalla eeprom
server.printP(str_rele1OFF);
[/c]

il codice precedente fa uso dell’istruzione P() e del metodo printP().

P() ha il compito di memorizzare la stringa nella EEPROM proprio come accade con l’istruzione PROGMEM. per richiamare la stringa è sufficiente richiamarla utilizzando il metodo printP() dell’oggetto server.

In definitiva se volete aggiungere più relè è sufficiente modificare il codice del tutorial come nell’esempio precedente.

Scheda relè remota con Arduino e Webduino

Come costruirsi una scheda relè e comandarla tramite Arduino ethernet e Webduino

Tra le applicazioni che trovo molto richieste è la scheda relè da gestire tramite smartphone. Utilizzando la libreria Webduino riusciamo a realizzare un dispositivo semplice e funzionale basato su pochi componenti quali Arduino Ethernet, dei classici relè, un router wifi (presente ormai nelle nostre abitazioni) e uno smartphone.

La figura seguente illustra il progetto di questo articolo:

Webduino ed Arduino Ethernet Gestione scheda rele

Continua a leggere

Webduino recuperare parametri da un URL

Come recuperare parametri contenuti in un indirizzo URL usando Webduino

Continuiamo a esplorare la libreria Webduino imparando a recuperare i parametri passati ad una pagina tramite l’indirizzo url. Questa possibilità ci permette di impartire comandi alla scheda Arduino usando appunto un indirizzo url. Ad esempio se colleghiamo due led, uno sul pin5 e uno sul pin6 potremmo scrivere qualcosa del genere per accendere o spegnere i led

http://192.168.1.100/index.html?LED5=ON (Accende il led collegato al pin5)

http://192.168.1.100/index.html?LED5=OFF (Spegne il led collegato al pin5)

http://192.168.1.100/index.html?LED6=ON (Accende il led collegato al pin6)

http://192.168.1.100/index.html?LED6=OFF (Spegne il led collegato al pin6)

dove 192.168.1.100 è l’indirizzo della Arduino Ethernet

Il codice seguente inizializza la libreria, crea la pagina di default e la pagina index.htm.

Continua a leggere

Webduino aggiungere pagine web

Gestire il webserver Webduino aggiungendo diverse pagine web

Nel precedente articolo hai visto come installare la libreria webduino e come creare la tua prima pagina. In questo secondo articolo produrrai altre pagine utilizzando le funzioni messe a disposizione della libreria e vedrai come sia semplice costruire una struttura tipica di un sito web.

Anche in questo caso le pagine non sono intese come file html, ma bensì come una funzione che genera il codice htm.

Per aggiungerle è sufficiente usare il metodo addCommand() dell’oggetto webserver.

Il codice seguente illustra come sia possibile realizzare quanto descritto:

Continua a leggere

Utilizzare la libreria Webduino

Primi passi nell’uso della libreria Webduino

Esistono diverse librerie che tendono a risolvere o a migliorare alcune classi base implementate in Arduino 1.0. Webduino è sicuramente una di queste, il nome è un chiaro riferimento al mondo ethernet/web e le sue principali funzioni sono elencate di seguito:

  • elaborazione dei parametri racchiusi in un URL
  • elaborazione dei metodi HTTP come GET, POST, PUT, HEAD, DELETE e PATCH
  • gestione dei FORM
  • Gestione di Immagini
  • interfaccia JSON/REST
  • autenticazione BASE64

Attualmente, la versione disponibile è la 1.7  prelevabile direttamente da Github seguendo questo indirizzo https://github.com/sirleech/Webduino

Continua a leggere

Visualizzare immagini con un Webserver Arduino

Visualizzare immagini in una pagina web gestita da Arduino

Quando utilizziamo Arduino Ethernet (o EthernetShield) in modalità webserver, non è disponibile una funzione nativa che permetta di visualizzare una immagine nella pagina web generata da Arduino. Esiste però un metodo molto semplice che permette di visualizzare delle immagini, di piccole dimensioni, utilizzando la codifica Base64.

L’idea è quella di utilizzare una stringa che codifica un file immagine, da inserire nello sketch. Diversi siti web offrono un convertitore online che codifica un file immagine (jpg, gif o png) in una stringa equivalente in standard Base64.
Per questo tutorial ho utilizzato il servizio di webcodertools.com disponibile a questo indirizzo. Basta caricare un file immagine per ottenere direttamente una stringa Base64 con in aggiunta il tag html img.

Continua a leggere

Arduino Ethernet come configurare l’ambiente di sviluppo

Configurare il sistema per iniziare a lavorare con Arduino Ethernet

Ho da poco ricevuto il pacco contenente la board Arduino Ethernet, e devo dire che risulta essere ben realizzata ed assemblata. Prima di iniziare a scrivere qualche sketch è necessario installare i driver del convertitore USB2Serial che utilizzeremo per colloquiare con la board dato che non dispone di una porta usb integrata come la Arduino UNO, inoltre modificheremo il file board.txt per aggiornare il menu dell’IDE.

Scarichiamo dal sito Arduino.cc i driver del convertitore usb seriale che potete trovare nella sezione Driver & Setup nella pagina del dispositivo USB2Serial Light, salviamo e decomprimiamo il file in una cartella sul desktop.
Quindi colleghiamo al pc, tramite cavo mini usb, la board Usb2Serial.

Windows XP avvierà la procedura di installazione nuovo hardware

Continua a leggere

Leggere dagli ingressi analogici da remoto con Arduino

Utilizzare un webserver per acquisire dati dagli ingressi analogici

Continuiamo l’articolo precedente inserendo nello sketch il codice che permette di campionare segnali analogici per poterli inviarli tramite protocollo http.
Utilizzando la funzione analogRead() acquisiamo il valore della tensione presente sul pin analogico, che verrà utilizzato per essere inserito nella pagina html da inviare al client. Con alcuni tag html aggiuntivi abbiamo la possibilità di avere un refresh automatico della pagina che ad intervalli regolari interrogherà il server Arduino, ottenendo automaticamente nuovi campionamenti del segnale analogico.
Il circuito seguente:

Circuito di esempio acquisizione segnale ingresso analogico via lan con http

Continua a leggere

Rimani aggiornato

Sondaggi

Arduino.cc vs Arduino.org

Visualizza risultati

Loading ... Loading ...
Seguimi su Twitter