Comment faire pour configurer le contrôle web arduino sans ethernet shield

contrôle web arduinoDepuis quelques semaines, je remis le contrôle de l`éclairage d`ambiance dans mon studio pour les téléspectateurs lors de la diffusion en direct technophilie Podcast - Vous pouvez voir les résultats de cette enregistrée dans le épisode ici. Aujourd`hui, je pensais que je vais vous expliquer exactement comment j`accompli que l`utilisation d`un peu javascript, En traitement, Et un Arduino. La méthode que je vais décrire ne nécessite pas un bouclier Ethernet pour votre Arduino, et je vais fournir des exemples de code complet pour vous d`utiliser également.

Exigences:

Arduino Setup

Première place, se reporter à dernière semaines tutoriel pour le côté Arduino des choses- le code que nous allons utiliser est identique, comme je suis en utilisant le même circuit de contrôle de la bande de LED RVB, donc je ne vais pas répéter ici. Pour résumer, l`Arduino sera la lecture des valeurs RVB de la connexion USB à l`ordinateur. contrôle web arduino

App Processing

L`application de traitement que nous allons utiliser est très simple (Pastebin) - Il utilise une base () loadStrings fonction pour lire un fichier texte stocké à une adresse web à distance - dans ce cas, je l`ai utilisé http://jamesbruce.me/lights/LED.txt. Créer un exemple de fichier texte sur votre hôte Web pour tester, et ajuster en conséquence. Le fichier texte doit être juste 3 lignes de valeurs pour le R, G et B. projets web Arduino Vous aurez également besoin de changer le port série pour quel que soit votre USB est connecté. Comme précédemment, la première chose que l`application va faire est sortie une liste de ports série à la console - vérifier pour le correct à utiliser, puis re-run. Votre bande Arduino LED devrait éclairer avec ce que les valeurs aléatoires vous avez ajouté au fichier texte.

Arduino Web Control

Du côté de contrôle du Web, je choisi une couleur simple sélecteur jQuery plugin appelé Spectre- il y a d`autres là-bas, mais je me suis senti cela était aussi simple que nécessaire et travaille également avec une touche sur un mobile, tandis que d`autres, je ne serait pas essayé. Placer le spectrum.js et spectrum.css fichiers dans le même répertoire que tout le reste (Je fis un / des lumières sous-répertoire sur mon serveur pour garder les choses propres). projets web Arduino Nous allons utiliser PHP à la fois afficher le contrôle de la bande, et la poignée LED.txt fichier écrit si les variables sont données dans la requête POST. Lorsque l`utilisateur visite cette page et choisit une couleur, il envoie une requête AJAX avec les variables de couleur à elle-même. Cela permet de maintenir le tout contenu dans un seul fichier. Le plein PHP / HTML peut être trouvé à ce pastebin (Enregistrer comme index.php dans un sous-répertoire, ainsi que les autres fichiers), mais permettez-moi de vous donner un bref aperçu du code concerné.

  1. PHP: Détecter s`il y a une variable de poste appelé «couleurs». Si oui, ouvrez le fichier LED.txt pour l`écriture, et écraser avec les variables de poste.projets web Arduino
  2. HTML: importation jQuery, Spectrum.js, et Spectrum.css
  3. javascript: Fonction getRGB retourne un tableau de valeurs séparées par des virgules RVB donné une variété de formats différents de couleur CSS, tels que #aaaaa.
  4. javascript: Créer le contrôle du spectre, et joindre un appel AJAX à la couleur choisie changé événement. L`AJAX appelle ce fichier de gestionnaire avec les valeurs RVB données par le contrôle.contrôle web arduino

Enfin, assurez-vous que votre LED.txt fichier est inscriptible par le serveur. UNE 655 ou 777 l`autorisation devrait le faire. Lancez le fichier et lui donner un go- l`application de traitement devront être en cours d`exécution et actualiser le fichier à chaque seconde. Si le sélecteur de couleur ne figure même pas sur la page, consultez la console javascript pour les erreurs.

Pièges et la poursuite des travaux

Comme je l`ai mentionné, cette méthode n`a pas utiliser un bouclier d`Ethernet sur le but, afin que toute personne avec base hébergement de sites Web pourrait avoir mis en place très rapidement et à moindre coût. Toutefois, cela ne signifie pas que nous avons besoin d`utiliser l`application de traitement pour agir comme une passerelle pour aller chercher le PC de données sans le fonctionnement, il sera tout simplement pas fonctionner. Avec l`ajout d`un bouclier Ethernet ou WiFi, nous pourrions déplacer le Arduino partout sans être attaché à un PC, et soit chercher des commandes à distance ou les pousser directement à l`Arduino avec un peu de redirection de port. Je vais répondre à un autre jour. Il y a aussi une question de concurrence - la façon dont nous l`avons mis en place est que le fichier sera tout simplement écrasé à chaque fois que quelqu`un choisit une nouvelle couleur, et le délai entre les changements de couleur est décidé dans le code de traitement. Si vous voulez avoir beaucoup d`utilisateurs ajustant constamment la couleur, un système en file d`attente avec une base de données pourrait être plus appropriate- en utilisant un fichier plat pour stocker les valeurs peuvent se traduire par des changements étant ignorés si les mises à jour se produisent plus fréquemment que nous actualisons le fichier. Alors bien sûr, vous avez aucun moyen de savoir si elle a même travaillé à droite, puis à moins que vous regardiez notre diffusion en direct. Idéalement, il y aurait une webcam installée et intégrée sur la page de commande. En tant que démo technique cependant, je pense que cela est assez awesome- J`espère que vous pouvez voir le potentiel pour le contrôle à distance essentiellement tout sur Internet via un Arduino. Justin nous a suggéré de remettre le contrôle de ma four- Je refusai. Avez-vous des projets intéressants que vous pensez que cela pourrait aider?

» » Comment faire pour configurer le contrôle web arduino sans ethernet shield