Annuncio pubblicitario

controllo web arduinoNelle ultime settimane, ho trasmesso il controllo dell'illuminazione d'atmosfera nel mio studio agli spettatori durante la trasmissione in diretta di Podcast Technophilia - puoi vedere i risultati di quello nel registro episodio qui. Oggi, ho pensato che spiegherò esattamente come ci sono riuscito usando un po ' JavaScript, In lavorazione, e un Arduino. Il metodo che descriverò non richiede uno scudo Ethernet per Arduino e fornirò anche esempi di codice completi da utilizzare.

Requisiti:

  • Arduino
  • Luci per controllare il circuito appropriato sull'Arduino; guarda il mio tutorial di retroilluminazione ambientale Crea la tua illuminazione ambientale dinamica per un Media CenterSe guardi molti film sul tuo PC o media center, sono sicuro che hai affrontato il dilemma dell'illuminazione; spegni completamente tutte le luci? Li tieni al massimo? O... Leggi di più dalla scorsa settimana per uno schema circuitale e la rottura dei componenti.
  • in lavorazione software sul tuo PC o Mac
  • instagram viewer
  • Hosting di siti Web Spiegate le varie forme di hosting di siti Web [Spiegazione della tecnologia] Leggi di più
  • Competenze di codifica di base con JavaScript e PHP, anche se fornirò il codice completo che è possibile personalizzare.

Installazione di Arduino

Prima di tutto, fai riferimento a tutorial delle ultime settimane per il lato delle cose di Arduino Crea la tua illuminazione ambientale dinamica per un Media CenterSe guardi molti film sul tuo PC o media center, sono sicuro che hai affrontato il dilemma dell'illuminazione; spegni completamente tutte le luci? Li tieni al massimo? O... Leggi di più ; il codice che useremo è identico, poiché sto usando lo stesso circuito di controllo della striscia LED RGB, quindi non lo ripeterò qui. Per riassumere, Arduino leggerà i valori RGB dalla connessione seriale USB al computer. controllo web arduino

App di elaborazione

L'app di elaborazione che utilizzeremo è molto semplice (pastebin); utilizza una base loadStrings () funzione per leggere un file di testo memorizzato in un indirizzo web remoto, in questo caso l'ho usato http://jamesbruce.me/lights/LED.txt. Crea un file di testo di esempio sul tuo host web per verificarlo e modificalo di conseguenza. Il file di testo dovrebbe contenere solo 3 righe di valori per R, G e B. progetti web arduino Dovrai anche cambiare la porta seriale a qualunque sia connessa la tua USB. Come in precedenza, la prima cosa che l'app farà è generare un elenco di porte seriali sulla console: controllare questa per quella corretta da usare, quindi eseguire nuovamente. La striscia LED Arduino dovrebbe accendersi con qualsiasi valore casuale aggiunto al file di testo.

Arduino Web Control

Per quanto riguarda il controllo web, ho scelto un plug-in jQuery chiamato color picker chiamato Spettro; ce ne sono altri là fuori, ma ho sentito che era semplice quanto necessario e funziona anche con il tocco su un cellulare, mentre altri che ho provato non lo farebbero. Posiziona il spectrum.js e spectrum.css file nella stessa directory di tutto il resto (Ho creato una sottodirectory / lights sul mio server per mantenere le cose pulite).progetti web arduino Utilizzeremo PHP sia per visualizzare il controllo web sia per gestire LED.txt scrittura del file se le variabili sono fornite nella richiesta POST. Quando l'utente visita questa pagina e sceglie un colore, invia una richiesta AJAX con le variabili di colore su se stesso. Ciò mantiene tutto contenuto in un unico file. Il pieno PHP / HTML può essere trovato in questo pastebin (salvalo come index.php in una sottodirectory insieme agli altri file), ma lasciatemi dare una breve descrizione del codice in questione.

  1. PHP: Rileva se esiste una variabile post chiamata "colori". In tal caso, aprire il file LED.txt per la scrittura e sovrascriverlo con le variabili post.progetti web arduino
  2. HTML: Importazione jQuery, Spectrum.js, e Spectrum.css
  3. JavaScript: la funzione getRGB restituisce una matrice di valori RGB separati da virgola dato una varietà di diversi formati di colore CSS, come ad esempio #aaaaa.Come configurare Arduino Web Control senza un controllo web Ethernet Shield get rgb
  4. JavaScript: crea il controllo Spectrum e collega una chiamata AJAX all'evento modificato scelto di colore. AJAX chiama questo file gestore con i valori RGB forniti dal controllo.controllo web arduino

Infine, assicurati di LED.txt il file è scrivibile dal server. UN 655 o 777 il permesso dovrebbe farlo. Avvia il file e provalo; l'app di elaborazione dovrà essere in esecuzione e aggiornerà il file ogni secondo. Se il selettore dei colori non appare nemmeno sulla pagina, controlla la console JavaScript per errori.

Insidie ​​e ulteriori lavori

Come ho accennato, questo metodo non ha utilizzato uno scudo Ethernet appositamente, quindi chiunque con l'hosting di siti Web di base potrebbe averlo impostato molto rapidamente ed economicamente. Tuttavia, ciò significa che è necessario utilizzare l'app di elaborazione per fungere da gateway per il recupero dei dati; senza il PC in esecuzione, semplicemente non funzionerà. Con l'aggiunta di uno schermo Ethernet o WiFi, potremmo spostare Arduino ovunque senza essere vincolati su un PC e recupera i comandi in remoto o spingili direttamente su Arduino con una piccola porta inoltro. Mi occuperò di questo un altro giorno. C'è anche un problema di concorrenza: il modo in cui l'abbiamo impostato è che il file verrà semplicemente sovrascritto ogni volta che qualcuno sceglie un nuovo colore e il ritardo tra i cambi di colore viene deciso nell'elaborazione codice. Se si desidera che molti utenti regolino costantemente il colore, un sistema in coda con un database potrebbe essere più appropriato; l'utilizzo di un file flat per l'archiviazione dei valori può comportare l'ignoramento di alcune modifiche se gli aggiornamenti si verificano più frequentemente di quanto stiamo aggiornando il file. Quindi, ovviamente, non hai modo di sapere se ha funzionato fino a quel momento a meno che tu non stia guardando la nostra trasmissione in diretta. Idealmente, ci sarebbe una webcam impostata e incorporata nella pagina di controllo. Come demo tecnologica, penso che sia davvero fantastico; Spero che tu possa vedere il potenziale per il controllo remoto praticamente qualsiasi cosa su Internet tramite un Arduino. Justin ha suggerito di consegnare il controllo del mio forno; Ho rifiutato. Hai qualche progetto interessante che ritieni possa essere d'aiuto?

James ha una laurea in Intelligenza Artificiale ed è certificato CompTIA A + e Network +. È lo sviluppatore principale di MakeUseOf e trascorre il suo tempo libero giocando a paintball e giochi da tavolo VR. Costruisce PC da quando era un bambino.