«

»

Dic 04

Stampa Articolo

Arduino Yun Bridge curl

Nell’articolo di Lunedì hai provato l’uso della ibreria Bridge dal browser ma potresti usare l’Arduino Yun Bridge curl da linea di comando ( CLI ssh ) ed oggi scoprirai come fare.

arduino yun login screenIniziamo 🙂

Cos’è CURL ?

La definizione presa da Wikipedia:

Curl è un linguaggio di programmazione orientato agli oggetti per applicazioni web interattive. L’obiettivo principale del linguaggio è quello di integrare la formattazione e la programmazione web. Curl rende possibile includere oggetti complessi all’interno di semplici documenti senza dover utilizzare diversi linguaggi di programmazione o piattaforme di sviluppo.

sull’Arduino Yun Bridge curl è già installato e disponibile da linea di comando.

La sintassi da linea di comando è molto semplice:

#> curl url

da cui avrai già capito come la utilizzarla con la Yun:

#> curl localhost/arduino/digital/13/1

Come posso usare Arduino Yun Bridge curl

Per usare la libreria Bridge con il CURL il primo passo è disabilitare la richiesta password per REST, puoi leggere come fare in questo articolo.

Seleziona tra le reti wifi disponibili la rete creata dall’arduino yun:

arduino yun wifi connectusando un client ssh ( per windows puoi usare putty, per Mac il Terminale che trovi nelle Utility ) collegati all’indirizzo arduino.local:

arduino yun accesso sshinserisci la password che hai impostato per l’accesso alla tua arduino yun e ti si presenterà la schermata di login:

arduino yun login screened il prompt della shell, in cui puoi scrivere il primo comando:

#> curl localhost/arduino/digital/13/1

l’effetto che ottieni è:

arduino yun bridge curl digital 13 1la risposta del server è identica a quella che hai ricevuto nel browser visto nel precedente articolo ed anche l’effetto sarà il medesimo:

arduino yun bridge pin 13 HIGHi prossimi comandi hanno come effetto il medesimo del browser, ossia spegni il led collegato al pin 13:

arduino yun bridge curl digital 13 0accendi in modalità analogica il led collegato al pin 11 fino alla sua massima luminosità ( 255 ):

arduino yun bridge curl digital 11 255diminuisci la luminosità del led a 128 ( circa la metà della precedente ):

arduino yun bridge curl digital 11 128e quindi spegni il led collegato al pin 11:

arduino yun bridge curl digital 11 0Fino a questo punto è tutto simile a quello che già avevi ottenuto con il browser, per cui cosa ti da in più l’uso del arduino yun bridge curl?

La potenza di una hell linux per creare i tuoi script da eseguire sul sistema.

Esempio della arduino yun bridge curl con Linux

Se immagini una centralina domotica realizzata con l’arduino yun bridge curl potresti ottenere che a un determinato orario le luci del giardino si accendano o che quando uno dei sensori collegati rileva la presenza di qualcuno accensa le luci in casa o ti avvisi via email o twitter …

La fantasia ti aiuta a immaginare scenari automatici a casa e non solo, il vantaggio è che la Yun ti mette a disposizione Linux per fare tutto questo.

Un esempio che mi piacerebbe realizzare è ad esempio la possibilità di ricevere una immagine da una webcam collegata alla Yun se non sono in casa e un sensore Pir rileva la presenza di qualcuno alla porta, questo è abbastanza semplice se usi la webcam come descritto dall’amico Luca e usi uno script linux che periodicamente controlla il sensore PIR collegato alla Arduino Yun Bridge curl.

Un esempio di script linux con curl

Ho realizzato un semplice script linux, direttamente sulla linea di comando che accende gradualmente il led collegato ail pin analogico 11, per farlo ho utilizzato un ciclo for:

arduino yun curl foralla pressione dell’invio ( enter ) ottieni questo:

arduino yun curl for execed il led pian piano si accende passando da 0 a 250 di intensità.

Buona domotica !!!

Permalink link a questo articolo: http://www.mauroalfieri.it/informatica/arduino-yun-bridge-curl.html

2 comments

  1. Utente

    Riguardo al ritardo tra ricezione comando e ed esecuzione dall’ ATmega 21u4, usando curl direttamente dalla riga di comando di Linino le cose migliorano?

    1. Mauro Alfieri

      Ciao Utente,
      Un po’ si ma non in modo significativo, direi nell’ordine dei millisecondi in meno rispetto ai secondi di risposta, quindi quasi impercettibilmente 🙂

      Mauro

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>