Publicité
Blynk [Broken URL Removed] est un service Internet des objets (IoT) conçu pour rendre le contrôle à distance et la lecture des données des capteurs de vos appareils aussi rapides et faciles que possible. Dans cet article, nous couvrirons exactement ce qu'est Blynk, comment il fonctionne et fournirons deux courts 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é au cours des dernières années. Les cartes de développement comme Arduino ou Raspberry Pi peuvent être utilisées pour tout contrôler depuis le prises de courant Comment contrôler les prises d'alimentation RF bon marché à partir d'OpenHABVous avez des prises de courant RF bon marché, mais vous avez découvert qu'aucun concentrateur de maison intelligente ne fonctionne avec celles-ci? Vous pouvez les relier à votre système de maison intelligente bricolage avec seulement environ 10 $ en pièces. Lire la suite dans votre maison à activé par le mouvement décorations de Noël Améliorez votre couronne de Noël avec une matrice LED activée par le mouvementCette couronne de Noël de bricolage utilise une matrice Arduino et LED pour produire un affichage lumineux étonnant qui impressionnera vos amis et votre famille. Lire la suite .
Un domaine qui peut poser problème aux 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 pour un frais - les entreprises peuvent utiliser Blynk pour créer leurs propres applications et systèmes, puis les vendre avec leurs propres l'image de marque.
Blynk utilise ses propres serveur et 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: lorsque vous démarrez un nouveau projet, vous êtes invité à choisir votre carte de développement dans 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, notamment des boutons, des curseurs, un joystick, des graphiques et un retour de texte. 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 direct. Les widgets qui ajoutent des fonctionnalités, comme la publication automatique sur Twitter et les notifications personnalisées, sont également remarquables.
Bien que l'application soit gratuite, elle limite le nombre de widgets que vous pouvez utiliser à la fois en leur donnant à tous un coût «Énergie». L'application vous donne un solde de 2000 pour jouer, 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 répertoriés ici, mais si votre configuration est plus compliquée, vous pourriez vous retrouver à court de jus rapidement.
Chaque widget possède un menu d'édition vous permettant de changer le nom et la couleur. Vous choisissez ensuite la broche à affecter (que ce soit une broche sur votre carte ou l'une des broches virtuelles de Blynk) ainsi que 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 économiser une précieuse bande passante.
Blynk offre également la possibilité d'attribuer des instructions aux 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 loin 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 disposant également de l'application Blynk. Celui avec qui vous partagez ne peut pas modifier le projet, ce qui en fait un moyen rapide et pratique de partager le contrôle de vos appareils. Il convient toutefois de noter 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'enseigner aux gens 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 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 à utiliser. La connexion à un appareil Wi-Fi est aussi simple que de copier votre code d'autorisation généré dans votre croquis 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 loin dans cet article, nous créerons notre propre script à l'aide de la bibliothèque Blynk pour nous connecter au service.
La deuxième option consiste à hébergez le vôtre Serveur Blynk. Blynk fournit un serveur Java open source basé sur Netty qui peut être exécuté à partir de votre ordinateur, ou même d'un Raspberry Pi. Cela présente divers avantages pour certains utilisateurs en termes de fonctionnalité et de sécurité, mais pour nos exemples, nous nous concentrerons sur l'utilisation du serveur cloud Blynk à condition de.
La bibliothèque Blynk
Le troisième et dernier élément de Blynk est le 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.
Au 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 e-mail à laquelle vous pouvez réellement accéder car c'est là que vos jetons d'autorisation seront envoyés. Créez maintenant un projet, en sélectionnant la carte 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 (la petite noix), 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 Arduino> bibliothèques dossier. Si vous êtes nouveau sur Arduino, voici un guide pour vous aider à démarrer Débuter avec Arduino: Guide du débutantArduino est une plate-forme de prototypage électronique open source basée sur du matériel et des logiciels flexibles et faciles à utiliser. 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 d'abord vous assurer que Node.js est installé. Il y a un guide pour installer Node.js dans Cet article Comment faire une lumière Wi-Fi contrôlée par Siri DIYDans ce guide, vous allez apprendre à créer une lumière contrôlable Wi-Fi et à la contrôler 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é.
mise à jour sudo apt-get. mise à jour sudo apt-get. sudo apt-get install build-essential.
Installez ensuite le Gestionnaire de packages de nœuds, le Allumé éteint bibliothèque et Blynk bibliothèque en tapant ceci dans votre fenêtre 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]
À condition que tout fonctionne, cela devrait ressembler à ceci:
Si vous obtenez 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 rapide de configurer des systèmes simples à l'aide de 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ù à l'aide de votre smartphone.
Pour commencer, installez un circuit simple sur une planche à pain. Broche de connexion D0 à la jambe positive d'une LED, et de retour à la broche GND à travers une résistance de 220 Ohms.
Ouvrez votre projet NodeMCU dans l'application Blynk. Sur le côté droit, sélectionnez le Bouton widget du 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 de votre carte NodeMCU à affecter. Sélectionner broche D0 de la liste de sortie, et le mode de commutation pour en faire un interrupteur marche / arrêt, plutôt qu'un interrupteur poussoir momentané.
Appuyez sur (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 aider Rencontrez le tueur Arduino: ESP8266Et 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 en a. Lire la suite ).
Ouvrez maintenant le script autonome ESP8266 fourni par Blynk dans leur 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 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 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 ceux-ci, Blynk est incroyablement rapide à configurer.
Il convient également de noter qu'étant donné qu'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 de données mobiles accès.
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 test Blynk script, mais il y a des fonctionnalités plus profondes que les broches virtuelles de Blynk fournissent, que nous examinerons maintenant.
Blynk fonctionne en utilisant Node.js, donc le code que nous allons écrire aujourd'hui sera en Javascript. Si vous êtes nouveau dans la langue, cela devrait être une excellente introduction pour commencer Commencez à coder JavaScript dès maintenant avec ces 5 excellentes ressources gratuites Lire la suite .
Nous utiliserons 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 portable 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 raccordement
Configurez votre maquette 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 platine d'essai. Connectez la broche GPIO 22 du Raspberry Pi à l'anode LED et connectez la cathode au rail de mise à la terre via le 220? résistance. Connectez la broche 17 du GPIO à 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 interrupteur reed au 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 rappel entraînera une tension élevée 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 broche virtuelle V0 comme c'est la 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 / épingle / dans l'onglet Étiquette. Nous pouvons laisser la valeur de la fréquence de lecture à sa valeur par défaut, mais vous pouvez la modifier pour envoyer des données à votre application à un taux différent.
Il convient de noter que vous n'avez pas réellement à entrer une adresse e-mail dans le widget e-mail, car nous l'ajouterons dans le code plus tard, bien que le widget doit être présent pour qu'il fonctionne.
Une fois que vous êtes satisfait de l'apparence de votre application, appuyez sur le bouton Lecture dans le coin supérieur droit.
Créez maintenant 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 à lames et notre LED. Nous allons également créer une variable pour la broche virtuelle que nous avons configurée sur l'application Blynk.
var Gpio = require ('onoff'). Gpio, reed = new Gpio (17, 'in', 'both'), // enregistre les modifications 'both' lorsque le commutateur est ouvert et fermé. led = nouveau Gpio (22, 'out'); var virtualPin = 0;
Maintenant, nous allons utiliser le regarder fonction de la bibliothèque OnOff pour surveiller les changements dans 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 LED.
reed.watch (fonction (err, valeur) {led.writeSync (valeur);
Nous pouvons utiliser la 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 voulons recevoir une notification et un e-mail nous en informant. Nous le faisons avec une instruction if, et en utilisant virtualWrite, notifier, et email fonctions de la bibliothèque Blynk. La documentation complète pour Blynk peut être trouvée ici.
if (valeur == 0) {blynk.virtualWrite (virtualPin, "Closed"); console.log ('Porte fermée'); }; if (valeur == 1) {blynk.notify ("La porte vient de s'ouvrir!"); blynk.email ("[email protected]", "Porte d'entrée", "La porte d'entrée vient de s'ouvrir."); 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 le cas de l'ouverture de la porte sur le 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 regarder fonction ci-dessus.
Enfin, nous devons réinitialiser la broche à la fin du programme. C'est le même que le GPIO.cleanup () vous connaissez probablement déjà.
process.on ('SIGINT', function () {led.unexport (); reed.unexport (); });
Maintenant, enregistrez votre code et quittez. Exécutez votre script à l'aide de node.
noeud sudo blynkdoor.js.
Maintenant, lorsque vous éloignez l'aimant du capteur à lames, vous devriez recevoir une notification vous indiquant que la porte est ouverte, et votre affichage étiqueté devrait changer. Fermez à nouveau l'interrupteur et vous verrez que l'affichage étiqueté change à nouveau.
Il convient de noter que l'application Blynk doit être exécutée 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, cela semble être un service très facile à utiliser. Au plus simple, il permet aux personnes sans connaissances en codage de créer facilement des systèmes domotiques de bricolage. Avec un peu de connaissances supplémentaires en codage, il devient encore plus puissant, permettant des systèmes beaucoup plus complexes et des déclencheurs d'événements multiples à partir de pressions sur 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 tous les projets 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-le nous savoir dans les commentaires ci-dessous!
Crédit d'image: Giuseppe Caccavale via YouTube.com
Ian Buckley est un journaliste indépendant, musicien, interprète et producteur vidéo vivant à Berlin, en Allemagne. Lorsqu'il n'écrit pas ou sur scène, il bricole de l'électronique ou du code DIY dans l'espoir de devenir un savant fou.