Démarrer avec Blynk Simple DIY IoT Devices
Blynk est un service Internet des objets (IoT) conçu pour rendre le contrôle et la lecture à distance des données de capteurs à partir de vos appareils aussi simple et rapide que possible. Dans cet article, nous allons décrire exactement ce que Blynk est, 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 la popularité des appareils IoT a rapidement augmenté au cours des dernières années. Des cartes de développement telles que Arduino ou Raspberry Pi peuvent être utilisées pour tout contrôler, même depuis les prises d'alimentation. 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 lier à votre système de maison intelligente DIY avec seulement environ 10 USD par pièce. Lisez davantage dans votre maison avec des décorations de Noël activées par le mouvement Améliorez votre couronne de Noël avec une matrice DEL activée par le mouvement Améliorez votre guirlande de Noël avec une matrice LED activée par le mouvement Impressionnez vos amis et votre famille. Lire la suite .
Un domaine qui peut poser un problème aux non-initiés est le codage et la mise en réseau. Blynk a pour objectif de supprimer le recours à un codage étendu et de faciliter l'accès à vos appareils depuis n'importe où sur votre smartphone. Son utilisation est gratuite pour les amateurs et les développeurs, mais elle est également disponible dans le commerce 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 simple à utiliser permettant de créer des contrôles personnalisés pour votre configuration IoT. Le flux de travail est rapide: lorsque vous démarrez un nouveau projet, vous êtes invité à choisir votre carte de développement dans une liste exhaustive, ainsi que votre méthode de connexion. L'application envoie ensuite un jeton d'autorisation par courrier électronique 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’affichage en sortie, notamment des boutons, des curseurs, un joystick, des graphiques et des commentaires textuels. Il existe également des widgets spécifiques aux composants, avec des commandes stylisées pour les LED, les écrans LCD et même la vidéo en streaming en direct. Les widgets qui ajoutent des fonctionnalités, comme la publication automatique sur Twitter et les notifications personnalisées, sont également à noter..
Bien que l’application soit gratuite, elle limite le nombre de widgets que vous pouvez utiliser simultanément en leur donnant à tous une “Énergie” Coût. L'application vous offre un solde de 2.000, avec la possibilité d'en 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. Toutefois, si votre configuration est plus compliquée, vous risquez de vous retrouver à court de ressources assez rapidement..
Chaque widget possède un menu d'édition vous permettant de changer le nom et la couleur. Vous choisissez ensuite la broche à affecter (qu’il s’agisse d’une broche de votre carte ou d’une des broches virtuelles de Blynk), ainsi que la plage de valeurs à envoyer. Pour les affichages en sortie tels que les graphiques et les zones de texte, vous pouvez également choisir la fréquence de mise à jour souhaitée, ce qui permet d'économiser une précieuse bande passante..
Blynk offre également la possibilité d’assigner des instructions à “virtuel” les broches, 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é. Il peut être envoyé par courrier électronique ou numérisé directement et utilisé par quiconque possède également l'application Blynk. Les personnes avec qui vous partagez ne peuvent pas modifier le 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 d'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'enseigner aux utilisateurs comment utiliser l'application sans les laisser allumer et éteindre vos lumières.!
J'ai trouvé la création d'une application très rapide et intuitive. Une fois créé, vous pouvez commencer à l'utiliser immédiatement en appuyant sur le symbole de lecture dans le coin supérieur droit. Si vous devez apporter des modifications ultérieurement, vous pouvez simplement appuyer sur le même bouton pour revenir en mode é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 de copier votre code d'autorisation généré dans votre esquisse Arduino et de fournir vos détails 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 sens. Plus tard dans cet article, nous allons créer notre propre script en utilisant la bibliothèque Blynk pour se connecter au service..
La deuxième option consiste à héberger votre propre serveur Blynk. Blynk fournit un serveur Java open source basé sur Netty qui peut être exécuté à partir de votre ordinateur, voire d'un Raspberry Pi. Cela présente divers avantages pour certains utilisateurs en termes de fonctionnalité et de sécurité, bien que pour nos exemples ici, nous allons nous concentrer sur l’utilisation du serveur cloud Blynk fourni..
La bibliothèque de Blynk
Le troisième et dernier élément de Blynk est la bibliothèque Blynk. Cette bibliothèque fonctionne avec une liste énorme de cartes de développement pour permettre la communication entre l'application et votre matériel..
Dans sa forme la plus simple, il suffit d'installer la bibliothèque et de charger l'un des exemples d'esquisses 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 électronique à laquelle vous pouvez réellement accéder car c'est à cet endroit que seront envoyés vos jetons d'autorisation. Créez maintenant un projet en sélectionnant le tableau que vous utiliserez et comment vous vous y connecterez. Les deux exemples ici se connectent via Wi-Fi, bien que des connexions via Bluetooth, Ethernet et même GSM soient é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, puis en sélectionnant “Email”.
Ensuite, installez les bibliothèques Blynk à partir du site Web de Blynk. Pour Arduino, installez la bibliothèque en copiant les fichiers dans votre Arduino> bibliothèques dossier. Si vous débutez dans Arduino, voici un guide pour commencer. Démarrer avec Arduino: Un guide pour débutant Démarrer avec Arduino: Un guide pour débutant Arduino est une plate-forme de prototypage électronique à code source ouvert reposant sur un matériel flexible, facile à utiliser. Logiciel. Il est destiné aux artistes, concepteurs, 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 d’avoir préalablement installé Node.js. Node.js installé contient un guide dans cet article Comment créer une lampe Wi-Fi Siri contrôlée par un bricolage Comment faire une lampe Wi-Fi Siri contrôlée par un bricolage Dans ce guide, vous allez apprendre à créer Wi-Fi contrôlable lumière, et le contrôler avec Siri. Lire plus si vous en avez besoin.
Tout d’abord, assurez-vous que votre Pi est à jour et que le paquet essentiel à la construction est installé.
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential
Puis installez le Node Package Manager, la Allumé éteint bibliothèque et Blynk bibliothèque en tapant ceci dans la fenêtre de votre terminal.
sudo npm install -g npm sudo npm installer -g onoff sudo npm installer -g blynk-library
Vous pouvez vérifier que tout a bien fonctionné en exécutant le script de test Blynk:
blynk.js [YourAuthorizationTokenHere]
Si tout fonctionne, cela devrait ressembler à ceci:
Si vous rencontrez des erreurs, assurez-vous que votre Pi est à jour et que vous avez installé la version la plus récente de Node.js avant de réinstaller les bibliothèques NPM, OnOff et Blynk..
Configuration rapide avec NodeMCU
Ce premier exemple montre à quel point il est rapide de configurer des systèmes simples à l’aide de Blynk. Il ne nécessite aucun codage et une fois installé, il est complètement autonome. Tant que le tableau a accès à votre connexion Wi-Fi, vous pouvez y accéder depuis n'importe où en utilisant votre smartphone.
Pour commencer, configurez un circuit simple sur une planche à pain. Broche de connexion D0 à la jambe positive d’une LED, et retour à la broche GND à travers une résistance de 220 Ohm.
Ouvrez votre projet NodeMCU dans l'application Blynk. Sur le côté droit, sélectionnez le Bouton widget 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 la broche sur votre carte NodeMCU à affecter. Sélectionner broche D0 à partir de la liste de sortie, et changez de mode pour en faire un interrupteur marche / arrêt, plutôt qu’un interrupteur instantané.
Appuyez sur Retour (toutes les modifications sont automatiquement enregistrées), puis appuyez sur l'icône de lecture dans le coin supérieur droit pour lancer votre application. Vous pouvez appuyer sur ce même bouton à tout moment pour revenir à la modification de votre projet..
Ensuite, ouvrez l’EDI Arduino et choisissez votre carte NodeMCU et son port dans le menu 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 avec Wi-Fi intégré pour moins de 10 $? Eh bien, il y a. Lire la suite).
Ouvrez maintenant le script autonome ESP8266 que Blynk a fourni dans sa bibliothèque en accédant à 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 courrier électronique et entrez vos détails Wi-Fi..
char auth [] = "YourAuthToken"; char ssid [] = "YourNetworkName"; char pass [] = "YourPassword";
Enregistrez l'esquisse sous un nouveau nom et chargez-le sur votre tableau. Maintenant, lorsque vous appuyez sur le bouton dans l'application, le voyant doit 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 celui-ci, Blynk est incroyablement rapide à configurer..
Il convient également de noter que, puisqu'il 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 à des données mobiles..
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 les broches virtuelles de Blynk offrent des fonctionnalités plus profondes, que nous allons examiner maintenant..
Blynk fonctionne avec Node.js, le code que nous écrirons aujourd'hui sera en Javascript. Si vous êtes un débutant dans la langue, ceci devrait être un excellent débutant. Commencez à coder JavaScript dès maintenant avec ces 5 ressources gratuites formidables Commencez à coder JavaScript à l'aide de ces 5 excellentes ressources gratuites En savoir plus .
Nous allons utiliser la bibliothèque Blynk pour créer une application qui indique si un capteur de porte est ouvert ou fermé, et qui envoie un courrier électronique et une notification push à votre téléphone mobile lorsque la porte s'ouvre..
Tu auras besoin de:
- Interrupteur magnétique de porte (également appelé interrupteur à lames)
- 1x 1k? résistance
- 1x 10k? résistance
- 1x 220? résistance
- 1x LED
- Planche à pain et fils de connexion
Configurez votre planche à pain comme ceci:
Notez que la bibliothèque de Blynk utilise les numéros GPIO des broches du Pi, nous les utiliserons donc tout au long de ce projet. Connectez les broches 5V et GND aux rails d’alimentation de la planche à pain. Connectez la broche 22 de GPIO sur le Raspberry Pi à l’anode à DEL et connectez la cathode au rail de mise à la terre via le câble 220? résistance. Connectez la broche 17 de GPIO sur un côté du 1k? résistance, et connectez le 10? résistance de l’autre côté et du côté 5V du rail d’alimentation. Enfin, connectez votre commutateur à lames au côté GND du rail d’alimentation d’un côté, et sur la ligne où se trouve le 1K? et 10k? les résistances se rencontrent de l'autre. Cette configuration de résistance de rappel augmentera la tension sur la broche 17 lorsque le commutateur sera ouvert..
Créez un nouveau projet dans l'application Blynk et sélectionnez votre tableau Raspberry Pi. Dans le menu du widget, sélectionnez un widget Valeur étiquetée, Email et Notification.
Sélectionnez la valeur étiquetée, nommez-la et choisissez broche virtuelle V0 comme c'est la broche d'entrée. Vous pouvez également modifier le mode d'affichage des informations. Dans ce cas, ajoutez “La porte est ” before / pin / dans l'onglet Label. Nous pouvons laisser la valeur de fréquence de lecture sur son réglage par défaut, bien que vous puissiez la modifier pour envoyer les données à votre application à un taux différent..
Il est à noter que vous n'avez pas besoin d'entrer une adresse email dans le widget email car nous l'ajouterons dans le code ultérieurement, bien que le widget soit présent pour que cela fonctionne..
Une fois satisfait de l'apparence de votre application, appuyez sur le bouton Lecture dans le coin supérieur droit..
Maintenant, créez un nouveau script appelé blynkdoor.js. Le code complet est disponible intégralement 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 à lames et notre voyant. Nous allons également créer une variable pour l'épingle virtuelle que nous avons configurée sur l'application Blynk..
var Gpio = require ('onoff'). Gpio, reed = new Gpio (17, 'in', 'both'), // enregistre les changements 'both' lorsque le commutateur est ouvert et fermé led = new Gpio (22, 'out '); var virtualPin = 0;
Maintenant, nous allons utiliser le regarder fonction de la bibliothèque OnOff pour surveiller les modifications apportées à notre commutateur à lames. L’interrupteur de porte est soit à 0 ou 1, et chaque fois que cette valeur change, nous écrivons ce changement sur la broche DEL.
reed.watch (function (err, valeur) led.writeSync (valeur);
Nous pouvons utiliser cette valeur pour envoyer également des données à l'application Blynk. Si la porte est fermée, nous voulons pouvoir le voir dans votre widget Valeur étiquetée. Si la porte s'ouvre, nous souhaitons recevoir une notification et un courrier électronique nous en informant. Nous faisons cela avec une instruction if, et en utilisant virtualWrite, notifier, et email fonctions de la bibliothèque Blynk. La documentation complète de Blynk est disponible ici.
if (valeur == 0) blynk.virtualWrite (virtualPin, "Closed"); console.log ('Porte fermée'); ; if (valeur == 1) blynk.notify ("La porte vient d'ouvrir!"); blynk.email ("[email protected]", "Porte d'entrée", "La porte d'entrée vient d'ouvrir."); blynk.virtualWrite (virtualPin, "Open"); console.log ('Porte ouverte'); ; );
Désormais, chaque fois que le commutateur à lames enregistre un changement de valeur, les données sont envoyées à notre NIP virtuelle et, dans le cas de l'ouverture de la porte au widget de notification dans l'application, ainsi qu'à l'écriture sur la console. Notez que les accolades finales sont d’où nous avons commencé la regarder fonction ci-dessus.
Enfin, nous devons réinitialiser la broche à la fin du programme. C'est la même chose que le GPIO.cleanup () vous connaissez probablement déjà.
process.on ('SIGINT', function () led.unexport (); reed.unexport (););
Maintenant, sauvegardez votre code et quittez. Exécutez votre script en utilisant noeud.
sudo node blynkdoor.js
Maintenant, lorsque vous éloignez l'aimant du capteur à lames, vous devriez recevoir une notification vous indiquant la porte ouverte et l'affichage étiqueté devrait changer. Fermez l'interrupteur à nouveau 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 pour recevoir les notifications push, bien que les e-mails fonctionnent que l'application soit en cours d'exécution ou non..
Dans le peu de temps passé jusqu'à présent avec Blynk, il semble que le service soit très facile à utiliser. Le plus simple est de permettre aux personnes sans connaissances en codage de construire facilement des systèmes de domotique de bricolage. Avec un peu plus de connaissances en matière de codage, il devient encore plus puissant, permettant des systèmes beaucoup plus complexes et plusieurs déclencheurs d'événements à partir d'appuis d'un seul bouton dans l'application..
Ce projet était une introduction de base à Blynk, bien que ce que nous avons couvert ici puisse être facilement modifié pour presque tout projet de domotique ou de microcontrôleur..
Avez-vous utilisé Blynk? Avez-vous un système complexe fou utilisant le service que vous souhaitez partager avec nous? Faites-nous savoir dans les commentaires ci-dessous!
Crédit d'image: Giuseppe Caccavale via YouTube.com
En savoir plus sur: Arduino, Electronique, Domotique, Internet des objets, Raspberry Pi.