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 !!!

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

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

4 commenti

Vai al modulo dei commenti

    • Utente il 4 Dicembre 2013 alle 17:09
    • Rispondi

    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. 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

    • roberto infanti il 4 Novembre 2018 alle 21:12
    • Rispondi

    Bell’articolo! Complimenti!
    Però ti vorrei chiedere: se devo invece comunicare con Arduino ad un altra piattaforma tramite curl, come si può fare?
    O meglio, sto cercando di inviare dei dati da Arduino/nodemcu a Tasker senza passare per il server Brasiliano ma direttamente tramite il wifi di casa. Grazie se puoi darmi una mano.
    Saluti

    1. Ciao Roberto,
      non ho compreso cosa mi chiedi, forse perché non conosco Tasker, ma se vuoi usare CURL puoi farlo con la Yun usando la parte Linux come interfaccia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.