Agence web » Actualités du digital » Comment programmer vos propres boutons de tableau de bord avec AWS

Comment programmer vos propres boutons de tableau de bord avec AWS

Bien que les boutons Dash aient peut-être été abandonnés, leur conception perdure avec les boutons IoT d'AWS. Au lieu de commander de la malbouffe, ceux-ci peuvent être configurés pour déclencher des fonctions AWS Lambda, vous permettant de créer un script de vos propres fonctionnalités avec NodeJS et Python.

Que fait le bouton IoT Enterprise?

le concept est assez simple. Vous appuyez sur le bouton et cela déclenche une fonction Lambda, qui est une application sans serveur qui s'exécute dans le cloud Amazon Web Services et exécute la commande ou le script que vous souhaitez. Par exemple, vous pouvez faire en sorte que ce bouton se connecte à l'API LIFX pour contrôler vos lumières intelligentes, ou tout autre appareil intelligent doté d'une API. Vous pouvez même leur demander de se connecter à votre compte Amazon pour commander des produits pour vous, compléter le cercle et créer votre propre bouton de tableau de bord. Les possibilités dépendent vraiment de vous; tant que vous pouvez programmer, vous pouvez faire en sorte que ce bouton fasse à peu près n'importe quoi.

Ce qui est encore mieux, c'est que le bouton dispose de trois modes (simple clic, double-clic et appui long) qui sont transmis à la fonction Lambda et peuvent déclencher différentes actions en fonction du type de presse. Cela transforme essentiellement ce bouton en trois avec les modes alternatifs.

Ils sont un peu plus chers que les boutons Dash à 5 $, à 26 $ pièce. Cela est probablement dû au fait que le coût n'est pas subventionné par le fait que vous alimentez de l'argent Amazon simplement en appuyant dessus. Mais pour l'utilité de ces éléments, ce n'est pas un mauvais prix, même par rapport à des boutons de maison intelligente similaires moins fonctionnels. Vous pouvez les récupérer sur (vous le devinez) Amazon.

Ils sont excellents et sont en fait étonnamment simples à configurer et à utiliser. Le principal problème est cependant la latence – parce que ces éléments sont conçus pour fonctionner avec une seule batterie pendant des milliers de presses, ils restent en mode basse consommation jusqu'à ce que vous les appuyiez. Pour cette raison, il faut environ quatre secondes pour que le bouton s'allume, se connecte au Wi-Fi et déclenche la fonction Lambda. Selon votre cas d'utilisation, cela peut être un facteur décisif, mais j'en ai utilisé un pour contrôler mes lumières intelligentes au lieu d'un hub d'automatisation et je ne l'ai pas trouvé trop ennuyeux.

AWS crée quelques types de ces boutons IoT, mais le bouton IoT Enterprise est la version de mise à niveau de l'ancien «IoT Button». Plus particulièrement, il est beaucoup plus facile de configurer et de gérer les déploiements via le service "IoT 1-Click" d'AWS sans avoir à installer ou gérer des certificats. À 20 $ la pop et suffisamment petits pour tenir dans une poche, ces boutons sont parfaits.

AWS propose également une variante LTE de ce bouton, en conjonction avec AT&T. En raison de la nature de la configuration d'un appareil IoT basé sur Wi-Fi comme celui-ci, il n'est pas très possible de donner les boutons IoT Enterprise standard aux clients distants sans configurer les boutons sur place sur leur réseau. C'est un peu plus cher, à 40 $, et c'est un peu plus gros, mais fonctionnera partout où il y a un signal cellulaire, et serait beaucoup plus rapide que la variante Wi-Fi. La configuration de ceux-ci devrait être essentiellement la même, car ils utilisent le même backend sous le capot.

Dans tous les cas, vous ne pouvez pas vraiment procéder à la configuration tant que vous n’avez pas commandé une.

Configurer un bouton IoT

Une fois votre bouton arrivé, téléchargez l'application de configuration du bouton IoT pour iOS ou Android. Cela agit comme un scanner qui reliera les boutons à votre compte. Cela nécessite que vous soyez sur le même réseau Wi-Fi qu'eux, ce qui rend la configuration extrêmement simple pour les boutons IoT Enterprise.

Ouvrez l'application, connectez-vous avec votre compte AWS ou vos informations d'identification utilisateur IAM, et sélectionnez «Configurer le WiFi» dans la section IoT Enterprise:

Cela fera apparaître un scanner qui vous demandera de scanner l'ID de l'appareil trouvé sur l'emballage de l'appareil. Une fois numérisés, vous devrez réclamer les appareils et les mettre en mode d'association en maintenant le bouton enfoncé pendant 6 secondes. Cela se connectera à l'appareil via Bluetooth et le configurera avec les informations d'identification Wi-Fi que vous avez choisies.

Vous pouvez ajouter un nombre illimité d'appareils de cette manière, et si vous avez déjà configuré votre projet IoT, vous pouvez les ajouter directement à partir de l'application.

Si vous ne faites que suivre, vous devrez créer un projet pour configurer les paramètres de vos appareils et gérer les emplacements. Rendez-vous sur la console IoT dans votre navigateur et créez un nouveau projet sous Gérer> Projets:

Donnez-lui un nom, puis passez à l'écran suivant. La première chose que vous devrez ajouter est un modèle d'appareil. Cela définit essentiellement le type d'appareil que vous déployez et l'action qu'il déclenche lorsque vous appuyez dessus. Si vous ne configurez qu'un seul appareil, vous devrez toujours créer un modèle auquel l'ajouter. Si vous possédez plusieurs appareils, vous pouvez créer des modèles de plusieurs appareils pour différentes actions ou ajouter plusieurs appareils au même modèle pour avoir deux boutons qui font la même chose.

Vos options sont l'envoi de SMS, d'e-mails ou le déclenchement d'une fonction Lambda. Vous souhaiterez probablement déclencher une fonction Lambda, alors sélectionnez la fonction ici. Malheureusement, il n'y a pas d'option pour actualiser cette liste, donc si vous venez de créer une fonction Lambda pour ce modèle, vous devrez actualiser la page et recommencer la configuration du projet.

Cela devrait terminer la configuration du projet. Sur l'écran suivant, choisissez d'ajouter un nouveau «placement de périphérique», qui associe essentiellement un périphérique physique à un modèle et un projet de périphérique, et est utilisé pour suivre les périphériques sur le terrain.

Une fois que cela est fait, le bouton doit être connecté. Si vous appuyez dessus, il doit exécuter la fonction Lambda choisie et générer un nouvel événement de presse dans le journal. Si cela ne fonctionne pas, vous devez tester votre fonction Lambda pour vous assurer qu'il n'y a pas de problème avec cela et vous assurer que la presse apparaît dans le journal.

Les informations de presse sont transmises à la fonction Lambda dans le event paramètre de la fonction handler:

{
  deviceInfo: {
    deviceId: 'G030PM037162UXE3',
    type: 'button',
    remainingLife: 99.05,
    attributes: {
      projectRegion: 'us-east-1',
      projectName: 'LightSwitch',
      placementName: 'BathroomLightSwitch',
      deviceTemplateName: 'DeviceType'
    }
  },
  deviceEvent: {
    buttonClicked: { clickType: 'DOUBLE', reportedTime: '2019-12-22T04:32:28.325Z' }
  },
  placementInfo: {
    projectName: 'LightSwitch',
    placementName: 'BathroomLightSwitch',
    attributes: {},
    devices: { DeviceType: 'G030PM037162UXE3' }
  }
}

La chose la plus utile ici est le deviceEvent et clickType, que vous pouvez utiliser dans votre fonction pour exécuter différentes actions selon que l'utilisateur a fait un simple clic, un double clic ou un appui long. Si vous ignorez cette valeur dans votre script, tous les types de presse seront identiques.

De là, la programmation dépend de vous. Vous pouvez lire notre guide d'utilisation des fonctions Lambda pour en savoir plus.

★★★★★