Nous avons montré à diverses occasions comment un capteur autonome peut envoyer des mesures à travers Internet à un programme hébergé sur un serveur web. Mais jusqu'à ce jour, nous nous étions limités aux environnements de développement les plus classiques pour les serveurs web: PHP, Java ou Node.js. Aujourd'hui, vous allez voir qu'il est aussi très facile d'envoyer des mesures dans une base de données Microsoft Azure, permettant ainsi d'y accéder depuis le nouvel écosystème de Microsoft.
Pour commencer, il vous faudra demander une Evaluation gratuite de Microsoft Azure si vous n'avez pas encore de compte Azure. Prenez les 5 minutes nécessaires à voir la petite vidéo d'introduction à la console de management (le portail), cela vous mettra plus à l'aise pour la suite des opérations.
Configuration du service sous Microsoft Azure
Dans la terminologie Microsoft, vous allez créer un Service mobile: un service réseau à disposition des appareils mobiles et autres objets connectés. La seule fonctionnalité que vous utiliserez pour l'instant est le stockage dans une base de données SQL, à disposition de vos futures applications Azure.
L'interface pour créer un Service mobile est triviale: cliquez en bas à gauche de la console sur le bouton "+ Nouveau", "Calcul", "Service Mobile", "Créer". Donnez un nom (pas trop long) à votre application, et demandez la création d'une nouvelle base de données. Le champ Principal (mauvaise traduction de Backend en Anglais...) permet de choisir le langage avec lequel vous voudrez ultérieurement coder de la logique de votre application. Nous avons utilisé JavaScript dans notre exmple car le choix de .NET supprime certaines fonctionnalités du portail, en vertu d'une bizarrerie Microsoft.
Définissez ensuite les paramètres (arbitraires) de votre base de données:
Finalement, vous allez créer une table pour accueillir les mesures. Pour cela, cliquez sur la base de donnée que vous venez de créer, puis en haut de la page sur le menu Données (qui n'existe que si vous avez bien choisi le backend JavaScript...). Cliquez en bas au centre de la console sur le bouton "+ Créer" et donnez le nom de votre choix à la table.
Gardez les autres réglages proposés, et votre base de donnée est déjà prête: comme vous allez utiliser l'interface REST basée sur NoSQL et fournie en standard dans Microsft Azure, il n'est même pas nécessaire de définir les colonnes, car elles seront créées au vol. Il vous suffit de récupérer la Clé de l'application qui permettra d'insérer des données dans la table. Pour cela, cliquez en haut de la page sur le menu Tableau de bord et en bas au centre sur le bouton "Gérer les clés". Copiez la clé de l'application et gardez-la au chaud.
Configuration du YoctoHub (ou du VirtualHub)
A partir de la révision 20814, les YoctoHub et le VirtualHub proposent une interface de configuration du callback pour Microsoft Azure. Commencez donc par mettre à jour votre firmware ou votre VirtualHub si nécessaire. Dans la configuration réseau de votre YoctoHub ou du VirtualHub, trouvez la section Outgoing callbacks et cliquez sur le bouton edit. Choisissez le type Microsoft Azure et remplissez les information sur votre application:
Pressez sur le bouton Test pour vérifier que tout fonctionne. Si vous avez branché un capteur Yoctopuce à votre YoctoHub ou VirtualHub, vous pourrez constater directement sur le portail de Microsoft Azure que les mesures courantes y ont été enregistrées:
Et voilà, il ne vous reste plus qu'à écrire une application Azure qui fasse quelque chose d'utile avec ces données... à vous de jouer !