Premiers pas avec Blynk: des périphériques IoT DIY simples

Blynk est un service d'Internet des objets (IoT) conçu pour contrôler à distance et lire les données des capteurs de vos appareils aussi rapidement et facilement que possible.

Blynk est un service d'Internet des objets (IoT) conçu pour contrôler à distance et lire les données des capteurs de vos appareils aussi rapidement et facilement que possible.
Publicité

Blynk est un service d'Internet des objets (IoT) conçu pour contrôler à distance et lire les données des capteurs de vos appareils aussi rapidement et facilement que possible. Dans cet article, nous allons couvrir exactement ce qu'est Blynk, comment cela fonctionne, et fournir deux exemples de projets sur différentes utilisations du service avec les cartes de développement NodeMCU et Raspberry Pi.

Il n'a jamais été aussi facile de commencer à développer des objets intelligents à l'aide de microcontrôleurs, et les appareils IoT ont rapidement gagné en popularité ces dernières années. Les conseils de développement comme Arduino ou Raspberry Pi peuvent être utilisés pour contrôler tout à partir des prises de courant Comment contrôler les prises d'alimentation RF bon marché d'OpenHAB Comment contrôler les prises d'alimentation RF bon marché d'OpenHAB avec ceux-là? Vous pouvez les relier à votre système de maison intelligente bricolage avec seulement environ 10 $ en pièces. En savoir plus dans votre maison pour les décorations de Noël activées par le mouvement Améliorez votre guirlande de Noël avec une matrice LED activée par le mouvement Mettez à niveau votre guirlande de Noël avec une matrice LED activée par le mouvement Cette guirlande de Noël utilise une matrice Arduino et LED pour produire un affichage lumineux Je vais impressionner vos amis et votre famille. Lire la suite .

Un domaine qui peut poser un problème pour les non-initiés est le codage et la mise en réseau. Blynk vise à supprimer le besoin d'un codage étendu et à faciliter l'accès à vos appareils depuis n'importe où sur votre smartphone. Il est gratuit à utiliser pour les amateurs et les développeurs, mais il est également disponible pour une utilisation commerciale moyennant des frais - les entreprises peuvent utiliser Blynk pour créer leurs propres applications et systèmes, puis les vendre avec leur propre marque.

Blynk utilise son propre serveur et sa propre bibliothèque pour faire fonctionner le service, mais c'est l'application Blynk qui semble être sa principale force.

Entrez dans l'application Blynk

L'application Blynk est disponible gratuitement sur Android et iOS. C'est le point de départ de vos projets, avec un système de glisser-déposer simple à utiliser pour créer des contrôles personnalisés pour votre configuration IoT. Le flux de travail est rapide: lors du démarrage d'un nouveau projet, vous êtes invité à choisir votre carte de développement à partir d'une liste complète, ainsi que votre méthode de connexion. L'application envoie ensuite un jeton d'autorisation par e-mail pour se connecter à votre appareil via le serveur Blynk.

Les éléments de contrôle sont appelés Widgets : différents types de méthodes de saisie et d'affichages de sortie, y compris des boutons, des curseurs, un joystick, des graphiques et des retours de texte. Il existe également des widgets spécifiques aux composants, avec des contrôles stylisés pour les LED, les écrans LCD et même la vidéo en direct. On notera également les widgets qui ajoutent des fonctionnalités, comme la publication automatique sur Twitter et les notifications personnalisées.

Bien que l'application soit gratuite, elle limite le nombre de widgets que vous pouvez utiliser en même temps en leur attribuant un coût «Énergie». L'application vous donne un solde de 2 000 à jouer, avec l'option d'acheter plus si nécessaire.

J'ai trouvé que le solde de départ fourni était plus que suffisant pour les exemples de projets énumérés ici, mais si votre configuration est plus compliquée, vous pourriez vous retrouver à court de jus assez rapidement.

widgets et bouton blynk

Chaque widget dispose d'un menu d'édition vous permettant de changer le nom et la couleur. Vous choisissez ensuite quelle broche affecter (qu'il s'agisse d'une broche sur votre carte ou de l'une des broches virtuelles de Blynk) avec la plage de valeurs à envoyer. Pour les affichages de sortie tels que les graphiques et les zones de texte, vous pouvez également choisir la fréquence à laquelle vous souhaitez qu'il soit mis à jour, ce qui peut potentiellement économiser de la bande passante précieuse.

Blynk offre également la possibilité d'assigner des instructions à des broches «virtuelles», qui sont des connexions configurées par l'utilisateur entre l'application et le matériel. Un seul bouton dans l'application peut donc être utilisé pour déclencher de nombreux événements différents sur l'appareil. Nous verrons comment les utiliser plus tard dans l'article.

L'application donne la possibilité de partager votre projet avec d'autres. Un code QR est généré qui peut être envoyé par e-mail ou numérisé directement, et utilisé par toute personne qui a également l'application Blynk. Celui avec qui vous partagez ne peut pas apporter de modifications au projet, ce qui en fait un moyen rapide et pratique de partager le contrôle de vos appareils. Il est à noter cependant que votre projet dans l'application doit être en cours d'exécution pour que les autres aient accès au matériel.

Vous pouvez également partager le projet sans autoriser l'accès à votre matériel, ce qui est un excellent moyen d'apprendre aux utilisateurs comment utiliser l'application sans leur laisser allumer et éteindre les lumières!

J'ai trouvé que créer une application très rapide et intuitive. Une fois créé, vous pouvez commencer à l'utiliser immédiatement en appuyant sur le symbole de jeu dans le coin supérieur droit. Si vous devez apporter des modifications plus tard, vous pouvez simplement appuyer sur le même bouton pour revenir en mode d'édition.

Le serveur Blynk

Une fois que vous avez créé une application pour contrôler votre appareil, vous avez deux options pour communiquer avec elle.

Le serveur cloud Blynk est rapide, réactif et gratuit. La connexion à un périphérique Wi-Fi est aussi simple que la copie de votre code d'autorisation généré dans votre esquisse Arduino et la fourniture de vos informations Wi-Fi. Pour Raspberry Pi, Blynk fournit un script de test que vous pouvez exécuter avec votre code d'autorisation dans le même but. Plus loin dans cet article, nous allons créer notre propre script en utilisant la bibliothèque Blynk pour nous connecter au service.

La deuxième option consiste à héberger votre propre serveur Blynk. Blynk fournit un serveur Java basé sur Netty open source qui peut être exécuté depuis votre ordinateur, ou même un Raspberry Pi. Cela présente divers avantages pour certains utilisateurs en termes de fonctionnalité et de sécurité, bien que pour nos exemples, nous allons nous concentrer sur l'utilisation du serveur cloud Blynk fourni.

site web de blynk

La bibliothèque Blynk

Le troisième et dernier élément de Blynk est la bibliothèque Blynk. Cette bibliothèque fonctionne avec une énorme liste de cartes de développement pour permettre la communication entre l'application et votre matériel.

À son plus simple, tout ce qui est nécessaire est d'installer la bibliothèque, et de charger l'un des exemples d'exemples bien annotés fournis.

Blynk: configuration initiale

Installez l'application Blynk sur votre smartphone et créez un compte. Assurez-vous d'utiliser une adresse e-mail à laquelle vous pouvez accéder car c'est là que vos jetons d'autorisation seront envoyés. Maintenant, créez un projet, en sélectionnant quelle carte vous allez utiliser et comment vous allez vous y connecter. Les deux exemples ici se connectent via Wi-Fi, bien que les connexions via Bluetooth, Ethernet, et même GSM sont également possibles.

Créez votre projet Cela enverra automatiquement un jeton d'autorisation. Si vous ne le recevez pas, vous pouvez le renvoyer en sélectionnant l'icône des paramètres du projet (le petit écrou), en sélectionnant votre appareil et en sélectionnant "E-mail".

Ensuite, installez les bibliothèques Blynk à partir du site Web de Blynk. Pour Arduino, installez la bibliothèque en copiant les fichiers dans votre dossier Arduino> libraries . Si vous débutez avec Arduino, voici un guide pour vous aider. Premiers pas avec Arduino: Guide du débutant Premiers pas avec Arduino: un guide pour débutants Arduino est une plate-forme de prototypage électronique open source basée sur un matériel flexible et facile à utiliser. Logiciel. Il est destiné aux artistes, designers, amateurs et toute personne intéressée par la création d'objets ou d'environnements interactifs. Lire la suite .

Pour Raspberry Pi, vous devez vous assurer que vous avez installé Node.js en premier. Il ya un guide pour Node.js installé dans cet article Comment faire une lumière Wi-Fi contrôlée Siri DIY Comment faire une lumière Wi-Fi Siri-contrôlée DIY Dans ce guide, vous allez apprendre à créer un Lumière contrôlable par Wi-Fi et contrôlez-la avec Siri. Lire la suite si vous en avez besoin.

Tout d'abord, assurez-vous que votre Pi est à jour et que le package build-essential est installé.

sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential 

Installez ensuite le gestionnaire de packages de nœuds, la bibliothèque OnOff et la bibliothèque Blynk en les tapant dans votre fenêtre de terminal.

 sudo npm install -g npm sudo npm install -g onoff sudo npm install -g blynk-library 

Vous pouvez vérifier que tout a fonctionné en exécutant le script de test Blynk:

 blynk.js [YourAuthorizationTokenHere] 

Pourvu que tout fonctionne, cela devrait ressembler à ceci:

script de test blynk pi blynk

Si vous rencontrez des erreurs, assurez-vous que votre Pi est à jour et que la version la plus récente de Node.js est installée, avant de réinstaller les bibliothèques NPM, OnOff et Blynk.

Configuration rapide avec NodeMCU

Ce premier exemple montre à quel point il est facile de configurer des systèmes simples en utilisant Blynk. Il ne nécessite aucun codage, et une fois configuré, il est complètement autonome. Tant que la carte a accès à votre connexion Wi-Fi, vous pouvez y accéder de n'importe où en utilisant votre smartphone.

Pour commencer, mettre en place un circuit simple sur une planche à pain. Connectez la broche D0 à la branche positive d'une LED et revenez à la broche GND à travers une résistance 220 Ohm.

nodemcu fritzing

Ouvrez votre projet NodeMCU dans l'application Blynk. Sur le côté droit, sélectionnez le widget Bouton dans le menu. Sélectionnez votre bouton dans votre projet pour ouvrir son menu de propriétés. Ici vous pouvez le nommer, et choisir quelle broche sur votre carte NodeMCU devrait affecter. Sélectionnez la broche D0 dans la liste de sortie, et le mode de commutation pour en faire un interrupteur marche / arrêt, plutôt qu'un interrupteur à impulsion momentané.

Appuyez sur retour (toutes les modifications sont enregistrées automatiquement), puis appuyez sur l'icône de lecture dans le coin supérieur droit pour démarrer votre application. Vous pouvez appuyer sur ce même bouton à tout moment pour revenir à l'édition de votre projet.

Ensuite, ouvrez l'IDE Arduino et choisissez votre carte et port NodeMCU dans le menu des outils. Si vous ne voyez pas votre carte dans ce menu, vous devrez peut-être installer les bibliothèques ESP8266 (ce guide devrait vous aider à rencontrer le tueur Arduino: ESP8266 Rencontrez le tueur Arduino: ESP8266 Et si je vous disais qu'il y a une carte de développement compatible Arduino avec Wi-Fi intégré pour moins de 10 $? Eh bien, il y a. Lire la suite).

Maintenant, ouvrez le script autonome ESP8266 Blynk fourni dans leur bibliothèque en naviguant sur Fichier> Exemples> Blynk> Boards_WiFi> ESP8266_Standalone . Remplacez l'espace réservé pour le jeton d'autorisation par celui que vous avez reçu par e-mail et entrez vos informations Wi-Fi.

 char auth[] = "YourAuthToken"; char ssid[] = "YourNetworkName"; char pass[] = "YourPassword"; 

Enregistrez l'esquisse sous un nouveau nom et téléchargez-la sur votre tableau. Maintenant, lorsque vous appuyez sur le bouton dans l'application, la LED devrait s'allumer et s'éteindre. Si cela ne fonctionne pas, vérifiez que vous avez appuyé sur l'icône de lecture dans l'application.

Dans des cas simples comme ceux-ci, Blynk est incroyablement rapide à mettre en place.

Il convient également de noter que, puisque cela utilise le serveur Blynk, vous pouvez contrôler votre carte depuis n'importe où, tant que la carte a accès à votre connexion Wi-Fi domestique et que votre smartphone dispose d'un accès mobile aux données.

Blynk sur le Raspberry Pi

Vous pouvez utiliser Blynk exactement de la même manière que dans l'exemple ci-dessus sur le Raspberry Pi en utilisant le script de test Blynk, mais il existe des fonctionnalités plus profondes que les broches virtuelles de Blynk fournissent, que nous allons examiner maintenant.

Blynk fonctionne en utilisant Node.js, donc le code que nous écrirons aujourd'hui sera en Javascript. Si vous êtes nouveau dans la langue, cela devrait être un bon début pour commencer Commencer à coder JavaScript dès maintenant avec ces 5 grandes ressources gratuites Commencer à coder JavaScript dès maintenant avec ces 5 grandes ressources gratuites Lire la suite.

Nous allons utiliser la bibliothèque Blynk pour créer une application qui signale si un capteur de porte est ouvert ou fermé, et envoie un e-mail et une notification push à votre téléphone mobile lorsque la porte s'ouvre.

Tu auras besoin de:

  • Interrupteur à aimant de porte (également appelé interrupteur à lames)
  • 1x 1k? résistance
  • 1x 10k? résistance
  • 1x 220? résistance
  • 1x LED
  • Breadboard et fils de branchement

Configurez votre planche à pain comme ceci:

Pi Fritzing

Notez que la bibliothèque de Blynk utilise les numéros GPIO des pins du Pi, nous les utiliserons donc tout au long de ce projet. Connectez les broches 5V et GND aux rails d'alimentation de la carte de test. Connectez la broche GPIO 22 sur le Raspberry Pi à l'anode LED, et connectez la cathode au rail de masse à travers le 220? résistance Connectez la broche GPIO 17 à un côté du 1k? résistance, et connectez le 10? résistance de l'autre côté, et le côté 5V du rail d'alimentation. Enfin, connectez votre commutateur reed sur le côté GND du rail d'alimentation d'un côté, et sur la ligne où le 1k? et 10k? les résistances se rencontrent de l'autre. Cette configuration de résistance de tirage provoque la lecture de la tension sur la broche 17 lorsque le commutateur s'ouvre.

Créez un nouveau projet dans l'application Blynk et sélectionnez votre carte Raspberry Pi. Dans le menu du widget, sélectionnez une valeur étiquetée, un e-mail et un widget de notification

Sélectionnez la valeur étiquetée, nommez-la et choisissez la broche virtuelle V0 comme broche d'entrée. Vous pouvez également modifier la façon dont les informations sont affichées. Dans ce cas, ajoutez "La porte est" avant / pin / dans l'onglet Label. Nous pouvons laisser la valeur Fréquence de lecture à sa valeur par défaut, bien que vous puissiez la modifier pour envoyer des données à votre application à un taux différent.

Il est à noter que vous n'avez pas besoin d'entrer une adresse e-mail dans le widget e-mail car nous l'ajouterons plus tard dans le code, même si le widget doit être présent pour que cela fonctionne.

Une fois que vous êtes satisfait de l'apparence de votre application, appuyez sur le bouton Lecture dans l'angle supérieur droit.

valeur étiquetée du projet

Maintenant, créez un nouveau script appelé blynkdoor.js . Le code complet est disponible entièrement annoté ici.

 sudo nano blynkdoor.js 

Nous devons commencer par importer la bibliothèque Blynk, ajouter notre clé d'autorisation et créer une instance de Blynk à utiliser dans notre script.

 var blynklib = require('/usr/local/lib/node_modules/blynk-library'); var AUTH ='PasteAuthorizationCodeHere' var blynk = new blynklib.Blynk(AUTH); 

Nous devons également importer la bibliothèque OnOff et déclarer les variables qui configurent notre commutateur et LED. Nous allons également créer une variable pour la broche virtuelle que nous avons configurée dans l'application Blynk.

 var Gpio = require('onoff').Gpio, reed = new Gpio(17, 'in', 'both'), //register changes 'both' when switch is opened and closed led = new Gpio(22, 'out'); var virtualPin = 0; 

Maintenant, nous allons utiliser la fonction de surveillance de la bibliothèque OnOff pour surveiller les changements dans notre commutateur Reed. Le commutateur de porte est à 0 ou 1, et chaque fois que cette valeur change, nous écrivons ce changement à la broche LED.

 reed.watch(function(err, value){ led.writeSync(value); 

Nous pouvons utiliser la valeur pour envoyer également des données à l'application Blynk. Si la porte est fermée, nous voulons être en mesure de voir cela dans votre widget Labeled Value. Si la porte s'ouvre, nous voulons recevoir une notification et un email nous indiquant. Nous faisons cela avec une instruction if, et en utilisant les fonctions virtualWrite, notify et email de la bibliothèque Blynk. La documentation complète de Blynk peut être trouvée ici.

 if(value==0){ blynk.virtualWrite(virtualPin, "Closed"); console.log('Door Closed'); }; if(value==1){ blynk.notify("The door just opened!"); blynk.email("[email protected]", "Front Door", "The front door just opened."); blynk.virtualWrite(virtualPin, "Open"); console.log('Door Open'); }; }); 

Maintenant, chaque fois que le commutateur Reed enregistre un changement de valeur, les données sont envoyées à notre broche virtuelle, et dans le cas de l'ouverture de la porte au widget de notification dans l'application, ainsi que l'écriture sur la console. Notez que les accolades finales sont d'où nous avons commencé la fonction de surveillance ci-dessus.

Enfin, nous devons réinitialiser la broche lorsque le programme se termine. C'est le même que le GPIO.cleanup () que vous connaissez probablement déjà.

 process.on('SIGINT', function () { led.unexport(); reed.unexport(); }); 

Maintenant, enregistrez votre code et quittez. Exécutez votre script en utilisant le noeud.

 sudo node blynkdoor.js 

Maintenant, lorsque vous éloignez l'aimant du capteur Reed, vous devriez recevoir une notification vous disant que la porte est ouverte, et votre affichage étiqueté devrait changer. Fermez à nouveau le commutateur et vous verrez que l'affichage étiqueté change à nouveau.

Il est à noter que l'application Blynk doit être en cours d'exécution sur votre téléphone afin de recevoir les notifications push, bien que les e-mails fonctionnent si l'application est en cours d'exécution ou non.

Dans le court laps de temps passé avec Blynk, cela semble un service très facile à utiliser. À sa plus simple, il permet aux personnes sans connaissances en codage de construire facilement des systèmes de domotique DIY. Avec un peu de connaissances de codage supplémentaire, il devient encore plus puissant, permettant des systèmes beaucoup plus complexes et plusieurs déclencheurs d'événements à partir d'une simple pression sur un bouton dans l'application.

Ce projet était une introduction de base à Blynk, bien que ce que nous avons couvert ici pourrait être facilement modifié pour presque n'importe quel projet de domotique ou de microcontrôleur.

Avez-vous utilisé Blynk? Avez-vous un système complexe fou utilisant le service que vous aimeriez partager avec nous? Faites-nous savoir dans les commentaires ci-dessous!

Crédit d'image: Giuseppe Caccavale via YouTube.com

In this article