Table des Matières

Publicité

Liens rapides

Yocto-Color, Mode d'emploi

Publicité

Table des Matières
loading

Sommaire des Matières pour Yoctopuce Yocto-Color

  • Page 1 Yocto-Color, Mode d'emploi...
  • Page 3: Table Des Matières

    5.5. Les espaces de couleurs: RGB et HSL ................5.6. Quelle interface: Native, DLL ou Service? ................5.7. Programmation, par où commencer? ................. 6. Utilisation du Yocto-Color en ligne de commande .......... 6.1. Installation ........................... 6.2. Utilisation: description générale ..................
  • Page 4 7.1. Fonctions bloquantes et fonctions asynchrones en JavaScript .......... 7.2. Utiliser la librairie Yoctopuce pour JavaScript / EcmaScript 2017 ........7.3. Contrôle de la fonction ColorLed ..................7.4. Contrôle de la partie module ....................7.5. Gestion des erreurs ......................8. Utilisation du Yocto-Color en PHP ................
  • Page 5 15.3. Contrôle de la partie module ..................... 15.4. Gestion des erreurs ......................16. Utilisation du Yocto-Color avec Android ............16.1. Accès Natif et Virtual Hub....................16.2. Préparation ........................16.3. Compatibilité ........................16.4. Activer le port USB sous Android ..................
  • Page 7: Introduction

    Les ingénieurs Yoctopuce se sont donnés beaucoup de mal pour que votre Yocto-Color soit facile à installer n'importe où et soit facile à piloter depuis un maximum de langages de programmation. Néanmoins, si ce module venait à vous décevoir n'hésitez pas à...
  • Page 8: Prérequis

    Les versions de Android actuellement supportées sont 3.1 et suivantes. De plus, il est nécessaire que la tablette ou le téléphone supporte le mode USB Host. Yoctopuce teste régulièrement le bon fonctionnement des modules avec Android 4.x sur un Nexus 7 et un Samsung Galaxy S3 avec la librairie Java pour Android.
  • Page 9: Accessoires Optionnels

    Yoctopuce. Vous devez raccorder votre module Yocto-Color à l'aide d'un cable USB de type A - micro B Si vous branchez un hub USB entre l'ordinateur et le module Yocto-Color, prenez garde à ne pas dépasser les limites de courant imposées par USB, sous peine de faire face des comportements...
  • Page 10 étamé mono-brin: c'est le plus facile à souder. Dans tous les cas, il vous faudra 4 fils espacés de 1.27mm. Ce même câble peut aussi être utilisé pour souder un fil directement entre le module Yocto-Color et un micro-hub USB pour éviter l'encombrement d'un cable USB.
  • Page 11: Présentation

    Tous les Yocto-modules ont un certain nombre de fonctionnalités en commun. Le connecteur USB Les modules de Yoctopuce sont tous équipés d'une connectique au format micro-USB. Les câbles correspondants ne sont pas forcément les plus faciles à trouver, mais ces connecteurs ont l'avantage d'occuper un minimum de place.
  • Page 12: Le Numéro De Série

    La consommation de courant du module est consultable par logiciel uniquement. Le numéro de série Chaque Yocto-module a un numéro de série unique attribué en usine, pour les modules Yocto-Color ce numéro commence par YRGBLED1. Le module peut être piloté par logiciel en utilisant ce numéro de série.
  • Page 13: Premiers Pas

    3. Premiers pas Arrivé à ce chapitre votre Yocto-Color devrait être branché à votre ordinateur, qui devrait l'avoir reconnu. Il est temps de le faire fonctionner. Rendez-vous sur le site de Yoctopuce et téléchargez le programme Virtual Hub , Il est disponible pour Windows, Linux et Mac OS X.
  • Page 14: Configuration

    Le firmware du module peut être facilement mis à jour à l'aide de l'interface. Pour ce faire, vous devez au préalable disposer du firmware adéquat sur votre disque local. Les firmwares destinés aux modules Yoctopuce se présentent sous la forme de fichiers .byn et peuvent être téléchargés depuis le site web de Yoctopuce.
  • Page 15: Luminosité

    être librement choisi par l'utilisateur. Utiliser des noms logiques pour les fonctions permet une plus grande flexibilité au niveau de la programmation des modules La seule fonction fournie par le module Yocto-Color est la fonction ColorLed, dont il existe deux instances: colorLed1 et colorLed2.
  • Page 16 www.yoctopuce.com...
  • Page 17: Montage Et Connectique

    4. Montage et connectique Ce chapitre fournit des explications importantes pour utiliser votre module Yocto-Color en situation réelle. Prenez soin de le lire avant d'aller trop loin dans votre projet si vous voulez éviter les mauvaises surprises. 4.1. Fixation Pendant la mise au point de votre projet vous pouvez vous contenter de laisser le module se promener au bout de son câble.
  • Page 18: Déporter Les Leds

    Exemples de montage sur un support. Le module Yocto-Color dispose de trous de montage 2.5mm. Vous pouvez utiliser ces trous pour y passer des vis. Le diamètre de la tête de ces vis ne devra pas dépasser 4.5mm, sous peine d'endommager les circuits du module.
  • Page 19 Bien que pratique la soudure directe des câbles rend le résultat difficile à démonter. C'est pourquoi le module Yocto-Color a été conçu pour utiliser des connecteurs Picoflex de Molex . Ce système est largement disponible, relativement bon marché, et permet de fabriquer des solutions...
  • Page 20: Contraintes D'alimentation Par Usb

    4. Montage et connectique Si vous raccordez un sous module de votre Yocto-Color à un autre type de module, par exemple un Yocto-Temperature, cela ne marchera pas, et vous risquez fort d'endommager votre matériel. 4.3. Contraintes d'alimentation par USB Bien que USB signifie Universal Serial BUS, les périphériques USB ne sont pas organisés physiquement en bus mais en arbre, avec des connections point-à-point.
  • Page 21: Programmation, Concepts Généraux

    5.1. Paradigme de programmation L'API Yoctopuce est une API orientée objet. Mais dans un souci de simplicité, seules les bases de la programmation objet ont été utilisées. Même si la programmation objet ne vous est pas familière, il est peu probable que cela vous soit un obstacle à...
  • Page 22: Programmation

    Programmation Dans l'API Yoctopuce, la priorité a été mise sur la facilité d'accès aux fonctionnalités des modules en offrant la possibilité de faire abstraction des modules qui les implémentent. Ainsi, il est parfaitement possible de travailler avec un ensemble de fonctionnalités sans jamais savoir exactement quel module les héberge au niveau matériel.
  • Page 23: Le Module Yocto-Color

    Texte modifiable command 5.3. Interface de contrôle du module Cette interface est la même pour tous les modules USB de Yoctopuce. Elle permet de contrôler les paramètres généraux du module, et d'énumérer les fonctions fournies par chaque module. www.yoctopuce.com...
  • Page 24 Chaine de caractères contenant le numéro de série, unique et préprogrammé en usine. Pour un module Yocto-Color, ce numéro de série commence toujours par YRGBLED1. Il peut servir comme point de départ pour accéder par programmation à un module particulier.
  • Page 25: Interface De La Fonction Colorled

    5. Programmation, concepts généraux 5.4. Interface de la fonction ColorLed La librairie de programmation Yoctopuce permet de piloter une LED couleur aussi bien en coordonnées RGB qu'en coordonnées HSL, les conversions RGB vers HSL étant faites automatiquement par le module. Ceci permet aisément d'allumer la LED avec une certaine teinte et d'en faire progressivement varier la saturation ou la luminosité.
  • Page 26: Les Espaces De Couleurs: Rgb Et Hsl

    L'hexadécimal consiste à compter en base 16 au lieu de base 10: on utilise les signes 0..9, A..F. On utilise parfois le préfixe 0x pour signaler l'utilisation de l'hexadécimal: ainsi 10 en base 10 s'écrit 0xA en hexadécimal, 15 d'écrit 0xF, 16 s'écrit 0x10, 17 s'écrit 0x11 et ainsi de suite www.yoctopuce.com...
  • Page 27: Quelle Interface: Native, Dll Ou Service

    5.6. Quelle interface: Native, DLL ou Service? Il y existe plusieurs méthodes pour contrôler un module USB Yoctopuce depuis un programme. Contrôle natif Dans ce cas de figure le programme pilotant votre projet est directement compilé avec une librairie qui offre le contrôle des modules.
  • Page 28: Contrôle Par Un Service

    Certain langages ne permettent tout simplement pas d'accéder facilement au niveau matériel de la machine. C'est le cas de Javascript par exemple. Pour gérer ce cas Yoctopuce offre la solution sous la forme d'un petit service, appelé VirtualHub qui lui est capable d'accéder aux modules, et votre application n'a plus qu'à...
  • Page 29: Limitation Des Librairies Yoctopuce

    Arrivé à ce point du manuel, vous devriez connaître l'essentiel de la théorie à propos de votre Yocto- Color. Il est temps de passer à la pratique. Il vous faut télécharger la librairie Yoctopuce pour votre language de programmation favori depuis le site web de Yoctopuce .
  • Page 30 5. Programmation, concepts généraux Une fois que vous maîtriserez la programmation de base de votre module, vous pourrez vous intéresser au chapitre concernant la programmation avancée qui décrit certaines techniques qui vous permettront d'exploiter au mieux votre Yocto-Color. www.yoctopuce.com...
  • Page 31: Utilisation Du Yocto-Color En Ligne De Commande

    à votre plateforme/OS dans le répertoire de votre choix. Ajoutez éventuellement ce répertoire à votre variable environnement PATH pour avoir accès aux exécutables depuis n'importe où. C'est tout, il ne vous reste plus qu'à brancher votre Yocto-Color, ouvrir un shell et commencer à travailler en tapant par exemple: C:\>YColorLed...
  • Page 32: Contrôle De La Fonction Colorled

    C:\>executable commande /help Pour obtenir une description détaillée des paramètres d'une commande. 6.3. Contrôle de la fonction ColorLed Pour contrôler la fonction ColorLed de votre Yocto-Color, vous avez besoin de l'exécutable YColorLed. Vous pouvez par exemple lancer: C:\>YColorLed set_rgbColor #0000FF Cet exemple utilise la cible "any"...
  • Page 33: Contrôle De La Partie Module

    6. Utilisation du Yocto-Color en ligne de commande 6.4. Contrôle de la partie module Chaque module peut être contrôlé d'une manière similaire à l'aide de l'exécutable . Par YModule exemple, pour obtenir la liste de tous les modules connectés, utilisez: C:\>YModule inventory...
  • Page 34 6. Utilisation du Yocto-Color en ligne de commande Vous obtenez un inventaire des modules connectés par USB, en utilisant un accès natif. Si il y a déjà une autre commande en cours qui accède aux modules en natif, cela ne fonctionnera pas. Mais si vous lancez un virtual hub et que vous lancez votre commande sous la forme: C:\>YModule -r 127.0.0.1 inventory...
  • Page 35: Utilisation Du Yocto-Color En Javascript / Ecmascript

    JavaScript / EcmaScript 2017, afin de la différentier de la précédente Librairie pour JavaScript qu'elle remplace. Cette librairie permet d'accéder aux modules Yoctopuce depuis tous les environnements JavaScript modernes. Elle fonctionne aussi bien depuis un navigateur internet que dans un environnement Node.js.
  • Page 36: Fonctions Bloquantes Et Fonctions Asynchrones En Javascript

    7. Utilisation du Yocto-Color en JavaScript / EcmaScript 7.1. Fonctions bloquantes et fonctions asynchrones en JavaScript JavaScript a été conçu pour éviter toute situation de concurrence durant l'exécution. Il n'y a jamais qu'un seul thread en JavaScript. Cela signifie que si un programme effectue une attente active durant une communication réseau, par exemple pour lire un capteur, le programme entier se trouve...
  • Page 37: Utiliser La Librairie Yoctopuce Pour Javascript / Ecmascript 2017

    JavaScript fait partie de ces langages qui ne vous permettront pas d'accéder directement aux couches matérielles de votre ordinateur. C'est pourquoi si vous désirez travailler avec des modules USB branchés par USB, vous devrez faire tourner la passerelle de Yoctopuce appelée VirtualHub sur la machine à laquelle sont branchés les modules.
  • Page 38: Compatibilité Avec L'ancienne Librairie Javascript

    7. Utilisation du Yocto-Color en JavaScript / EcmaScript npm instal -g babel-cli npm instal babel-preset-env Normalement vous demanderez à Babel de poser les fichiers transpilés dans un autre répertoire, nommé par exemple. Pour ce faire, utilisez par exemple les commandes suivantes: comopat babel --presets env demo.js --out-dir compat/...
  • Page 39: Contrôle De La Fonction Colorled

    Ce dernier appel asynchrone peut aussi être formulé comme: myModule.get_syncProxy().then(logInfoProxy); 7.3. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code JavaScript qui utilise la fonction ColorLed. import {...
  • Page 40: Un Exemple Concret

    à en faire un petit programme d'exemple concret. Si le Yocto-Color n'est pas branché sur la machine où fonctionne le navigateur internet, remplacez dans l'exemple l'adresse par l'adresse IP de la machine où est branché le Yocto-Color 127.0.0.1...
  • Page 41: Le Même Exemple, Mais Dans Un Navigateur

    Le même exemple, mais dans un navigateur Si vous voulez voir comment utiliser la librairie dans un navigateur, changez de répertoire et allez dans example_html/Doc-GettingStarted-Yocto-Color. Vous y trouverez aussi dans le sous- répertoire src un code très similaire (ci-dessous), avec quelques variantes par rapport au précédent, pour permettre une interaction à...
  • Page 42 7. Utilisation du Yocto-Color en JavaScript / EcmaScript refresh(); async function refresh() serial = document.getElementById('serial').value; if(serial == '') { // by default use any connected module suitable for the demo anyLed = YColorLed.FirstColorLed(); if(anyLed) { module = await anyLed.module(); serial = await module.get_serialNumber();...
  • Page 43: Ecmascript/Example_Html/Doc-Gettingstarted-Yocto-Color/Demo.html Vous Devrez

    7. Utilisation du Yocto-Color en JavaScript / EcmaScript Il ne vous reste plus qu'à publier ce répertoire sur un serveur Web pour pouvoir tester l'exemple à travers un navigateur. Pour que le loader retrouve ses fichiers, vous devrez simplement indiquer dans le paramètre baseURL du fichier jspm.browser.js le chemin qui permet d'atteindre le projet,...
  • Page 44 7. Utilisation du Yocto-Color en JavaScript / EcmaScript if(process.argv.length < 3) { console.log("usage: jspm run src/demo.js <serial or logicalname> [ ON | OFF ]"); } else { startDemo(process.argv.slice(process.argv.length - 3)); Chaque propriété du module peut être lue grâce à une méthode du type...
  • Page 45: Énumération Des Modules

    La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais votre code doit néanmoins être fait pour se comporter au mieux pour interpréter les erreurs signalées par la librairie.
  • Page 46 7. Utilisation du Yocto-Color en JavaScript / EcmaScript Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: • Si votre code attrape l'exception au vol et la gère, et tout se passe bien.
  • Page 47: Utilisation Du Yocto-Color En Php

    Vous n'avez pas besoin d'installer de driver. 8.2. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code PHP qui utilise la fonction ColorLed. include('yocto_api.php');...
  • Page 48 LED RGB, comme le Yocto-Color. yRegisterHub La fonction permet d'indiquer sur quelle machine se trouve les modules yRegisterHub Yoctopuce, ou plus exactemenent sur quelle machine tourne le programme VirtualHub. Dans notre cas l'adresse indique la machine locale, en utilisant le port (le port 127.0.0.1:4444 4444 standard utilisé...
  • Page 49: Un Exemple Réel

    8. Utilisation du Yocto-Color en PHP Un exemple réel Ouvrez votre éditeur de texte préféré , recopiez le code ci dessous, sauvez-le dans un répertoire accessible par votre serveur web/PHP avec les fichiers de la librairie, et ouvrez-la page avec votre browser favori.
  • Page 50: Contrôle De La Partie Module

    8. Utilisation du Yocto-Color en PHP 8.3. Contrôle de la partie module Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la balise de localisation.
  • Page 51 8. Utilisation du Yocto-Color en PHP Modifications des réglages du module Lorsque que vous souhaitez modifier les réglages d'un module, il suffit d'appeler la fonction correspondante, cependant cette modification n'a lieu que dans la mémoire vive du set_xxx() module: si le module redémarre, les modifications seront perdues. Pour qu'elle soient mémorisées de manière persistante, il est nécessaire de demander au module de sauvegarder sa configuration...
  • Page 52: Api Par Callback Http Et Filtres Nat

    La librairie PHP est capable de fonctionner dans un mode spécial appelé Yocto-API par callback HTTP. Ce mode permet de contrôler des modules Yoctopuce installés derrière un filtre NAT tel qu'un routeur DSL par exemple, et ce sans avoir à un ouvrir un port. L'application typique est le contrôle de modules Yoctopuce situés sur réseau privé...
  • Page 53 8. Utilisation du Yocto-Color en PHP seule adresse IP officielle, attribuée au routeur DSL exclusivement. Les différents appareils réseau ne sont pas directement atteignables depuis l'extérieur. C'est assez contraignant, mais c'est une protection relativement efficace contre les intrusions. Les réponses aux requêtes venant des machines du LAN sont routées.
  • Page 54 8. Utilisation du Yocto-Color en PHP Configuration L'API callback se sert donc du Virtual Hub comme passerelle. Toutes les communications sont initiées par le Virtual Hub, ce sont donc des communication sortantes, et par conséquent parfaitement autorisée par le routeur DSL.
  • Page 55: Utilisation

    VirtualHub pour fonctionner. Pour coder un site Web qui contrôle des modules Yoctopuce de manière interactive, il faudra créer une interface utilisateur qui stockera dans un fichier ou une base de données les actions à effectuer sur les modules Yoctopuce. Ces actions seront ensuite lues puis exécutés par le script de contrôle.
  • Page 56 La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
  • Page 57: Utilisation Du Yocto-Color En C

    à la création d'un projet à neuf linké avec les librairies Yoctopuce. 9.1. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code C++ qui utilise la fonction ColorLed. #include "yocto_api.h"...
  • Page 58 Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés. Imaginons un module Yocto-Color avec le numéros de série YRGBLED1-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé...
  • Page 59 9. Utilisation du Yocto-Color en C++ Un exemple réel Lancez votre environnement C++ et ouvrez le projet exemple correspondant, fourni dans le répertoire Examples/Doc-GettingStarted-Yocto-Color de la librairie Yoctopuce. Si vous préférez travailler avec votre éditeur de texte préféré, ouvrez le fichier , vous taperez simplement main.cpp...
  • Page 60: Contrôle De La Partie Module

    9. Utilisation du Yocto-Color en C++ led1->set_rgbColor(color); // immediate switch led2->rgbMove(color, 1000); // smooth transition } else { cout << "Module not connected (check identification and USB cable)" << endl; yFreeAPI(); return 9.2. Contrôle de la partie module Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la...
  • Page 61 9. Utilisation du Yocto-Color en C++ Chaque propriété du module peut être lue grâce à une méthode du type , et les get_xxxx() propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode set_xxx Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux chapitre API...
  • Page 62: Gestion Des Erreurs

    La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
  • Page 63: Intégration De La Librairie Yoctopuce En C

    ASCII, etc.); • Elle facilite le déboggage si vous cherchez la cause d'un problème lié à la librairie Yoctopuce • Elle réduit les dépendances sur des composants tiers, par exemple pour parer au cas où vous pourriez être mené...
  • Page 64: Intégration En Librairie Dynamique

    (...) -Wl,-Bstatic -lyocto-static -Wl,-Bdynamic -lm -lpthread -lusb-1.0 -lstdc++ Intégration en librairie dynamique L'intégration de la librairie Yoctopuce sous forme de librairie dynamique permet de produire un exécutable plus petit que les deux méthodes précédentes, et de mettre éventuellement à jour cette librairie si un correctif s'avérait nécessaire sans devoir recompiler le code source de l'application.
  • Page 65: Utilisation Du Yocto-Color En Objective-C

    Snow Leopard il vous faudra être enregistré comme développeur auprès d'Apple pour pourvoir télécharger XCode 4.2. La librairie Yoctopuce est compatible ARC. Il vous sera donc possible de coder vos projet soit en utilisant la traditionnelle méthode de retain / release, soit en activant l'Automatic Reference Counting.
  • Page 66 Yoctopuce. doit toujours être utilisé, est nécessaire pour yocto_api.h yocto_colorled.h gérer les modules contenant une LED RGB, comme le Yocto-Color. [YAPI RegisterHub] La fonction initialise l'API de Yoctopuce en indiquant où les modules [YAPI RegisterHub] doivent être recherchés. Utilisée avec le paramètre , elle permet de travailler avec les @"usb"...
  • Page 67: Contrôle De La Partie Module

    10. Utilisation du Yocto-Color en Objective-C [ColorLed FindColorLed] La fonction , permet de retrouver une LED RGB en fonction du [ColorLed FindColorLed] numéro de série de son module hôte et de son nom de fonction. Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés.
  • Page 68 10. Utilisation du Yocto-Color en Objective-C if(argc < usage(argv[0]); NSString *serial_or_name = [NSString stringWithUTF8String:argv[1]]; // use serial or logical name YModule *module = [YModule FindModule:serial_or_name]; ([module isOnline]) { (argc > 2) { (strcmp(argv[2], "ON") [module setBeacon:Y_BEACON_ON]; else [module setBeacon:Y_BEACON_OFF]; NSLog(@"serial: %@\n", [module serialNumber]);...
  • Page 69: Gestion Des Erreurs

    Il y aura forcément une occasion où un utilisateur aura débranché le périphérique, soit avant de lancer le programme, soit même en pleine opération. La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais www.yoctopuce.com...
  • Page 70 La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
  • Page 71: Utilisation Du Yocto-Color En Visualbasic .Net

    11.2. Utilisation l'API yoctopuce dans un projet Visual Basic La librairie Yoctopuce pour Visual Basic .NET se présente sous la forme d'une DLL et de fichiers sources en Visual Basic. La DLL n'est pas une DLL .NET mais une DLL classique, écrite en C, qui gère les communications à...
  • Page 72: Contrôle De La Fonction Colorled

    11.3. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code VisualBasic .NET qui utilise la fonction ColorLed. [...]...
  • Page 73: Un Exemple Réel

    11. Utilisation du Yocto-Color en VisualBasic .NET isOnline La méthode de l'objet renvoyé par permet de savoir si le module isOnline() yFindColorLed correspondant est présent et en état de marche. set_rgbColor La méthode de l'objet renvoyé par permet de régler la...
  • Page 74: Contrôle De La Partie Module

    11. Utilisation du Yocto-Color en VisualBasic .NET Console.WriteLine("RegisterHub error: " errmsg) End If target = "any" Then led1 = yFirstColorLed() led1 Nothing Then Console.WriteLine("No module connected (check USB cable) ") End If led2 = led1.nextColorLed() Else led1 = yFindColorLed(target + ".colorLed1")
  • Page 75 11. Utilisation du Yocto-Color en VisualBasic .NET Console.WriteLine("USB current: " Str(m.get_usbCurrent()) " mA") Console.WriteLine("Logs:") Console.WriteLine(m.get_lastLogs()) Else Console.WriteLine(argv(1) " not connected (check identification and USB cable)") End If yFreeAPI() End Sub End Module Chaque propriété du module peut être lue grâce à une méthode du type...
  • Page 76: Gestion Des Erreurs

    La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
  • Page 77 11. Utilisation du Yocto-Color en VisualBasic .NET Comme cette dernière situation n'est pas la plus souhaitable, la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs, permettant de faire un programme robuste sans devoir attraper exceptions à chaque ligne code.
  • Page 78 www.yoctopuce.com...
  • Page 79: Utilisation Du Yocto-Color En C

    12.2. Utilisation l'API yoctopuce dans un projet Visual C# La librairie Yoctopuce pour Visual C# .NET se présente sous la forme d'une DLL et de fichiers sources en Visual C#. La DLL n'est pas une DLL .NET mais une DLL classique, écrite en C, qui gère les communications à...
  • Page 80: Contrôle De La Fonction Colorled

    Il va de soit que que les fonctionnement des librairies est strictement identiques si vous les intégrez dans une application dotée d'une interface graphique. 12.3. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code C# qui utilise la fonction ColorLed. [...] string errmsg = "";...
  • Page 81 12. Utilisation du Yocto-Color en C# isOnline La méthode de l'objet renvoyé par permet de savoir YColorLed.isOnline() FindColorLed si le module correspondant est présent et en état de marche. set_rgbColor La méthode de l'objet renvoyé par permet de set_rgbColor() YColorLed.FindColorLed régler la couleur de la led correspondante.
  • Page 82: Contrôle De La Partie Module

    12. Utilisation du Yocto-Color en C# (YAPI.RegisterHub("usb", ref errmsg) YAPI.SUCCESS) { Console.WriteLine("RegisterHub error: " + errmsg); Environment.Exit(0); (target == "ANY") { led1 = YColorLed.FirstColorLed(); (led1 == null) { Console.WriteLine("No module connected (check USB cable) "); Environment.Exit(0); led2 = led1.nextColorLed(); } else { led1 = YColorLed.FindColorLed(target + ".colorLed1");...
  • Page 83 12. Utilisation du Yocto-Color en C# if (args[1].ToUpper() "OFF") { m.set_beacon(YModule.BEACON_OFF); Console.WriteLine("serial: " + m.get_serialNumber()); Console.WriteLine("logical name: " + m.get_logicalName()); Console.WriteLine("luminosity: " + m.get_luminosity().ToString()); Console.Write("beacon: "); if (m.get_beacon() YModule.BEACON_ON) Console.WriteLine("ON"); else Console.WriteLine("OFF"); Console.WriteLine("upTime: " (m.get_upTime() 1000 ).ToString() " sec"); Console.WriteLine("USB current: "...
  • Page 84 12. Utilisation du Yocto-Color en C# m = YModule.FindModule(args[0]); // use serial or logical name if (m.isOnline()) { newname = args[1]; if (!YAPI.CheckLogicalName(newname)) { Console.WriteLine("Invalid name (" + newname + ")"); Environment.Exit(0); m.set_logicalName(newname); m.saveToFlash(); // do not forget this Console.Write("Module: serial= "...
  • Page 85: Gestion Des Erreurs

    La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
  • Page 86 www.yoctopuce.com...
  • Page 87: Utilisation Du Yocto-Color En Delphi

    Delphi Par défaut la librairie Yoctopuce pour Delphi utilise une DLL yapi.dll, toutes les applications que vous créerez avec Delphi devront avoir accès à cette DLL. Le plus simple est de faire en sorte qu'elle soit présente dans le même répertoire que l'exécutable de votre application.
  • Page 88 13. Utilisation du Yocto-Color en Delphi SysUtils, yocto_api, yocto_colorled; Procedure Usage(); exe : string; begin exe:= ExtractFileName(paramstr(0)); WriteLn(exe+' <serial_number>'); WriteLn(exe+' <logical_name>'); WriteLn(exe+' any'); halt; End; procedure setcolor(led1,led2:TYColorLed; color:integer); begin if (led1.isOnline()) then begin led1.set_rgbColor(color); // immediate switch led2.rgbMove(color,1000); // smooth transition...
  • Page 89 Il n'y a que peu de lignes véritablement importantes dans le code précédent. Nous allons les expliquer en détail. yocto_api et yocto_colorled Ces deux unités permettent d'avoir accès aux fonctions permettant de gérer les modules Yoctopuce. doit toujours être utilisé, est nécessaire pour gérer les modules...
  • Page 90: Contrôle De La Partie Module

    13. Utilisation du Yocto-Color en Delphi 13.3. Contrôle de la partie module Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la balise de localisation.
  • Page 91 13. Utilisation du Yocto-Color en Delphi Modifications des réglages du module Lorsque que vous souhaitez modifier les réglages d'un module, il suffit d'appeler la fonction correspondante, cependant cette modification n'a lieu que dans la mémoire vive du set_xxx() module: si le module redémarre, les modifications seront perdues. Pour qu'elle soient mémorisées de manière persistante, il est nécessaire de demander au module de sauvegarder sa configuration...
  • Page 92: Gestion Des Erreurs

    La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
  • Page 93 13. Utilisation du Yocto-Color en Delphi ne sera pas un pointeur nul qui risquerait de faire crasher votre programme. Au pire, si vous affichez la valeur sans la tester, elle sera hors du cadre attendu pour la valeur retournée. Dans le cas de fonctions qui ne retournent à...
  • Page 94 www.yoctopuce.com...
  • Page 95: Utilisation Du Yocto-Color En Python

    Windows qu'Unix. C'est un language idéal pour écrire des petits scripts sur un coin de table. La librairie Yoctopuce est compatible avec Python 2.6+ et 3+. Elle fonctionne sous Windows, Max OS X et Linux tant Intel qu'ARM.
  • Page 96: Contrôle De La Fonction Colorled

    14. Utilisation du Yocto-Color en Python 14.3. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code Python qui utilise la fonction ColorLed. [...] errmsg=YRefParam() #On récupère l'objet représentant le module (ici connecté en local sur USB) YAPI.RegisterHub("usb",errmsg)
  • Page 97: Un Exemple Réel

    14. Utilisation du Yocto-Color en Python Les méthodes existent aussi en version HSL. En guise set_rgbColor() rgbMove() d'exercice, vous pourriez modifier l'exemple ci'dessous pour utiliser le système HSL. Vous pourriez ainsi observer les différences de comportement. En HSL pour le rouge est codé 0xFFFF80, le vert est codé...
  • Page 98: Contrôle De La Partie Module

    14. Utilisation du Yocto-Color en Python input raw_input # python 2.x fix except: pass input("command:") while c != 'x': c == 'r': setcolor(led1, led2, 0xFF0000) elif c == 'g': setcolor(led1, led2, 0x00FF00) elif c == 'b': setcolor(led1, led2, 0x0000FF) input("command:") YAPI.FreeAPI()
  • Page 99 14. Utilisation du Yocto-Color en Python Modifications des réglages du module Lorsque que vous souhaitez modifier les réglages d'un module, il suffit d'appeler la fonction correspondante, cependant cette modification n'a lieu que dans la mémoire YModule.set_xxx() vive du module: si le module redémarre, les modifications seront perdues. Pour qu'elle soient mémorisées de manière persistante, il est nécessaire de demander au module de sauvegarder sa...
  • Page 100: Gestion Des Erreurs

    La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
  • Page 101: Utilisation Du Yocto-Color En Java

    Il va de soit que que le fonctionnement des librairies est strictement identiques si vous les intégrez dans une application dotée d'une interface graphique. 15.2. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code Java qui utilise la fonction ColorLed. [...] // On récupère l'objet représentant le module (ici connecté...
  • Page 102 Voyons maintenant en détail ce que font ces quelques lignes. YAPI.RegisterHub La fonction initialise l'API de Yoctopuce en indiquant où les modules doivent YAPI.RegisterHub être recherchés. Le paramètre est l'adresse du virtual hub capable de voir les modules. Si l'initialisation se passe mal, une exception sera générée.
  • Page 103: Contrôle De La Partie Module

    15. Utilisation du Yocto-Color en Java public static void main(String[] args) try { // setup the API to use local VirtualHub YAPI.RegisterHub("127.0.0.1"); } catch (YAPI_Exception ex) { System.out.println("Cannot contact VirtualHub on 127.0.0.1 (" ex.getLocalizedMessage() + ")"); System.out.println("Ensure that the VirtualHub application is running");...
  • Page 104 15. Utilisation du Yocto-Color en Java } else { module = YModule.FindModule(args[0]); // use serial or logical name try { (args.length > 1) { if (args[1].equalsIgnoreCase("ON")) { module.setBeacon(YModule.BEACON_ON); } else { module.setBeacon(YModule.BEACON_OFF); System.out.println("serial: " + module.get_serialNumber()); System.out.println("logical name: " + module.get_logicalName());...
  • Page 105 15. Utilisation du Yocto-Color en Java try { newname = args[1]; if (!YAPI.CheckLogicalName(newname)) System.out.println("Invalid name (" + newname + ")"); System.exit(1); m.set_logicalName(newname); m.saveToFlash(); // do not forget this System.out.println("Module: serial= " + m.get_serialNumber()); System.out.println(" / name= " + m.get_logicalName()); } catch...
  • Page 106: Gestion Des Erreurs

    La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais votre code doit néanmoins être fait pour se comporter au mieux pour interpréter les erreurs signalées par la librairie.
  • Page 107: Utilisation Du Yocto-Color Avec Android

    En revanche, comme il n'existe pas de VirtualHub tournant sous Android, il n'est pas possible de prendre le contrôle à distance de modules Yoctopuce pilotés par une machine sous Android. Bien sûr, l'API Java pour Android reste parfaitement capable de se connecter à un VirtualHub tournant sur un autre OS.
  • Page 108: Matériel Supporté

    "USB Host" en AndroidManifest.xml ajoutant le tag <uses-feature android:name="android.hardware.usb.host" /> dans la section manifest <manifest ...> <uses-feature android:name="android.hardware.usb.host" />; Les YoctoHub sont un moyen simple et efficace d'ajouter une connectivité réseau à vos modules Yoctopuce. http:// www.yoctopuce.com/FR/products/category/extensions-et-reseau www.yoctopuce.com...
  • Page 109: Lancement Automatique

    16. Utilisation du Yocto-Color avec Android </manifest> Lors du premier accès à un module Yoctopuce, Android va ouvrir une fenêtre pour informer l'utilisateur que l'application va accéder module connecté. L'utilisateur peut refuser ou autoriser l a c c è s au périphérique. Si l'utilisateur accepte, l'application pourra accéder au périphérique connecté...
  • Page 110: Contrôle De La Fonction Colorled

    16. Utilisation du Yocto-Color avec Android 16.5. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code Java qui utilise la fonction ColorLed. [...] // On récupère l'objet représentant le module (ici connecté en local sur USB) YAPI.EnableUSBHost(this);...
  • Page 111 16. Utilisation du Yocto-Color avec Android rgbMove Il existe une méthode alternative pour changer de couleur. La méthode de l'objet rgbMove() renvoyé par permet de lancer une transition entre la couleur YColorLed.FindColorLed courante et une autre couleur RGB donnée en paramètre. Cette fonction prend aussi en paramètre le temps accordé...
  • Page 112: Contrôle De La Partie Module

    16. Utilisation du Yocto-Color avec Android @Override protected void onStop() super.onStop(); YAPI.FreeAPI(); @Override public void onItemSelected(AdapterView<?> parent, View view, pos, long String hwid = parent.getItemAtPosition(pos).toString(); color = YColorLed.FindColorLed(hwid); @Override public void onNothingSelected(AdapterView<?> arg0) /** Called when the user touches the button State A */...
  • Page 113 16. Utilisation du Yocto-Color avec Android import com.yoctopuce.YoctoAPI.YModule; public class ModuleControl extends Activity implements OnItemSelectedListener private ArrayAdapter<String> aa; private YModule module = null; @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.modulecontrol); Spinner my_spin = (Spinner) findViewById(R.id.spinner1); my_spin.setOnItemSelectedListener(this); aa = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);...
  • Page 114 16. Utilisation du Yocto-Color avec Android String hwid = parent.getItemAtPosition(pos).toString(); module = YModule.FindModule(hwid); DisplayModuleInfo(); @Override public void onNothingSelected(AdapterView<?> arg0) public void refreshInfo(View view) DisplayModuleInfo(); public void toggleBeacon(View view) (module == null) return; boolean on = ((Switch) view).isChecked(); try { if (on) { module.setBeacon(YModule.BEACON_ON);...
  • Page 115 16. Utilisation du Yocto-Color avec Android public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.savesettings); Spinner my_spin = (Spinner) findViewById(R.id.spinner1); my_spin.setOnItemSelectedListener(this); aa = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); my_spin.setAdapter(aa); @Override protected void onStart() super.onStart(); try { aa.clear(); YAPI.EnableUSBHost(this); YAPI.RegisterHub("usb"); YModule r = YModule.FirstModule(); while (r !=...
  • Page 116 16. Utilisation du Yocto-Color avec Android return; module.set_logicalName(newname); module.saveToFlash(); // do not forget this edit.setText(""); } catch (YAPI_Exception ex) { ex.printStackTrace(); DisplayModuleInfo(); Attention, le nombre de cycles d'écriture de la mémoire non volatile du module est limité. Passé cette limite plus rien ne garantit que la sauvegarde des réglages se passera correctement. Cette limite, liée à...
  • Page 117: Gestion Des Erreurs

    La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais votre code doit néanmoins être fait pour se comporter au mieux pour interpréter les erreurs signalées par la librairie.
  • Page 118 www.yoctopuce.com...
  • Page 119: Programmation Avancée

    Pour pouvoir être prévenu dès qu'un module arrive, vous avez besoin de trois morceaux de code. Le callback Le callback est la fonction qui sera appelée à chaque fois qu'un nouveau module Yoctopuce sera branché. Elle prend en paramètre le module concerné. static void deviceArrival(YModule www.yoctopuce.com...
  • Page 120 à des moments où le programme principal n'est pas prêt à les recevoir, ce qui peut avoir des effets de bords indésirables comme des dead-locks et autres conditions de course. C'est pourquoi dans l'API Yoctopuce, les callbacks d'arrivée/départs de modules ne sont appelés que pendant l'exécution de la fonction .
  • Page 121: Mise À Jour Du Firmware

    "mise à jour" et sera listé en dessous des modules connectés. 18.2. La librairie ligne de commandes Tous les outils en lignes de commandes ont la possibilité de mettre à jour les modules Yoctopuce grâce à la commande .
  • Page 122: La Librairie De Programmation

    "YoctoHub-Wireless") { m.set_allSettings(default_config); m = m.next(); Chercher le bon firmware La première étape pour mettre à jour un module Yoctopuce est de trouver quel firmware il faut utiliser, c'est le travail de la méthode de l'objet YModule. checkFirmware(path, onlynew) Cette méthode vérifie que le firmware passé en argument ( ) est compatible avec le module.
  • Page 123: Mettre À Jour Le Firmware

    Il est aussi possible de passer la chaîne "www.yoctopuce.com" en argument pour vérifier s'il existe un firmware plus récent publié sur le site web de Yoctopuce. Dans ce cas, la méthode retournera l'URL du firmware. Vous pourrez soit utiliser cette URL pour télécharger le firmware sur votre disque, soit utiliser cette URL lors de la mise à...
  • Page 124: Particularité D'android

    à installer, et un tableau de bytes avec les paramètres à restaurer à la fin de la mise à jour (ou pour restaurer les paramètres d'origine). null YFirmwareUpdateupdate fw_update; fw_update = YFirmwareUpdate(allBootLoader[0], newfirm, null); status = fw_update.startUpdate(); ..www.yoctopuce.com...
  • Page 125: Utilisation Avec Des Langages Non Supportés

    Il se trouve que le Virtual Hub est en fait un petit serveur Web qui est capable de router des requêtes HTTP vers les modules Yoctopuce. Ce qui signifie que si vous pouvez faire une requête HTTP depuis votre langage de programmation, vous pouvez contrôler des modules Yoctopuce, même si ce langage n'est pas officiellement supporté.
  • Page 126: Contrôle D'un Module Par L'interface Rest

    Contrôle d'un module par l'interface REST Chaque module Yoctopuce a sa propre interface REST disponible sous différentes formes. Imaginons un Yocto-Color avec le numéro de de série YRGBLED1-12345 et le nom logique monModule. l'URL suivante permettra de connaître l'état du module.
  • Page 127: Accès Aux Données Enregistrées Sur Le Datalogger Par L'interface Rest

    19.3. Utilisation des librairies dynamiques L'API Yoctopuce bas niveau est disponible sous différents formats de librairie dynamiques écrites en C, dont les sources sont disponibles avec l'API C++. Utiliser une de ces librairies bas niveau vous permettra de vous passer du Virtual Hub.
  • Page 128 (yapiHTTPRequest(serial,getValue,data,sizeof(dataBuffer),fullsize,errmsg)<0) then begin writeln(errmsg); halt; end; // searches for the HTTP header end p := pos(#13#10#13#10,data); // displays the response minus the HTTP header writeln(copy(data,p+4,length(data)-p-3)); // change the luminosity if (yapiHTTPRequest(serial,setValue,data,sizeof(dataBuffer),fullsize,errmsg)<0) then begin writeln(errmsg); halt; end; end. www.yoctopuce.com...
  • Page 129: Inventaire Des Modules

    19. Utilisation avec des langages non supportés Inventaire des modules Pour procéder à l'inventaire des modules Yoctopuce, deux fonctions de la librairie dynamique sont nécessaires int yapiGetAllDevices(int *buffer,int maxsize,int *neededsize,char *errmsg); int yapiGetDeviceInfo(int devdesc,yDeviceSt *infos, char *errmsg); La fonction yapiGetAllDevices permet d'obtenir la liste des modules connectés sous la forme d'une liste de handles.
  • Page 130: Port De La Librairie Haut Niveau

    Yoctopuce sera alors en mesure de générer tous les autres fichiers. C'est pourquoi il est fortement recommandé de contacter le support Yoctopuce avant d'entreprendre le port de la librairie Yoctopuce dans un autre langage. Un travail collaboratif sera profitable aux deux parties.
  • Page 131: Référence De L'api De Haut Niveau

    20. Référence de l'API de haut niveau Ce chapitre résume les fonctions de l'API de haut niveau pour commander votre Yocto-Color. La syntaxe et les types précis peuvent varier d'un langage à l'autre mais, sauf avis contraire toutes sont disponibles dans chaque language. Pour une information plus précise sur les types des arguments et des valeurs de retour dans un langage donné, veuillez vous référer au fichier de définition pour ce...
  • Page 132: Fonctions Générales

    20. Référence de l'API de haut niveau 20.1. Fonctions générales Ces quelques fonctions générales permettent l'initialisation et la configuration de la librairie Yoctopuce. Dans la plupart des cas, un appel à suffira en tout et pour tout. Ensuite, vous yRegisterHub() pourrez appeler la fonction globale correspondant à...
  • Page 133 Test si un hub est joignable. yTriggerHubDiscovery(errmsg) Relance une détection des hubs réseau. yUnregisterHub(url) Configure la librairie Yoctopuce pour ne plus utiliser les modules connectés sur une machine préalablement enregistrer avec RegisterHub. yUpdateDeviceList(errmsg) Force une mise-à-jour de la liste des modules Yoctopuce connectés.
  • Page 134: Paramètres

    . Lorsqu'on configure un nom logique avec une chaîne incorrecte, les caractères invalides sont ignorés. Paramètres : name une chaîne de caractères contenant le nom vérifier. Retourne : true false si le nom est valide, dans le cas contraire. www.yoctopuce.com...
  • Page 135 ) procedure yDisableExceptions( ) void DisableExceptions( ) def DisableExceptions( ) function yDisableExceptions( ) function DisableExceptions( ) Lorsque les exceptions sont désactivées, chaque fonction retourne une valeur d'erreur spécifique selon son type, documentée dans ce manuel de référence. www.yoctopuce.com...
  • Page 136 Attention, lorsque les exceptions sont activées, tout appel à une fonction de la librairie qui échoue déclenche une exception. Dans le cas où celle-ci n'est pas interceptée correctement par le code appelant, soit le debugger se lance, soit le programme de l'utilisateur est immédiatement stoppé (crash). www.yoctopuce.com...
  • Page 137 (ou d'une sous-classe). Il n'est pas nécessaire d'appeler cette fonction pour accéder au modules à travers le réseau. Paramètres : osContext un objet de classe android.content.Context (ou une sous-classe) www.yoctopuce.com...
  • Page 138 20. Référence de l'API de haut niveau YAPI.FreeAPI() YAPI yFreeAPI() Libère la mémoire dynamique utilisée par la librairie Yoctopuce. function yFreeAPI( ) function FreeAPI( ) nodejs void yFreeAPI( ) +(void) FreeAPI procedure yFreeAPI( ) procedure yFreeAPI( ) void FreeAPI( )
  • Page 139 20. Référence de l'API de haut niveau YAPI.GetAPIVersion() YAPI yGetAPIVersion() Retourne la version de la librairie Yoctopuce utilisée. function yGetAPIVersion( ) function GetAPIVersion( ) nodejs string yGetAPIVersion( ) +(NSString*) GetAPIVersion function yGetAPIVersion( ): string function yGetAPIVersion( ) As String String GetAPIVersion( )
  • Page 140 GetTickCount( ) function yGetTickCount( ) function GetTickCount( ) Ce compteur peut être utilisé pour calculer des délais en rapport avec les modules Yoctopuce, dont la base de temps est aussi la milliseconde. Retourne : un long entier contenant la valeur du compteur de millisecondes.
  • Page 141 Ce n'est pas strictement indispensable mais cela peut améliorer la réactivité des la librairie pour les commandes suivantes. Cette fonction peut signaler une erreur au cas à la communication avec un module Yoctopuce ne se passerait pas comme attendu.
  • Page 142 20. Référence de l'API de haut niveau YAPI.InitAPI() YAPI yInitAPI() Initialise la librairie de programmation de Yoctopuce explicitement. function yInitAPI( mode, errmsg) function InitAPI( mode, errmsg) nodejs YRETCODE yInitAPI( int mode, string& errmsg) +(YRETCODE) InitAPI :(int) mode :(NSError**) errmsg function yInitAPI( mode: integer, var errmsg: string): integer...
  • Page 143 "usb","callback", ou l'URL racine du VirtualHub à utiliser. errmsg une chaîne de caractères passée par référence, dans laquelle sera stocké un éventuel message d'erreur. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 144 RegisterDeviceArrivalCallback( DeviceUpdateHandler arrivalCallback) def RegisterDeviceArrivalCallback( arrivalCallback) function yRegisterDeviceArrivalCallback( $arrivalCallback) function RegisterDeviceArrivalCallback( arrivalCallback) Le callback sera appelé pendant l'éxecution de la fonction yUpdateDeviceList , que vous devrez appeler régulièrement. Paramètres : arrivalCallback une procédure qui prend un YModule en paramètre, ou null www.yoctopuce.com...
  • Page 145 RegisterDeviceRemovalCallback( DeviceUpdateHandler removalCallback) def RegisterDeviceRemovalCallback( removalCallback) function yRegisterDeviceRemovalCallback( $removalCallback) function RegisterDeviceRemovalCallback( removalCallback) Le callback sera appelé pendant l'éxecution de la fonction yUpdateDeviceList , que vous devrez appeler régulièrement. Paramètres : removalCallback une procédure qui prend un YModule en paramètre, ou null www.yoctopuce.com...
  • Page 146 C'est un mode spécial permettant, entre autres, de prendre le contrôle de modules Yoctopuce à travers un filtre NAT par l'intermédiaire d'un VirtualHub ou d'un Hub Yoctopuce. Il vous suffit de configuer le hub pour qu'il appelle votre script à intervalle régulier. Ce mode de fonctionnement n'est disponible actuellement qu'en PHP et en Node.JS.
  • Page 147 20. Référence de l'API de haut niveau Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 148 à la fonction . Le callback sera appelé pendant l’exécution yRegisterHub de la fonction , que vous devrez appeler régulièrement. yUpdateDeviceList Paramètres : hubDiscoveryCallback null une procédure qui prend deux chaîne de caractères en paramètre, ou www.yoctopuce.com...
  • Page 149 As yLogFunc) void RegisterLogFunction( yLogFunc logfun) void RegisterLogFunction( LogCallback logfun) java void RegisterLogFunction( LogHandler logfun) def RegisterLogFunction( logfun) Utile pour débugger le fonctionnement de l'API. Paramètres : logfun une procedure qui prend une chaîne de caractère en paramètre, www.yoctopuce.com...
  • Page 150 à la librairie pour forcer l'utilisation d'une architecture spécifiée. Paramètres : arch une chaîne de caractère spécifiant l'architecture à utiliser. Les valeurs possibles sont "armhf" "armel" "i386" "x86_64" "32bit" "64bit" Retourne : rien. En cas d'erreur, déclenche une exception. www.yoctopuce.com...
  • Page 151 (Objective-C uniquement) Enregistre un objet délégué qui doit se conformer au protocole YDeviceHotPlug +(void) SetDelegate :(id) object Les méthodes seront appelées pendant l’exécution de la yDeviceArrival yDeviceRemoval fonction , que vous devrez appeler régulièrement. yUpdateDeviceList Paramètres : object un objet qui soit se conformer au protocole YAPIDelegate , ou www.yoctopuce.com...
  • Page 152 à la durée de l'attente, en millisecondes args des arguments supplémentaires peuvent être fournis, pour être passés à la fonction de callback si nécessaire. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 153 être activée que sur des tablette ou des téléphones qui posent problème. Un délais de 50 millisecondes est en général suffisant. En cas de doute contacter le support Yoctopuce. Pour désactiver la quittance des paquets USB, appeler cette fonction avec la valeur 0. Note : Cette fonctionnalité est disponible uniquement sous Android.
  • Page 154 à lire périodiquement les informations en provenance des modules Yoctopuce en appelant la fonction afin de se maintenir à jour. yHandleEvents() Cette fonction peut signaler une erreur au cas à la communication avec un module Yoctopuce ne se passerait pas comme attendu. Paramètres : ms_duration un entier correspondant à...
  • Page 155 éventuel message d'erreur. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 156 Paramètres : errmsg une chaîne de caractères passée par référence, dans laquelle sera stocké un éventuel message d'erreur. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 157 20. Référence de l'API de haut niveau YAPI.UnregisterHub() YAPI yUnregisterHub() Configure la librairie Yoctopuce pour ne plus utiliser les modules connectés sur une machine préalablement enregistrer avec RegisterHub. function yUnregisterHub( url) function UnregisterHub( url) nodejs void yUnregisterHub( const string& url)
  • Page 158 20. Référence de l'API de haut niveau YAPI.UpdateDeviceList() YAPI yUpdateDeviceList() Force une mise-à-jour de la liste des modules Yoctopuce connectés. function yUpdateDeviceList( errmsg) function UpdateDeviceList( errmsg) nodejs YRETCODE yUpdateDeviceList( string& errmsg) +(YRETCODE) UpdateDeviceList :(NSError**) errmsg function yUpdateDeviceList( var errmsg: string): integer...
  • Page 159 20. Référence de l'API de haut niveau YAPI.UpdateDeviceList_async() YAPI yUpdateDeviceList_async() Force une mise-à-jour de la liste des modules Yoctopuce connectés. function yUpdateDeviceList_async( callback, context) function UpdateDeviceList_async( callback, context) nodejs La librairie va vérifier sur les machines ou ports USB précédemment enregistrés en utilisant la fonction si un module a été...
  • Page 160: Interface De Contrôle Du Module

    20. Référence de l'API de haut niveau 20.2. Interface de contrôle du module Cette interface est la même pour tous les modules USB de Yoctopuce. Elle permet de contrôler les paramètres généraux du module, et d'énumérer les fonctions fournies par chaque module.
  • Page 161 Retourne la liste des modules branchés au module courant. module→get_upTime() Retourne le numbre de millisecondes écoulées depuis la mise sous tension du module module→get_url() Retourne l'URL utilisée pour accéder au module. module→get_usbCurrent() Retourne le courant consommé par le module sur le bus USB, en milliampères. www.yoctopuce.com...
  • Page 162 Enregistre un contexte libre dans l'attribut userData de la fonction, afin de le retrouver plus tard à l'aide de la méthode get_userData module→set_userVar(newval) Stocke une valeur 32 bits dans la mémoire volatile du module. module→triggerFirmwareUpdate(secBeforeReboot) Agende un redémarrage du module en mode spécial de reprogrammation du logiciel embarqué. module→updateFirmware(path) Prepare une mise à jour de firmware du module. www.yoctopuce.com...
  • Page 163 20. Référence de l'API de haut niveau module→updateFirmwareEx(path, force) Prepare une mise à jour de firmware du module. module→wait_async(callback, context) Attend que toutes les commandes asynchrones en cours d'exécution sur le module soient terminées, et appelle le callback passé en paramètre. www.yoctopuce.com...
  • Page 164 Retourne : un objet de classe YModule qui permet ensuite de contrôler le module ou d'obtenir de plus amples informations sur le module. www.yoctopuce.com...
  • Page 165 Paramètres : yctx un contexte YAPI func une chaîne de caractères qui référence le module sans ambiguïté Retourne : un objet de classe YModule qui permet ensuite de contrôler le module. www.yoctopuce.com...
  • Page 166 ) function FirstModule( ) Utiliser la fonction YModule.nextModule() pour itérer sur les autres modules. Retourne : YModule null un pointeur sur un objet , correspondant au premier module accessible en ligne, ou aucun module n'a été trouvé. www.yoctopuce.com...
  • Page 167 Retourne : .byn le path du fichier à utiliser, ou une chaîne vide si aucun firmware plus récent n'est disponible En cas d'erreur, déclenche une exception ou retourne une chaine de caractère qui comment par "error:". www.yoctopuce.com...
  • Page 168 ) java def clearCache( ) function clearCache( ) function clearCache( ) Invalide le cache des valeurs courantes du module. Force le prochain appel à une méthode get_xxx() ou loadxxx() pour charger les les données depuis le module. www.yoctopuce.com...
  • Page 169 ) String describe( ) java def describe( ) function describe( ) function describe( ) Ce texte peut contenir soit le nom logique du module, soit son numéro de série. Retourne : une chaîne de caractères décrivant le module www.yoctopuce.com...
  • Page 170 Task<byte[]> download( string pathname) def download( pathname) function download( $pathname) function download( pathname) YModule target download pathname Paramètres : pathname nom complet du fichier Retourne : le contenu du fichier chargé En cas d'erreur, déclenche une exception ou retourne YAPI_INVALID_STRING www.yoctopuce.com...
  • Page 171 à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant au type de base de la fonction En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
  • Page 172 ) As Integer int functionCount( ) int functionCount( ) java def functionCount( ) function functionCount( ) function functionCount( ) Retourne : le nombre de fonctions sur le module En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 173 à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant à l'identifiant matériel unique de la fonction désirée En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
  • Page 174 à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant au nom logique de la fonction désirée En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
  • Page 175 à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant au type de la fonction En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
  • Page 176 à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant à la valeur publiée par la fonction désirée En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
  • Page 177 YModule target get_allSettings Utile pour sauvgarder les noms logiques, les calibrations et fichies uploadés d'un module. Retourne : un objet binaire avec tous les paramètres En cas d'erreur, déclenche une exception ou retourne un objet binaire de taille 0. www.yoctopuce.com...
  • Page 178 Task<int> get_beacon( ) def get_beacon( ) function get_beacon( ) function get_beacon( ) YModule target get_beacon Retourne : Y_BEACON_OFF Y_BEACON_ON soit , soit , selon l'état de la balise de localisation En cas d'erreur, déclenche une exception ou retourne Y_BEACON_INVALID www.yoctopuce.com...
  • Page 179 ) function get_errorMessage( ) function get_errorMessage( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : une chaîne de caractères correspondant au message de la dernière erreur qui s'est produit lors de l'utilisation du module www.yoctopuce.com...
  • Page 180 ) function get_errorType( ) function get_errorType( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : un nombre correspondant au code de la dernière erreur qui s'est produit lors de l'utilisation du module...
  • Page 181 Task<string> get_firmwareRelease( ) def get_firmwareRelease( ) function get_firmwareRelease( ) function get_firmwareRelease( ) YModule target get_firmwareRelease Retourne : une chaîne de caractères représentant la version du logiciel embarqué du module En cas d'erreur, déclenche une exception ou retourne Y_FIRMWARERELEASE_INVALID www.yoctopuce.com...
  • Page 182 ArrayList<String> get_functionIds( String funType) java async Task<List<string>> get_functionIds( string funType) def get_functionIds( funType) function get_functionIds( $funType) function get_functionIds( funType) YModule target get_functionIds funType Paramètres : funType Le type de fonction (Relay, LightSensor, Voltage,...) Retourne : un tableau de chaînes de caractère. www.yoctopuce.com...
  • Page 183 ) String get_hardwareId( ) java def get_hardwareId( ) function get_hardwareId( ) function get_hardwareId( ) L'identifiant unique est composé du numéro de série du module suivi de la chaîne ".module". Retourne : une chaîne de caractères identifiant la fonction www.yoctopuce.com...
  • Page 184 ) function get_icon2d( ) YModule target get_icon2d L'icone est au format PNG et a une taille maximale de 1536 octets. Retourne : un buffer binaire contenant l'icone, au format png. En cas d'erreur, déclenche une exception ou retourne YAPI_INVALID_STRING www.yoctopuce.com...
  • Page 185 ) YModule target get_lastLogs Cette méthode retourne les derniers logs qui sont encore stocké dans le module. Retourne : une chaîne de caractère contenant les derniers logs du module. En cas d'erreur, déclenche une exception YAPI_INVALID_STRING ou retourne www.yoctopuce.com...
  • Page 186 String get_logicalName( ) java async Task<string> get_logicalName( ) def get_logicalName( ) function get_logicalName( ) function get_logicalName( ) YModule target get_logicalName Retourne : une chaîne de caractères représentant le nom logique du module En cas d'erreur, déclenche une exception ou retourne Y_LOGICALNAME_INVALID www.yoctopuce.com...
  • Page 187 Task<int> get_luminosity( ) def get_luminosity( ) function get_luminosity( ) function get_luminosity( ) YModule target get_luminosity Retourne : un entier représentant la luminosité des leds informatives du module (valeur entre 0 et 100) En cas d'erreur, déclenche une exception ou retourne Y_LUMINOSITY_INVALID www.yoctopuce.com...
  • Page 188 Si le module est connecté par USB, ou si le module est le YoctoHub racine, une chaîne vide est retournée. Retourne : une chaîne de caractères contenant le numéro de série du YoctoHub, ou une chaîne vide. www.yoctopuce.com...
  • Page 189 Task<int> get_persistentSettings( ) def get_persistentSettings( ) function get_persistentSettings( ) function get_persistentSettings( ) YModule target get_persistentSettings Retourne : Y_PERSISTENTSETTINGS_LOADED Y_PERSISTENTSETTINGS_SAVED une valeur parmi Y_PERSISTENTSETTINGS_MODIFIED représentant l'état courant des réglages persistents du module En cas d'erreur, déclenche une exception ou retourne Y_PERSISTENTSETTINGS_INVALID www.yoctopuce.com...
  • Page 190 ) java async Task<int> get_productId( ) def get_productId( ) function get_productId( ) function get_productId( ) YModule target get_productId Retourne : un entier représentant l'identifiant USB du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTID_INVALID www.yoctopuce.com...
  • Page 191 Task<string> get_productName( ) def get_productName( ) function get_productName( ) function get_productName( ) YModule target get_productName Retourne : une chaîne de caractères représentant le nom commercial du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTNAME_INVALID www.yoctopuce.com...
  • Page 192 Task<int> get_productRelease( ) def get_productRelease( ) function get_productRelease( ) function get_productRelease( ) YModule target get_productRelease Retourne : un entier représentant le numéro de version matériel du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTRELEASE_INVALID www.yoctopuce.com...
  • Page 193 ) function get_rebootCountdown( ) YModule target get_rebootCountdown Retourne : un entier représentant le nombre de secondes restantes avant un redémarrage du module, ou zéro si aucun redémarrage n'a été agendé En cas d'erreur, déclenche une exception ou retourne Y_REBOOTCOUNTDOWN_INVALID www.yoctopuce.com...
  • Page 194 Task<string> get_serialNumber( ) def get_serialNumber( ) function get_serialNumber( ) function get_serialNumber( ) YModule target get_serialNumber Retourne : une chaîne de caractères représentant le numéro de série du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_SERIALNUMBER_INVALID www.yoctopuce.com...
  • Page 195 Cette fonction n'est pertinente que lorsqu'elle appelée pour un YoctoHub ou pour le VirtualHub. Dans le cas contraire, un tableau vide est retourné. Retourne : un tableau de chaînes de caractères contenant les numéros de série des sous-modules connectés au module www.yoctopuce.com...
  • Page 196: Retourne Le Numbre De Millisecondes Écoulées Depuis La Mise Sous Tension Du Module

    Task<long> get_upTime( ) def get_upTime( ) function get_upTime( ) function get_upTime( ) YModule target get_upTime Retourne : un entier représentant le numbre de millisecondes écoulées depuis la mise sous tension du module En cas d'erreur, déclenche une exception ou retourne Y_UPTIME_INVALID www.yoctopuce.com...
  • Page 197 ) String get_url( ) java def get_url( ) function get_url( ) YModule target get_url Si le module est connecté par USB la chaîne de caractère 'usb' est retournée. Retourne : une chaîne de caractère contenant l'URL du module. www.yoctopuce.com...
  • Page 198 Task<int> get_usbCurrent( ) def get_usbCurrent( ) function get_usbCurrent( ) function get_usbCurrent( ) YModule target get_usbCurrent Retourne : un entier représentant le courant consommé par le module sur le bus USB, en milliampères En cas d'erreur, déclenche une exception ou retourne Y_USBCURRENT_INVALID www.yoctopuce.com...
  • Page 199 Object get_userData( ) java def get_userData( ) function get_userData( ) function get_userData( ) Cet attribut n'es pas utilisé directement par l'API. Il est à la disposition de l'appelant pour stocker un contexte. Retourne : l'objet stocké précédemment par l'appelant. www.yoctopuce.com...
  • Page 200 ) YModule target get_userVar Au démarrage du module (ou après un redémarrage), la valeur est toujours zéro. Retourne : un entier représentant la valeur entière précédemment stockée dans cet attribut En cas d'erreur, déclenche une exception ou retourne Y_USERVAR_INVALID www.yoctopuce.com...
  • Page 201 YModule target hasFunction funcId La méthode prend en paramètre l'identifiant de la fonction (relay1, voltage2,...) et retourne un booléen. Paramètres : funcId identifiant matériel de la fonction Retourne : vrai si le module inclut la fonction demandée www.yoctopuce.com...
  • Page 202 Si les valeurs des attributs du module en cache sont valides au moment de l'appel, le module est considéré joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vérification de joignabilité. Retourne : true si le module est joignable, false sinon www.yoctopuce.com...
  • Page 203 à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
  • Page 204 Paramètres : msValidity un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 205 YAPI_SUCCESS d'erreur (ou context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
  • Page 206 être inclus dans la chaîne de caractère. Paramètres : text le message à ajouter aux logs du module. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 207 ) As YModule YModule nextModule( ) YModule nextModule( ) java YModule nextModule( ) def nextModule( ) function nextModule( ) function nextModule( ) Retourne : un pointeur sur un objet YModule accessible en ligne, ou null lorsque l'énumération est terminée. www.yoctopuce.com...
  • Page 208 $secBeforeReboot) function reboot( secBeforeReboot) YModule target reboot secBeforeReboot Paramètres : secBeforeReboot nombre de secondes avant de redémarrer Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 209 LogCallback callback) void registerLogCallback( LogCallback callback) java def registerLogCallback( callback) Utile pour débugger le fonctionnement d'un module Yoctopuce. Paramètres : callback la fonction de callback à rappeler, ou un pointeur nul. La fonction de callback doit accepter deux arguments: l'objet module qui a produit un log, un chaîne de caractère qui contiens le log...
  • Page 210 ) java async Task<int> revertFromFlash( ) def revertFromFlash( ) function revertFromFlash( ) function revertFromFlash( ) YModule target revertFromFlash Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 211 Attention le nombre total de sauvegardes possibles durant la vie du module est limité (environ 100000 cycles). N'appelez pas cette fonction dans une boucle. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 212 être préservés. Paramètres : settings un objet binaire avec touts les paramètres Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 213 être préservés. Paramètres : settings un buffer binaire avec touts les paramètres Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 214 $newval) function set_beacon( newval) YModule target set_beacon newval Paramètres : newval Y_BEACON_OFF Y_BEACON_ON soit , soit Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 215 être préservé. saveToFlash() Paramètres : newval une chaîne de caractères Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 216 être préservé. Paramètres : newval un entier représentant la luminosité des leds informatives du module Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 217 Object data) java def set_userData( data) function set_userData( $data) function set_userData( data) Cet attribut n'es pas utilisé directement par l'API. Il est à la disposition de l'appelant pour stocker un contexte. Paramètres : data objet quelconque à mémoriser www.yoctopuce.com...
  • Page 218 Cet attribut est à la disposition du programmeur pour y stocker par exemple une variable d'état. Au démarrage du module (ou après un redémarrage), la valeur est toujours zéro. Paramètres : newval un entier Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 219 $secBeforeReboot) function triggerFirmwareUpdate( secBeforeReboot) YModule target triggerFirmwareUpdate secBeforeReboot Paramètres : secBeforeReboot nombre de secondes avant de redémarrer Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 220 Cette méthode retourne un object qui est utilisé pour mettre à jour le firmware du YFirmwareUpdate module. Paramètres : path .byn le path du fichier à utiliser Retourne : un object YFirmwareUpdate ou NULL en cas d'erreur www.yoctopuce.com...
  • Page 221 à jour le firmware du YFirmwareUpdate module. Paramètres : path .byn le path du fichier à utiliser force vrai pour forceer la mise à jour même si un prérequis ne semble pas satisfait Retourne : un object YFirmwareUpdate ou NULL en cas d'erreur www.yoctopuce.com...
  • Page 222 La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout. www.yoctopuce.com...
  • Page 223: Interface De La Fonction Colorled

    20. Référence de l'API de haut niveau 20.3. Interface de la fonction ColorLed La librairie de programmation Yoctopuce permet de piloter une LED couleur aussi bien en coordonnées RGB qu'en coordonnées HSL, les conversions RGB vers HSL étant faites automatiquement par le module.
  • Page 224 Retourne la couleur HSL courante de la LED. colorled→get_logicalName() Retourne le nom logique de la LED RGB. colorled→get_module() Retourne l'objet YModule correspondant au module Yoctopuce qui héberge la fonction. colorled→get_module_async(callback, context) Retourne l'objet YModule correspondant au module Yoctopuce qui héberge la fonction. colorled→get_rgbColor() Retourne la couleur RGB courante de la LED.
  • Page 225 Arrête l'exécution de la séquence préprogrammée de clignotement. colorled→unmuteValueCallbacks() Réactive l'envoi de chaque changement de la valeur publiée au hub parent. colorled→wait_async(callback, context) Attend que toutes les commandes asynchrones en cours d'exécution sur le module soient terminées, et appelle le callback passé en paramètre. www.yoctopuce.com...
  • Page 226 La recherche se fait d'abord par nom matériel, puis par nom logique. Paramètres : func une chaîne de caractères qui référence la LED RGB sans ambiguïté Retourne : un objet de classe YColorLed qui permet ensuite de contrôler la LED RGB. www.yoctopuce.com...
  • Page 227 Paramètres : yctx un contexte YAPI func une chaîne de caractères qui référence la LED RGB sans ambiguïté Retourne : un objet de classe YColorLed qui permet ensuite de contrôler la LED RGB. www.yoctopuce.com...
  • Page 228 Utiliser la fonction YColorLed.nextColorLed() pour itérer sur les autres LEDs RGB. Retourne : YColorLed un pointeur sur un objet , correspondant à la première LED RGB accessible en ligne, ou null si il n'y a pas de LEDs RGB disponibles. www.yoctopuce.com...
  • Page 229 LEDs RGB. Paramètres : yctx un contexte YAPI. Retourne : YColorLed un pointeur sur un objet , correspondant à la première LED RGB accessible en ligne, ou null si il n'y a pas de LEDs RGB disponibles. www.yoctopuce.com...
  • Page 230 Paramètres : HSLcolor couleur HSL désirée à la fin de la transition msDelay durée en millisecondes de la transition. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 231 Paramètres : RGBcolor couleur RGB désirée à la fin de la transition msDelay durée en millisecondes de la transition. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 232 ) java def clearCache( ) function clearCache( ) function clearCache( ) Invalide le cache des valeurs courantes de la LED RGB. Force le prochain appel à une méthode get_xxx() ou loadxxx() pour charger les les données depuis le module. www.yoctopuce.com...
  • Page 233 î n e c a r a c t è r e s d é c r i v a n t L E D R G B ( e x : Relay(MyCustomName.relay1)=RELAYLO1-123456.relay1 www.yoctopuce.com...
  • Page 234 ) function get_advertisedValue( ) function get_advertisedValue( ) YColorLed target get_advertisedValue Retourne : une chaîne de caractères représentant la valeur courante de la LED RGB (pas plus de 6 caractères). En cas d'erreur, déclenche une exception ou retourne Y_ADVERTISEDVALUE_INVALID www.yoctopuce.com...
  • Page 235 Task<int> get_blinkSeqMaxSize( ) def get_blinkSeqMaxSize( ) function get_blinkSeqMaxSize( ) function get_blinkSeqMaxSize( ) YColorLed target get_blinkSeqMaxSize Retourne : un entier représentant la longueur maximum de la sequence de clignotement En cas d'erreur, déclenche une exception ou retourne Y_BLINKSEQMAXSIZE_INVALID www.yoctopuce.com...
  • Page 236 Les séquences de clignotement ne pouvant pas être relues du module, ce mécanisme peut être utilisé pour détecter si une séquence spécifique est déja programmée. Retourne : un entier représentant la signature de la signature de la séquence de clignotement En cas d'erreur, déclenche une exception ou retourne Y_BLINKSEQSIGNATURE_INVALID www.yoctopuce.com...
  • Page 237 Task<int> get_blinkSeqSize( ) def get_blinkSeqSize( ) function get_blinkSeqSize( ) function get_blinkSeqSize( ) YColorLed target get_blinkSeqSize Retourne : un entier représentant la longueur actuelle de la sequence de clignotement En cas d'erreur, déclenche une exception ou retourne Y_BLINKSEQSIZE_INVALID www.yoctopuce.com...
  • Page 238 ) function get_errorMessage( ) function get_errorMessage( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : une chaîne de caractères correspondant au message de la dernière erreur qui s'est produit lors de l'utilisation de la LED RGB.
  • Page 239 ) function get_errorType( ) function get_errorType( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : un nombre correspondant au code de la dernière erreur qui s'est produit lors de l'utilisation de la LED RGB.
  • Page 240 LED RGB (par exemple: MyCustomName.relay1 Retourne : une chaîne de caractères identifiant la LED RGB en utilisant les noms logiques (ex: MyCustomName.relay1 En cas d'erreur, déclenche une exception ou retourne Y_FRIENDLYNAME_INVALID www.yoctopuce.com...
  • Page 241 é t é c o n t a c t é e , v a l e u r r e t o u r n é e s e r a Y_FUNCTIONDESCRIPTOR_INVALID www.yoctopuce.com...
  • Page 242 ) String get_functionId( ) java def get_functionId( ) function get_functionId( ) function get_functionId( ) Par example relay1 Retourne : relay1 une chaîne de caractères identifiant la LED RGB (ex: En cas d'erreur, déclenche une exception ou retourne Y_FUNCTIONID_INVALID www.yoctopuce.com...
  • Page 243 L'identifiant unique est composé du numéro de série du module et de l'identifiant matériel de la LED RGB (par example RELAYLO1-123456.relay1 Retourne : RELAYLO1-123456.relay1 une chaîne de caractères identifiant la LED RGB (ex: En cas d'erreur, déclenche une exception ou retourne Y_HARDWAREID_INVALID www.yoctopuce.com...
  • Page 244 ) java async Task<int> get_hslColor( ) def get_hslColor( ) function get_hslColor( ) function get_hslColor( ) YColorLed target get_hslColor Retourne : un entier représentant la couleur HSL courante de la LED En cas d'erreur, déclenche une exception ou retourne Y_HSLCOLOR_INVALID www.yoctopuce.com...
  • Page 245 Task<string> get_logicalName( ) def get_logicalName( ) function get_logicalName( ) function get_logicalName( ) YColorLed target get_logicalName Retourne : une chaîne de caractères représentant le nom logique de la LED RGB. En cas d'erreur, déclenche une exception ou retourne Y_LOGICALNAME_INVALID www.yoctopuce.com...
  • Page 246 20. Référence de l'API de haut niveau colorled→get_module() YColorLed colorled→module() Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. YModule function get_module( ) function get_module( ) nodejs YModule * get_module( ) -(YModule*) module function get_module( ): TYModule function get_module( ) As YModule...
  • Page 247 20. Référence de l'API de haut niveau colorled→get_module_async() YColorLed colorled→module_async() Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. YModule function get_module_async( callback, context) function get_module_async( callback, context) nodejs Si la fonction ne peut être trouvée sur aucun module, l'instance de YModule retournée ne sera pas...
  • Page 248 ) java async Task<int> get_rgbColor( ) def get_rgbColor( ) function get_rgbColor( ) function get_rgbColor( ) YColorLed target get_rgbColor Retourne : un entier représentant la couleur RGB courante de la LED En cas d'erreur, déclenche une exception ou retourne Y_RGBCOLOR_INVALID www.yoctopuce.com...
  • Page 249 Task<int> get_rgbColorAtPowerOn( ) def get_rgbColorAtPowerOn( ) function get_rgbColorAtPowerOn( ) function get_rgbColorAtPowerOn( ) YColorLed target get_rgbColorAtPowerOn Retourne : un entier représentant la couleur configurée pour être affichage à l'allumage du module En cas d'erreur, déclenche une exception ou retourne Y_RGBCOLORATPOWERON_INVALID www.yoctopuce.com...
  • Page 250 Object get_userData( ) java def get_userData( ) function get_userData( ) function get_userData( ) Cet attribut n'es pas utilisé directement par l'API. Il est à la disposition de l'appelant pour stocker un contexte. Retourne : l'objet stocké précédemment par l'appelant. www.yoctopuce.com...
  • Page 251 Paramètres : hsl_target couleur HSL désirée à la fin de la transition ms_duration durée de la transition, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 252 Si les valeurs des attributs en cache de la LED RGB sont valides au moment de l'appel, le module est considéré joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vérification de joignabilité. Retourne : true si la LED RGB est joignable, false sinon www.yoctopuce.com...
  • Page 253 à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
  • Page 254 Paramètres : msValidity un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 255 $attrName) function loadAttribute( attrName) Paramètres : attrName le nom de l'attribut désiré Retourne : une chaîne de caractères représentant la valeur actuelle de l'attribut. En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
  • Page 256 YAPI_SUCCESS d'erreur (ou context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
  • Page 257 éviter le déclanchement de callbacks HTTP. N'oubliez pas d'appeler la méthode saveToFlash() du module si le réglage doit être préservé. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 258 ) As YColorLed YColorLed nextColorLed( ) YColorLed nextColorLed( ) java YColorLed nextColorLed( ) def nextColorLed( ) function nextColorLed( ) function nextColorLed( ) Retourne : un pointeur sur un objet YColorLed accessible en ligne, ou null lorsque l'énumération est terminée. www.yoctopuce.com...
  • Page 259 Paramètres : callback la fonction de callback à rappeler, ou un pointeur nul. La fonction de callback doit accepter deux arguments: l'object fonction dont la valeur a changé, et la chaîne de caractère décrivant la nouvelle valeur publiée. www.yoctopuce.com...
  • Page 260 ) java async Task<int> resetBlinkSeq( ) def resetBlinkSeq( ) function resetBlinkSeq( ) function resetBlinkSeq( ) YColorLed target resetBlinkSeq Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 261 Paramètres : rgb_target couleur RGB désirée à la fin de la transition ms_duration durée de la transition, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 262 Paramètres : newval un entier représentant la couleur courante de la LED, en utilisant une couleur HSL spécifiée Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 263 être préservé. saveToFlash() Paramètres : newval une chaîne de caractères représentant le nom logique de la LED RGB. Retourne : YAPI_SUCCESS si l'appel se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 264 LED, en utilisant une couleur RGB (Rouge Vert Bleu) Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 265 Paramètres : newval un entier représentant la couleur que la LED va afficher à l'allumage du module Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 266 Object data) java def set_userData( data) function set_userData( $data) function set_userData( data) Cet attribut n'es pas utilisé directement par l'API. Il est à la disposition de l'appelant pour stocker un contexte. Paramètres : data objet quelconque à mémoriser www.yoctopuce.com...
  • Page 267 La séquence va tourner en boucle jusqu'à ce qu'elle soit stoppée par stopBlinkSeq ou un changement explicite. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 268 ) java async Task<int> stopBlinkSeq( ) def stopBlinkSeq( ) function stopBlinkSeq( ) function stopBlinkSeq( ) YColorLed target stopBlinkSeq Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 269 Cette fonction annule un précédent appel à . N'oubliez pas d'appeler la muteValueCallbacks() méthode du module si le réglage doit être préservé. saveToFlash() Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
  • Page 270 La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout. www.yoctopuce.com...
  • Page 271: Problèmes Courants

    Cette règle va autoriser tous les utilisateurs à accéder en lecture et en écriture aux périphériques Yoctopuce USB. Les droits d'accès pour tous les autres périphériques ne seront pas modifiés. Si ce scénario vous convient il suffit de copier le fichier "...
  • Page 272: Plateformes Arm: Hf Et El

    21.3. Module alimenté mais invisible pour l'OS Si votre Yocto-Color est branché par USB et que sa LED bleue s'allume, mais que le module n'est pas vu par le système d'exploitation, vérifiez que vous utilisez bien un vrai câble USB avec les fils pour les données, et non pas un câble de charge.
  • Page 273: Caractéristiques

    22. Caractéristiques Vous trouverez résumées ci dessous les principales caractéristiques techniques de votre module Yocto-Color Largeur 20 mm Longueur 60 mm Poids Connecteur USB micro-B Canaux Sytème d'exploitation supportés Windows, Linux (Intel + ARM), Mac OS X, Android Drivers Fonctionne sans driver API / SDK / Librairie (USB+TCP) C++, Objective-C, C#, VB .NET, Delphi, Python, Java/Android...
  • Page 274 22. Caractéristiques www.yoctopuce.com...
  • Page 277: Index

    Index Description 25 DisableExceptions, YAPI 128 Accès 101 download, YModule 163 Accessoires 3 Dynamique 89 Activer 102 Dynamiques 121 addHslMoveToBlinkSeq, YColorLed 223 addRgbMoveToBlinkSeq, YColorLed 224 Alimentation 14 EcmaScript 29, 31 Alimenté 266 Éléments 5, 6 Already 266 EnableExceptions, YAPI 129 Android 101, 102, 115 EnableUSBHost, YAPI 130 Another 266...
  • Page 278 get_hardwareId, YColorLed 236 Librairies 121 get_hardwareId, YModule 176 Limitations 27 get_hslColor, YColorLed 237 Linux 265 get_icon2d, YModule 177 load, YColorLed 247 get_lastLogs, YModule 178 load, YModule 197 get_logicalName, YColorLed 238 load_async, YColorLed 249 get_logicalName, YModule 179 load_async, YModule 198 get_luminosity, YModule 180 loadAttribute, YColorLed 248 get_module, YColorLed 239 Localisation 7...
  • Page 279 Sources 89 yHandleEvents 134 startBlinkSeq, YColorLed 260 yInitAPI 135 stopBlinkSeq, YColorLed 261 YModule 157-215 Supportés 119 Yocto-Color 17, 25, 29, 41, 51, 59, 65, 73, 81, 89, 95, 101 Yocto-Firmware 115 Test 7 YoctoHub 115 TestHub, YAPI 148 yPreregisterHub 136...

Table des Matières