L’Arduino Internet Gizmo (20 / 22 étapes)

Étape 20 : Comment fonctionne le logiciel

The Arduino logiciel gizmo la couleur changer LED s’allume, puis passe en boucle pour la lire des étiquettes RFID, rendant les LED sur le dessus de gizmo race dans les cercles lorsqu’une étiquette est lue et envoie ensuite les données vers le PC.  Un aperçu de des sections des programmes suit - il y a des commentaires détaillés dans le code qui expliquent chaque ligne.  Le programme est affiché dans les trois premiers schémas.

  • Ligne 8 permet au programme d’utiliser la bibliothèque de SoftwareSerial que le programme utilise pour communiquer avec le lecteur RFID
  • Lignes 10-16 définissent les broches de l’Arduino utilisés par le programme
  • Lignes 18-23 définissent les variables utilisées par le programme
  • Lignes 28-36 sont exécutés lorsque l’Arduino est tout d’abord sous tension ou réinitialisation.  Ce code la couleur changeant circuit LED s’allume, initialise la connexion avec le PC et le lecteur de carte RFID et initialise les LED sur le dessus du gizmo.
  • Lignes 41-71 sont la boucle principale du programme.  Cette boucle s’exécutera jusqu'à ce que l’Arduino est mis hors tension ou réinitialisation.  La première chose à faire dans la boucle est de vérifier si le lecteur RFID a lu toutes les données et déterminer si les données lues indiquent le début d’une balise.  Dans l’affirmative :
    • Lignes 44-53 lire les données du lecteur RFID jusqu'à ce que la balise a été lue complètement.
    • Lignes 55-63 envoient les données vers le PC.  Référence trois sont envoyés : le nombre de balises lire jusqu’ici, le temps qui a été lu l’étiquette et l’ID de la balise qui a été lu.  Le comte et le temps ne sont pas utilisés par le programme sur le PC, mais sont a-t-il des fins de débogage et sont utiles si vous souhaitez utiliser ce code pour d’autres projets d’Arduino RFID.
    • Lignes 64-68 désactive temporairement le lecteur de carte RFID, effectue les LED sur le dessus de la course de gizmo autour et puis dort pendant une courte période.  Le lecteur RFID se rallume et le programme effectue une boucle vers le haut.
  • Lignes 74-88 sont une sous-routine que rend la LED sur le dessus de gizmo éclairent en séquence et semble courir autour en cercles. L’entrée de la sous-routine est le nombre de fois de courir autour et le nombre de millisecondes pour garder chaque LED illuminée.
  • Lignes 90-98 sont une sous-routine qui initialise les broches pour les LEDs et affecte les broches de sortie.

Le programme de gizmo Python boucles en attente de données envoyées par l’Arduino et s’exécute sur le PC.  Lorsque les données sont reçues, le programme recherche l’ID de la balise dans une table pour trouver le site web associé.  Si l’ID de la balise est dans le tableau, le programme utilise une bibliothèque de Python appelée « webbrowser » pour ouvrir un nouvel onglet dans le navigateur par défaut sur le PC et de charger la page web.  Si le navigateur n’est pas en cours d’exécution, « webbrowser » il commencera.  Si l’ID de la balise n’est pas dans le tableau, les programmes crée un fichier HTML avec un message d’erreur portant l’ID de la balise et s’affiche dans un nouvel onglet dans le navigateur.  Un exemple est montré dans la dernière image.  Le programme apparaît en quatrième position, cinquième, sixième et septième diagrammes.  S’ensuit un aperçu du programme :

  • Lignes 12 à 15 importer les bibliothèques pour créer et écrire dans des fichiers, communication avec l’Arduino, analysant les données envoyées de l’Arduino et contrôler le navigateur web.
  • Lignes 20-34 sont la table (dictionnaire en termes de Python) utilisée pour associer la balise ID aux sites web.  Chaque ligne possède le dix caractères RFID tag ID et un lien HTTP vers le site web.  Notez que la première balise a « quitter » pour l’adresse web.  Si cette balise est lu, puis le programme se terminera.  Nouvelles balises peuvent être ajoutés en dupliquant la dernière ligne et remplacer l’ID de la balise avec la nouvelle balise et en mettant dans le site web souhaitée pour la balise.
  • Ligne 37 définit quel port COM, le programme utilisera pour communiquer avec l’Arduino.  Il s’agit de la même partie de COM utilisé par le logiciel de développement Arduino pour charger le programme compilé dans l’Arduino.  Vous devriez changer cela pour correspondre à votre système.
  • Ligne 42 est le nom du fichier que le programme crée lorsqu’une balise inconnue est lu.  Ce fichier est créé dans le répertoire où vous avez installé Python.  Dans mon cas, c’était « c:\Python27 ».
  • Lignes 45 à 54 ans utilisent la bibliothèque de pySerial pour vous connecter à l’Arduino.  Messages seront affichera dans la fenêtre Python qui indique si la connexion a été effectuée ou non.
  • Ligne 56 vérifie si la connexion a réussi. Si la connexion a été établie, traitement se poursuivra par ailleurs que le programme se terminera.
  • Ligne 58 définit une variable qui est utilisée pour déterminer si une balise en double a été lu.  L’idée est d’empêcher le même site de s’ouvrir dans le navigateur si le lecteur RFID arrive à lire l’étiquette plus d’une fois quand il trouve sur le lecteur.
  • Lignes 62 et 63 utilisent la bibliothèque « pySerial » pour lire les données de l’Arduino.
  • Ligne 66 vérifie si les données ont été lues.
  • Lignes 68-74 utilisation de la bibliothèque « shlex » pour diviser les données de Arduino en trois parties : le comte, le temps et l’ID de la balise.
  • Lignes de 76 à 78 appellent une fonction pour rechercher le site web basé sur l’ID de la balise. L’ID de la balise et le site web en Python sont affichés dans la fenêtre de console Python pour des fins de débogage.
  • Lignes 81 et 82 vérifier pour voir si il s’agit de la balise spéciale utilisée pour arrêter le programme, et si oui, le programme s’arrête la boucle et le programme se termine.
  • Ligne 86 vérifie si la balise vient de lire est la même que la précédente.  Dans l’affirmative, il effectue une boucle vers le haut.
  • Ligne 87 utilise la bibliothèque « webbrowser » pour démarrer le navigateur se n'exécute pas et puis ouvrez un nouvel onglet pour le site web.
  • Ligne 88 enregistre la balise, il suffit de lire pour empêcher l’affichage des sites dupliqués.  Le programme effectue une boucle puis retour pour attendre qu’une autre balise.
  • Lignes 90-104 sont la fonction qui est utilisée pour rechercher les sites web associés à l’ID de la balise :
    • Ligne 93 vérifie si l’ID de la balise est dans le dictionnaire
    • Ligne 94 renvoie au site web, si l’ID de la balise a été dans le dictionnaire.
    • Lignes 98 à 100 construisent le code HTML pour le message d’erreur pour la balise inconnue.
    • Lignes 101-103 utilisent la bibliothèque « sys » pour créer un fichier HTML, écrire le code HTML dans le fichier et fermez le fichier.  Si le fichier se trouve existent déjà, le code HTML dans le fichier est remplacé par le nouveau code de HTML.
    • Ligne 104 retourne le nom du fichier.  Retour dans le programme principal, le navigateur web va ouvrir ce fichier, plutôt qu’un site web et afficher le message d’erreur.
  • Lignes 107-111 vous permettent d’exécutez ce programme depuis la ligne de commande passez le nom du port COM comme un paramètre plutôt que de modifier le programme.  Voir l’étape suivante pour plus d’informations sur la façon de l’utiliser.

J’ai testé le logiciel avec une variété de navigateurs web : la bibliothèque « webbrowser » fonctionne très bien avec Firefox, Safari et Internet Explorer.  Il ne fonctionne pas correctement avec Opera.

Articles Liés

Arduino Internet (sans Wifi bouclier)

Arduino Internet (sans Wifi bouclier)

dans ce instructable je vais vous montrer comment connecter votre arduino à l'internet, il existe plusieurs façons de le faire. On utiliser un bouclier Ethernet mais sa filaire et pas très convinent à utiliser, le deuxième est le wifi c'est peut-être
Meilleur moyen de connecter l’arduino à internet

Meilleur moyen de connecter l’arduino à internet

Meilleur moyen de connecter l'Arduino à internetShields ici coûteux ! et cela me dérange beaucoup. Il est impossible de construire votre propre système d'automatisation sans boucliers.J'ai trouvé quelques articles sur internet, mais pour ma malchance
Client d’Arduino Internet

Client d’Arduino Internet

MISE À JOUR ! 15/11/2015Ajouté un WiFi et option batterie rechargeable (étape 10).MISE À JOUR !Ajouté le commutateur 12h/24h et Standard / Daylight Savings Time Switch ! Voir les étapes 7 et 8.Avez-vous déjà souhaité une horloge qui a gardé l'heure e
Lampe de bureau contrôlée d’Arduino Internet

Lampe de bureau contrôlée d’Arduino Internet

il s'agit d'un petit projet que j'ai fait pour contrôler ma lampe de bureau sur internet.Étape 1: Ce que vous aurez besoinUn web-serveur linux avec PHP, un arduino, un relais et quelques autres composants.Étape 2: Télécharger votre code à l'arduinoTé
Comment : connecter votre Arduino à Internet comme un serveur Web

Comment : connecter votre Arduino à Internet comme un serveur Web

The INTERNET OF THINGS... < file d'attente éclairs et le tonnerre >C'est ce que tous les enfants cool font ces jours-ci. Pourquoi est-ce qu'ils devraient avoir tout le plaisir ? Nous allons configurer un Arduino comme un serveur Web que n'importe qu
Arduino Internet contrôlé de Led

Arduino Internet contrôlé de Led

SalutDans ce projet je vais diode de creux une pages Web. Vous pouvez ouvrir votre navigateur et la led de contrôle.Le code fourni lorsque téléchargé et connecté à internet, il crée un serveur Web de votre réseau local et vous simplement utiliser l'a
Simple gadget Internet

Simple gadget Internet

que j'ai publié récemment une instructable appelé le « Arduino Internet Gizmo » qui combine un lecteur de carte RFID, un Arduino et un tas de LED et autres composants pour créer un périphérique qui utilise des cartes RFID pour afficher des pages web
Pour accéder aux Arduino sur internet

Pour accéder aux Arduino sur internet

Cette instructable est juste une autre tentative de connexion votre arduino à internet. Il y a tellement d'instructables similaires qui vous dire comment faire la même chose, c'est la version peu plus détaillée, qui je pense pourrait aider les débuta
Robot de PC Internet iPhone contrôlée en utilisant arduino

Robot de PC Internet iPhone contrôlée en utilisant arduino

robot Arduino Internet PC contrôlé en utilisant iphone SPY Webcam robot sur roues ordinateur portable en utilisant la langue de traitement + arduino... Logiciel - par Francisco Dias
Débuter avec ESP8266 à l’aide de "commandes" AT Via Arduino

Débuter avec ESP8266 à l’aide de "commandes" AT Via Arduino

Wifi Module ESP8266 est une puce intégrée conçue pour communiquer dans le monde de l'internet par le biais de signaux de radio Wifi. C'est le lien entre un projet et de l'internet. Elle a le traitement à bord et la mémoire qui lui permet d'être intég
IMP-ERSONATOR : Imp électrique + Arduino + bouclier vague = distance lecteur de fichier audio

IMP-ERSONATOR : Imp électrique + Arduino + bouclier vague = distance lecteur de fichier audio

ce Instructable vous montrera comment fabriquer un lecteur de fichier audio à distance activé.Il utilise un diablotin électrique, un bouclier de vague Adafruit et un Arduino UnoL'Imp électrique vous permet de connecter rapidement des périphériques (y
Maison Internet contrôlé et Robot (domotique)

Maison Internet contrôlé et Robot (domotique)

dans ce instructable je vais vous dire comment connecter votre maison entière (tous les appareils électriques) à internet afin que vous puissiez contrôler votre équipement chaque n'importe où dans le mondeJ'ai fait ce projet de 3 mois en arrière et i
Ajouter Ethernet à n’importe quel projet Arduino pour moins de 10$

Ajouter Ethernet à n’importe quel projet Arduino pour moins de 10$

si vous avez un projet Arduino soigné en cours. Ne serait-il pas agréable d'ajouter une connectivité Internet et de le faire sur le bon marché aussi bien ? Cet Instructable va vous montrer comment ajouter une connectivité Internet sous la forme d'une
ESP8266 Station météo avec Arduino – matériel #1

ESP8266 Station météo avec Arduino – matériel #1

Arrière-planJ'ai lu sur le ESP8266 tout d'abord en mars cette année et je ne savais pas quoi faire avec. Et maintenant, je suis vraiment fasciné comment la connexion d'un Arduino à Internet peut être facile. Comme d'autres, j'ai mis en place une stat