Commencer les expériences BLE et améliorer tout | shoppingmaroc.net


Connecter des objets sans fils physiques a un effet profond sur le cerveau du fabricant. Les machines qui se parlent sans câbles sont aussi étonnantes qu’il ya dix ans. Lorsque Bluetooth est sorti, c'était une percée puisqu'il offrait un moyen sans fil de connecter des téléphones portables à un PC. Mais la technologie Bluetooth est un système complexe et à haut débit, et cela n’a pas de sens pour les appareils alimentés par batterie qui ont des exigences de débit moins exigeantes pour payer le prix de l’énergie. Entrez Bluetooth LE (BLE), avec des besoins en énergie assez modestes pour permettre une multitude d'applications, y compris des nœuds de capteurs et des balises basse consommation.

Au fil des ans, un certain nombre de gadgets avec BLE sont apparus, tels que LightBlue Bean et Beacon. ainsi que des quadcoptères comme le FlexBot qui s'appuient sur BLE pour la communication. Les applications Android ou iOS sont la méthode prédominante pour communiquer avec ces merveilleux gadgets, bien qu'il existe des alternatives.

Ceci est le premier d'une série en deux parties sur la construction avec des appareils BLE. Tout d'abord, je vais examiner certains périphériques BLE et comment démarrer avec BLE à partir de la ligne de commande Linux. Plus tard, nous allons décrire le processus de création d'une application multi-plateforme NodeJS qui exploitera les capacités BLE et la connectera à Internet.
Commençons.

Matériel BLE disponible

des fabricants de matériel qui ont sauté sur le wagon BLE en présentant des offres aux fabricants – la première carte est gratuite. Certains conseils scolaires ont eu plus de succès que d’autres, mais certains n’ont pas résisté à l’épreuve du temps. Voici un bref résumé des bibelots où l'argent a été dépensé.

LightBlue Bean

Le design du LightBlue Bean de PunchThrough doit être l'un des plus populaires du BLE. Il est livré avec un capteur de température ainsi qu’un accéléromètre et une LED RVB pour démarrer. Pour faciliter la programmation, il était pris en charge par l'IDE Arduino et pour le programmer, et vous pouviez utiliser le chargeur de bean pour télécharger votre esquisse sans fil.

La production a été interrompue depuis mais si vous voulez créer le vôtre

TI LED Lights et Tag Tag

Vendus comme modèle de référence, les voyants TI Bluetooth Low Energy Light et TI BLE sont d'excellents points de départ pour les utilisateurs. qui commencent Le voyant BLE est alimenté par le port USB et le capteur BLE vous propose toutes sortes de capteurs pour vous aider à intégrer le BLE.

Flexbot

Je ne suis même pas sûr que celui-ci soit disponible ou non sur le marché mais c'est un bon exemple d'application BLE en temps réel. C'est un quadcopter qui parle à un téléphone via BLE. La puce est le CC2650 et le contrôleur principal est un Atmega32U4.

IMUDuino

Initialement lancé dans un projet Kickstarter, [Alex Albino] a fait un excellent travail en créant un appareil BLE utilisable avec des capteurs IMU et un baromètre. démarrage. Le logiciel qui l'accompagne est le point culminant du projet et vous pouvez faire beaucoup.

BBC Micro: bit

Le BBC Micro: Bit est un appareil très performant qui prend en charge MicroPython et douzaine d'autres langues. L'appareil ARM Powered a été développé par de nombreux grands noms et mérite le coup d'oeil aussi bien des débutants que des fabricants plus avancés.

Intel Edison et Arduino 101

Les processeurs Intel Edison et Arduino 101 / Intel Curie étaient une partie de l'expérience d'Intel avec le marché des fabricants et les deux ont été supprimés. Ils ont soutenu BLE et étaient censés se lancer dans le marché du portable, mais cela n'a pas vraiment fonctionné. Des planches géniales cependant.

Raspberry Pi 3 B / B +

Sauver le meilleur pour la fin – le Raspberry Pi 3 B / B + supporte BLE et c'est incroyable. Le même logiciel (ish) que celui que vous écrivez pour les projets de bureau / ordinateur portable fonctionnera sans (trop) problème sur l'ordinateur à carte unique. Et c'est là que je me dirige dans cet article. Étant donné que le RPi 3 prend en charge le protocole BLE, qu'est-ce qui empêche la communauté des fabricants de créer un ensemble de périphériques IoT et de nœuds de capteurs avec cette technologie extraordinaire? Pas beaucoup.

C'est la prémisse de cet article. Regardons les options.

La communication BLE dans le langage le plus simple possible

BLE ou Bluetooth Low Energy fonctionne très différemment des périphériques d'émulation série conventionnels. Chaque périphérique BLE peut être considéré comme un serveur prêt à accepter des connexions. Il se présente régulièrement sur les ondes. Un client se connecte à l'appareil et peut demander une liste de «services» fournis par l'appareil. Les services ont en outre des caractéristiques – par exemple, certains services ne peuvent être lus qu'à partir d’autres, alors que d’autres ne peuvent être qu’en écriture. Certains peuvent faire les deux. Le client peut alors demander une opération de lecture ou d'écriture à un service selon les besoins.

Adafruit dispose d'un guide pour débutants, bien que vous n'ayez pas besoin de toutes les informations pour démarrer. La chose importante à noter ici est qu'un périphérique peut avoir plus d'un service et que chaque service peut avoir plus d'une caractéristique.

Test des périphériques BLE – LightBlue App sur Android et iOS

Alors, comment puis-je savoir que mon BLE l'appareil fonctionne pour commencer? Nous pouvons utiliser le smartphone pour répondre à cette question avec une relative facilité. Dans mon cas, j'ai un iPhone avec l'application Light Blue installée. L'appareil BLE testé est le TI BLE Light et il apparaît dans l'application sous le nom de beLight 0.2. Pour s'y connecter, il suffit de cliquer sur l'icône et une liste des services proposés apparaît. Dans la capture d'écran, le service UUID FFB0 est utilisé pour le contrôle des LED et le service lui-même a quatre caractéristiques.

Chaque caractéristique est comme un emplacement mémoire dans lequel nous pouvons écrire et expérimenter quatre octets dans le RGBW. caractéristique qui sera ensuite à son tour utilisé pour contrôler la luminosité des quatre LED.

Cela a été assez facile puisque le matériel fonctionne et l'application iOS fonctionne également. Il y a juste un problème. Que faire si je veux pouvoir utiliser un sélecteur de couleur pour contrôler la couleur de la lumière comme une ampoule Hue? Que faire si je veux parler à plusieurs de ces lumières LED? Que faire si je veux pouvoir les connecter à Internet?

Et si je ne voulais pas apprendre Java (Android) ou swift / C ++ pour iOS?

Alternatives aux applications téléphoniques – Outils de ligne de commande

Si vous avez une machine Linux, l'option la plus simple serait d'utiliser deux outils de ligne de commande. Voici la recette que j'utilise sur OpenSUSE, même si cela devrait fonctionner sur n'importe quel ordinateur portable ou ordinateur Linux avec une interface BLE.

Deux outils sont nécessaires. Le premier est le hcitool qui vous permet de dialoguer avec l'interface du contrôleur hôte. Il est pré-installé dans la plupart des distributions modernes, mais vous pouvez l'installer manuellement. (J'ai trouvé cette page très utile). Le second outil est gatttool qui peut également être pré-installé ou peut être installé manuellement.

L'étape 1 consiste à voir si l'adaptateur BLE de votre machine Linux peut être reconnu par hcitool .

 hcitool dev
Dispositifs:
hci0 xx: xx: xx: xx: xx: xx 

Si rien ne s’affiche, vous pouvez vérifier si l’adaptateur BLE intégré est activé ou si vous possédez un ancien ordinateur portable ou Raspberry Pi, obtenez un dongle USB BLE.

L'étape 2 consiste à rechercher des périphériques BLE, ce qui devrait générer une liste de périphériques BLE à proximité.

 sudo hcitool lescan 

L'étape 3 consiste à essayer de se connecter à l'appareil. C'est là que le plaisir commence vraiment. Il y a deux options où la première consiste à utiliser le mode interactif.

 sudo gatttool -b xx: ma: c_: ad: re: ss -I 

Cela affichera une invite et vous pourrez établir une connexion simplement en tapant connect . Pour obtenir une liste des services sur l'appareil, tapez primary et appuyez sur Entrée. Quelques services devraient apparaître en fonction de l'appareil. Pour obtenir une liste des caractéristiques, tapez char-desc pour obtenir une liste de toutes les caractéristiques du périphérique avec leurs poignées. Ceci est important car nous avons besoin de la poignée correspondant à la caractéristique appropriée.

La dernière étape de notre expérience consiste à lire ou écrire dans la caractéristique appropriée. Ceci est accompli en utilisant
données de descripteur char-write-req .
Voici des captures d'écran de l'exercice à partir de mon ordinateur portable OpenSUSE. J'ai trouvé cette page très informative sur le sujet.

Pour lire les données, lancez la commande handle de lecture de caractères .

gatttool peut également être exécuté en mode interactif et peut être utilisé pour lire ou écrire directement sur un périphérique:
sudo gatttool -b xx: ma: c: ad: re: ss --char-write-req -a handle -n valeur . Ceci est très utile si vous voulez écrire un ensemble de commandes comme bash ou même Python. Regardons un exemple rapide. Si vous n'avez pas installé pexpect vous en aurez besoin.

 import pexpect
temps d'importation

LIGHT01 = "20: C3: 8F: 8D: 8C: 9E"
VALEUR = ["00000000", "FF000000", "00FF0000", "0000FF00", "000000FF", "00000000"];

child = pexpect.spawn ("gatttool -I")

child.sendline ("connect {0}". format (LIGHT01))
child.expect ("Connexion réussie", timeout = 5)
imprimer ("Connecté à la lumière!")
alors que vrai:
    pour i en portée (6):
        child.sendline ("char-write-req 0x0031 {0}". format (VALUE [i]))
        print ("Value:", VALUE [i])
        child.expect ("La valeur de la caractéristique a été écrite avec succès", timeout = 5)
        time.sleep (1);

child.sendline ("disconnect")

child.close ()

print ("Light Turned OFF") 

Ce petit morceau de code appelle gatttool via Python. Ici, je passe en revue les voyants RGBW, mais cela peut être étendu à votre guise.

Conclusion

Nous avons vu à quel point il était facile de contrôler une LED BLE et que cela pouvait être étendu de plusieurs manières. . Vous pouvez par exemple l'utiliser comme point de départ d'un projet portable. Nous pouvons également le connecter à Internet et nous le prendrons dans le prochain épisode. Pour le moment, j'aimerais beaucoup entendre parler de vos aventures BLE. Bonne expérience.


raspberry pi 3 maroc
Acheter raspberry pi 3 ICI

Source

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *