Etape 11 : Créer l’application de service web
Nous allons générer l’application et exécutez-le sur votre ordinateur de développement. Nous ajusterons le sketch Arduino pour se connecter à cette instance de l’application, tandis que nous tester. Une fois que nous sommes convaincu que tout fonctionne bien, nous allons déployer vers le nuage et mettre à jour l’esquisse pour utiliser l’instance de nuage.
Voici le code Ruby, tous dans un seul fichier nommé "web.rb" (ce code est disponible sur Github).
Important : Télécharger et lire le fichier PDF joint, il contient des commentaires détaillés d’incorporé (s’il vous plaît le faire avant de continuer!).
Vous pouvez maintenant essayer votre système Home alerte. Dans votre croquis, remplacez les constantes de site et de page Web pour pointer vers votre ordinateur de développement et de numéro pour votre développement serveur Sinatra de port. Dans mon cas, j’ai un ordinateur de développement sur la propriété intellectuelle de 172.16.115.136 et le développement serveur Sinatra est à l’écoute au port 5000, donc mes paramètres de croquis sont :
#define HW_ID « 123 »
#define site Web « 172.16.115.136:5000 »
#define page Web « /get_message/ »
Cette adresse IP est accessible uniquement pour les périphériques de mon réseau domestique.
Le paramètre HW_ID représente le "ID de matériel", c'est-à-dire l’ID auquel l’Arduino contrôlant la DMD s’identifie à l’application de Sinatra. C’est un genre très basique d’authentification. L’application web remettra un message à un Arduino demande basée sur le fourni HW_ID. Vous pouvez avoir plusieurs appareils avec la même HW_ID, auquel cas tous les appareils affichera le même message. Si vous voulez « vie privée », a choisi un ID avec beaucoup de caractères aléatoires qu’autrui ne sera pas en mesure de deviner. Attention aussi, aucune communication n’est cryptée.
Maintenant aller de l’avant et le démarrage votre app de Sinatra, tapez ceci (en supposant que vous êtes dans le dossier du projet Sinatra) :
web.rb rubis
... et vous verrez quelque chose comme ça (certains détails peuvent varier, tant que cela ne plante pas, vous êtes ok) :
10:42:18 Internet.1 | a commencé avec le pid 49119
10:42:18 Internet.1 | Puma 2.8.1 à partir...
10:42:18 Internet.1 | * Fils de min: 0, discussions max : 16
10:42:18 Internet.1 | * Environnement : développement
10:42:18 Internet.1 | * L’écoute sur tcp://0.0.0.0:5000
Pointez votre navigateur web vers l’emplacement que le serveur écoute, et vous verrez cela (voir deuxième pièce jointe).
Télécharger votre croquis à l’Arduino, assurez-vous qu’il est connecté à votre réseau local. Si tout va bien, l’Arduino interroge votre service web une fois par minute. Lui donner un message à montrer : dans le champ code de HW, tapez le même ID que vous définissez pour la constante HW_ID dans l’esquisse. Tapez n’importe quoi dans le champ « Votre message » et cocher la case « Buzz? ».
Soumettre, attendez une minute et de voir votre message apparaissant dans le DMD !