IFTTT a un énorme potentiel dans sa capacité à connecter les appareils rapidement et facilement. Il y avait une chose qui manquait depuis un certain temps - la possibilité d'envoyer et de recevoir des demandes génériques de GET HTTP et de publication. Si vous vouliez utiliser IFTTT pour quelque chose, l'utilisation spécifique devait être définie par IFTTT et publiée sur leur site dans un canal. C'est-à-dire jusqu'à présent!
IFTTT a récemment publié la chaîne Maker. C'est exactement ce que les développeurs attendaient! Il vous permet de définir des déclencheurs qui sont déclenchés lorsqu'ils reçoivent une demande HTTP, ainsi que des actions qui peuvent faire une demande HTTP à un emplacement défini. Cela ouvre IFTTT à utiliser pour pratiquement n'importe quoi. Il appartient maintenant à l'imagination de la communauté des développeurs.
Pour montrer de quoi le canal Maker est capable, nous allons mettre en place un simple arduino pour communiquer d'avant en arrière avec ifttt via node.js. Pour expérimenter l'envoi de déclencheurs à IFTTT, nous allons basculer une ampoule LIFX allumée et éteinte via un interrupteur d'éclairage alimenté par Arduino. Pour essayer une action IFTTT Maker, nous connecterons un RVB LED à notre Arduino qui changera de couleur chaque fois que nous sommes mentionnés sur Twitter. Vous n'aimez pas Twitter ou n'avez pas de bulbe Lifx? Pas du tout un problème, passez l'action / déclencheur avec autre chose sur IFTTT. Travaillez avec la chaîne Facebook au lieu de Twitter ou déclenchez des actions sur votre téléphone au lieu d'une ampoule. C'est très amusant à bricoler.
Si vous êtes nouveau dans IFTTT, j'ai précédemment couvert les bases de mon article sur la connexion des ampoules LIFX à l'IoT en utilisant IFTTT. Cet article suppose que vous savez tout sur les déclencheurs et les actions, et que vous êtes maintenant prêt à passer au niveau supérieur!
Si vous souhaitez entrer directement dans le code et l'essayer, vous pouvez le trouver ici sur github.
Nous allons avoir un serveur Node.js local en cours d'exécution avec un Arduino connecté via USB. En appuyant sur un bouton de la configuration Arduino, déclenchera une demande HTTP à IFTTT pour lui dire de basculer notre lumière LIFX. Notre serveur Node.js aura également Express en cours d'exécution pour gérer toutes les demandes HTTP entrantes. Chaque fois que IFTTT voit une nouvelle mention de nous sur Twitter, il fera une demande publique à notre serveur pour déclencher notre LED d'Arduino.
Nous allons connecter un bouton simple et un RVB a conduit à un arduino.
Pour commencer, nous devrons aller sur la chaîne Maker sur IFTTT et cliquer sur «Connecter». Une fois qu'il est configuré, vous atteignez un écran qui ressemble à:
Sur cet écran, il fournit votre clé secrète que vous devrez déclencher des actions IFTTT via les commandes HTTP. Bien sûr, vous aurez besoin d'un peu plus d'informations que la simple clé, nous avons besoin d'une URL pour publier pour déclencher l'action. Pour le trouver, cliquez sur le lien qui dit «Comment déclencher des événements». Il ouvrira une page qui contient l'URL que vous souhaiterez utiliser, facilement avec votre clé attachée.
L'URL que nous utiliserons pour notre ampoule LIFX ressemble à ceci: http://maker.iftt.com/trigger/light_switch/with/key/; La partie URL qui dit Light_Switch est notre nom d'événement. Nous l'utilisons lors de la mise en place de notre recette IFTTT. Si vous ne déclenchez pas une ampoule LIFX, choisissez un nom qui correspond à votre événement plus précisément.
Notre canal Maker est actif et prêt à être utilisé. Nous commencerons par voir comment basculer notre action IFTTT - basculer une ampoule LIFX sur et désactiver en utilisant un bouton d'un Arduino.
Faire la recette elle-même est assez simple:
Dans notre code Node.js, nous utilisons Johnny-Five pour accéder à notre Arduino. Lorsque la carte est prête, nous définissons notre bouton connecté à la broche 7 dans la variable BTN:
board<span>.on('ready', function() { </span> <span>console.log('Board ready'); </span> btn <span>= new five<span>.Button</span>(7);</span>
Dans l'événement prêt de la carte, nous avons mis en place une montre pour l'événement Button’s Down. Si nous détectons que le bouton a été enfoncé, nous enregistrons ce clic sur la console à des fins de débogage (dans la situation où un fil sur la planche à pain se détache ou quelque chose dans ce sens, avoir ces journaux de console peut gagner beaucoup de temps!). Ensuite, nous utilisons la demande du module NPM pour faire une demande de message HTTP à l'URL que nous avons trouvée ci-dessus. Nous avons également des journaux de console sur son succès à des fins de débogage.
btn<span>.on('down', function(value) { </span> <span>console.log('Light toggle pressed.'); </span> request<span>.post({ </span> <span>url: 'http://maker.ifttt.com/trigger/light_switch/with/key/{{yourkeyhere}}' </span> <span>}, function(error<span>, response, body</span>) { </span> <span>console.log('Body response was ', body); </span> <span>console.log('Error was ', error); </span> <span>}); </span> <span>});</span>
En exécutant le code, lorsque nous cliquons sur le bouton et que la demande est réussie, elle devrait changer et désactiver notre LIFX? IFTTT renverra un joli message qui ressemblera à notre console.log:
La réponse corporelle a été félicitée! Vous avez tiré l'événement Light_Switch
Il est vraiment simple à assembler mais a un lot de potentiel.
Une chose à noter - Si vous souhaitez passer un appel au service IFTTT via HTTPS, vous aurez également besoin d'un serveur HTTPS correctement sécurisé. J'ai eu des erreurs lors de l'utilisation d'un serveur de test local, il peut donc avoir besoin d'avoir un certificat qui n'est pas signé.
Nous pouvons maintenant déclencher des actions IFTTT via Node.js et notre arduino. Voyons comment faire les choses de la manière opposée - faire répondre à notre arduino aux déclencheurs IFTTT. Nous allons configurer IFTTT pour dire à notre serveur Node.js et à notre arduino chaque fois que nous sommes mentionnés sur Twitter.
Nous avons rassemblé la recette dans l'autre sens:
L'écran avec nos paramètres de demande HTTP ressemblera à:
Dans notre code de nœud, nous avons configuré notre LED afin que notre module Johnny-Five le sache et configurez le serveur pour écouter cette demande de message. Il y répondra en changeant notre LED.
Dans l'événement prêt de la carte, nous définissons notre LED attachée aux broches 9, 10 et 11 dans la variable de LED comme SO:
board<span>.on('ready', function() { </span> <span>console.log('Board ready'); </span> btn <span>= new five<span>.Button</span>(7);</span>
Le code peut sembler étrange car les broches comptent à partir de 11 plutôt que vers le haut. La raison en est que je préfère que mon câblage ait le rouge, le vert puis le bleu de haut en bas sur la carte Arduino (par exemple 11, puis 10 et 9).
.Nous définissons sa couleur initiale sur le vert:
btn<span>.on('down', function(value) { </span> <span>console.log('Light toggle pressed.'); </span> request<span>.post({ </span> <span>url: 'http://maker.ifttt.com/trigger/light_switch/with/key/{{yourkeyhere}}' </span> <span>}, function(error<span>, response, body</span>) { </span> <span>console.log('Body response was ', body); </span> <span>console.log('Error was ', error); </span> <span>}); </span> <span>});</span>
En dehors de l'événement Ready de la carte, nous créons notre routage pour la demande de poste / LED à l'aide d'express. Dans la fonction de rappel de cette voie, nous obtenons les données JSON envoyées à partir de IFTTT dans req.body et trouvons la clé de couleur à l'intérieur. Nous donnons cette couleur à la fonction LED.Color () de Johnny-Five pour changer la couleur de notre LED à ce qu'on nous a donné. Nous enregistrons également les données JSON dans notre console.
led <span>= new five<span>.Led.RGB</span>([11,10,9]);</span>
quelque chose à garder à l'esprit - si vous mettez cela sur un serveur accessible publiquement qui sera disponible à des fins de test plus que de simples tests, je recommanderais de vérifier que les données JSON fournies sont en fait une couleur et est légitime demande.
Si vous exécutez le serveur de nœuds, puis recevez un tweet sur votre compte, après un petit moment (il ne sera pas instantané car il semble prendre du temps à IFTTT pour actualiser ces informations de Twitter parfois), votre LED devrait parfois Allez Twitter Blue! Dans votre console.log, vous devriez voir quelque chose comme les suivants:
La réponse était {Color: '# 55ACEE', Texte: '@ThatpatrickGuy Woo Hoo'}Ensuite, si vous configurez divers autres services dans le même sens, mais avec différentes couleurs, vous pouvez avoir une grande variété de changements de couleur LED!
Avoir l'écosystème d'IFTTT et tous ses canaux disponibles pour les fabricants de toute technologie compatible Internet qui peut envoyer et recevoir des demandes HTTP est énorme. Bien que nous ayons pu faire des choses comme inclure l'API Twitter dans les applications Node.js depuis longtemps maintenant, cela offre toute une gamme de possibilités dans une API beaucoup plus facile à utiliser et incroyablement modulaire. Éteignez Twitter pour autre chose et tout devrait toujours fonctionner avec seulement quelques ajustements!
Si vous créez une création de canaux IFTTT Maker vraiment soignée à partir de ce guide, laissez une note dans les commentaires ou contactez-moi sur Twitter (@ThatpatrickGuy), je voudrais jeter un œil!
Node.js joue un rôle crucial dans la connexion des périphériques IoT à IFTTT. Il s'agit d'un runtime JavaScript construit sur le moteur JavaScript V8 de Chrome, qui est utilisé pour développer des applications côté serveur et de mise en réseau. Les applications Node.js sont écrites en JavaScript et peuvent être exécutées dans l'exécution Node.js sur diverses plates-formes. Dans le contexte de l'IoT, Node.js peut être utilisé pour écrire le code côté serveur qui interagit avec les périphériques IoT et envoie des commandes à IFTTT via le service Maker WebHooks.
Le service Maker WebHooks dans IFTTT vous permet de créer des webhooks personnalisés, qui peuvent déclencher une action sur un Service IFTTT. Ce service est particulièrement utile lorsque vous souhaitez connecter votre propre matériel ou logiciel avec IFTTT. Vous pouvez envoyer une demande Web à une URL spécifique générée par le service Maker WebHooks, et cette demande déclenchera une action sur un service IFTTT.
Oui, vous pouvez utiliser d'autres langages de programmation pour connecter les périphériques IoT à IFTTT. Cependant, Node.js est un choix populaire en raison de son efficacité et de son évolutivité, qui sont particulièrement utiles lorsqu'ils traitent avec des appareils IoT qui génèrent une grande quantité de données. D'autres langues comme Python, Java ou C peuvent également être utilisées, mais l'implémentation peut différer.
La sécurité de la sécurité de la sécurité de la sécurité de la sécurité de la sécurité de la sécurité de la sécurité de la sécurité de la sécurité de la sécurité de La connexion entre IoT, Node.js et IFTTT dépend en grande partie de la façon dont vous l'implémentez. Il est important d'utiliser des méthodes sécurisées lors de l'envoi de données de vos périphériques IoT à Node.js et de Node.js à IFTTT. Cela peut inclure l'utilisation de HTTPS pour toutes les connexions, la validation de toutes les données entrantes et la maintenance de votre clé IFTTT secrète.
Vous pouvez connecter une large gamme de périphériques IoT à IFTTT à l'aide de Node.js. Cela comprend, mais sans s'y limiter, des appareils de maison intelligents comme les lumières, les thermostats et les caméras de sécurité, les appareils portables comme les smartwatches et les trackers de fitness, et même les appareils IoT sur mesure. La principale exigence est que l'appareil doit être en mesure d'envoyer des données sur Internet.
Problèmes de débogage lors de la connexion de l'IoT à IFTTT Utilisation de Node.js peut être effectué en utilisant diverses méthodes. Vous pouvez utiliser des instructions Console.log dans votre code Node.js pour imprimer des informations sur l'état de votre application. Vous pouvez également utiliser des outils comme le débogueur Node.js ou l'inspecteur de nœud.
Oui, vous pouvez connecter plusieurs périphériques IoT à iftttt Utilisation de Node.js. Chaque appareil enverrait des données à votre application Node.js, qui déclencherait ensuite des actions sur IFTTT à l'aide du service Maker WebHooks. Vous pouvez même configurer différentes actions pour différents appareils.
tandis que l'IFTTT est un outil puissant pour connecter des périphériques IoT avec divers services , il a certaines limites. Par exemple, la version gratuite d'IFTTT limite le nombre d'applets que vous pouvez créer. De plus, tous les services ne sont pas disponibles sur IFTTT, vous ne pourrez peut-être pas connecter votre appareil IoT à chaque service que vous souhaitez utiliser.
L'optimisation des performances de votre application Node.js peut être effectuée de plusieurs manières. Cela comprend l'utilisation d'algorithmes et de structures de données efficaces, de minimiser l'utilisation des opérations de blocage et de gérer correctement la mémoire. Vous pouvez également utiliser des outils tels que le profiler Node.js pour identifier les goulots d'étranglement des performances.
Oui, vous pouvez Utilisez Node.js et IFTTT pour connecter les périphériques IoT à une large gamme de services. L'IFTTT prend en charge des centaines de services, y compris les populaires comme Gmail, Twitter et Dropbox. Vous pouvez déclencher des actions sur ces services en fonction des données de vos appareils IoT.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!