Table des Matières

Publicité

Liens rapides

Yocto-PowerRelay-V2
Mode d'emploi

Publicité

Table des Matières
loading

Sommaire des Matières pour Yoctopuce Yocto-PowerRelay-V2

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

    5.1. Paradigme de programmation ..................5.2. Le module Yocto-PowerRelay-V2 ..................5.3. Module ..........................5.4. Relay ........................... 5.5. Quelle interface: Native, DLL ou Service? ............... 5.6. Programmation, par où commencer? ................6. Utilisation du Yocto-PowerRelay-V2 en ligne de commande ...... 6.1. Installation .......................... www.yoctopuce.com...
  • Page 4 8.4. Intégration de la librairie Yoctopuce en C++ ..............9. Utilisation du Yocto-PowerRelay-V2 en C# ............9.1. Installation .......................... 9.2. Utilisation l'API yoctopuce dans un projet Visual C# ............. 9.3. Contrôle de la fonction Relay ................... 9.4. Contrôle de la partie module ....................
  • Page 5 14. Utilisation du Yocto-PowerRelay-V2 en JavaScript / EcmaScript ..14.1. Fonctions bloquantes et fonctions asynchrones en JavaScript ....... 14.2. Utiliser la librairie Yoctopuce pour JavaScript / EcmaScript 2017 ......14.3. Contrôle de la fonction Relay ..................14.4. Contrôle de la partie module ..................
  • Page 6 24.5. Module alimenté mais invisible pour l'OS ..............24.6. Another process named xxx is already using yAPI ............ 24.7. Déconnexions, comportement erratique ..............24.8. RegisterHub d'un VirtualHub déconnecte le précédent ..........24.9. Commandes ignorées ....................24.10. Module endommagé ....................25. Caractéristiques ......................www.yoctopuce.com...
  • Page 7: Introduction

    Les ingénieurs Yoctopuce se sont donné beaucoup de mal pour que votre Yocto-PowerRelay-V2 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, ou si vous avez besoin d'informations supplémentaires, n'hésitez pas à...
  • Page 8: Informations De Sécurité

    Suisse 1.1. Informations de sécurité Le Yocto-PowerRelay-V2 est conçu pour respecter la norme de sécurité IEC 61010-1:2010. Il ne causera pas de danger majeur pour l'opérateur et la zone environnante, même en condition de premier défaut, pour autant qu'il soit intégré et utilisé conformément aux instructions contenues dans cette documentation, et en particulier dans cette section.
  • Page 9: Environnement

    1. Introduction Environnement Le Yocto-PowerRelay-V2 n'est pas certifié pour utilisation dans les zones dangereuses, ni pour les environnements explosifs. Les conditions environnementales assignées sont décrites ci-dessous. Classe de protection II (IEC 61140) Le module Yocto-PowerRelay-V2 est protégé par une double isolation ou par une isolation reforcée.
  • Page 10 2000m. L'utilisation à des altitudes supérieures demande un examen approfondi des paramètres de sécurité en fonction de l'application. Le Yocto-PowerRelay-V2 peut fonctionner sans risque sur toute la plage de tension et de courant spécifiée en conditions de température normale selon IEC61010-1, soit 5°C à 40°C. Le Yocto- PowerRelay-V2 est prévu pour pouvoir fonctionner aussi sur une plage de températures étendue,...
  • 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 USB 2.0 au format micro-B. Attention, le connecteur USB est simplement soudé en surface et peut être arraché si la prise USB venait à...
  • Page 12: Le Yocto-Bouton

    . Si cela arrivait débranchez puis rebranchez le module. Si le problème venait à se reproduire vérifiez que le module contient bien la dernière version du firmware, et dans l'affirmative contactez le support Yoctopuce La sonde de courant Chaque Yocto-module est capable de mesurer sa propre consommation de courant sur le bus USB.
  • Page 13: Les Éléments Spécifiques

    2.2. Les éléments spécifiques Le bornier à vis Le relais embarqué par le module Yocto-PowerRelay-V2 est un commutateur, c'est à dire qu'il peut commuter le courant qu'il reçoit en entrée sur l'une de ses deux sorties. C'est pourquoi le bornier a trois pôles: l'entrée se trouve au milieu et les sorties sont à...
  • Page 14: Les Leds D'indication De Sortie Active

    LED ont tendance à éclairer un assez fort, mais il est possible de régler leur luminosité par logiciel. 2.3. Isolation électrique de sécurité Le Yocto-PowerRelay-V2 est conçu sous forme de deux circuits électriques bien distincts, séparés par une barrière d'isolation renforcée . Cette barrière d'isolation joue un rôle essentiel pour la sécurité...
  • Page 15: Accessoires Optionnels

    Yoctopuce. Vis et entretoises Pour fixer le module Yocto-PowerRelay-V2 à un support, vous pouvez placer des petites vis de 2.5mm avec une tête de 4.5mm au maximum dans les trous prévus ad-hoc. Il est conseillé de les visser dans des entretoises filetées, que vous pourrez fixer sur le support. Vous trouverez plus de détail à...
  • Page 16 Yoctopuce et se comporte exactement comme un ordinateur normal qui ferait tourner un VirtualHub. Connecteurs 1.27mm (ou 1.25mm) Si vous désirez raccorder le module Yocto-PowerRelay-V2 à un Micro-hub USB ou a un YoctoHub en évitant l'encombrement d'un vrai cable USB, vous pouvez utiliser les 4 pads au pas 1.27mm juste derrière le connecteur USB.
  • Page 17: Premiers Pas

    Linux est fait via l'API standard de la libusb, disponible aussi pour FreeBSD par exemple. Yoctopuce teste régulièrement le bon fonctionnement des modules sur un kernel Linux 4.15 (Ubuntu 18.04 LTS).
  • Page 18: Test De La Connectivité Usb

    Le bon câble est disponible sur le shop de Yoctopuce. Vous devez raccorder votre module Yocto-PowerRelay-V2 à l'aide d'un cable USB 2.0 de type A - micro B Si vous branchez un hub USB entre l'ordinateur et le module Yocto-PowerRelay-V2, prenez garde à...
  • Page 19: Localisation

    . Lancez le Virtual Hub en ligne de commande, ouvrez votre browser préféré et tapez l'adresse http://127.0.0.1:4444. Vous devriez voir apparaître la liste des modules Yoctopuce raccordés à votre ordinateur. Liste des modules telle qu'elle apparaît dans votre browser. 3.3. Localisation Il est alors possible de localiser physiquement chacun des modules affichés en cliquant sur le bouton...
  • Page 20: Luminosité

    Nom logique des fonctions Chaque module Yoctopuce a un numéro de série, et un nom logique. De manière analogue, chaque fonction présente sur chaque module Yoctopuce a un nom matériel et un nom logique, ce dernier pouvant être librement choisi par l'utilisateur. Utiliser des noms logiques pour les fonctions permet une plus grande flexibilité...
  • Page 21: Montage Et Connectique

    à l'intérieur. Exemples de montage sur un support. Le module Yocto-PowerRelay-V2 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 22: Exemple De Montages

    4. Montage et connectique 4.2. Exemple de Montages Si vous vous vous êtes procuré un module Yocto-PowerRelay-V2, c'est probablement parce que vous savez déjà exactement ce que vous comptez en faire. Néanmoins vous trouverez ci après quelques exemples de câblage parmi les plus simples.
  • Page 23: Compatibilité Électromagnétique (Emi)

    2000mA, ça ne marche pas trop mal, et cela fait rarement des dégâts. Ce que vous devez en retenir: si vous branchez des modules Yoctopuce via un ou des hubs non alimentés, vous n'aurez aucun garde-fou et dépendrez entièrement du soin qu'aura mis le fabricant de votre ordinateur pour fournir un maximum de courant sur les ports USB et signaler les excès...
  • Page 24 www.yoctopuce.com...
  • Page 25: 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 26: 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 27: Le Module Yocto-Powerrelay-V2

    5.2. Le module Yocto-PowerRelay-V2 Le module Yocto-PowerRelay-V2 offre une seule instance de la fonction Relay, correspondant à l'unique relais de puissance présent sur le module. module : Module...
  • Page 28 Chaine de caractères contenant le numéro de série, unique et préprogrammé en usine. Pour un module Yocto-PowerRelay-V2, ce numéro de série commence toujours par RELAYHI2. Il peut servir comme point de départ pour accéder par programmation à un module particulier.
  • Page 29: Relay

    Interface pour intéragir avec les relais, disponibles par exemple dans le Yocto-LatchedRelay, le Yocto-MaxiPowerRelay, le Yocto-PowerRelay-V3 et le Yocto-Relay La classe permet de piloter un relais ou un optocoupleur Yoctopuce. Elle permet de YRelay commuter simplement la sortie, mais aussi de créer des courtes impulsions de durée déterminée.
  • Page 30: Quelle Interface: Native, Dll Ou 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 31 ✔ ✔ C# UWP ✔ ✔ LabVIEW ✔ ✔ Java ✔ ✔ Java pour Android ✔ TypeScript ✔ JavaScript / ECMAScript ✔ ✔ ✔ VisualBasic .Net ✔ ✔ Delphi ✔ ✔ Objective-C Méthode de support pour les différents langages. www.yoctopuce.com...
  • Page 32: Limitation Des Librairies Yoctopuce

    Arrivé à ce point du manuel, vous devriez connaître l'essentiel de la théorie à propos de votre Yocto- PowerRelay-V2. 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 33: Utilisation Du Yocto-Powerrelay-V2 En Ligne De Commande

    6. Utilisation du Yocto-PowerRelay-V2 en ligne de commande Lorsque vous désirez effectuer une opération ponctuelle sur votre Yocto-PowerRelay-V2, comme la lecture d'une valeur, le changement d'un nom logique, etc.. vous pouvez bien sur utiliser le Virtual Hub, mais il existe une méthode encore plus simple, rapide et efficace: l'API en ligne de commande.
  • Page 34: Contrôle De La Fonction Relay

    C:\>executable commande /help Pour obtenir une description détaillée des paramètres d'une commande. 6.3. Contrôle de la fonction Relay Pour contrôler la fonction Relay de votre Yocto-PowerRelay-V2, vous avez besoin de l'exécutable YRelay. Vous pouvez par exemple lancer: C:\>YRelay set_state B Cet exemple utilise la cible "any"...
  • Page 35: Contrôle De La Partie Module

    6. Utilisation du Yocto-PowerRelay-V2 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 36 6. Utilisation du Yocto-PowerRelay-V2 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 37: Utilisation Du Yocto-Powerrelay-V2 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 38: Un Exemple Réel

    7. Utilisation du Yocto-PowerRelay-V2 en Python Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code Python qui utilise la fonction Relay. [...] # On active la détection des modules sur USB errmsg=YRefParam() YAPI.RegisterHub("usb",errmsg)
  • Page 39: Contrôle De La Partie Module

    7. Utilisation du Yocto-PowerRelay-V2 en Python import os, from yocto_api import from yocto_relay import usage(): scriptname = os.path.basename(sys.argv[0]) print("Usage:") print(scriptname + ' <serial_number> [ A | B print(scriptname + ' <logical_name> [ A | B print(scriptname + ' any [ A | B...
  • Page 40 7. Utilisation du Yocto-PowerRelay-V2 en Python = YModule.FindModule(sys.argv[1]) # # use serial or logical name m.isOnline(): if len(sys.argv) > if sys.argv[2].upper() == "ON": m.set_beacon(YModule.BEACON_ON) if sys.argv[2].upper() == "OFF": m.set_beacon(YModule.BEACON_OFF) print("serial: " m.get_serialNumber()) print("logical name: " m.get_logicalName()) print("luminosity: " str(m.get_luminosity())) if m.get_beacon() == YModule.BEACON_ON:...
  • Page 41: Enumeration Des Modules

    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 42 7. Utilisation du Yocto-PowerRelay-V2 en Python peuvent être testées par l'appelant lorsque c'est pertinent. Le nom de la valeur de retour en cas d'erreur pour chaque fonction est systématiquement documenté dans la référence de la librairie. Il suit toujours même logique: méthode...
  • Page 43: Utilisation Du Yocto-Powerrelay-V2 En C

    à la création d'un projet à neuf linké avec les librairies Yoctopuce. 8.1. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code C++ qui utilise la fonction Relay. #include "yocto_api.h"...
  • Page 44 Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés. Imaginons un module Yocto-PowerRelay-V2 avec le numéros de série RELAYHI2-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé...
  • Page 45: Contrôle De La Partie Module

    8. Utilisation du Yocto-PowerRelay-V2 en C++ #include "yocto_api.h" #include "yocto_relay.h" #include <iostream> #include <ctype.h> #include <stdlib.h> using namespace std; static void usage(void) cout << "usage: demo <serial_number> [ A | B ]" << endl; cout << " demo <logical_name> [ A | B ]"...
  • Page 46 8. Utilisation du Yocto-PowerRelay-V2 en C++ cout << "usage: " << << " <serial or logical name> [ON/OFF]" << endl; exit(1); int main(int argc, const char * argv[]) string errmsg; // Setup the API to use local USB devices if(YAPI::RegisterHub("usb",...
  • Page 47 8. Utilisation du Yocto-PowerRelay-V2 en C++ int main(int argc, const char * argv[]) string errmsg; // Setup the API to use local USB devices if(YAPI::RegisterHub("usb", errmsg) != YAPI::SUCCESS) { cerr << "RegisterHub error: " << errmsg << endl; return 1;...
  • Page 48: 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 49: Intégration Au Format Source (Recommandé)

    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 50 Windows. Ce script qui se situe à la racine de la librairie, détecte l'OS et build.bat recompile toutes les librairies ainsi que les exemples correspondant. Ensuite, pour intégrer la librairie dynamique Yoctopuce à votre projet, vous devez inclure le répertoire de la librairie Yoctopuce à votre IncludePath, et ajouter le sous-répertoire de Sources correspondant à...
  • Page 51: Utilisation Du Yocto-Powerrelay-V2 En C

    9.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 52: Contrôle De La Fonction Relay

    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. 9.3. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code C# qui utilise la fonction Relay. [...] // On active la détection des modules sur USB...
  • Page 53 9. Utilisation du Yocto-PowerRelay-V2 en C# relay = YRelay.FindRelay("MonModule.MaFonction"); relay = YRelay.FindRelay("MaFonction"); renvoie un objet que vous pouvez ensuite utiliser à loisir pour contrôler le YRelay.FindRelay relais. isOnline La méthode de l'objet renvoyé par permet de savoir si le isOnline() YRelay.FindRelay...
  • Page 54: Contrôle De La Partie Module

    9. Utilisation du Yocto-PowerRelay-V2 en C# Console.WriteLine("Module not connected"); Console.WriteLine("check identification and USB cable"); YAPI.FreeAPI(); 9.4. 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 55 9. Utilisation du Yocto-PowerRelay-V2 en C# YAPI.FreeAPI(); Chaque propriété du module peut être lue grâce à une méthode du type YModule.get_xxxx , et les propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux...
  • Page 56: 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 57 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 58 www.yoctopuce.com...
  • Page 59: Utilisation Du Yocto-Powerrelay-V2 Avec Labview

    Virtual Instruments (VI) des programmes LabVIEW. Avec la programmation visuelle, dessiner des algorithmes complexes devient très vite fastidieux, c'est pourquoi la librairie Yoctopuce pour LabVIEW a été pensée pour être aussi simple de possible à utiliser. Autrement dit, LabVIEW étant un environnement extrêmement différent des autres langages supportés par l'API Yoctopuce, vous rencontrerez des différences majeures entre l'API LabVIEW et...
  • Page 60: Compatibilité

    Yoctopuce, ces derniers doivent avoir au moins le firmware 37120 LabVIEW pour Linux et MacOS Au moment de l'écriture de ce manuel, l'API Yoctopuce pour LabVIEW n'a été testée que sous Windows. Il y a donc de fortes chances pour qu'elle ne fonctionne tout simplement pas avec les versions Linux et MacOS de LabVIEW.
  • Page 61 Pour pouvoir utiliser les exemples fournis avec l'API, vous aurez avantage à ajouter le répertoire des VIs Yoctopuce dans la liste des répertoires où LabVIEW doit chercher les VIs qu'il n'a pas trouvé. Cette liste est accessible via le menu Tools > Options > Paths > VI Search Path.
  • Page 62: Méthode 2 : Installeur Fourni Avec La Librairie

    à faire en sorte qu'ils ne soit pas effacés tant que vous en aurez besoin. Voici ce que fait exactement l'installeur quand cette option est choisie: • Toute référence à des répertoires contenant une version quelconque de la librairie Yoctopuce sont supprimés de l'option viSearchPath dans le fichier labview.ini.
  • Page 63: Méthode 3 Installation Manuelle Dans La Palette Labview

    Notez cependant que les exemples de programmation ne sont pas copiés. Voici ce que fait l'installeur exactement: • Toute référence à des répertoires contenant une version quelconque de la librairie Yoctopuce sont supprimés de l'option viSearchPath dans le fichier labview.ini.
  • Page 64 \Yoctopuce\API que vous avez créé au point 1 et cliquez sur Current Folder Tous les VIs Yoctopuce vont apparaitre dans la fenêtre Yoctopuce. Par défaut, ils sont triés dans l'ordre alphabétique, mais vous pouvez les arranger comme bon vous semble en les glissant avec la souris.
  • Page 65: Présentation Des Vis Yoctopuce

    Yoctopuce et avec tous les VIs de l'API 10.4. Présentation des VIs Yoctopuce La librairie Yoctopuce pour LabVIEW comprend un VI par classe de l'API Yoctopuce, plus quelques VI spéciaux. Tous les VIs disposent des connecteurs traditionnels Error IN et Error Out.
  • Page 66: Structure Des Vi Correspondant À Une Classe

    à moins que le paramètre async ne soit mis à TRUE. Si async est mis à TRUE, aucune erreur ne sera générée, et les modules Yoctopuce correspondant à cette adresse IP seront automatiquement mis à disposition dès que la machine concernée sera joignable.
  • Page 67: Les Vi Senseurs

    Utilisation du VI YModule pour retrouver les fonctions hébergés sur le même module Les VI senseurs Tous les VI correspondant à des senseurs Yoctopuce ont exactement la même géométrie. Les deux sorties permettent de récupérer la valeur mesurée par le capteur correspondant ainsi que l'unité...
  • Page 68: Fonctionnement Et Utilisation Des Vis

    élevés utiliser la syntaxe (x/s). La fréquence de mise à jour du VI est un paramètre géré par le module Yoctopuce physique. Si plusieurs VI essayent de changer la fréquence d'un même capteur, la configuration retenue sera celle du dernier appel.
  • Page 69 10. Utilisation du Yocto-PowerRelay-V2 avec LabVIEW Utilisation des sorties hardware name et isOnline Les VIs de l'API Yoctopuce ne sont qu'une porte d'entrée sur la mécanique interne de la librairie Yoctopuce. Cette mécanique fonctionne indépendamment des VIs Yoctopuce. En effet, la plupart des communications avec les modules électroniques sont gérées automatiquement en arrière plan.
  • Page 70: Utilisation Des Objets

    VI pour chacune d'entre elles. C'est pourquoi il y a un VI par classe qui expose les deux propriétés que Yoctopuce a jugé les plus utiles, mais cela ne veut pas dire que les autres ne sont pas accessibles.
  • Page 71: Utilisation En Réseau

    Vous trouverez la description de toutes les propriétés, fonctions et méthodes disponibles dans la documentation de l'API .NET Proxy. Utilisation en réseau Sur une même machine, il ne peut y avoir qu'un seul processus qui accède aux modules Yoctopuce locaux directement par USB (url mis à ). Par contre, plusieurs processus peuvent se "usb"...
  • Page 72: Gestion Du Datalogger

    Connexion asynchrone 10.7. Gestion du datalogger Quasiment tous les senseurs Yoctopuce disposent d'un enregistreur de données qui permet de stocker les mesures des senseurs dans la mémoire non volatile du module. La configuration de l'enregistreur de données peut être réalisée avec le VirtualHub, mais aussi à l'aide d'un peu de code...
  • Page 73: Énumération De Fonctions

    10. Utilisation du Yocto-PowerRelay-V2 avec LabVIEW Le VI YDataLoggerContents Extraire les données de l'enregistreur d'un module Yoctopuce est un processus lent qui peut prendre plusieurs dizaines de secondes. C'est pourquoi le VI qui permet cette opération a été conçu pour fonctionner de manière itérative.
  • Page 74: Un Mot Sur Les Performances

    Récupération de la liste de tous les modules connectés 10.9. Un mot sur les performances L'API Yoctopuce pour LabVIEW été optimisée de manière à ce que les tous les VIs et les propriétés de objets Proxy génèrent un minimum de communication avec les modules Yoctopuce. Ainsi vous pouvez les utiliser dans des boucles sans prendre de précaution particulière: vous n'êtes pas obligés...
  • Page 75: Différences Avec Les Autres Api Yoctopuce

    Yoctopuce pour LabVIEW 10.11. Différences avec les autres API Yoctopuce Yoctopuce fait tout son possible pour maintenir une forte cohérence entre les différentes librairies de programmation. Cependant, LabVIEW étant un environnement clairement à part, il en résulte des différences importantes avec les autres librairies.
  • Page 76 www.yoctopuce.com...
  • Page 77: Utilisation Du Yocto-Powerrelay-V2 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. 11.2. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code Java qui utilise la fonction Relay. [...] // On active l'accès aux modules locaux à...
  • Page 78: Un Exemple Réel

    Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés. Imaginons un module Yocto-PowerRelay-V2 avec le numéros de série RELAYHI2-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé...
  • Page 79: Contrôle De La Partie Module

    11. Utilisation du Yocto-PowerRelay-V2 en Java relay = YRelay.FindRelay(args[0]); } else { relay = YRelay.FirstRelay(); (relay == null) { System.out.println("No module connected (check USB cable)"); System.exit(1); try { System.out.println("Switch relay to B"); relay.set_state(YRelay.STATE_B); YAPI.Sleep(1000); System.out.println("Switch relay to A"); relay.set_state(YRelay.STATE_A); } catch...
  • Page 80 11. Utilisation du Yocto-PowerRelay-V2 en Java System.out.println("beacon: ON"); } else { System.out.println("beacon: OFF"); System.out.println("upTime: " + module.get_upTime() / 1000 " sec"); System.out.println("USB current: " + module.get_usbCurrent() + " mA"); System.out.println("logs:\n" + module.get_lastLogs()); } catch (YAPI_Exception ex) { System.out.println(args[1] + " not connected (check identification and USB cable)");...
  • Page 81: Enumeration 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 82 11. Utilisation du Yocto-PowerRelay-V2 en Java suffire dans certains cas. Il faut toutefois être conscient qu'on ne peut pas totalement exclure une erreur se produisant après le , qui pourrait faire planter le programme. isOnline() Dans l'API java, le traitement d'erreur est implémenté au moyen d'exceptions. Vous devrez donc intercepter et traiter correctement ces exceptions si vous souhaitez avoir un projet fiable qui ne crashera pas des que vous débrancherez un module.
  • Page 83: Utilisation Du Yocto-Powerrelay-V2 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 84: 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 85: Lancement Automatique

    12. Utilisation du Yocto-PowerRelay-V2 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 86: Contrôle De La Fonction Relay

    12. Utilisation du Yocto-PowerRelay-V2 avec Android 12.5. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code Java qui utilise la fonction Relay. [...] // On active la détection des modules sur USB YAPI.EnableUSBHost(this);...
  • Page 87 12. Utilisation du Yocto-PowerRelay-V2 avec Android Un exemple réel Lancez votre environnement java et ouvrez le projet correspondant, fourni dans le répertoire Examples/Doc-Examples de la librairie Yoctopuce. Vous reconnaîtrez dans cet exemple l'utilisation des fonctions expliquées ci-dessus, cette fois utilisées avec le décorum nécessaire à en faire un petit programme d'exemple concret.
  • Page 88: Contrôle De La Partie Module

    12. Utilisation du Yocto-PowerRelay-V2 avec Android @Override public void onNothingSelected(AdapterView<?> arg0) /** Called when the user touches the button State A */ public void setStateA(View view) // Do something in response to button click (relay != null) try { relay.setState(YRelay.STATE_A);...
  • Page 89 12. Utilisation du Yocto-PowerRelay-V2 avec Android super.onStart(); try { aa.clear(); YAPI.EnableUSBHost(this); YAPI.RegisterHub("usb"); YModule = YModule.FirstModule(); while != null) { String hwid = r.get_hardwareId(); aa.add(hwid); = r.nextModule(); } catch (YAPI_Exception e) { e.printStackTrace(); // refresh Spinner with detected relay aa.notifyDataSetChanged(); @Override...
  • Page 90 12. Utilisation du Yocto-PowerRelay-V2 avec Android if (on) { module.setBeacon(YModule.BEACON_ON); } else { module.setBeacon(YModule.BEACON_OFF); } catch (YAPI_Exception e) { e.printStackTrace(); Chaque propriété du module peut être lue grâce à une méthode du type YModule.get_xxxx , et les propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux...
  • Page 91 12. Utilisation du Yocto-PowerRelay-V2 avec Android String hwid = r.get_hardwareId(); aa.add(hwid); = r.nextModule(); } catch (YAPI_Exception e) { e.printStackTrace(); // refresh Spinner with detected relay aa.notifyDataSetChanged(); @Override protected void onStop() super.onStop(); YAPI.FreeAPI(); private void DisplayModuleInfo() TextView field; (module == null) return;...
  • Page 92 12. Utilisation du Yocto-PowerRelay-V2 avec Android Enumeration des modules Obtenir la liste des modules connectés se fait à l'aide de la fonction YModule.yFirstModule() qui renvoie le premier module trouvé, il suffit ensuite d'appeler la mehode de cet nextModule() objet pour trouver les modules suivants, et ce tant que la réponse n'est pas un .
  • Page 93: 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 94 www.yoctopuce.com...
  • Page 95: Utilisation Du Yocto-Powerrelay-V2 En Typescript

    JavaScript avant l'exécution, pour être ensuite interprêté par n'importe quel navigateur Web ou par Node.js. Cette librairie de programmation Yoctopuce permet donc de coder des applications JavaScript tout en bénéficiant d'un typage fort. Comme notre librairie EcmaScript, elle utilise les fonctionnalités asynchrones introduites dans la version ECMAScript 2017 et qui sont maintenant disponibles nativement dans tous les environnements JavaScript modernes.
  • Page 96: Utiliser La Librairie Yoctopuce Pour Typescript

    • Installez ensuite TypeScript sur votre machine à l'aide de la commande: npm install -g typescript 2. Connectez-vous ensuite sur le site Web de Yoctopuce et téléchargez les éléments suivants: • La librairie de programmation pour TypeScript • Le programme VirtualHub pour Windows, Mac OS X ou Linux selon l'OS que vous utilisez.
  • Page 97: Contrôle De La Fonction Relay

    13.3. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code TypeScript qui utilise la fonction Relay. // En Node.js, on référence la librairie via son package NPM // En HTML, on utiliserait plutôt un path relatif (selon l'environnement)
  • Page 98: Un Exemple Concret, En Node.js

    à en faire un petit programme d'exemple concret. Si le Yocto-PowerRelay-V2 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 127.0.0.1...
  • Page 99 13. Utilisation du Yocto-PowerRelay-V2 en TypeScript $Id: demo.js 32717 2018-10-19 15:58:17Z seb $ An example that show how to use a Yocto-PowerRelay You can find more information on our web site: Yocto-PowerRelay documentation: https://www.yoctopuce.com/EN/products/yocto-powerrelay/doc.html EcmaScript API Reference: https://www.yoctopuce.com/EN/doc/reference/yoctolib-ecmascript-EN.html *********************************************************************/ import { YAPI, YErrorMsg, YModule } from 'yoctolib-cjs/yocto_api_nodejs.js';...
  • Page 100: 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 plutôt que dans Node.js, changez de répertoire et allez dans example_html/Doc-GettingStarted-Yocto-PowerRelay-V2. Vous y trouverez un fichier html , et un fichier TypeScript similaire au code ci-dessus, app.html...
  • Page 101 13. Utilisation du Yocto-PowerRelay-V2 en TypeScript if(args.length > 1) { if(args[1] == 'ON') { await module.set_beacon(YModule.BEACON_ON); } else { await module.set_beacon(YModule.BEACON_OFF); console.log('serial: '+await module.get_serialNumber()); console.log('logical name: '+await module.get_logicalName()); console.log('luminosity: '+await module.get_luminosity()+'%'); console.log('beacon: (await module.get_beacon() == YModule.BEACON_ON 'ON' : 'OFF')); console.log('upTime: ((await module.get_upTime()/1000)>>0)
  • Page 102: 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 103 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 104 www.yoctopuce.com...
  • Page 105: Utilisation Du Yocto-Powerrelay-V2 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 106: Fonctions Bloquantes Et Fonctions Asynchrones En Javascript

    14. Utilisation du Yocto-PowerRelay-V2 en JavaScript / EcmaScript 14.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 107: 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 108: Compatibilité Avec L'ancienne Librairie Javascript

    14. Utilisation du Yocto-PowerRelay-V2 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 109: Contrôle De La Fonction Relay

    Ce dernier appel asynchrone peut aussi être formulé comme: myModule.get_syncProxy().then(logInfoProxy); 14.3. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code JavaScript qui utilise la fonction Relay. // En Node.js, on utilise la fonction require() // En HTML, on utiliserait &lt;script src="..."&gt;...
  • Page 110 à en faire un petit programme d'exemple concret. Si le Yocto-PowerRelay-V2 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ù...
  • Page 111 14. Utilisation du Yocto-PowerRelay-V2 en JavaScript / EcmaScript relay YRelay.FindRelay(target + ".relay1"); if(await relay.isOnline()) { await relay.set_output(args[1] == "ON" YRelay.OUTPUT_ON : YRelay.OUTPUT_OFF); } else { console.log("Module not connected (check identification and USB cable)\n"); await YAPI.FreeAPI(); if(process.argv.length < 4) { console.log("usage: node demo.js <serial_number> [ ON | OFF ]");...
  • Page 112: Contrôle De La Partie Module

    14. Utilisation du Yocto-PowerRelay-V2 en JavaScript / EcmaScript relay = YRelay.FindRelay(serial+".relay1"); if(await relay.isOnline()) { document.getElementById('msg').value = ''; } else { document.getElementById('msg').value = 'Module not connected'; setTimeout(refresh, 500); window.sw = function(state) relay.set_output(state ? YRelay.OUTPUT_ON : YRelay.OUTPUT_OFF); startDemo(); </script> </head> <body> Module to use: <input...
  • Page 113 14. Utilisation du Yocto-PowerRelay-V2 en JavaScript / EcmaScript if(process.argv.length < 2) { console.log("usage: node demo.js <serial or logicalname> [ ON | OFF ]"); } else { startDemo(process.argv.slice(2)); Chaque propriété du module peut être lue grâce à une méthode du type...
  • Page 114: 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 115 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 116 www.yoctopuce.com...
  • Page 117: Utilisation Du Yocto-Powerrelay-V2 En Php

    Vous n'avez pas besoin d'installer de driver. 15.2. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code PHP qui utilise la fonction Relay. include('yocto_api.php');...
  • Page 118: Un Exemple Réel

    Yocto-PowerRelay-V2. YAPI::RegisterHub La fonction permet d'indiquer sur quelle machine se trouve les modules YAPI::RegisterHub 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 119: Contrôle De La Partie Module

    15. Utilisation du Yocto-PowerRelay-V2 en PHP browser favori. Vous trouverez aussi ce code dans le répertoire Examples/Doc-GettingStarted- Yocto-PowerRelay-V2 de la librairie Yoctopuce. Vous reconnaîtrez dans cet exemple l'utilisation des fonctions expliquées ci-dessus, cette fois utilisées avec le décorum nécessaire à en faire un petit programme d'exemple concret.
  • Page 120 15. Utilisation du Yocto-PowerRelay-V2 en PHP // Use explicit error handling rather than exceptions YAPI::DisableExceptions(); // Setup the API to use the VirtualHub on local machine if(YAPI::RegisterHub('http://127.0.0.1:4444/',$errmsg) != YAPI::SUCCESS) { die("Cannot contact VirtualHub on 127.0.0.1 : ".$errmsg); @$serial = $_GET['serial'];...
  • Page 121 15. Utilisation du Yocto-PowerRelay-V2 en PHP <TITLE>save settings</TITLE> <BODY> <FORM method='get'> <?php include('yocto_api.php'); // Use explicit error handling rather than exceptions YAPI::DisableExceptions(); // Setup the API to use the VirtualHub on local machine if(YAPI::RegisterHub('http://127.0.0.1:4444/',$errmsg) != YAPI::SUCCESS) { die("Cannot contact VirtualHub on 127.0.0.1");...
  • Page 122: 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 123 15. Utilisation du Yocto-PowerRelay-V2 en PHP Les réponses aux requêtes venant des machines du LAN sont routées. Mais les requêtes venant de l'extérieur sont bloquées. Voir Internet sans être vu représente un avantage de sécurité énorme. Cependant, cela signifie qu'a priori, on ne peut pas simplement monter son propre serveur Web publique chez soi pour une installation domotique et offrir un accès depuis l'extérieur.
  • Page 124: Configuration

    15. Utilisation du Yocto-PowerRelay-V2 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 125: Gestion Des Erreurs

    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 126 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 127: Utilisation Du Yocto-Powerrelay-V2 En Visualbasic .Net

    16.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 128: Contrôle De La Fonction Relay

    16.3. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code VisualBasic .NET qui utilise la fonction Relay. [...] ' On active la détection des modules sur USB...
  • Page 129: Lancez Microsoft Visualbasic Et Ouvrez Le Projet Exemple Correspondant, Fourni Dans Le Répertoire

    16. Utilisation du Yocto-PowerRelay-V2 en VisualBasic .NET renvoie un objet que vous pouvez ensuite utiliser à loisir pour contrôler le YRelay.FindRelay relais. isOnline La méthode de l'objet renvoyé par permet de savoir si le isOnline() YRelay.FindRelay module correspondant est présent et en état de marche.
  • Page 130: Contrôle De La Partie Module

    16. Utilisation du Yocto-PowerRelay-V2 en VisualBasic .NET 16.4. 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 131 16. Utilisation du Yocto-PowerRelay-V2 en VisualBasic .NET Module Module1 Sub usage() Console.WriteLine("usage: demo <serial or logical name> <new logical name>") End Sub Sub Main() Dim argv() As String = System.Environment.GetCommandLineArgs() errmsg String "" newname String YModule (argv.Length <> 3) Then usage()
  • Page 132: 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 133: Utilisation Du Yocto-Powerrelay-V2 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 134 [...] Voyons maintenant en détail ce que font ces quelques lignes. yocto_api et yocto_relay 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 yocto_api yocto_relay contenant un relais, comme le Yocto-PowerRelay-V2.
  • Page 135 17. Utilisation du Yocto-PowerRelay-V2 en Delphi program helloworld; {$APPTYPE CONSOLE} uses SysUtils, yocto_api, yocto_relay; Procedure Usage(); exe : string; begin exe:= ExtractFileName(paramstr(0)); WriteLn(exe+' <serial_number> A|B'); WriteLn(exe+' <logical_name> A|B'); WriteLn(exe+' any A|B'); WriteLn(''); WriteLn('Example:'); WriteLn(exe+' any B'); halt; End; procedure setRelayState(relay:TYRelay; state:boolean);...
  • Page 136: Contrôle De La Partie Module

    17. Utilisation du Yocto-PowerRelay-V2 en Delphi 17.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 137 17. Utilisation du Yocto-PowerRelay-V2 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 138: 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 139 17. Utilisation du Yocto-PowerRelay-V2 en Delphi type attendu, et 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.
  • Page 140 www.yoctopuce.com...
  • Page 141: Utilisation Du Yocto-Powerrelay-V2 Avec Universal Windows Platform

    Cependant, l'utilisation des nouvelles API UWP n'est pas sans conséquence: l'API Windows Runtime pour accéder aux ports USB est asynchrone, et par conséquent la librairie Yoctopuce doit aussi être asynchrone. Concrètement les méthodes asynchrones ne retournent pas directement le résultat mais un objet et le résultat peut être obtenu plus tard.
  • Page 142: Installation

    18.2. Installation Téléchargez la librairie Yoctopuce pour Universal Windows Platform depuis le site web de Yoctopuce . Il n'y a pas de programme d'installation, copiez simplement de contenu du fichier zip dans le répertoire de votre choix.
  • Page 143: Contrôle De La Fonction Relay

    18.4. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code c# qui utilise la fonction Relay.
  • Page 144: Un Exemple Concret

    Le projets Visual Studio contient de nombreux fichiers dont la plupart ne sont pas liés à l'utilisation de la librairie Yoctopuce. Pour simplifier la lecture du code nous avons regroupé tout le code qui utilise la librairie dans la classe qui se trouve dans le fichier .
  • Page 145: Contrôle De La Partie Module

    18. Utilisation du Yocto-PowerRelay-V2 avec Universal Windows Platform 18.6. 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 146 18. Utilisation du Yocto-PowerRelay-V2 avec Universal Windows Platform 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 configuration courante dans sa mémoire non volatile. Pour cela il faut utiliser la méthode .
  • Page 147: 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 148 www.yoctopuce.com...
  • Page 149: Utilisation Du Yocto-Powerrelay-V2 En Objective-C

    à vos projets. 19.1. Contrôle de la fonction Relay Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un fragment de code Objective-C qui utilise la fonction Relay. #import "yocto_api.h"...
  • Page 150: Lancez Xcode 4.2 Et Ouvrez Le Projet Exemple Correspondant, Fourni Dans Le Répertoire Examples

    Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés. Imaginons un module Yocto-PowerRelay-V2 avec le numéros de série RELAYHI2-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé...
  • Page 151: Contrôle De La Partie Module

    19. Utilisation du Yocto-PowerRelay-V2 en Objective-C static void usage(void) NSLog(@"usage: demo <serial_number> [ A | B ]"); NSLog(@" demo <logical_name> [ A | B ]"); NSLog(@" demo any [ A | B ] (use any discovered device)"); exit(1); int main(int...
  • Page 152 19. Utilisation du Yocto-PowerRelay-V2 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") == 0) [module setBeacon:Y_BEACON_ON]; else [module setBeacon:Y_BEACON_OFF]; NSLog(@"serial: %@\n", [module serialNumber]);...
  • Page 153: 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 154 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 155: Utilisation Avec Des Langages Non Supportés

    être utilisés par des applications tierces. Dans notre cas, c'est toute la librairie Yoctopuce qui est disponible dans l'Assembly .NET, de sorte à pouvoir être utilisée dans n'importe quel environnement qui supporte le chargement dynamique d'Assembly .NET.
  • Page 156: Exemple D'utilisation Avec Matlab

    20. Utilisation avec des langages non supportés mécanismes de callbacks. A la place, cette librairie offre des objets miroirs, appelés Proxys, qui publient par le biais de Propriétés les principaux attributs des fonctions Yoctopuce tels que la mesure courante, les paramètres de configuration, l'état, etc.
  • Page 157: Virtual Hub Et Http Get

    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 158: 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-PowerRelay-V2 avec le numéro de de série RELAYHI2-12345 et le nom logique monModule. l'URL suivante permettra de connaître l'état du module.
  • Page 159: Accès Aux Données Enregistrées Sur Le Datalogger Par L'interface Rest

    20.4. 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 160 (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; www.yoctopuce.com...
  • Page 161: Inventaire Des Modules

    20. Utilisation avec des langages non supportés end. 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 162: 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 163: Programmation Avancée

    Les exemples sont donnés dans le language le plus populaire auprès des clients de Yoctopuce, à savoir C#. Néanmoins, vous trouverez dans les librairies de programmation pour chaque language des exemples complets illustrant les concepts présentés ici.
  • Page 164 à 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 165: Mise À Jour Du Firmware

    "mise à jour" et sera listé en dessous des modules connectés. 22.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 166: La Librairie De Programmation

    (m.get_productName() == "YoctoHub-Wireless") { m.set_allSettings(default_config); = 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é...
  • Page 167: 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 168: 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 = new YFirmwareUpdate(allBootLoader[0], newfirm, null); status = fw_update.startUpdate(); ..www.yoctopuce.com...
  • Page 169: Référence De L'api De Haut Niveau

    Ce chapitre ne reprend pas en détail les concepts de programmation décrits plus tôt, afin d'offrir une référence plus concise. En cas de doute, n'hésitez pas à retourner au chapitre décrivant en détail de chaque attribut configurable. www.yoctopuce.com...
  • Page 170: La Classe Yapi

    YAPI.EnableUSBHost(osContext) Cette fonction est utilisée uniquement sous Android. YAPI.FreeAPI() Attends que toutes les communications en cours avec les modules Yoctopuce soient terminées puis libère les ressources utilisées par la librairie Yoctopuce. YAPI.GetAPIVersion() Retourne la version de la librairie Yoctopuce utilisée.
  • Page 171 Enregistre une fonction de callback qui sera appelée à chaque fois qu'un module est débranché. YAPI.RegisterHub(url, errmsg) Configure la librairie Yoctopuce pour utiliser les modules connectés sur une machine donnée. YAPI.RegisterHubDiscoveryCallback(hubDiscoveryCallback) Enregistre une fonction de callback qui est appelée chaque fois qu'un hub réseau s'annonce avec un message SSDP.
  • Page 172 Test si un hub est joignable. YAPI.TriggerHubDiscovery(errmsg) Relance une détection des hubs réseau. YAPI.UnregisterHub(url) Configure la librairie Yoctopuce pour ne plus utiliser les modules connectés sur une machine préalablement enregistrer avec RegisterHub. YAPI.UpdateDeviceList(errmsg) Force une mise-à-jour de la liste des modules Yoctopuce connectés.
  • Page 173: 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 174 Désactive le cache de callback HTTP. function ClearHTTPCallbackCacheDir( $bool_removeFiles) Cette méthode désctive la cache de callback HTTP, et permet également d'en effacer le contenu. Paramètres : Vrai pour effacer le contenu du répertoire de cache. bool_removeFiles Retourne : nothing. www.yoctopuce.com...
  • Page 175 DisableExceptions( ) void DisableExceptions( ) DisableExceptions( ) function DisableExceptions( ) async DisableExceptions( ): Promise<void> async 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 176 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 177 (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 178 23. Référence de l'API de haut niveau YAPI.FreeAPI() YAPI YAPI.FreeAPI() Attends que toutes les communications en cours avec les modules Yoctopuce soient terminées puis libère les ressources utilisées par la librairie Yoctopuce. function yFreeAPI( ) void FreeAPI( ) +(void) FreeAPI...
  • Page 179 23. Référence de l'API de haut niveau YAPI.GetAPIVersion() YAPI YAPI.GetAPIVersion() Retourne la version de la librairie Yoctopuce utilisée. function yGetAPIVersion( ) string GetAPIVersion( ) +(NSString*) GetAPIVersion string yGetAPIVersion( ): string function GetAPIVersion( ) As String static String GetAPIVersion( ) static String GetAPIVersion( )
  • Page 180 Cette méthode retourne la durée de mise en cache de tous les attributs des fonctions du module. Note: Cette fonction doit être appelée après yInitAPI Retourne : un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes. www.yoctopuce.com...
  • Page 181 GetDeviceListValidity( ) int GetDeviceListValidity( ) java async Task<int> GetDeviceListValidity( ) GetDeviceListValidity( ) function GetDeviceListValidity( ) async GetDeviceListValidity( ): Promise<number> async GetDeviceListValidity( ) Note: Cette fonction doit être appelée après yInitAPI Retourne : le nombre de secondes entre chaque énumération. www.yoctopuce.com...
  • Page 182 . Pour les machines ARM, l'architecture "Win32" "Win64" . Pour les autres machines Linux, l'architecture est "Armhf32" "Aarch64" "Linux32" . Pour MacOS, l'architecture est "Linux64" "MacOs32" "MacOs64" Retourne : une chaîne de caractères décrivant l'architecture du binaire de la librairie de communication Yoctopuce utilisée. www.yoctopuce.com...
  • Page 183 YAPI.GetDllPath() YAPI YAPI.GetDllPath() Retourne l'emplacement sur le disque des librairies Yoctopuce utilisées. static string GetDllPath( ) Pour les architectures qui demandent l'utilisation de plusieurs DLLs, et en particulier dans le cadre de l'utilisation de la librairie sous forme de .NET Assembly, la chaîne retournée est au format suivant: , où...
  • Page 184 23. Référence de l'API de haut niveau YAPI.GetLog() YAPI YAPI.GetLog() Récupère les messages de logs de la librairie de communication Yoctopuce. static string GetLog( string lastLogLine) static string GetLog( string lastLogLine) Cette méthode permet de récupérer progressivement les messages de logs, ligne par ligne. La méthode doit être appelée en boucle, jusqu'à...
  • Page 185 Ce délai n'affecte que les YoctoHubs et VirtualHub qui sont accessibles par réseau. Par défaut, ce délai est de 20000 millisecondes, mais en fonction de votre réseau il peut être souhaitable de changer ce délai, par exemple, si votre infrastructure réseau utilise une connexion GSM. Retourne : le délai de connexion réseau en millisecondes. www.yoctopuce.com...
  • Page 186 GetTickCount( ) GetTickCount( ): number 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 187: Paramètres

    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 188 23. Référence de l'API de haut niveau YAPI.InitAPI() YAPI YAPI.InitAPI() Initialise la librairie de programmation de Yoctopuce explicitement. function yInitAPI( mode, errmsg) YRETCODE InitAPI( int mode, string errmsg) +(YRETCODE) InitAPI :(int) mode :(NSError**) errmsg integer yInitAPI( mode: integer, var errmsg: string): integer...
  • Page 189: Alternative Plus Tolerante À Yregisterhub

    "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 190 RegisterDeviceArrivalCallback( $arrivalCallback) async RegisterDeviceArrivalCallback( arrivalCallback: YDeviceUpdateCallback| null): Promise<void> async RegisterDeviceArrivalCallback( arrivalCallback) Le callback sera appelé pendant l'éxecution de la fonction , que vous devrez yUpdateDeviceList appeler régulièrement. Paramètres : arrivalCallback une procédure qui prend un YModule en paramètre, ou null www.yoctopuce.com...
  • Page 191 RegisterDeviceRemovalCallback( $removalCallback) async RegisterDeviceRemovalCallback( removalCallback: YDeviceUpdateCallback| null): Promise<void> async RegisterDeviceRemovalCallback( removalCallback) Le callback sera appelé pendant l'éxecution de la fonction , que vous devrez yUpdateDeviceList appeler régulièrement. Paramètres : removalCallback YModule null une procédure qui prend un en paramètre, ou www.yoctopuce.com...
  • Page 192 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 193 "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 194 , que vous devrez appeler régulièrement. yUpdateDeviceList Paramètres : hubDiscoveryCallback une procédure qui prend deux chaîne de caractères en paramètre, le numéro de série et l'URL du hub découvert. Pour supprimer un callback déjà enregistré, www.yoctopuce.com...
  • Page 195 YAPI.RegisterHubWebsocketCallback() YAPI YAPI.RegisterHubWebsocketCallback() Variante de la fonction yRegisterHub() destinée à initialiser l'API Yoctopuce sur une session Websocket existante, dans le cadre d'un callback WebSocket entrant. Paramètres : l'objet WebSocket lié à au callback WebSocket entrant. errmsg une chaîne de caractères passée par référence, dans laquelle sera stocké un éventuel message d'erreur.
  • Page 196 RegisterLogFunction( LogCallback logfun) java void RegisterLogFunction( LogHandler logfun) RegisterLogFunction( logfun) async RegisterLogFunction( logfun: YLogCallback): Promise<number> async 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 197 à la librairie pour forcer l'utilisation d'une SelectArchitecture() architecture spécifiée. Paramètres : arch une chaîne de caractère spécifiant l'architecture à utiliser. Les valeurs possibles sont "armhf" "armel" "aarch64" "i386" "x86_64" "32bit" "64bit" Retourne : rien. En cas d'erreur, déclenche une exception. www.yoctopuce.com...
  • Page 198 USB. Ce paramètre n'affecte pas les callbacks de changement de valeur Note: Cette fonction doit être appelée après yInitAPI Paramètres : un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en cacheValidityMs millisecondes. www.yoctopuce.com...
  • Page 199 (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 200 à un réseau GSM où le trafic est facturé. Ce paramètre n'affecte pas les modules connectés par USB, ni le fonctionnement des callback de connexion/déconnexion de module. Note: Cette fonction doit être appelée après yInitAPI Paramètres : nombre de secondes entre chaque énumération. deviceListValidity www.yoctopuce.com...
  • Page 201 Il est recommandé d'utiliser un répertoire qui n'est pas accessible depuis le serveur Web, car la librairie va y stocker des données provenant des modules Yoctopuce. Note : Cette fonctionnalité est supportée par les YoctoHub et VirtualHub depuis la version 27750 Paramètres :...
  • Page 202 Ce délai n'affecte que les YoctoHubs et VirtualHub qui sont accessibles par réseau. Par défaut ce délai est de 20000 millisecondes, mais en fonction de votre réseau il peut être souhaitable de changer ce délai, par exemple si votre infrastructure réseau utilise une connexion GSM. Paramètres : networkMsTimeout le délais de connexion réseau en millisecondes. www.yoctopuce.com...
  • Page 203 ê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 204 ê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 205 à lire périodiquement les informations en provenance des modules Yoctopuce en appelant la fonction yHandleEvents() afin de se maintenir à jour. 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 206 é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 207 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 208 23. Référence de l'API de haut niveau YAPI.UnregisterHub() YAPI YAPI.UnregisterHub() Configure la librairie Yoctopuce pour ne plus utiliser les modules connectés sur une machine préalablement enregistrer avec RegisterHub. function yUnregisterHub( url) void UnregisterHub( string url) +(void) UnregisterHub :(NSString *) yUnregisterHub( url: string)
  • Page 209 23. Référence de l'API de haut niveau YAPI.UpdateDeviceList() YAPI YAPI.UpdateDeviceList() Force une mise-à-jour de la liste des modules Yoctopuce connectés. function yUpdateDeviceList( errmsg) YRETCODE UpdateDeviceList( string errmsg) +(YRETCODE) UpdateDeviceList :(NSError**) errmsg integer yUpdateDeviceList( var errmsg: string): integer function UpdateDeviceList( ByRef...
  • Page 210 YAPI.UpdateDeviceList_async() YAPI YAPI.UpdateDeviceList_async() Force une mise-à-jour de la liste des modules Yoctopuce connectés. function yUpdateDeviceList_async( callback, context) 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é connecté ou déconnecté, et le cas échéant appeler les fonctions yRegisterHub de callback définies par l'utilisateur.
  • Page 211: La Classe Ymodule

    23.2. La classe YModule Interface de contrôle des paramètres généraux des modules Yoctopuce La classe est utilisable avec tous les modules USB de Yoctopuce. Elle permet de contrôler YModule les paramètres généraux du module, et d'énumérer les fonctions fournies par chaque module.
  • Page 212 Retourne le code d'erreur correspondant à la dernière erreur survenue lors de l'utilisation de l'objet module. module→get_firmwareRelease() Retourne la version du logiciel embarqué du module. module→get_functionIds(funType) Retourne les identifiants matériels des fonctions correspondant au type passé en argument. module→get_hardwareId() Retourne l'identifiant unique du module. module→get_icon2d() www.yoctopuce.com...
  • Page 213 Met en cache les valeurs courantes du module, avec une durée de validité spécifiée. module→load_async(msValidity, callback, context) Met en cache les valeurs courantes du module, avec une durée de validité spécifiée. module→log(text) Ajoute un message arbitraire dans les logs du module. www.yoctopuce.com...
  • Page 214 Prepare une mise à jour de firmware du module. 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 215 Retourne : YModule un objet de classe qui permet ensuite de contrôler le module ou d'obtenir de plus amples informations sur le module. www.yoctopuce.com...
  • Page 216 Paramètres : yctx un contexte YAPI func une chaîne de caractères qui référence le module sans ambiguïté, par exemple MyDevice.module Retourne : YModule un objet de classe qui permet ensuite de contrôler le module. www.yoctopuce.com...
  • Page 217 FirstModule( ): YModule | null static FirstModule( ) Utiliser la fonction pour itérer sur les autres modules. YModule.nextModule() Retourne : un pointeur sur un objet YModule , correspondant au premier module accessible en ligne, ou null aucun module n'a été trouvé. www.yoctopuce.com...
  • Page 218 23. Référence de l'API de haut niveau YModule module→Beacon état de la balise de localisation. int Beacon Modifiable. Allume ou éteint la balise de localisation du module. www.yoctopuce.com...
  • Page 219 23. Référence de l'API de haut niveau YModule module→FirmwareRelease Version du logiciel embarqué du module. string FirmwareRelease www.yoctopuce.com...
  • Page 220 23. Référence de l'API de haut niveau YModule module→FunctionId Identifiant matériel de la nième fonction du module. string FunctionId @param functionIndex : l'index de la fonction pour laquelle l'information est désirée, en commençant à 0 pour la première fonction. www.yoctopuce.com...
  • Page 221 23. Référence de l'API de haut niveau YModule module→HardwareId Identifiant unique du module. string HardwareId L'identifiant unique est composé du numéro de série du module suivi de la chaîne ".module". www.yoctopuce.com...
  • Page 222 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é. www.yoctopuce.com...
  • Page 223 Nom logique du module. string LogicalName Modifiable. Change le nom logique du module. Vous pouvez utiliser yCheckLogicalName() pour vérifier si votre paramètre est valide. N'oubliez pas d'appeler la méthode du module saveToFlash() si le réglage doit être préservé. www.yoctopuce.com...
  • Page 224 Luminosité des leds informatives du module (valeur entre 0 et 100). int Luminosity Modifiable. Modifie la luminosité des leds informatives du module. Le paramêtre est une valeur entre 0 et 100. N'oubliez pas d'appeler la méthode du module si le réglage doit être saveToFlash() préservé. www.yoctopuce.com...
  • Page 225 23. Référence de l'API de haut niveau YModule module→ProductId Identifiant USB du module, préprogrammé en usine. int ProductId www.yoctopuce.com...
  • Page 226 23. Référence de l'API de haut niveau YModule module→ProductName Nom commercial du module, préprogrammé en usine. string ProductName www.yoctopuce.com...
  • Page 227 23. Référence de l'API de haut niveau YModule module→ProductRelease Numéro uméro de révision du module hardware, préprogrammé en usine. int ProductRelease La révision originale du retourne la valeur 1, la révision B retourne la valeur 2, etc. www.yoctopuce.com...
  • Page 228 23. Référence de l'API de haut niveau YModule module→SerialNumber Numéro de série du module, préprogrammé en usine. string SerialNumber www.yoctopuce.com...
  • Page 229 Retourne : le path du fichier .byn à 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 230 ) function clearCache( ) async clearCache( ): Promise<void> async 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 231 String describe( ) java describe( ) function describe( ) async describe( ): Promise<string> async 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 232: En Cas D'erreur, Déclenche Une Exception Ou Retourne

    Promise<Uint8Array> async download( pathname) byte[] download( string pathname) string download( string 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 233 à 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 234 ) int functionCount( ) java functionCount( ) function functionCount( ) async functionCount( ): Promise<number> async 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 235 à 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 236 à 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 237 à 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 238 à 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 239 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 240 ): Promise<YModule_Beacon> async get_beacon( ) int get_beacon( ) int get_beacon( ) YModule target get_beacon Retourne : YModule.BEACON_OFF YModule.BEACON_ON soit , soit , selon l'état de la balise de localisation En cas d'erreur, déclenche une exception ou retourne YModule.BEACON_INVALID www.yoctopuce.com...
  • Page 241 ) get_errorMessage( ): string 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 242 ) get_errorType( ): number 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 243 ' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YModule.FIRMWARERELEASE_INVALID www.yoctopuce.com...
  • Page 244 $funType) async get_functionIds( funType: string): Promise<string[] async get_functionIds( funType) string[] get_functionIds( string funType) vector<string> get_functionIds( string 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 245 ) string get_hardwareId( ) string get_hardwareId( ): string async Task<string> get_hardwareId( ) YModule target 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 246 ) string 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 247 ) 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 ou retourne YAPI_INVALID_STRING www.yoctopuce.com...
  • Page 248 ) async get_logicalName( ): Promise<string> async get_logicalName( ) string get_logicalName( ) string 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 YModule.LOGICALNAME_INVALID www.yoctopuce.com...
  • Page 249 ): Promise<number> async get_luminosity( ) int get_luminosity( ) int 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 YModule.LUMINOSITY_INVALID www.yoctopuce.com...
  • Page 250 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 251 ' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YModule.PERSISTENTSETTINGS_INVALID www.yoctopuce.com...
  • Page 252 ) async get_productId( ): Promise<number> async get_productId( ) int get_productId( ) int 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 YModule.PRODUCTID_INVALID www.yoctopuce.com...
  • Page 253 ): Promise<string> async get_productName( ) string get_productName( ) string 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 YModule.PRODUCTNAME_INVALID www.yoctopuce.com...
  • Page 254 La révision originale du retourne la valeur 1, la révision B retourne la valeur 2, etc. Retourne : un entier représentant le numéro uméro de révision du module hardware, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne YModule.PRODUCTRELEASE_INVALID www.yoctopuce.com...
  • Page 255 ' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YModule.REBOOTCOUNTDOWN_INVALID www.yoctopuce.com...
  • Page 256 ): Promise<string> async get_serialNumber( ) string get_serialNumber( ) string 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 YModule.SERIALNUMBER_INVALID www.yoctopuce.com...
  • Page 257 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 258: Retourne Le Numbre De Millisecondes Écoulées Depuis La Mise Sous Tension Du Module

    ): Promise<number> async get_upTime( ) long get_upTime( ) s64 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 YModule.UPTIME_INVALID www.yoctopuce.com...
  • Page 259 ): Promise<string> async get_url( ) string get_url( ) string 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 260 ): Promise<number> async get_usbCurrent( ) int get_usbCurrent( ) int 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 YModule.USBCURRENT_INVALID www.yoctopuce.com...
  • Page 261 ) function get_userData( ) async get_userData( ): Promise<object|null> async 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 262 ) 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 YModule.USERVAR_INVALID www.yoctopuce.com...
  • Page 263 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 264 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 false si le module est joignable, sinon www.yoctopuce.com...
  • Page 265 à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
  • Page 266 Paramètres : un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en msValidity 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 267 YAPI.SUCCESS d'erreur (ou contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback context Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
  • Page 268 ê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 269 Attention, vous ne pouvez faire aucune supposition sur l'ordre dans lequel les modules sont retournés. Si vous souhaitez retrouver un module spécifique, utilisez Module.findModule() avec un hardwareID ou un nom logique. Retourne : YModule null un pointeur sur un objet accessible en ligne, ou lorsque l'énumération est terminée. www.yoctopuce.com...
  • Page 270 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 271 La fonction de callback doit accepter deux arguments: l’objet YModule dont la balise a changé, et un entier représentant l'état de la balise de localisation. Paramètres : callback null la fonction de callback à rappeler, ou www.yoctopuce.com...
  • Page 272 ConfigChangeCallback callback) int registerConfigChangeCallback( ConfigChangeCallback callback) java async Task<int> registerConfigChangeCallback( ConfigChangeCallback callback) registerConfigChangeCallback( callback) function registerConfigChangeCallback( $callback) async registerConfigChangeCallback( callback: YModuleConfigChangeCallback | null): Promise<number> async registerConfigChangeCallback( callback) Paramètres : callback YModule null une procédure qui prend un en paramètre, ou www.yoctopuce.com...
  • Page 273 $callback) async registerLogCallback( callback: YModuleLogCallback | null): Promise<number> async 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 274 ) async revertFromFlash( ): Promise<number> async revertFromFlash( ) int revertFromFlash( ) int 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 275 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 276 être préservés. saveToFlash() Paramètres : un objet binaire avec touts les paramètres settings 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 277 être préservés. Paramètres : un buffer binaire avec touts les paramètres settings 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 278 YModule target set_beacon newval Paramètres : newval soit YModule.BEACON_OFF , soit YModule.BEACON_ON 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 279 ê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 280 être préservé. Paramètres : un entier représentant la luminosité des leds informatives du module newval 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 281 $data) async set_userData( data: object|null): Promise<void> async 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 282 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 283 LongInt triggerConfigChangeCallback( ): LongInt function triggerConfigChangeCallback( ) As Integer int triggerConfigChangeCallback( ) int triggerConfigChangeCallback( ) java async Task<int> triggerConfigChangeCallback( ) triggerConfigChangeCallback( ) function triggerConfigChangeCallback( ) async triggerConfigChangeCallback( ): Promise<number> async triggerConfigChangeCallback( ) int triggerConfigChangeCallback( ) int triggerConfigChangeCallback( ) YModule target triggerConfigChangeCallback www.yoctopuce.com...
  • Page 284 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 285 Cette méthode retourne un object qui est utilisé pour mettre à jour le firmware du YFirmwareUpdate module. Paramètres : path le path du fichier .byn à utiliser Retourne : YFirmwareUpdate un object ou NULL en cas d'erreur www.yoctopuce.com...
  • Page 286 à 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 : YFirmwareUpdate un object ou NULL en cas d'erreur www.yoctopuce.com...
  • Page 287 La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback context Retourne : rien du tout. www.yoctopuce.com...
  • Page 288: La Classe Yrelay

    Interface pour intéragir avec les relais, disponibles par exemple dans le Yocto-LatchedRelay, le Yocto- MaxiPowerRelay, le Yocto-PowerRelay-V3 et le Yocto-Relay La classe permet de piloter un relais ou un optocoupleur Yoctopuce. Elle permet de commuter YRelay simplement la sortie, mais aussi de créer des courtes impulsions de durée déterminée. Pour les modules dotés de deux sorties par relais, les deux sorties sont appelées A et B, la sortie A...
  • Page 289 Retourne un identifiant global du relais au format relay→get_functionDescriptor() YFUN_DESCR Retourne un identifiant unique de type correspondant à la fonction. relay→get_functionId() Retourne l'identifiant matériel du relais, sans référence au module. relay→get_hardwareId() SERIAL.FUNCTIONID Retourne l'identifiant matériel unique du relais au format relay→get_logicalName() www.yoctopuce.com...
  • Page 290 Retourne le temps maximal (en ms) pendant lequel le relais peut rester dans l'état B avant de basculer automatiquement dans l'état A. relay→get_module() YModule Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. relay→get_module_async(callback, context) Retourne l'objet YModule correspondant au module Yoctopuce qui héberge la fonction.
  • Page 291 Inverse la position du relais. relay→unmuteValueCallbacks() Réactive l'envoi de chaque changement de la valeur publiée au hub parent. relay→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 292 à l'initialisation de de l'application. Paramètres : func une chaîne de caractères qui référence le relais sans ambiguïté, par exemple YLTCHRL1.relay1 Retourne : YRelay un objet de classe qui permet ensuite de contrôler le relais. www.yoctopuce.com...
  • Page 293 Paramètres : yctx un contexte YAPI func une chaîne de caractères qui référence le relais sans ambiguïté, par exemple YLTCHRL1.relay1 Retourne : YRelay un objet de classe qui permet ensuite de contrôler le relais. www.yoctopuce.com...
  • Page 294 FirstRelay( ) Utiliser la fonction pour itérer sur les autres relais. YRelay.nextRelay() Retourne : un pointeur sur un objet YRelay , correspondant au premier relais accessible en ligne, ou null si il n'y a pas de relais disponibles. www.yoctopuce.com...
  • Page 295 YRelay.nextRelay() Paramètres : yctx un contexte YAPI. Retourne : un pointeur sur un objet YRelay , correspondant au premier relais accessible en ligne, ou null si il n'y a pas de relais disponibles. www.yoctopuce.com...
  • Page 296 Chaque chaîne retournée peut être passée en argument à la méthode pour YRelay.FindRelay obtenir une objet permettant d'intéragir avec le module correspondant. Retourne : un tableau de chaînes de caractères, contenant les identifiants matériels de chaque fonction disponible trouvée. www.yoctopuce.com...
  • Page 297 23. Référence de l'API de haut niveau YRelay relay→AdvertisedValue Courte chaîne de caractères représentant l'état courant de la fonction. string AdvertisedValue www.yoctopuce.com...
  • Page 298 Identifiant global de la fonction au format NOM_MODULE.NOM_FONCTION string FriendlyName Le chaîne retournée utilise soit les noms logiques du module et de la fonction si ils sont définis, soit respectivement le numéro de série du module et l'identifant matériel de la fonction (par exemple: MyCustomName.relay1 www.yoctopuce.com...
  • Page 299 23. Référence de l'API de haut niveau YRelay relay→FunctionId Identifiant matériel du relais, sans référence au module. string FunctionId Par example relay1 www.yoctopuce.com...
  • Page 300 23. Référence de l'API de haut niveau YRelay relay→HardwareId Identifiant matériel unique de la fonction au format SERIAL.FUNCTIONID string HardwareId L'identifiant unique est composé du numéro de série du module et de l'identifiant matériel de la fonction (par example RELAYLO1-123456.relay1 www.yoctopuce.com...
  • Page 301 Si les valeurs des attributs en cache de la fonction 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é. www.yoctopuce.com...
  • Page 302 23. Référence de l'API de haut niveau YRelay relay→LogicalName Nom logique de la fonction. string LogicalName Modifiable. Vous pouvez utiliser yCheckLogicalName() pour vérifier si votre paramètre est valide. N'oubliez pas d'appeler la méthode du module si le réglage doit être préservé. saveToFlash() www.yoctopuce.com...
  • Page 303 Temps maximal (en ms) pendant lequel le relais peut rester dans l'état A avant de basculer automatiquement dans l'état B. long MaxTimeOnStateA Zéro signifie qu'il n'y a pas de limitation. Modifiable. Zéro signifie qu'il n'y a pas de limitation. N'oubliez pas d'appeler la méthode du module si le réglage doit être préservé. saveToFlash() www.yoctopuce.com...
  • Page 304 Temps maximal (en ms) pendant lequel le relais peut rester dans l'état B avant de basculer automatiquement dans l'état A. long MaxTimeOnStateB Zéro signifie qu'il n'y a pas de limitation. Modifiable. Zéro signifie qu'il n'y a pas de limitation. N'oubliez pas d'appeler la méthode du module si le réglage doit être préservé. saveToFlash() www.yoctopuce.com...
  • Page 305 23. Référence de l'API de haut niveau YRelay relay→SerialNumber Numéro de série du module, préprogrammé en usine. string SerialNumber www.yoctopuce.com...
  • Page 306 23. Référence de l'API de haut niveau YRelay relay→State état du relais (A pour la position de repos, B pour l'état actif). int State Modifiable. www.yoctopuce.com...
  • Page 307 état du relais au démarrage du module (A pour la position de repos, B pour l'état actif, UNCHANGED pour laisser le relais tel quel). int StateAtPowerOn Modifiable. N'oubliez pas d'appeler la méthode saveToFlash() du module sinon la modification n'aura aucun effet. www.yoctopuce.com...
  • Page 308 ) function clearCache( ) async clearCache( ): Promise<void> async clearCache( ) Invalide le cache des valeurs courantes du relais. Force le prochain appel à une méthode get_xxx() ou loadxxx() pour charger les les données depuis le module. www.yoctopuce.com...
  • Page 309: Paramètres

    Paramètres : ms_delay delai d'attente avant l'impulsion, en millisecondes ms_duration durée de l'impulsion, 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 310 î n e c a r a c t è r e s d é c r i v a n t r e l a i s ( e x : Relay(MyCustomName.relay1)=RELAYLO1-123456.relay1 www.yoctopuce.com...
  • Page 311: En Cas D'erreur, Déclenche Une Exception Ou Retourne

    ): Promise<string> async get_advertisedValue( ) string get_advertisedValue( ) string get_advertisedValue( ) YRelay target get_advertisedValue Retourne : une chaîne de caractères représentant la valeur courante du relais (pas plus de 6 caractères). En cas d'erreur, déclenche une exception ou retourne YRelay.ADVERTISEDVALUE_INVALID www.yoctopuce.com...
  • Page 312 Si aucune impulsion n'est programmée, retourne zéro. Retourne : un entier représentant le nombre de millisecondes restantes avant le déclenchement d'une impulsion préprogrammée par un appel à delayedPulse() En cas d'erreur, déclenche une exception ou retourne YRelay.COUNTDOWN_INVALID www.yoctopuce.com...
  • Page 313 ) get_errorMessage( ): string 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 relais.
  • Page 314 ) get_errorType( ): number 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 relais.
  • Page 315: Retourne Un Identifiant Global Du Relais Au Format

    (par exemple: MyCustomName.relay1 Retourne : une chaîne de caractères identifiant le relais en utilisant les noms logiques (ex: MyCustomName.relay1 En cas d'erreur, déclenche une exception ou retourne YRelay.FRIENDLYNAME_INVALID www.yoctopuce.com...
  • Page 316 é 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$CLASSNAME$.FUNCTIONDESCRIPTOR_INVALID www.yoctopuce.com...
  • Page 317 ) async get_functionId( ): Promise<string> async get_functionId( ) string get_functionId( ) string get_functionId( ) Par example relay1 Retourne : relay1 une chaîne de caractères identifiant le relais (ex: En cas d'erreur, déclenche une exception ou retourne YRelay.FUNCTIONID_INVALID www.yoctopuce.com...
  • Page 318: Retourne L'identifiant Matériel Unique Du Relais Au Format

    L'identifiant unique est composé du numéro de série du module et de l'identifiant matériel du relais (par example RELAYLO1-123456.relay1 Retourne : une chaîne de caractères identifiant le relais (ex: RELAYLO1-123456.relay1 En cas d'erreur, déclenche une exception ou retourne YRelay.HARDWAREID_INVALID www.yoctopuce.com...
  • Page 319 ) async get_logicalName( ): Promise<string> async get_logicalName( ) string get_logicalName( ) string get_logicalName( ) YRelay target get_logicalName Retourne : une chaîne de caractères représentant le nom logique du relais. En cas d'erreur, déclenche une exception ou retourne YRelay.LOGICALNAME_INVALID www.yoctopuce.com...
  • Page 320 Zéro signifie qu'il n'y a pas de limitation. Retourne : un entier représentant le temps maximal (en ms) pendant lequel le relais peut rester dans l'état A avant de basculer automatiquement dans l'état B En cas d'erreur, déclenche une exception ou retourne YRelay.MAXTIMEONSTATEA_INVALID www.yoctopuce.com...
  • Page 321 Zéro signifie qu'il n'y a pas de limitation. Retourne : un entier représentant le temps maximal (en ms) pendant lequel le relais peut rester dans l'état B avant de basculer automatiquement dans l'état A En cas d'erreur, déclenche une exception ou retourne YRelay.MAXTIMEONSTATEB_INVALID www.yoctopuce.com...
  • Page 322 23. Référence de l'API de haut niveau YRelay relay→get_module() relay→module() Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. YModule function get_module( ) YModule * get_module( ) -(YModule*) module TYModule get_module( ): TYModule function get_module( ) As YModule YModule get_module( )
  • Page 323 23. Référence de l'API de haut niveau YRelay relay→get_module_async() relay→module_async() Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. YModule function get_module_async( callback, context) Si la fonction ne peut être trouvée sur aucun module, l'instance de retournée ne sera pas YModule joignable.
  • Page 324 ) int get_output( ) YRelay target get_output Retourne : YRelay.OUTPUT_OFF YRelay.OUTPUT_ON soit , soit , selon l'état de la sortie du relais, lorsqu'il est utilisé comme un simple interrupteur En cas d'erreur, déclenche une exception ou retourne YRelay.OUTPUT_INVALID www.yoctopuce.com...
  • Page 325 Si aucune impulsion n'est en cours, retourne zéro. Retourne : un entier représentant le nombre de millisecondes restantes avant le retour à la position de repos (état A), durant la génération d'une impulsion mesurée En cas d'erreur, déclenche une exception ou retourne YRelay.PULSETIMER_INVALID www.yoctopuce.com...
  • Page 326 ): Promise<string> async get_serialNumber( ) string get_serialNumber( ) string get_serialNumber( ) YRelay 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 YFunction.SERIALNUMBER_INVALID. www.yoctopuce.com...
  • Page 327 ) int get_state( ) YRelay target get_state Retourne : YRelay.STATE_A YRelay.STATE_B soit , soit , selon l'état du relais (A pour la position de repos, B pour l'état actif) En cas d'erreur, déclenche une exception ou retourne YRelay.STATE_INVALID www.yoctopuce.com...
  • Page 328 YRelay.STATEATPOWERON_A une valeur parmi YRelay.STATEATPOWERON_B représentant l'état du relais au démarrage du module (A pour la position de repos, B pour l'état actif, UNCHANGED pour laisser le relais tel quel) En cas d'erreur, déclenche une exception ou retourne YRelay.STATEATPOWERON_INVALID www.yoctopuce.com...
  • Page 329 ) function get_userData( ) async get_userData( ): Promise<object|null> async 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 330 Si les valeurs des attributs en cache du relais 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 false si le relais est joignable, sinon www.yoctopuce.com...
  • Page 331 à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
  • Page 332 ) YRelay target isReadOnly Retourne vrais si la fonction est protégé en ecriture ou que la fontion n'est pas disponible. Retourne : true si la fonction est protégé en ecriture ou que la fontion n'est pas disponible www.yoctopuce.com...
  • Page 333 Paramètres : un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en msValidity 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 334: Paramètres

    Paramètres : le nom de l'attribut désiré attrName 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 335 YAPI.SUCCESS d'erreur (ou contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback context Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
  • Page 336 éviter le déclanchement de callbacks HTTP. N'oubliez pas d'appeler la 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 337 ): YRelay | null nextRelay( ) Si vous souhaitez retrouver un relais spécifique, utilisez Relay.findRelay() avec un hardwareID ou un nom logique. Retourne : YRelay null un pointeur sur un objet accessible en ligne, ou lorsque l'énumération est terminée. www.yoctopuce.com...
  • Page 338 YRelay target pulse ms_duration Paramètres : ms_duration durée de l'impulsion, 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 339 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 340 être préservé. saveToFlash() Paramètres : newval une chaîne de caractères représentant le nom logique du relais. 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 341 (en ms) pendant lequel le relais peut rester dans l'état A newval avant de basculer automatiquement dans l'état B 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 342 (en ms) pendant lequel le relais peut rester dans l'état B newval avant de basculer automatiquement dans l'état A 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 343 , soit YRelay.OUTPUT_ON , selon l'état de la sortie du relais, lorsqu'il est utilisé comme un simple interrupteur 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 344 , soit YRelay.STATE_B , selon l'état du relais (A pour la position de repos, B pour l'état actif) 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 345 (A pour la position de repos, B pour l'état actif, UNCHANGED pour laisser le relais tel quel) 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 346 $data) async set_userData( data: object|null): Promise<void> async 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 347 ) async toggle( ): Promise<number> async toggle( ) int toggle( ) int toggle( ) YRelay target toggle 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 348 Cette fonction annule un précédent appel à . N'oubliez pas d'appeler la muteValueCallbacks() 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 349 La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback context Retourne : rien du tout. www.yoctopuce.com...
  • Page 350 www.yoctopuce.com...
  • Page 351: Problèmes Courants

    24.1. Par où commencer ? Si c'est la première fois que vous utilisez un module Yoctopuce et ne savez pas trop par où commencer, allez donc jeter un coup d'œil sur le blog de Yoctopuce. Il y a une section dédiée aux débutants 24.2.
  • Page 352: Plateformes Arm: Hf Et El

    24.5. Module alimenté mais invisible pour l'OS Si votre Yocto-PowerRelay-V2 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 353: Déconnexions, Comportement Erratique

    Yocto-PowerRelay-V2 ne fonctionne plus, commencez par contacter le support Yoctopuce par e-mail pour poser un diagnostic. Même si c'est suite à une mauvaise manipulation que le module a été endommagé, il se peut que Yoctopuce puisse le réparer, et ainsi éviter de créer un déchet électronique.
  • Page 354 www.yoctopuce.com...
  • Page 355: Caractéristiques

    25. Caractéristiques Vous trouverez résumées ci-dessous les principales caractéristiques techniques de votre module Yocto-PowerRelay-V2 Identifiant produit RELAYHI2 † Révision matérielle Connecteur USB micro-B Largeur 20 mm Longueur 45 mm Poids 12 g Type de relais TE PE014005 Canaux Courant max commutable...
  • Page 356 La plage de température étendue est définie d'après les spécifications des composants et testée sur une durée limitée (1h). En cas d'utilisation prolongée hors de la plage de température standard, il est recommandé procéder à des tests extensifs avant la mise en production. www.yoctopuce.com...
  • Page 357 25. Caractéristiques www.yoctopuce.com...

Table des Matières