Home
Yocto-PT100, Mode d`emploi
Contents
1. All dimensions are in mm Toutes les dimensions sont en mm Yocto PT100 A4 Scale Echelle Index A Acc s 97 Accessoires 3 Activer 98 Alimentation 14 Android 97 98 Avanc e 109 Basic 63 Blueprint 299 Branchement 14 C C 71 C 49 54 calibrateFromPoints YTemperature 200 Calibration 115 Callback 44 Caract ristiques 297 CheckLogicalName YAPI 127 Commande 27 119 Commencer 25 Compatibilit 97 Concepts 17 Configuration 10 Connectique 13 Contraintes 14 Contr le 19 28 29 31 33 39 41 49 51 57 59 64 66 72 74 79 81 86 87 91 93 100 102 151 Courants 295 D DataLogger 22 241 Delphi 79 describe YDataLogger 244 describe YModule 155 describe YTemperature 201 Description 27 DisableExceptions YAPI 128 Donn es 112 276 download YModule 156 Dynamique 85 Dynamiques 121 E El ments 5 6 EnableExceptions YAPI 129 EnableUSBHost YAPI 130 Enregistr es 276 Enregistreur 112 Erreurs 36 47 54 61 68 76 83 89 95 107 Ev nements 109 F Fichiers 85 Filtres 44 FindDataLogger YDataLogger 242 FindModule YModule 153 FindTemperature YTemperature 198 FirstDataLogger YDataLogger 243 FirstModule YModule 154 FirstTemperature YTemperature 199 Fixation 13 Fonctions 126 forgetAllDataStreams YDataLogger 245 FreeAPI YAPI 131 functionCount YModule 157 fu
2. Write Beacon SAN BE module get beacon Y BEACON ON then Writeln on else Writeln off Writeln uptime 7 it meos tr module tge uptime drv LOO Eis r Writeln USB current intToStr module get usbCurrent mA Writeln Logs CO a E Writeln module get_ ee O Writeln www yoctopuce com 81 13 Utilisation du Yocto PT100 en Delphi Writeln r refresh b beacon ON space beacon off end else Writeln Module not connected check identification and USB cable end procedure beacon module Tymodule state integer begin module set_beacon state refresh module end var module TYModule E Menat ercmsg k Sring begin Setup the API to use local USB devices if yRegisterHub usb errmsg lt gt YAPI SUCCESS then begin Write RegisterHub error errmsg exit end module yFindModule serial refresh module mepecn read c i7 case c of r refresh module b beacon module Y BEACON ON beacon module Y BEACON OFF end until e Tes end Chaque propri t xxx du module peut tre lue grace une m thode du type get_xxxx et les propri t s qui se sont pas en lecture seule peuvent tre modifi es l aide de la m thode set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un mod
3. Lorsque l objet YDataSet est cr l heure de d part est celle qui a t pass e en param tre la fonction get_dataSet D s le premier appel la m thode loadMore l heure de d part est mise jour la premi re mesure effectivement disponible dans l enregistreur de donn es pour la plage sp cifi e Retourne un entier positif correspondant au nombre de secondes coul es entre le 1er janvier 1970 et la premi re mesure enregistr e 284 www yoctopuce com 19 R f rence de l API de haut niveau dataset get_summary dataset summary Retourne un objet YMeasure r sumant tout le YDataSet function get_ summary function get_summary function get_summary YMeasure get_summary YMeasure summary function get_summary TYMeasure function get_summary As YMeasure YMeasure get_summary YMeasure get_summary def get_summary YDataSet Il inclut les information suivantes le moment de la premi re mesure le moment de la derni re mesure la valeur minimale observ e dans l intervalle de temps la valeur moyenne observ e dans l intervalle de temps la valeur maximale observ e dans l intervalle de temps Ce r sum des mesures est disponible d s que loadMore a t appel pour la premi re fois Retourne un objet YMeasure www yoctopuce com 285 19 R f rence de l API de haut niveau dataset get_unit YDataSet dataset unit
4. php _ function get_unit string get_unit NSString unit function get_unit string __vb__ function get_unit As String cs string get_unit String get_unit def get_unit YTemperature target get_unit Retourne une cha ne de caract res repr sentant l unit dans laquelle la valeur mesur e est exprim e En cas d erreur d clenche une exception ou retourne Y_UNIT_INVALID 222 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_userData YTemperature temperature userData Retourne le contenu de l attribut userData pr c demment stock l aide de la m thode set_userData function get_userData function get_userData function get_userData void get_userData void userData function get_userData Tobject function get_userData As Object object get_userData Object get_userData def 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 223 19 R f rence de l API de haut niveau temperature isOnline YTemperature V rifie si le module h bergeant le capteur de temp rature est joignable sans d clencher d erreur 5s __ function isOnline node js function isOnline php function isOnline cpp bool isOnline BOOL isOn
5. www yoctopuce com 75 12 Utilisation du Yocto PT100 en C else Console Write not connected check identification and USB cable Attention le nombre de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauvegarde des r glages se passera correctement Cette limite li e la technologie employ e par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction YModule saveToFlash que 100000 fois au cours de la vie du module Veillez donc ne pas appeler cette fonction depuis l int rieur d une boucle Enumeration des modules Obtenir la liste des modules connect s se fait a l aide de la fonction YModule yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la m thode nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un null Ci dessous un petit exemple listant les module connect s using System Using oystem Collections Generic using System Ling using System Text namespace ConsoleApplicationl i class Program static void Main string args i YModule m string errmsg wi r if YAPI RegisterHub usb ref errmsg YAPI SUCCESS Console WriteLine RegisterHub error errmsg Environment Exit 0 Console WriteLine Device list m YModule FirstModule while m null1 C
6. Retour a la normale Pour annuler les effets d une calibration sur une fonction il suffit d appeler la m thode calibrateFromPoints avec deux tableaux vides Double ValuesBefore Double ValuesAfter YTemperature f YTemperature FirstTemperature f calibrateFromPoints ValuesBefore ValuesAfter f get module saveToFlash Vous trouverez dans le r pertoire Examples Prog Calibration des librairies Delphi VB et C une application permettant d exp rimenter les effets de la calibration 1 5 points Interpolation arbitraire Il est aussi possible de calculer l interpolation la place du module pour calculer une interpolation par spline par exemple Il suffit pour cela d enregistrer un callback dans l API Ce callback devra pr ciser le nombre de points de correction auquel il s attend public static double CustomInterpolation3Points double rawValue int calibType int parameters double beforeValues double afterValues double result la valeur a corriger est rawValue les points de calibrations sont dans beforeValues et afterValues Feu Saas interpolation de votre choix return result YAPI RegisterCalibrationHandler 3 CustomInterpolation3Points Notez que ces callbacks d interpolation sont globaux et non pas sp cifiques a chaque fonction Ainsi a chaque fois que quelqu un demandera une valeur a un module qui disposera dans sa m moire flash du bon nombre de points de calibrati
7. USB sont limit s la lecture Afin d viter de devoir lancer les ex cutables en tant que root il faut cr er une nouvelle r gle udev pour autoriser un ou plusieurs utilisateurs acc der en criture aux p riph riques Yoctopuce Pour ajouter une r gle udev votre installation il faut ajouter un fichier avec un nom au format nomArbitraire rules dans le r pertoire etc udev rules d Lors du d marrage du syst me udev va lire tous les fichiers avec l extension rules de ce r pertoire en respectant l ordre alphab tique par exemple le fichier 51 custom rules sera interpr t APRES le fichier 50 udev default rules Le fichier 50 udev default contient les r gles udev par d faut du syst me Pour modifier le comportement par d faut du syst me il faut donc cr er un fichier qui commence par un nombre plus grand que 50 qui d finira un comportement plus sp cifique que le d faut du systeme Notez que pour ajouter une r gle vous aurez besoin d avoir un acc s root sur le syst me Dans le r pertoire udev_ conf de l archive du Virtua Hub pour Linux vous trouverez deux exemples de r gles qui vous viterons de devoir partir de rien Exemple 1 51 yoctopuce rules Cette r gle va autoriser tous les utilisateurs acc der en lecture et en criture aux p riph riques Yoctopuce USB Les droits d acc s pour tous les autres p riph riques ne seront pas modifi s Si ce sc nario vous convient i
8. attente non active g rant les autres callbacks YAPI Sleep 500 ref errmsg De mani re similaire il est possible d avoir un callback quand un module est d branch Vous trouverez un exemple concret d montrant toutes ces techniques dans la librairie de programmation Yoctopuce de chaque langage L exemple se trouve dans le r pertoire Examples Prog EventBased Attention dans la plupart des langages les callbacks doivent tre des proc dures globales et non pas des m thodes Si vous souhaitez que le callback appelle une m thode d un objet d finissez votre callback sous la forme d une proc dure globale qui ensuite appellera votre m thode D tecter le changement de valeur d un senseur L API Yoctopuce fournit aussi un syst me de callback permettant d tre pr venu automatiquement de la valeur d un senseur soit lorsqu il a chang de mani re significative ou soit intervalle fixe Le code n cessaire cet effet est assez similaire au code utilis pour d tecter l arriv e d un module Cette technique est tr s utile en particulier si vous voulez d tecter des changements de valeur tr s rapides de l ordre de quelques millisecondes car elle est beaucoup plus efficace en terme de traffic sur USB qu une lecture r p t e de la valeur et permet donc des meilleures performances L appel des callbacks Afin de permettre un meilleur contr le du contexte d appel les callbacks de changement de valeurs et les callback p
9. function yFirstDataLogger TYDataLogger function yFirstDataLogger As YDataLogger Y DataLogger FirstDataLogger YDataLogger FirstDataLogger def FirstDataLogger Utiliser la fonction YDataLogger nextDataLogger pour it rer sur les autres enregistreurs de donn es Retourne un pointeur sur un objet YDat aLogger correspondant a le premier enregistreur de donn es accessible en ligne ou nu11 si il n y a pas de enregistreurs de donn es disponibles 244 www yoctopuce com 19 R f rence de l API de haut niveau datalogger describe YDataLogger Retourne un court texte d crivant l enregistreur de donn es au format TYPE NAME SERIAL FUNCTIONID function describe function describe function describe string describe NSString describe function describe string function describe As String string describe String describe def describe Plus pr cis ment TYPE correspond au type de fonction NAME correspond au nom utils lors du premier acc s a la fonction SERIAL correspond au num ro de s rie du module si le module est connect ou unresolved sinon et FUNCTIONID correspond l identifiant mat riel de la fonction si le module est connect Par exemple La methode va retourner Relay MyCustomName relayl RELAYLO1 123456 relayl1 si le module est d j connect ou Relay BadCustomeName relayl unresolved si le module n est pas d j connect Cette methode
10. ii Grsisct GmGhllmbeaconm i ia if _GET beacon ON module gt set beacon Y BEACON ON else module gt set beacon Y BEACON OFF printf serial s lt br gt S module gt get serialNumber printf logical name s lt br gt module gt get_logicalName printf luminosity s lt br gt module gt get_luminosity Primi oeacons M if Smodule gt get_beacon Y BEACON ON printf lt input type radio name beacon value ON checked gt ON printf lt input type radio name beacon value OFF gt OFF lt br gt else printf lt input type radio name beacon value ON gt ON printf lt input type radio name beacon value OFF checked gt OFF lt br gt printf upTime s sec lt br gt intVal module gt get upTime 1000 Point USB currents sniper omodulle ger usbeurrent printf logs lt br gt lt pre gt s lt pre gt module gt get_lastLogs Be lt input type submit value refresh gt lt FORM gt lt BODY gt lt HTML gt Chaque propri t xxx du module peut tre lue grace une m thode du type get_xxxx et les propri t s qui se sont pas en lecture seule peuvent tre modifi es l aide de la m thode set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d appeler la fo
11. votre IncludePath et ajouter le sous r pertoire de Binaries correspondant votre syst me d exploitation votre LibPath Ensuite pour que votre projet se construise ensuite correctement il faudra linker avec votre projet la librairie dynamique Yoctopuce et les librairies syst mes requises e Pour Windows yocto lib e Pour Mac OS X libyocto IOKit framework et CoreFoundation framework e Pour Linux libyocto libm libpthread libusb1 0 et libstdc www yoctopuce com 55 9 Utilisation du Yocto PT100 en C Avec GCC la ligne de commande de compilation est simplement Gist 256 OCTO Shin sijereinaseiol RSR OS EC 56 www yoctopuce com 10 Utilisation du Yocto PT100 en Objective C Objective C est le langage de pr dilection pour programmer sous Mac OS X en raison de son int gration avec le g n rateur d interfaces Cocoa Pour pouvoir utiliser la libraire Objective C vous aurez imp rativement besoin de XCode 4 2 qui est disponible gratuitement sous Lion Si vous tes encore sous Snow Leopard il vous faudra tre enregistr comme d veloppeur aupr s d Apple pour pourvoir t l charger XCode 4 2 La librairie Yoctopuce est compatible ARC Il vous sera donc possible de coder vos projet soit en utilisant la traditionnelle m thode de retain release soit en activant l Automatic Reference Counting Les librairies Yoctopuce pour Objective C vous sont fournies au format source dans leur int gralit Une
12. 12 Utilisation du Yocto PT100 en C if tsensor isOnline Console WriteLine Module not connected check identification and USB cable Enyi ronment Exit 0 Console Wrttelhanel Current temperatuurs U tsensor get scunrent Value TosString i E ASC Console WriteLine press Ctrl C to exit YAPI Sleep 1000 ref errmsg 12 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 using System using System Collections Generic using System Ling using System Text namespace ConsoleApplicationl class Program static void usage string execname System AppDomain CurrentDomain FriendlyName Console WriteLine Usage Console WriteLine execname lt serial or logical name gt ON OFF System Threading Thread Sleep 2500 Environment Exit 0 Statie vord Mai mi siering rangs YModule m String errmsg Al if YAPI RegisterHub usb ref errmsg YAPI SUCCESS Console WriteLine RegisterHub error errmsg Environment Exit 0 alae args kengt hi lt L usage m YModule FindModule args 0 use serial or logical name if m isOnline if args Length gt 2 te args tovipperi gt ON Sem set beacon YMo
13. Retourne l unit dans laquelle la valeur mesur e est exprim e js function get_unit node js function get_unit php _ function get_unit string get_unit NSString unit function get_unit string __vb__ function get_unit As String cs string get_unit String get_unit def get_unit Retourne une chaine de caract res repr sentant une unit physique En cas d erreur d clenche une exception ou retourne Y_UNIT_INVALID 286 www yoctopuce com 19 R f rence de l API de haut niveau dataset loadMore YDataSet Proc de au chargement du bloc suivant de mesures depuis l enregistreur de donn es du module et met jour l indicateur d avancement 5s function loadMore node js function loadMore function loadMore int loadMore int loadMore function loadMore Longint function loadMore As Integer int loadMore int loadMore def loadMore Retourne un nombre entier entre 0 et 100 repr sentant l avancement du chargement des donn es demand es ou un code d erreur n gatif en cas de probl me En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 287 19 R f rence de l API de haut niveau dataset loadMore_async YDataSet Proc de au chargement du bloc suivant de mesures depuis l enregistreur de donn es du module de mani re asynchrone function loadMore_async c
14. aa notifyDataSetChanged Override protected void onStop super onStop YAPI FreeAPI private void DisplayModulelnfo TextView field if module null return ry 4 field TextView findView ById R id serialfield field setText module getSerialNumber field TextView findView ById R id logicalnamefield field setText module getLogicalName field TextView findView field setText String format field TextView findView ById 34 ById field setText module getUpTime field TextView findView ById R id luminosityfield module getLuminosity RdEtpELme reel A MOO se Y see R id usbcurrentfield field setText module getUsbCurrent mA Switch sw Switch findViewById R id beaconswitch Log di swutch 7 beacon module Jetsbheacont sw setChecked module getBeacon field TextView findViewById R id logs field setText module get_lastLogs catch YAPI_ Exception e printStackTrace Override YModule BEACON_ ON public void onItemSelected AdapterView lt gt parent View view int pos long id DisplayModuleInfo Override public void refreshInfo View view DisplayModuleInfo String hwid parent getItemAtPosition pos toString module YModule FindModule hwid public void onNothingSelected AdapterView lt gt a
15. chaque appel l ex cutable devra initialiser sa propre API et faire l inventaire des modules USB connect s Il faut compter environ une seconde par appel 18 2 Virtual Hub et HTTP GET Le Virtual Hub est disponible pour presque toutes les plateformes actuelles il sert g n ralement de passerelle pour permettre l acc s aux modules Yoctopuce depuis des langages qui interdisent l acc s direct aux couches mat rielles d un ordinateur Javascript PHP Java 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 Interface REST A bas niveau les modules sont pilot s l aide d une API REST Ainsi pour contr ler un module il suffit de faire les requ tes HTTP appropri es sur le Virtual Hub Par d faut le port HTTP du Virtual Hub est 4444 www yoctopuce com 119 18 Utilisation avec des langages non support s Un des gros avantages de cette technique est que les tests pr liminaires sont tr s faciles mettre en uvre il suffit d un Virtual Hub et d un simple browser Web Ainsi si vous copiez l URL suivante dans votre browser favori alors que le Virtual Hub est en train de tourner vous obtiendrez la liste des modules pr sents http 127 0
16. dataset get_summary Retourne un objet YMeasure r sumant tout le YDataSet dataset get_unit 276 www yoctopuce com 19 R f rence de l API de haut niveau Retourne l unit dans laquelle la valeur mesur e est exprim e dataset loadMore Proc de au chargement du bloc suivant de mesures depuis l enregistreur de donn es du module et met a jour l indicateur d avancement dataset loadMore_async callback context Proc de au chargement du bloc suivant de mesures depuis l enregistreur de donn es du module de mani re asynchrone www yoctopuce com 277 19 R f rence de l API de haut niveau dataset get_endTimeUTC YDataSet dataset endTimeUTC Retourne l heure absolue de la fin des mesures disponibles sous forme du nombre de secondes depuis le 1er janvier 1970 date heure au format Unix function get_endTimeUTC function get_endTimeUTC function get_endTimeUTC s64 get_endTimeUTC s64 endTimeUTC function get_endTimeUTC int64 function get_endTimeUTC As Long long get_endTimeUTC long get_endTimeUTC def get_endTimeUTC Lorsque l objet YDataSet est cr l heure de fin est celle qui a t pass e en param tre la fonction get_dataSet D s le premier appel la m thode 1oadMore l heure de fin est mise jour la derni re mesure effectivement disponible dans l enregistreur de donn es pour la plage sp cifi e Retourne un entier positi
17. Chacun de ces hubs peut piloter jusqu trois modules Yoctopuce et se comporte exactement comme un ordinateur normal qui ferait tourner un VirtualHub Bo tier Votre Yocto PT100 a t con u pour pouvoir tre install tel quel dans votre projet N anmoins Yoctopuce commercialise des bo tiers sp cialement con us pour les modules Yoctopuce Ces bo tiers sont munis de pattes de fixation amovibles et d aimants de fixation Vous trouverez plus d informations propos de ces bo tiers sur le site de Yoctopuce Le bo tier recommand pour votre Yocto PT100 est le mod le YoctoBox Long Thick Black 4 http www yoctopuce com EN products category enclosures www yoctopuce com 3 1 Introduction Vous pouvez installer votre Yocto PT100 dans un bo tier optionnel www yoctopuce com 2 Pr sentation 1 Prise USB micro B 3 Yocto led 2 Yocto bouton 4 Branchement Pt100 fils blancs 5 Branchement Pt100 fils rouges r 2 1 Les l ments communs Tous les Yocto modules ont un certain nombre de fonctionnalit s en commun Le connecteur USB Les modules de Yoctopuce sont tous quip s d une connectique au format micro USB Les c bles correspondants ne sont pas forc ment les plus faciles trouver mais ces connecteurs ont l avantage d occuper un minimum de place Attention le connecteur USB est simplement soud en surface et peut tre arrach si la prise USB venait faire levier Si les pistes sont re
18. En cas d erreur d clenche une exception ou retourne Y_LOGICALNAME_INVALID 258 www yoctopuce com 19 R f rence de l API de haut niveau datalogger get_module YDataLogger datalogger module Retourne l objet YModule correspondant au module Yoctopuce qui h berge la fonction function get_module function get_module function get_module YModule get_module YModule module function get_module TYModule function get_module As YModule YModule get_module YModule get_module def get_module Si la fonction ne peut tre trouv e sur aucun module l instance de YModule retourn e ne sera pas joignable Retourne une instance de YModule www yoctopuce com 259 19 R f rence de l API de haut niveau datalogger get module async YDataLogger datalogger module_async Retourne l objet YModule correspondant au module Yoctopuce qui h berge la fonction function get_module_async callback context function get_module_async callback context Si la fonction ne peut tre trouv e sur aucun module l instance de YModule retourn e ne sera pas joignable Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la VM Javascript de Firefox qui n impl mente pas le passage de contr le entre threads durant les appels d entr e sortie bloquants Param tres
19. En cas d erreur d clenche une exception ou retourne un tableau vide 282 www yoctopuce com 19 R f rence de l API de haut niveau dataset get_progress YDataSet dataset progress Retourne l tat d avancement du chargement des donn es sur une chelle de 0 a 100 function get_progress function get_progress function get_progress int get_progress int progress function get_progress Longint function get_progress As Integer int get_progress int get_progress def get_progress A l instanciation de l objet par la fonction get_dataSet l avancement est nul Au fur et mesure des appels loadMore l avancement progresse pour atteindre la valeur 100 lorsque toutes les mesures ont t charg es Retourne un nombre entier entre 0 et 100 repr sentant l avancement du chargement des donn es demand es www yoctopuce com 283 19 R f rence de l API de haut niveau dataset get_startTimeUTC YDataSet dataset startTimeUTC Retourne l heure absolue du d but des mesures disponibels sous forme du nombre de secondes depuis le 1er janvier 1970 date heure au format Unix function get_startTimeUTC function get_startTimeUTC function get_startTimeUTC s64 get_startTimeUTC s64 startTimeUTC function get_startTimeUTC int64 function get_startTimeUTC As Long long get_startTimeUTC long get_startTimeUTC def get_startTimeUTC
20. Tous les binaires Yoctopuce pour ARM sont fournis pr compil e pour ArmHF et ArmEL si vous ne savez quelle famille votre machine ARM apartient essayez simplement de lancer un ex cutable de chaque famille 296 www yoctopuce com 21 Caract ristiques Vous trouverez r sum es ci dessous les principales caract ristiques techniques de votre module Yocto PT100 Epaisseur Largeur Longueur Poids Connecteur USB Canaux Frequence de rafra chissement Plage de mesure T Pr cision Sensibilit Syt me d exploitation support s Drivers API SDK Librairie USB TCP API SDK Librairie seul TCP RoHS USB Vendor ID USB Device ID Boiter recommand Cables et boitiers 10 1 mm 20 mm 55 mm 7g micro B 1 15 Hz 200 325 C 0 03 C 0 01 C Windows Linux Intel ARM Mac OS X Android Fonctionne sans driver C Objective C C VB NET Delphi Python Java Android Javascript Node js PHP Java oui 0x24E0 0x0035 YoctoBox Long Thick Black disponibles s par ment www yoctopuce com 297 21 Caract ristiques 298 www yoctopuce com 20 15 5 oHe CT odg o d 4100101 1 W200 soraz o oh e01 EEO
21. e sera du 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 Dans le cas de fonctions qui ne retournent priori pas d information la valeur de retour sera YAPI SUCCESS si tout va bien et un code d erreur diff rent en cas d chec Quand vous travaillez sans les exceptions il est possible d obtenir un code d erreur et un message expliquant l origine de l erreur en le demandant l objet qui a retourn une erreur l aide des m thodes errType et errMessage Ce sont les m me informations qui auraient t associ es l exception si elles avaient t actives www yoctopuce com 77 78 www yoctopuce com 13 Utilisation du Yocto PT100 en Delphi Delphi est l h ritier de Turbo Pascal A l origine Delphi tait produit par Borland mais c est maintenant Embarcadero qui l dite Sa force r side dans sa facilit d utilisation il permet quiconque ayant des notions de Pascal de programmer une application Windows en deux temps trois mouvements Son seul d faut est d tre payant Les librairies pour Delphi sont fournies non pas sous forme de composants VCL mais directement sous forme de fichiers source Ces fichiers sont compatibles avec la plupart des version de Delphi Afin des les garder simples tous les exemples fourni
22. es pas plus de 6 caract res datalogger get_autoStart Retourne le mode d activation automatique de l enregistreur de donn es la mise sous tension datalogger get_currentRunIndex Retourne le num ro du Run actuel correspondant au nombre de fois que le module a t mis sous tension avec la fonction d enregistreur de donn es active datalogger get_dataSets Retourne une liste d objets YDataSet permettant de r cup rer toutes les mesures stock es par l enregistreur de donn es datalogger get_dataStreams v Construit une liste de toutes les s quences de mesures m moris es par l enregistreur ancienne m thode datalogger get_errorMessage Retourne le message correspondant a la derni re erreur survenue lors de l utilisation de l enregistreur de donn es datalogger get_errorType Retourne le code d erreur correspondant a la derni re erreur survenue lors de l utilisation de l enregistreur de donn es datalogger get_friendlyName www yoctopuce com 241 19 R f rence de l API de haut niveau Retourne un identifiant global de l enregistreur de donn es au format NOM_ MODULE NOM_FONCTION datalogger get_functionDescriptor Retourne un identifiant unique de type YF UN_DESCR correspondant la fonction datalogger get_functionld Retourne l identifiant mat riel de l enregistreur de donn es sans r f rence au module datalogger get_hardwareld Retourne l
23. es avec le d corum n cessaire en faire un petit programme d exemple concret package com yoctopuce doc examples import android app Activity import android os Bundle import android os Handler import android view View import android widget AdapterView import android widget AdapterView OnItemSelectedListener import android widget ArrayAdapter import android widget Spinner import android widget TextView import com yoctopuce YoctoAPI YAPI import com yoctopuce YoctoAPI YAPI Exception import com yoctopuce YoctoAPI YModule import com yoctopuce YoctoAPI YTemperature public class GettingStarted Yocto PT100 extends Activity implements OnItemSelectedListener private ArrayAdapter lt String gt aa private tring serial HE T private Handler handler null Override public void onCreate Bundle savedInstanceState super onCreate savedinstanceState setContentView R layout gettingstarted yocto pt100 Spinner my spin Spinner findViewById R id spinner1 meS Pins ob OniEemoekec we dimasie meat his i aa new ArrayAdapter lt String gt this android R layout simple spinner item aa setDropDownViewResource android R layout simple spinner dropdown item my spin setAdapter aa handler new Handler Override protected void onStart Super onorarii cry i aa clear YAPI EnableUSBHost this YAPI RegusiterHubi usb YModule module YModule FirstModule while mo
24. get_logicalName Retourne le nom logique du capteur de temp rature temperature get_lowestValue Retourne la valeur minimale observ e temperature get_module Retourne l objet YModu le correspondant au module Yoctopuce qui h berge la fonction temperature get module async callback context Retourne l objet YModu le correspondant au module Yoctopuce qui h berge la fonction temperature get_recordedData startTime endTime Retourne un objet DataSet repr sentant des mesures de ce capteur pr c demment enregistr es l aide du DataLogger pour l intervalle de temps sp cifi temperature get_reportFrequency Retourne la fr quence de notification p riodique des valeurs mesur es ou OFF si les notifications p riodiques sont d sactiv es pour cette fonction temperature get_resolution Retourne la r solution des valeurs mesur es temperature get_sensorType Retourne le type de capteur de temp rature utilis par le module temperature get_unit Retourne l unit dans laquelle la valeur mesur e est exprim e temperature get_userData Retourne le contenu de l attribut userData pr c demment stock l aide de la m thode set_userData temperature isOnline V rifie si le module h bergeant le capteur de temp rature est joignable sans d clencher d erreur temperature isOnline_async callback context V rifie si le module h bergeant le capteur de temp rature est joi
25. lt input id serial gt lt input id msg style color red border none readonly gt lt br gt Current temperature lt input id temp val readonly gt amp deg C lt br gt lt BODY gt lt HTML gt 7 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 lt HTML gt lt HEAD gt lt TITLE gt Module Control lt TITLE gt lt SCRIPT type text javascript sre yocto_api js gt lt SCRIPI gt lt SCRIPT language javascriptl 5 type text JavaScript gt Use explicit error handling rather than exceptions yDisableExceptions Setup the API to use the VirtualHub on local machine www yoctopuce com 33 7 Utilisation du Yocto PT100 en Javascript if yRegisterHub http 127 0 0 1 4444 VAPI SUCCESS alere Cannoe contact Vircualtub on 127 0 0 0 hs var module function refresh var serial document getElementByld serial value if serial Detect any conected module suitable for the demo module yFirstModule nextModule if module serial module get_serialNumber document getElementBylId serial value serial module yFindModule serial if module isOnline document getHlementById msg value van bemi sera emo culicigeiw serial Nu mber O SDr
26. lt serial or logical name gt ON OFF errmsg YRefParam if YAPI RegisterHub usb errmsg YAPI SUCCESS sys exit RegisterHub error str errmsg if len sys argv lt 2 usage m YModule FindModule sys argv 1 use serial or logical name if m isOnline if len sys argv gt 2 if sys argv 2 upper ON m set beacon YModule BEACON ON EEeSysmengv 2 Uppe OPE Sr Se tulocacon ModE BEACONN EHE print serial m get_serialNumber print logical name m get_logicalName perimti noS Ey ee Str m get luminosity ON if m get beacon YModule BEACON ON www yoctopuce com 87 14 Utilisation du Yocto PT100 en Python print beacon ON else print beacon OFF print upTime MS nm oetceupteime Al00O EEUSS EC DEE MUSE eUrrent A e enee m Cee WSC O a VA print logs n m get lastLogs else phineisys arcgvi U net Connected check identification and wuss Cante Chaque propri t xxx du module peut tre lue gr ce a 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 YModule set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d appeler la fonction YModule set xxx correspondante cependant cette modification n a lie
27. n rales Ces quelques fonctions g n rales permettent l initialisation et la configuration de la librairie Yoctopuce Dans la plupart des cas un appel yRegisterHub suffira en tout et pour tout Ensuite vous pourrez appeler la fonction globale yFind ou yFirst correspondant votre module pour pouvoir interagir avec lui Pour utiliser les fonctions d crites ici vous devez inclure lt script type text javascript src yocto_api js gt lt script gt var yoctolib require yoctolib var YAPI yoctolib YAPI var YModule yoctolib YModule require_once yocto_api php include yocto_api h import yocto_api h uses yocto_api vb yocto api vb yocto_api cs import com yoctopuce YoctoAPI YModule from yocto_api import Fonction globales yCheckLogicalName name V rifie si un nom donn est valide comme nom logique pour un module ou une fonction yDisableExceptions D sactive l utilisation d exceptions pour la gestion des erreurs yEnableExceptions R active l utilisation d exceptions pour la gestion des erreurs yEnableUSBHost osContext Cette fonction est utilis e uniquement sous Android yFreeAPI Lib re la m moire dynamique utilis e par la librairie Yoctopuce yGetAP Version Retourne la version de la librairie Yoctopuce utilis e yGetTickCount Retourne la valeur du compteur monotone de temps en millisecondes yHandleEvents errmsg Maintient la communication de la
28. par yFindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get currentValue de l objet renvoy par yFindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius Un exemple r el Ouvrez votre diteur de texte pr f r recopiez le code ci dessous sauvez le dans le m me r pertoire que les fichiers de la librairie et ouvrez le avec votre browser favori sauf Opera Vous trouverez aussi ce code dans le r pertoire Examples Doc GettingStarted Yocto PT100 de la librairie Yoctopuce Vous reconnaitrez 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 4 Si vous n avez pas d diteur de texte utilisez Notepad plut t que Microsoft Word 32 www yoctopuce com 7 Utilisation du Yocto PT100 en Javascript L exemple est cod pour tre utilis soit depuis un serveur web soit en ouvrant directement le fichier localement sur la machine Notez que cette derni re solution n est pas possible avec certaines versions de Internet Explorer en particulier IE 9 de Windows 7 qui refuse d ouvrir des connections r seau lorsqu il travaille sur un fichier local Pour utiliser Internet Explorer vous devez donc mettre les pages sur un s
29. rence de l API de haut niveau module get_usbBandwidth module usbBandwidth Retourne le nombre d interface USB utilis par le module function get_usbBandwidth function get_usbBandwidth function get_usbBandwidth Y_USBBANDWIDTH_enum get_usbBandwidth Y_USBBANDWIDTH_enum usbBandwidth pas function get_usbBandwidth Integer ve function get_usbBandwidth As Integer int get_usbBandwidth int get_usbBandwidth def get_usbBandwidth YModule target get_usbBandwidth Retourne YModule soit Y_USBBANDWIDTH_ SIMPLE soit Y USBBANDWIDTH_ DOUBLE selon le nombre d interface USB utilis par le module En cas d erreur d clenche une exception ou retourne Y_USBBANDWIDTH_INVALID 178 www yoctopuce com 19 R f rence de l API de haut niveau module get_usbCurrent YModule module usbCurrent Retourne le courant consomm par le module sur le bus USB en milliamp res function get_usbCurrent function get_usbCurrent function get_usbCurrent int get_usbCurrent int usbCurrent function get_usbCurrent Longint function get_usbCurrent As Integer int get_usbCurrent int get_usbCurrent def get_usbCurrent YModule target get_usbCurrent Retourne un entier repr sentant le courant consomm par le module sur le bus USB en milliamp res En cas d erreur d clenche une exception ou retourne Y_USBCURRENT_INVALID www yoc
30. retourne un tableau de mesures repr sentant une version condens e de l ensemble des mesures sur l intervalle de temps choisi r duction d un facteur 200 environ dataset get_measures retourne un tableau contenant toutes les mesures de l intervalle choisi grandit au fur et mesure de leur chargement avec 1oadMore BON gi www yoctopuce com 113 17 Programmation avanc e Les mesures sont des objets YMeasure On peut en y lire la valeur minimale moyenne et maximale l aide des m thodes get_minValue get_averageValue et get_maxValue respectivement Voici un petit exemple qui illustre ces fonctions On veut r cup rer toutes les donn es du datalogger vpDataset dataset sensor get recordedData 0r 0N Le ler appel loadMore charge le r sum des donn es dataset loadMore YMeasure summary dataset get summary string timeFmt dd MMM yyyy hh mm ss fff string logFmt from 0 to 1 average 2 0 00 3 Console WriteLine String Format logFmt summary get_startTimeUTC_asDateTime ToString timeFmt summary get_endTimeUTC_asDateTime ToString timeFmt summary get_averageValue sensor get_unit Les appels suivants loadMore chargent les mesures Console WriteLine loading details int progress do Console Nerik eid progress dataset loadMore while progress lt 100 Ca y est toutes les mesures sont la iivsi lt YMeasure details dataset ger measu
31. sous Windows un Makefile pour permet de compiler les exemples en ligne de commande et en pleine connaissance des arguments de compilation et link Les librairies Yoctopuce pour C vous sont fournies au format source dans leur int gralit Une partie de la librairie de bas niveau est crite en C pur sucre mais vous n aurez priori pas besoin d interagir directement avec elle tout a t fait pour que l interaction soit le plus simple possible depuis le C La librairie vous est fournie bien entendu aussi sous forme binaire de sorte pouvoir la linker directement si vous le pr f rez Vous allez rapidement vous rendre compte que l API C defini beaucoup de fonctions qui retournent des objets Vous ne devez jamais d sallouer ces objets vous m me Ils seront d sallou s automatiquement par l API la fin de l application Afin des les garder simples tous les exemples fournis dans cette documentation sont des applications consoles 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 Vous trouverez dans la derni re section de ce chapitre toutes les informations n cessaires la cr ation d un projet neuf link avec les librairies Yoctopuce 9 1 Contr le de la fonction Temperature Il suffit de quelques lignes de code pour piloter un Yocto PT100 Voici le squelette d un fragment de code C qui utilise la foncti
32. trouver sur un autre machine qui se connectera au service pour piloter les module De plus les librairie natives et DLL voqu es plus haut sont aussi capables de se connecter distance un ou plusieurs hub virtuels Lorsqu on utilise un hub virtuel l application de contr le n a plus besoin d tre sur la m me machine que le module Quel que soit langage de programmation choisi et le paradigme de contr le utilis la programmation reste strictement identique D un langage l autre les fonctions ont exactement le m me nom prennent les m mes param tres Les seules diff rences sont li es aux contraintes des langages eux m mes Language Natif Natif avec DLL so Hub virtuel C e Objective C Delphi Python VisualBasic Net C Net Javascript Node js PHP Java Java pour Android Ligne de commande M thode de support pour les diff rents langages 24 www yoctopuce com 5 Programmation concepts g n raux Limitation des librairies Yoctopuce Les librairies Natives et DLL ont une limitation technique Sur une m me machine vous ne pouvez pas faire tourner en m me temps plusieurs applications qui acc dent nativement aux modules Yoctopuce Si vous d sirez contr ler plusieurs projets depuis la m me machine codez vos applications pour qu elle acc dent aux modules via un VirtualHub plut t que nativement Le changement de mode de fonctionnement est trivial il suffit de cha
33. www yoctopuce com 89 14 Utilisation du Yocto PT100 en Python Quand vous travaillez sans les exceptions il est possible d obtenir un code d erreur et un message expliquant l origine de l erreur en le demandant l objet qui a retourn une erreur l aide des m thodes errType et errMessage Ce sont les m me informations qui auraient t associ es l exception si elles avaient t actives 90 www yoctopuce com 15 Utilisation du Yocto PT100 en Java Java est un langage orient objet d velopp par Sun Microsystem Son principal avantage est la portabilit mais cette portabilit a un co t Java fait une telle abstraction des couches mat rielles qu il est tr s difficile d interagir directement avec elles C est pourquoi l API java standard de Yoctopuce ne fonctionne pas en natif elle doit passer par l interm diaire d un VirtualHub pour pouvoir communiquer avec les modules Yoctopuce 15 1 Pr paration Connectez vous sur le site de Yoctopuce et t l chargez les l ments suivants e La librairie de programmation pour Java Le programme VirtualHub pour Windows Mac OS X ou Linux selon l OS que vous utilisez La librairie est disponible en fichier sources mais elle aussi disponible sous la forme d un fichier jar Branchez vos modules D compressez les fichiers de la librairie dans un r pertoire de votre choix Lancez le programme VirtualHub et vous pouvez commencer vos premiers test Vous n avez pas beso
34. 0 1 4444 api services whitePages txt Remarquez que le r sultat est pr sent sous forme texte mais en demandant whitePages xmli vous auriez obtenu le r sultat en XML De m me whitePages json aurait permis d obtenir le r sultat en JSON L extension html vous permet m me d afficher une interface sommaire vous permettant de changer les valeurs en direct Toute l API REST est disponible dans ces diff rents formats 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 PT100 avec le num ro de de s rie PT100MK1 12345 et le nom logique monModule l URL suivante permettra de conna tre l tat du module http 127 0 0 1 4444 bySerial PT100MK1 12345 api module txt Il est bien entendu possible d utiliser le nom logique des modules plut t que leur num ro de s rie http 127 0 0 1 4444 byName monModule api module txt Vous pouvez retrouver la valeur d une des propri t s d un module il suffit d ajouter le nom de la propri t en dessous de module Par exemple si vous souhaitez conna tre la luminosit des LEDs de signalisation il vous suffit de faire la requ te suivante http 127 0 0 1 4444 bySerial PT100MK1 12345 api module luminosity Pour modifier la valeur d une propri t il vous suffit de modifier l attribut correspondant Ainsi pour modifier la luminosit il vous suffit de faire la requ te suivante http 127 0 0 1 4444
35. 123456 temperature temperature yFindTemperature PT1LOOMK1 123456 MaFonction temperature yFindTemperature MonModule temperature temperature yFindTemperature MonModule MaFonction a temperature yFindTemperature MaFonction yFindTemperature renvoie un objet que vous pouvez ensuite utiliser loisir pour contr ler le capteur de temp rature isOnline La m thode isOnline de l objet renvoy par yFindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get currentValue de l objet renvoy par yFindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius 13 3 Contr le de la partie module Chaque module peut tre contr l d une mani re similaire vous trouverez ci dessous un simple programme d exemple affichant les principaux param tres d un module et permettant d activer la balise de localisation program modulecontrol SAPPTYPE CONSOLE uses Sysutils VOCEOmea pia const serial PT100MK1 123456 use serial number or logical name procedure refresh module Tymodule begin if module isOnline then begin Weicelmi ir Writeln Serial NC modulengetEscrlall Number Oh Writeln Logical name module get logicalName Writeln Luminosity intToStr module get_luminosity
36. 20 37 192 168 0 101 192 168 0 102 Configuration DSL typique les machines du LAN sont isol es de l ext rieur par le router DSL Ce qui transpos en terme de r seau donne les appareils connect s sur un r seau domestique peuvent communiquer entre eux en utilisant une adresse IP locale du genre 192 168 xxx yyy et contacter des serveurs sur Internet par leur adresse publique mais vu de l ext rieur il n y a qu une seule adresse IP officielle attribu e au routeur DSL exclusivement Les diff rents appareils r seau ne sont pas directement atteignables depuis l ext rieur C est assez contraignant mais c est une protection relativement efficace contre les intrusions r ponse Les r ponses aux requ tes venant des machines du LAN sont rout es 44 www yoctopuce com 8 Utilisation du Yocto PT100 en PHP requ te D Si 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 Une solution ce probl me pr conis e par de nombreux vendeurs de domotique consiste donner une visibilit externe au serveur de domotique lui m me en ouvrant un port et en ajoutant une r gle de routage dans la configuration NAT du routeur DSL Le probl me de cette so
37. 235 set_resolution YTemperature 236 set_sensorType YTemperature 237 set_timeUTC YDataLogger 272 set_usbBandwidth YModule 191 set_userData YDataLogger 273 set_userData YModule 192 set_userData YTemperature 238 SetDelegate YAPI 144 SetTimeout YAPI 145 Sleep YAPI 146 Sources 85 Support s 119 T Temperature 21 28 31 39 49 57 64 72 79 86 91 100 196 Test 9 triggerFirmwareUpdate YModule 193 U UnregisterHub YAPI 147 UpdateDeviceList YAPI 148 UpdateDeviceList_async YAPI 149 V Valeur 289 Virtual 97 119 Visual 63 71 VisualBasic 63 W wait_async YDataLogger 274 wait_async YModule 194 wait_async YTemperature 239 Y YAPI 141 149 yCheckLogicalName 127 YDataLogger 242 274 YDataSet 277 287 yDisableExceptions 128 yEnableExceptions 129 yEnableUSBHost 130 yFindDataLogger 242 yFindModule 153 yFindTemperature 198 yFirstDataLogger 243 yFirstModule 154 yFirstTemperature 199 yFreeAPI 131 yGetAPIVersion 132 yGetTickCount 133 yHandleEvents 134 yInitAPI 135 YMeasure 289 293 YModule 153 194 Yocto PT100 19 27 31 39 49 57 63 71 79 85 91 97 yPreregisterHub 136 yRegisterDeviceArrivalCallback 137 yRegisterDeviceRemovalCallback 138 yRegisterHub 139 yRegisterHubDiscoveryCallback 141 yRegisterLogFunction 142 ySelectArchitecture 143 ySetDelegate 144 ySetTimeout 145 ySleep 146 YTemperature 198 239 yUnregisterHub 147 yUpdateDeviceList 148 yUpdateDev
38. C et ouvrez le projet exemple correspondant fourni dans le r pertoire Examples Doc GettingStarted Yocto PT100 de la librairie Yoctopuce Vous reconnaitrez 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 using System using System Collections Generic using System Ling using System Text namespace ConsoleApplicationl class Program static void usage string execname System AppDomain CurrentDomain FriendlyName Console WriteLine Usage Console WriteLine execname lt serial number gt Console WriteLine execname lt logical name gt Console WriteLine execname any System Threading Thread Sleep 2500 Environment Exit 0 static void Main string args string errmsg string target YTemperature tsensor if args Length lt 1 usage target args 0 ToUpper Setup the API to use local USB devices if YAPI RegisterHub usb ref errmsg YAPI SUCCESS Console WriteLine RegisterHub error errmsg Environment Exit 0 if target ANY tsensor YTemperature FirstTemperature if tsensor null Console WriteLine No module connected check USB cable Environment Exit 0 else tsensor YTemperature FindTemperature target temperature while true www yoctopuce com 73
39. Param tres newval soit Y_BEACON_ OFF soit Y_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 YModule www yoctopuce com 189 19 R f rence de l API de haut niveau module gt set_logicalName YModule module setLogicalName Change le nom logique du module function set_logicalName newval function set_logicalName newval function set_logicalName newval int set_logicalName const string amp newval int setLogicalName NSString newval function set_logicalName newval string integer function set_logicalName ByVal newval As String As Integer int set_logicalName string newval int set_logicalName String newval def set_logicalName newval YModule target set_logicalName newval Vous pouvez utiliser yCheckLogicalName pour v rifier si votre param tre est valide N oubliez pas d appeler la m thode saveToFlash du module si le r glage doit tre pr serv 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 190 www yoctopuce com 19 R f rence de l API de haut niveau module set_luminosity YModule module setLuminosity Modifie la luminosit des leds informatives du module function set_luminosity ne
40. String get_hardwareld def get_hardwareld L identifiant unique est compos du num ro de s rie du module et de l identifiant mat riel du capteur de temp rature par example RELAYLO1 123456 relayl Retourne une cha ne de caract res identifiant le capteur de temp rature ex RELAYLO1 123456 relayl En cas d erreur d clenche une exception ou retourne Y_HARDWAREID_INVALID www yoctopuce com 211 19 R f rence de l API de haut niveau temperature get_highestValue temperature highestValue Retourne la valeur maximale observ e function get_highestValue function get_highestValue function get_highestValue double get_highestValue double highestValue function get_highestValue double v _ function get_highestValue As Double double get_highestValue double get_highestValue def get_highestValue YTemperature target get_highestValue Retourne une valeur num rique repr sentant la valeur maximale observ e YTemperature En cas d erreur d clenche une exception ou retourne Y_HIGHESTVALUE_INVALID 212 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_logFrequency YTemperature temperature logFrequency Retourne la fr quence d enregistrement des mesures dans le datalogger ou OFF si les mesures ne sont pas stock es dans la m moire de l enregistreur de donn es function get_logFre
41. _ int luminosity pas function get_luminosity Longint v function get_luminosity As Integer cs _ Jint get_luminosity java Jint get_luminosity def get_luminosity YModule target get_luminosity Retourne un entier repr sentant la luminosit des leds informatives du module valeur entre 0 et 100 En cas d erreur d clenche une exception ou retourne Y_LUMINOSTTY_INVALID YModule 170 www yoctopuce com 19 R f rence de l API de haut niveau module get_persistentSettings module gt persistentSettings Retourne l tat courant des r glages persistents du module function get_persistentSettings function get_persistentSettings function get_persistentSettings Y_PERSISTENTSETTINGS_enum get_persistentSettings Y_PERSISTENTSETTINGS enum persistentSettings function get_persistentSettings Integer function get_persistentSettings As Integer int get_persistentSettings int get_persistentSettings def get_persistentSettings YModule target get_persistentSettings Retourne module une valeur parmi Y_PERSISTENTSETTINGS_LOADED Y_PERSISTENTSETTINGS_SAVED et YModule Y_PERSISTENTSETTINGS_MODIFIED repr sentant l tat courant des r glages persistents du En cas d erreur d clenche une exception ou retourne Y_PERSISTENTSETTINGS_INVALTD www yoctopuce com 171 19 R f rence de l API de haut niveau module get_produ
42. ajouter un d calage aux mesures Par exemple si vous fournissez le point de calibration a b toutes les valeurs mesur es seront corrig es en leur ajoutant b a de sorte ce que quand la valeur lue sur le capteur est a la fonction temperature retournera b PS M s L EE 20 gt a R 5 S x ss 15 LL gt 10 9 Valeur du senseur 5 10 15 20 25 30 Correction de mesures avec 1 point de calibration ici 5 10 La mise en pratique est des plus simples il suffit d appeler la m thode calibrateFromPoints de la fonction que l on d sire corriger Le code suivant applique la correction illustr e sur le graphique ci dessus a la premi re fonction temperature trouv e Notez l appel a la m thode saveToFlash du module h bergeant la fonction de mani re ce que le module n oublie pas la calibration d s qu il sera d branch www yoctopuce com 115 17 Programmation avanc e Double ValuesBefore 5 Double ValuesAfter 10 YTemperature f YTemperature FirstTemperature f calibrateFromPoints ValuesBefore ValuesAfter f get module saveToFlash Correction 2 points La correction 2 points permet d effectuer la fois un d calage et une multiplication par un facteur donn entre deux points Si vous fournissez les deux points a b et c d le r sultat de la fonction sera multipli par d b c a dans l intervalle a c et d cal de sorte ce que quand la valeur
43. 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 134 www yoctopuce com 19 R f rence de l API de haut niveau YAPI HandleEvents YAPI yHandleEvents Maintient la communication de la librairie avec les modules Yoctopuce function yHandleEvents errmsg function HandleEvents errmsg function yHandleEvents amp errmsg YRETCODE yHandleEvents string amp errmsg YRETCODE yHandleEvents NSError errmsg function yHandleEvents var errmsg string integer function yHandleEvents ByRef errmsg As String As YRETCODE YRETCODE HandleEvents ref string errmsg int HandleEvents def HandleEvents errmsg None Si votre programme inclut des longues boucles d attente vous pouvez y inclure un appel a cette fonction pour que la librairie prenne en charge les informations mise en attente par les modules sur les canaux de communication 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 P 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 er
44. caract res identifiant la fonction ex THRMCPL1 123456 temperaturel En cas d erreur d clenche une exception ou retourne Y_HARDWAREID_INVALID 280 www yoctopuce com 19 R f rence de l API de haut niveau dataset get_measures YDataSet dataset measures Retourne toutes les mesures d j disponibles pour le DataSet sous forme d une liste d objets YMeasure function get_measures function get_measures function get_measures vector lt YMeasure gt get_measures NSMutableArray measures function get_measures TYMeasureArray function get_measures As List List lt YMeasure gt get_measures ArrayList lt YMeasure gt get_measures def get_measures Chaque l ment contient le moment ou la mesure a d but le moment ou la mesure s est termin e la valeur minimale observ e dans l intervalle de temps la valeur moyenne observ e dans l intervalle de temps la valeur maximale observ e dans l intervalle de temps Avant d appeler cette m thode vous devez appeler loadMore pour charger des donn es depuis l enregistreur sur le module L appel doit tre r p t plusieurs fois pour charger toutes les donn es mais vous pouvez commencer utiliser les donn es disponibles avant qu elles n aient t toutes charg es Les mesures les plus anciennes sont toujours charg es les premi res et les plus r centes en dernier De ce fait les timestamps dans la table des mesures sont
45. com 155 19 R f rence de l API de haut niveau module describe Retourne un court texte d crivant le module _is function describe node js function describe function describe string describe NSString describe function describe string function describe As String string describe String describe def describe Ce texte peut contenir soit le nom logique du module soit son num ro de s rie YModule Retourne une chaine de caract res d crivant le module 156 www yoctopuce com 19 R f rence de l API de haut niveau module download YModule T l charge le fichier choisi du module et retourne son contenu function download pathname function download pathname function download pathname string download string pathname NSData download NSString pathname function download pathname string TByteArray function download As Byte def download pathname YModule target download pathname Param tres pathname nom complet du fichier Retourne le contenu du fichier charg En cas d erreur d clenche une exception ou retourne un contenu vide www yoctopuce com 157 19 R f rence de l API de haut niveau module gt functionCount YModule Retourne le nombre de fonctions sans compter l interface module existant sur le module function functionCount function functionCount function functionCo
46. de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas Il faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme Dans l API java pour Android 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 www yoctopuce com 107 108 www yoctopuce com 17 Programmation avanc e Les chapitres pr c dents vous ont pr sent dans chaque language disponible les fonctions de programmation de base utilisables avec votre module Yocto PT100 Ce chapitre pr sente de fa on plus g n rale une utilisation plus avanc e de votre module 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 Afin de rester le plus concis possible les exemples donn s dans ce chapitre ne font aucune gestion d erreur Ne les copiez pas tels quels dans une application de production 17 1 Programmation par v nements Les m thodes de gestion des modules Yoctopuce qui vous ont t pr sent es dans les chapitres pr c dents
47. de cet enregistreur de donn es logicalName Cha ne de caract res contenant le nom logique de l enregistreur de donn es initialement vide Cet attribut peut tre chang au bon vouloir de l utilisateur Un fois initialis une valeur non vide il peut servir de point de d part pour acc der directement l enregistreur de donn es Si deux enregistreurs de donn es portent le m me nom logique dans un projet il n y a pas moyen de d terminer lequel va r pondre si l on tente un acc s par ce nom logique Le nom logique du module est limit 19 caract res parmi A Z a z 0 9 et advertisedValue Courte cha ne de caract res r sumant l tat actuel de l enregistreur de donn es et qui sera publi e automatiquement jusqu au hub parent Pour un enregistreur de donn es la valeur publi e sont tat d activation ON ou OFF currentRunindex Num ro du Run actuel correspondant au nombre de fois que le module a t mis sous tension avec la fonction d enregistreur de donn es active timeUTC Heure UTC courante lorsque l on d sire associer une r f rence temporelle absolue aux donn es enregistr es Cette heure doit tre configur e explicitement par logiciel recording Etat d activit de l enregistreur de donn es L enregistreur peut tre enclanch ou d clanch volont par cet attribut mais son tat la mise sous tension est d termin par l attribut persistent autoStart autoStart Encle
48. des modules USB vous ne pouvez pas faire abstraction de la 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 a 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 La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas Il faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme La seule mani re de l viter est d impl menter une des deux techniques de gestion des erreurs d crites ci dessous 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
49. e pour raccorder les t l phones portables pour autant qu ils n arborent pas une pomme Les modules de Yoctopuce sont tous quip s d une connectique au format micro USB Les connecteurs USB 2 les plus courants B Mini B Micro Micro B 3 Pour connecter votre module Yocto PT100 un ordinateur vous avez besoin d un cable USB de type A micro B Vous trouverez ce cable en vente des prix tr s variables selon les sources sous la d nomination USB A to micro B Data cable Prenez garde ne pas acheter par m garde un simple c ble de charge qui ne fournirait que le courant mais sans les fils de donn es Le bon c ble est disponible sur le shop de Yoctopuce 2 Le driver HID est celui qui g re les p riph riques tels que la souris le clavier etc Le connecteur Mini A a exist quelque temps mais a t retir du standard USB http www usb org developers Deprecation_Announcement_052507 pdf 2 www yoctopuce com 1 Introduction Vous devez raccorder votre module Yocto PT100 l aide d un cable USB de type A micro B Si vous branchez un hub USB entre l ordinateur et le module Yocto PT100 prenez garde ne pas d passer les limites de courant impos es par USB sous peine de faire face des comportements instables non pr visibles Vous trouverez plus de d tail ce sujet dans le chapitre concernant le montage et la connectique 1 2 Accessoires optionnels Les accessoires ci dessous ne sont pas n cessair
50. 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 136 www yoctopuce com 19 R f rence de l API de haut niveau YAPI PreregisterHub yPreregisterHub Alternative plus tolerante a RegisterHub function yPreregisterHub url errmsg function PreregisterHub url errmsg function yPreregisterHub url amp errmsg YRETCODE yPreregisterHub const string amp url string amp errmsg YRETCODE yPreregisterHub NSString url NSError errmsg function yPreregisterHub url string var errmsg string integer function yPreregisterHub ByVal url As String ByRef errmsg As String As Integer int PreregisterHub string url ref string errmsg synchronized static int PreregisterHub String url def PreregisterHub url errmsg None YAPI Cette fonction a le m me but et la m me param tres que la fonction RegisterHub mais contrairement celle ci PreregisterHub ne d clanche pas d erreur si le hub choisi n est pas joignable au moment de l appel II est ainsi possible d enregistrer un hub r seau ind pendemment de la connectivit afin de tenter de ne le contacter que lorsqu on cherche r ellement un module YAPI_SUCCESS si l op ration se d roule sans erreur Param tres url une cha ne de caract res contenant usb callback ou
51. est strictement identiques si vous les int grez dans une application dot e d une interface graphique 12 3 Contr le de la fonction Temperature Il suffit de quelques lignes de code pour piloter un Yocto PT100 Voici le squelette d un fragment de code C qui utilise la fonction Temperature ES 1 String errmsg YTemperature temperature On r cup re l objet repr sentant le module ici connect en local sur USB YAPI RegisterHub usb errmsg temperature YTemperature FindTemperature PT100MK1 123456 temperature Pour g rer le hot plug on v rifie que le module est l if temperature isOnline T7 Urciiiser temperature goc current Value Voyons maintenant en d tail ce que font ces quelques lignes YAPI RegisterHub La fonction YAPI RegisterHub initialise l API de Yoctopuce en indiquant o les modules doivent tre recherch s Utilis e avec le param tre usb elle permet de travailler avec les modules connect s localement la machine Si l initialisation se passe mal cette fonction renverra une valeur diff rente de YAPI SUCCESS et retournera via le param tre errmsg une explication du probleme YTemperature FindTemperature La fonction YTemperature FindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablemen
52. f rence de l API de haut niveau datalogger get_hardwareld YDataLogger datalogger hardwareld Retourne l identifiant mat riel unique de l enregistreur de donn es au format SERIAL FUNCTIONID function get_hardwareld function get_hardwareld function get_hardwareld string get_hardwareld NSString hardwareld function get_hardwareld As String string get_hardwareld String get_hardwareld def get_hardwareld L identifiant unique est compos du num ro de s rie du module et de l identifiant mat riel de l enregistreur de donn es par example RELAYLO1 123456 relayl Retourne une cha ne de caract res identifiant l enregistreur de donn es ex RELAYLO1 123456 relayl1 En cas d erreur d clenche une exception ou retourne Y_HARDWAREID_INVALID www yoctopuce com 257 19 R f rence de l API de haut niveau datalogger get_logicalName YDataLogger datalogger logicalName Retourne le nom logique de l enregistreur de donn es function get_logicalName function get_logicalName function get_logicalName string get_logicalName NSString logicalName function get_logicalName string function get_logicalName As String string get_logicalName String get_logicalName def get_logicalName YDataLogger target get_logicalName Retourne une cha ne de caract res repr sentant le nom logique de l enregistreur de donn es
53. fonctionner ils commencent fonctionner d s qu ils sont aliment s Le Yocto PT100 peut enregistrer des 112 www yoctopuce com 17 Programmation avanc e donn es sans tre forc ment raccord un ordinateur il suffit d activer le d marrage automatique du datalogger et d alimenter le module avec un simple chargeur USB Effacement de la m moire La m moire du datalogger peut tre effac e a l aide de la fonction forgetAllDataStreams Attention l effacement est irr versible YDataLogger logger YDataLogger FirstDataLogger logger forgetAl1lDataStreams Choix de la fr quence d enregistrement La fr quence d enregistrement se configure individuellement pour chaque capteur l aide de la m thode set _logFrequency La fr quence est sp cifi sous forme textuelle comme pour les callback p riodiques en sp cifiant le nombre d occurrences par seconde s par minute m ou par heure h La valeur par d faut est 1 s L exemple suivant configure la fr quence d enregistrement 15 mesures par minute pour le premier capteur trouv quel que soit son type YSensor sensor YSensor FirstSensor sencor Serl oOgune quency ualo mus Pour conomiser la m moire flash il est possible de d sactiver l enregistrement des mesures pour une fonction donn e Pour ce faire il suffit d utiliser la valeur OFF sensor set_logFrequency OFF Limitation Le Yocto PT100 ne peut pas utiliser des
54. fourni en standard dans tous les syst mes d exploitation Les versions de Windows actuellement support es sont Windows XP Windows 2003 Windows Vista et Windows 7 Les versions 32 bit et 64 bit sont support es Yoctopuce teste r guli rement le bon fonctionnement des modules sur Windows XP et Windows 7 Les versions de Mac OS X actuellement support es sont Mac OS X 10 6 Snow Leopard 10 7 Lion et 10 8 Mountain Lion Yoctopuce teste r guli rement le bon fonctionnement des modules sur Mac OS X 10 6 et 10 7 Les versions de Linux support es sont les kernels 2 6 et 3 0 D autre versions du kernel et m me d autres variantes d Unix sont tr s susceptibles d tre utilis es sans probl me puisque le support de 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 2 6 Les versions de Android actuellement support es sont 3 1 et suivantes De plus il est n cessaire que la tablette ou le t l phone supporte le mode USB Host Yoctopuce teste r guli rement le bon fonctionnement des modules avec Android 4 0 sur un Nexus 7 et un Samsung Galaxy S3 avec la librairie Java pour Android Un cable USB de type A micro B Il existe trois tailles de connecteurs USB la taille normale que vous utilisez probablement pour brancher votre imprimante la taille mini encore tr s courante et enfin la taille micro souvent utilis
55. fr quence de notification p riodique des valeurs mesur es 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 236 www yoctopuce com 19 R f rence de l API de haut niveau temperature set_resolution temperature setResolution Modifie la r solution des valeurs physique mesur es function set_resolution newval function set_resolution newval function set_resolution newval int set_resolution double newval int setResolution double newval function set_resolution newval double integer function set_resolution ByVal newval As Double As Integer int set_resolution double newval int set_resolution double newval def set_resolution newval YTemperature target set_resolution newval YTemperature La r solution correspond la pr cision de l affichage des mesures Elle ne change pas la pr cision de la mesure elle m me r Param tres Retourne YAPI_SUCCESS si l op ration se d roule sans erreur newval une valeur num rique repr sentant la r solution des valeurs physique mesur es En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 237 19 R f rence de l API de haut niveau temperature set _sensorType YTemperature temperature setSensorType Change le type de senseur utilis par le module func
56. fr quences diff rentes pour les notifications p riodiques et pour l enregistrement dans le datalogger Il est possible de d sactiver l une ou l autre de ces fonctionnalit s ind pendamment mais si les deux sont activ es elles fonctionnent n cessairement la m me fr quence R cup ration des donn es Pour r cup rer les donn es enregistr es dans la m moire flash du Yocto PT100 il faut appeler la m thode get recordedData de la fonction d sir e en sp cifiant l intervalle de temps qui nous int resse L intervalle de temps est donn e l aide du timestamp UNIX de d but et de fin Il est aussi possible de sp cifier 0 pour ne pas donner de limite de d but ou de fin La fonction get_recordedData ne retourne pas directement un tableau de valeurs mesur es car selon la quantit de donn es leur chargement pourrait potentiellement prendre trop de temps et entraver la r activit de l application A la place cette fonction retourne un objet YDataSet qui permet d obtenir imm diatement une vue d ensemble des donn es r sum puis d en charger progressivement le d tail lorsque c est souhaitable Voici les principales m thodes pour acc der aux donn es enregistr es dataset sensor get_recordedData 0 0 on choisit l intervalle de temps d sir dataset loadMore pour charger les donn es progressivement dataset get_summary retourne une mesure unique r sumant tout l intervalle de temps dataset get_preview
57. function triggerFirmwareUpdate secBeforeReboot int triggerFirmwareUpdate int secBeforeReboot int triggerFirmwareUpdate int secBeforeReboot pas function triggerFirmwareUpdate secBeforeReboot Longint Longint v function triggerFirmwareUpdate As Integer int triggerFirmwareUpdate int secBeforeReboot int triggerFirmwareUpdate int secBeforeReboot def triggerFirmwareUpdate secBeforeReboot Y Module 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 194 www yoctopuce com 19 R f rence de l API de haut niveau module wait_async YModule 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 function wait_async callback context function wait_async callback context La fonction callback peut donc librement utiliser des fonctions synchrones ou asynchrones sans risquer de bloquer la machine virtuelle Javascript Param tres callback fonction de callback qui sera appel e d s que toutes les commandes en cours d ex cution sur le module seront termin es La fonction callback re oit deux arguments le contexte fourni par l appelant et l objet fonction concern context contexte fou
58. functionIndex Retourne la valeur publi e par la ni me fonction du module module get_beacon Retourne l tat de la balise de localisation module get_errorMessage Retourne le message correspondant a la derni re erreur survenue lors de l utilisation de l objet module module get_errorType 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_hardwareld Retourne l identifiant unique du module module get_icon2d www yoctopuce com 151 19 R f rence de l API de haut niveau Retourne l ic ne du module module get_lastLogs Retourne une chaine de charact re contenant les derniers logs du module module get_logicalName Retourne le nom logique du module module get_luminosity Retourne la luminosit des leds informatives du module valeur entre 0 et 100 module get_persistentSettings Retourne l tat courant des r glages persistents du module module get_productld Retourne l identifiant USB du module pr programm en usine module get_productName Retourne le nom commercial du module pr programm en usine module get_productRelease Retourne le num ro de version mat riel du module pr programm en usine module get_rebootCountdown Retourne le nombre de secondes restantes avant un red marrage du module ou
59. glages se passera correctement Cette limite li e la technologie employ e par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction YModule saveToFlash que 100000 fois au cours de la vie du module Veillez donc a ne pas appeler cette fonction depuis l int rieur d une boucle Enumeration des modules Obtenir la liste des modules connect s se fait a l aide de la fonction YModule yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la mehode nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un null Ci dessous un petit exemple listant les module connect s 88 www yoctopuce com 14 Utilisation du Yocto PT100 en Python usr bin python if ae ONS Oea on import os sys irom yoctofapi import i errmsg YRefParam Setup the API to use local USB devices if YAPI RegisterHub usb errmsg YAPI SUCCESS sys exit init error str errmsg print Device Mast module YModule FirstModule while module is not None print module get serialNumber module get productName module module nextModule 14 5 Gestion des erreurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pas faire abstraction de la gestion des erreurs Il y aura forc ment une occasion o un utilisateur aura d branch le p riph rique soit a
60. haut niveau datalogger nextDataLogger YDataLogger Continue l num ration des enregistreurs de donn es commenc e a l aide de yFirstDataLogger 5s function nextDataLogger node js function nextDataLogger prp _ function nextDataLogger cpe_ YDataLogger nextDataLogger YDataLogger nextDataLogger function nextDataLogger TYDataLogger ve function nextDataLogger As YDataLogger YDataLogger nextDataLogger YDataLogger nextDataLogger def nextDataLogger Retourne un pointeur sur un objet YDataLogger accessible en ligne ou nul 1 lorsque l num ration est termin e 268 www yoctopuce com 19 R f rence de l API de haut niveau datalogger registerValueCallback YDataLogger Enregistre la fonction de callback qui est appel e a chaque changement de la valeur publi e function registerValueCallback callback function registerValueCallback callback function registerValueCallback callback int registerValueCallback YDataLoggerValueCallback callback int registerValueCallback YDataLoggerValueCallback callback function registerValueCallback callback TYDataLoggerValueCallback Longint function registerValueCallback As Integer int registerValueCallback ValueCallback callback int registerValueCallback UpdateCallback callback def registerValueCallback callback Ce callback n est appel que durant l ex cution de ySleep ou yHandleEvents Cela
61. in html logical name module get_logicalName lt br gt html luminosity module get luminosi ty O His Dri html beacon if module get beacon Y BEACON ON html ON lt a href javascript beacon Y BEACON OFF gt switch off lt a gt lt br gt else html OFF lt a href javascript beacon Y BEACON ON gt switch on lt a gt lt br gt html upTime parseInt modulle get_upTime 1000 sec lt br gt html USB current tmodule get_usbCurrent mA lt br gt html logs lt br gt lt pre gt module get_lastLogs lt pre gt lt br gt document getElementById data innerHTML html else document getElementByld msg value Module not connected setTimeout refresh 1000 function beacon state module set_beacon state refresh gt lt SCRIPT gt lt HEAD gt lt BODY onload refresh gt Module to use lt input id serial gt lt input id msg style color red border none readonly gt lt br gt lt span id data gt lt span gt lt BODY gt lt HTML gt Chaque propri t xxx du module peut tre lue grace une m thode du type get xxxx et les propri t s qui se sont pas en lecture seule peuvent tre modifi es l aide de la m thode set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r g
62. la m thode saveToFlash du module si le r glage doit tre pr serv Pour plus de plus amples possibilit s d appliquer une surcalibration aux capteurs veuillez contacter support yoctopuce com P Param tres rawValues tableau de nombres flottants correspondant aux valeurs brutes rendues par le capteur pour les points de correction refValues tableau de nombres flottants correspondant aux valeurs corrig es www yoctopuce com 201 19 R f rence de l API de haut niveau temperature describe YTemperature Retourne un court texte d crivant le capteur de temp rature au format TYPE NAME SERIAL FUNCTIONID 5s function describe node js function describe php function describe string describe NSString describe function describe string function describe As String string describe String describe def describe Plus pr cis ment TYPE correspond au type de fonction NAME correspond au nom utils lors du premier acc s a la fonction SERIAL correspond au num ro de s rie du module si le module est connect ou unresolved sinon et FUNCTIONID correspond l identifiant mat riel de la fonction si le module est connect Par exemple La methode va retourner Relay MyCustomName relayl RELAYLO1 123456 relayl1 si le module est d j connect ou Relay BadCustomeName relayl unresolved si le module n est pas d j connect Cette methode ne declenche aucune
63. logs du module function get_lastLogs function get_lastLogs function get_lastLogs string get_lastLogs NSString lastLogs function get_lastLogs string function get_lastLogs As String string get_lastLogs String get_lastLogs def get_lastLogs YModule target get_lastLogs Cette methode retourne les derniers logs qui sont encore stock dans le module Retourne une chaine de charact re contenant les derniers logs du module 168 www yoctopuce com 19 R f rence de l API de haut niveau module get_logicalName module gt logicalName Retourne le nom logique du module function get_logicalName function get_logicalName function get_logicalName string get_logicalName NSString logicalName function get_logicalName string function get_logicalName As String string get_logicalName String get_logicalName def get_logicalName YModule target get_logicalName Retourne une chaine de caract res repr sentant le nom logique du module YModule En cas d erreur d clenche une exception ou retourne Y_LOGICALNAME_INVALID www yoctopuce com 169 19 R f rence de l API de haut niveau module get_luminosity module luminosity Retourne la luminosit des leds informatives du module valeur entre O et 100 function get_luminosity function get_luminosity function get_luminosity cep Jint get_luminosity
64. lt gt YAPI SUCCESS Then Console WriteLine RegisterHub error errmsg End End If Console WriteLine Device list M yFirstModule While M IsNot Nothing Cons oer Wrakeiame Mec eins cre rcllINUmoe a ctu ete Ciempioc uc E Namen act a M M nextModule End While End Sub End Module 11 5 Gestion des erreurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pas faire abstraction de la 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 votre code doit n anmoins tre fait pour se comporter au mieux pour interpr ter les erreurs signal es par la librairie La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas II faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme La seule mani re de l viter est
65. ne declenche aucune transaction USB ou TCP et peut donc tre utilis dans un debuggeur Retourne une cha ne de caract res d crivant l enregistreur de donn es ex Relay MyCustomName relayl RELAYLO1 123456 relayl www yoctopuce com 245 19 R f rence de l API de haut niveau datalogger forgetAllDataStreams YDataLogger Efface tout l historique des mesures de l enregistreur de donn es function forgetAllDataStreams function forgetAllDataStreams function forgetAllDataStreams int forgetAllDataStreams int forgetAllDataStreams pas_ function forgetAllDataStreams Longint vo function forgetAllDataStreams As Integer int forgetAllDataStreams int forgetAllDataStreams def forgetAllDataStreams YDataLogger target forgetAllDataStreams Cette m thode remet aussi a z ro le compteur de Runs 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 246 www yoctopuce com 19 R f rence de l API de haut niveau datalogger get_advertisedValue YDataLogger datalogger advertisedValue Retourne la valeur courante de l enregistreur de donn es pas plus de 6 caract res function get_advertisedValue function get_advertisedValue function get_advertisedValue string get_advertise
66. par logiciel une Yocto balise allum e La Yocto Led a une troisi me fonctionnalit moins plaisante lorsque ce logiciel interne qui contr le le module rencontre une erreur fatale elle se met flasher SOS en morse 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 La distribution du courant sur un bus USB tant relativement critique cette fonctionnalit peut tre d un grand secours La consommation de courant du module est consultable par logiciel uniquement Le num ro de s rie Chaque Yocto module a un num ro de s rie unique attribu en usine pour les modules Yocto PT100 ce num ro commence par PT100MK1 Le module peut tre pilot par logiciel en utilisant ce num ro de s rie Ce num ro de s rie ne peut pas tre chang Le nom logique Le nom logique est similaire au num ro de s rie c est une chaine de caract re sens e tre unique qui permet r f rencer le module par logiciel Cependant contrairement au num ro de s rie le nom logique peut tre modifi volont L int r t est de pouvoir fabriquer plusieurs exemplaire du m me projet sans avoir modifier le logiciel de pilotage Il suffit de programmer les m me noms log
67. partie de la librairie de bas niveau est crite en C pur sucre mais vous n aurez a priori pas besoin d interagir directement avec elle tout a t fait pour que l interaction soit le plus simple possible depuis Objective C Vous allez rapidement vous rendre compte que l API Objective C d finit beaucoup de fonctions qui retournent des objets Vous ne devez jamais d sallouer ces objets vous m me Ils seront d sallou s automatiquement par l API la fin de l application Afin des les garder simples tous les exemples fournis dans cette documentation sont des applications consoles 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 Vous trouverez sur le blog de Yoctopuce un exemple d taill avec des s quences vid o montrant comment int grer les fichiers de la librairie vos projets 10 1 Contr le de la fonction Temperature Lancez Xcode 4 2 et ouvrez le projet exemple correspondant fourni dans le r pertoire Examples Doc GettingStarted Yocto PT100 de la librairie Yoctopuce import lt Foundation Foundation h gt import yocto api h import yocto temperature h static void usage void NSLog usage demo lt serial number gt NSLog demo lt logical name gt NSLog demo any use nysdscoveredidevice M ezasi 1 www yoctopuce com FR libraries php 2 www yoctopuce com FR article nouvelle li
68. permet a l appelant de contr ler quand les callback peuvent se produire Il est important d appeler l une de ces deux fonctions p riodiquement pour garantir que les callback ne soient pas appel s trop tard Pour d sactiver un callback il suffit d appeler cette m thode en lui passant un pointeur nul 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 269 19 R f rence de l API de haut niveau datalogger set_autoStart YDataLogger datalogger setAutoStart Modifie le mode d activation automatique de l enregistreur de donn es la mise sous tension function set_autoStart newval function set_autoStart newval function set_autoStart newval int set_autoStart Y_AUTOSTART_enum newval int setAutoStart Y_AUTOSTART_enum newval pas function set_autoStart newval Integer integer _vb function set_autoStart ByVal newval As Integer As Integer int set_autoStart int newval int set_autoStart int newval def set_autoStart newval Y DataLogger target set_autoStart newval N oubliez pas d appeler la m thode saveToFlash du module si le r glage doit tre pr serv Param tres newval soit Y_AUTOSTART_ OFF soit Y_AUTOSTART_ ON selon le mode d activation automatique de l enre
69. rature comme le Yocto PT100 yRegisterHub La fonction yRegisterHub initialise l API de Yoctopuce en indiquant o les modules doivent tre recherch s Utilis e avec le param tre usb elle permet de travailler avec les modules connect s localement la machine Si l initialisation se passe mal cette fonction renverra une valeur diff rente de YAPI SUCCESS et retournera via le param tre errmsg un explication du probl me yFindTemperature La fonction yFindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t YTemperature temperature yFindTemperature PT100MK1 123456 temperature 58 www yoctopuce com 10 Utilisation du Yocto PT100 en Objective C PT100MK1 123456 MaFonction MonModule temperature MonModule MaFonction MaFonction YTemperature temperature yFindTemperature YTemperature temperature yFindTemperature YTemperature temperature yFindTemperature YTemperature temperat
70. riodiques ne sont appel s que pendant l ex cution des fonctions YAPI Sleep et YAPI HandleEvents Vous devez donc appeler une de ces fonctions a intervalle r gulier soit depuis un timer soit depuis un thread parall le while true boucle d attente permettant de d clencher les callbacks YAPI Sleep 500 ref errmsg Dans les environnements de programmation ou seul le thread d interface a le droit d interagir avec l utilisateur il est souvent appropri d appeler YAPI HandleEvents depuis ce thread 110 www yoctopuce com 17 Programmation avanc e Le callback de changement de valeur Ce type de callback est appel lorsque un capteur de temp rature change de mani re significative Il prend en param tre la fonction concern e et la nouvelle valeur sous forme d une cha ne de x 1 caract res static void valueChangeCallback YTemperature fct string value Console Writehanel fel get handwaneld i W 2 svallue l Dans la plupart des langages les callbacks doivent tre des proc dures globales et non pas des m thodes Si vous souhaitez que le callback appelle une m thode d un objet d finissez votre callback sous la forme d une proc dure globale qui ensuite appellera votre m thode Si vous avez besoin de garder la r f rence sur votre objet vous pouvez la stocker directement dans l objet YTemperature l aide de la fonction set _userData Il vous sera ainsi possible d
71. sans erreur En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 251 19 R f rence de l API de haut niveau datalogger get_errorMessage YDataLogger datalogger errorMessage Retourne le message correspondant la derni re erreur survenue lors de l utilisation de l enregistreur de donn es function get_errorMessage function get_errorMessage function get_errorMessage string get_errorMessage NSString errorMessage function get_errorMessage string function get_errorMessage As String string get_errorMessage String get_errorMessage def get_errorMessage Cette m thode est principalement utile lorsque la librairie Yoctopuce est utilis e en d sactivant la gestion des exceptions Retourne une chaine de caract res correspondant au message de la derni re erreur qui s est produit lors de l utilisation de l enregistreur de donn es 252 www yoctopuce com 19 R f rence de l API de haut niveau datalogger get_errorType YDataLogger datalogger errorType Retourne le code d erreur correspondant a la derni re erreur survenue lors de l utilisation de l enregistreur de donn es function get_errorType function get_errorType function get_errorType YRETCODE get_errorType function get_errorType YRETCODE function get_errorType As YRETCODE YRETCODE get_errorType int get_errorTyp
72. transaction USB ou TCP et peut donc tre utilis dans un debuggeur Retourne une cha ne de caract res d crivant le capteur de temp rature ex Relay MyCustomName relayl RELAYLO1 123456 relayl 202 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_advertisedValue YTemperature temperature advertisedValue Retourne la valeur courante du capteur de temp rature pas plus de 6 caract res function get_advertisedValue function get_advertisedValue function get_advertisedValue string get_advertisedValue NSString advertisedValue function get_advertisedValue string function get_advertisedValue As String string get_advertisedValue String get_advertisedValue def get_advertisedValue YTemperature target get_advertisedValue Retourne une chaine de caract res repr sentant la valeur courante du capteur de temp rature pas plus de 6 caract res En cas d erreur d clenche une exception ou retourne Y_ADVERTISEDVALUE_INVALID www yoctopuce com 203 19 R f rence de l API de haut niveau temperature get_currentRawValue YTemperature temperature currentRawValue Retourne la valeur brute retourn e par le capteur sans arrondi ni calibration function get_currentRawValue function get_currentRawValue function get_currentRawValue double get_cur
73. tre t l charg s depuis le site web de Yoctopuce Pour mettre a jour un firmware cliquez simplement sur le bouton upgrade de la fen tre de configuration et suivez les instructions Si pour une raison ou une autre la mise a jour venait a chouer d branchez puis rebranchez le module Recommencer la proc dure devrait r soudre alors le probleme Si le module a t d branch alors qu il tait en cours de reprogrammation il ne fonctionnera probablement plus ne sera plus list dans l interface Mais il sera toujours possible de le reprogrammer correctement en utilisant le programme Virtual Hub en ligne de commande 3 www yoctopuce com FR virtualhub php 4 Consultez la documentation du virtual hub pour plus de d tails 10 www yoctopuce com 3 Premiers pas Nom logique du module Le nom logique est un nom choisi par vous qui vous permettra d acc der votre module de la m me mati re qu un nom de fichier vous permet d acc der son contenu Un nom logique doit faire au maximum 19 caract res les caract res autoris s sont les caract res A Z a z 0 9 et Si vous donnez le m me nom logique deux modules raccord s au m me ordinateur et que vous tentez d acc der l un des modules l aide de ce nom logique le comportement est ind termin vous n avez aucun moyen de savoir lequel des deux va r pondre Luminosit Ce param tre vous permet d agir sur l intensit maximale des leds pr sentes sur
74. votre projet si vous voulez viter les mauvaises surprises 4 1 Fixation Pendant la mise au point de votre projet vous pouvez vous contenter de laisser le module se promener au bout de son c ble Veillez simplement ce qu il ne soit pas en contact avec quoi que soit de conducteur comme vos outils Une fois votre projet pratiquement termin il faudra penser faire en sorte que vos modules ne puissent pas se promener l int rieur Exemples de montage sur un support Le module Yocto PT100 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 Veillez que la surface inf rieure du module ne soit pas en contact avec le support La m thode recommand e consiste utiliser des entretoises mais il en existe d autres Rien ne vous emp che de le fixer au pistolet colle a ne sera tr s joli mais a tiendra Si vous comptez visser votre module directement contre une paroi conductrice un chassis m tallique par exemple intercalez une couche isolante entre les deux Sinon vous aller coup s r www yoctopuce com 13 4 Montage et connectique provoquer un court circuit il y a des pads nu sous votre module Du simple ruban adh sif d emballage devrait faire l affaire 4 2 Branchement du Pt100 Pour brancher un Pt100 sur votre Yocto PT100 vissez simplement ses ext
75. with detected relay aa notifyDataSetChanged Override protected void onStop super onstop YAPI FreeAPI private void DisplayModulelnfo TextView field if module null Re UTI Levi YAPI UpdateDeviceList fixme field TextView findViewById R id logicalnamefield field setText module getLogicalName catch YAPI Exception e e printstacki race Override public void onItemSelected AdapterView lt gt parent View view int pos long id String hwid parent getItemAtPosition pos toString module YModule FindModule hwid DisplayModuleInfo Override public void onNothingSelected AdapterView lt gt arg0 public void saveName View view if module null return EditText edit EditText findViewById R id newname String newname edit getText toString try if YAPI CheckLogicalName newname Toast makeText getApplicationContext Invalid name newname Toast LENGTH LONG show Ter UCN module set_logicalName newname module saveToFlash do not forget this edite SerTen qu Catch YAPT Exception ex ExAprinrotactlnmacett DisplayModuleInfo www yoctopuce com 105 16 Utilisation du Yocto PT100 avec Android Attention le nombre de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauveg
76. 127 0 0 1 4444 bySerial PTI00MK1 12345 datalogger json Le d tail de chaque mesure pour un chaque tranche d enregistrement peut tre obtenu en ajoutant l URL l identifiant de la fonction d sir e et l heure de d part de la tranche http 127 0 0 1 4444 bySerial PT100MK1 12345 dataLogger json id temperature utc 1389801080 18 3 Utilisation des librairies dynamiques L API Yoctopuce bas niveau est disponible sous diff rents formats de librairie dynamiques crites en C dont les sources sont disponibles avec l API C Utiliser une de ces librairies bas niveau vous permettra de vous passer du Virtual Hub Filename Plateforme libyapi dylib Max OS X libyapi amd64 so Linux Intel 64 bits libyapi armel so Linux ARM EL libyapi armhf so Linux ARM HL libyapi i386 so Linux Intel 32 bits yapi64 dll Windows 64 bits yapi dll Windows 32 bits Ces librairies dynamiques contiennent toutes les fonctionnalit s n cessaires pour reconstruire enti rement toute l API haut niveau dans n importe quel langage capable d int grer ces librairies Ce chapitre se limite cependant d crire une utilisation de base des modules Contr le d un module Les trois fonctions essentielles de l API bas niveau sont les suivantes int YapilnitAPT int connection type char errmsg int yapiUpdateDeviceList int forceupdate char errmsg int yapiHTTPRequest char device char request char buffer int buffsize int fullsize char errmsg La foncti
77. 150 www yoctopuce com 19 R f rence de l API de haut niveau 19 2 Interface de contr le du module Cette interface est la m me pour tous les modules USB de Yoctopuce Elle permet de contr ler les param tres g n raux du module et d num rer les fonctions fournies par chaque module Pour utiliser les fonctions d crites ici vous devez inclure lt script type text javascript src yocto_api js gt lt script gt var yoctolib require yoctolib var YAPI yoctolib YAPI var YModule yoctolib YModule require_once yocto_api php include yocto_api h import yocto_api h uses yocto_api yocto_api vb yocto_api cs import com yoctopuce YoctoAPI YModule from yocto_api import Fonction globales yFindModule func Permet de retrouver un module d apr s son num ro de s rie ou son nom logique yFirstModule Commence l num ration des modules accessibles par la librairie M thodes des objets YModule moduledescribe Retourne un court texte d crivant le module module download pathname T l charge le fichier choisi du module et retourne son contenu module gt functionCount Retourne le nombre de fonctions sans compter l interface module existant sur le module module functionid functionindex Retourne l identifiant mat riel de la ni me fonction du module module functionName functionIndex Retourne le nom logique de la ni me fonction du module module functionValue
78. 44 Serrmsg Stemperature yFindTemperature PT100MK1 123456 temperature Pour g rer le hot plug on v rifie que le module est l if temperature gt isOnline Utiliser temperature gt get_currentValue Voyons maintenant en d tail ce que font ces quelques lignes yocto_api php et yocto_temperature php Ces deux includes PHP permettent d avoir acc s aux fonctions permettant de g rer les modules Yoctopuce yocto api php doit toujours tre inclus yocto temperature php est n cessaire pour g rer les modules contenant un capteur de temp rature comme le Yocto PT100 yRegisterHub La fonction yRegisterHub permet d indiquer sur quelle machine se trouve les modules Yoctopuce ou plus exactemenent sur quelle machine tourne le programme VirtualHub Dans notre cas l adresse 127 0 0 1 4444 indique la machine locale en utilisant le port 4444 le port standard utilis par Yoctopuce Vous pouvez parfaitement changer cette adresse et mettre l adresse d une autre machine sur laquelle tournerait un autre VirtualHub yFindTemperature La fonction yFindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous au
79. 47 9 Utilisation du Yocto PT100 en C oie cece eee eeeceeeeeeeesneeeeseeeneteneesteenen 49 9 1 Contr le de la fonction Temperature ooo eee eeeeeeeeeneeeeseneeeeeeaeeeeeeeeeteeneeeeseeeeeteneeeeeeaes 49 9 2 Contr l de la partie module e ne a e herd e S 51 9 3 GESTION des erreurs rhinite EEE E EE E EEE E EA 54 9 4 Int gration de la librairie Yoctopuce en C ssssssssssssseissssssrrrntererirntntstrnntntsrrtrnnnnnerrnn nennt 54 10 Utilisation du Yocto PT100 en Objective C oo eens 57 10 1 Contr le de la fonction Temperature o oo eeeeeeeeeeeeeeeeeeeeeeeeeeeeseaeeeessaeeeessaaeeeeseeeeeenaeees 57 10 2 Contr le de la partie module ss 59 10 3 Gestion des err urs scattered natin aii wie eit eae 61 11 Utilisation du Yocto PT100 en VisualBasic NET 0000 ee 63 Tist Installation 2 Listes tin Min shee oa Sian eae ties 63 11 2 Utilisation l API yoctopuce dans un projet Visual Basic eee eeeeeeeneeeeeneeeeteneeeeeeaees 63 11 3 Contr le de la fonction Temperature ooo eee eeeeeeceeeeneeeeeeneeeeeeeeeeseaeeeeseaeeeessaeeesseneeeeenaeees 64 11 4 Contr le de la partie module sise 66 11 59 Gestion des rreurSr LL 2 Hair eee ak a Ne RD TS en cho 68 12 Utilisation du Yocto PT100 en C ones eecseeseesneeseneeeeerteestenneereeenneen 71 IZA INStallation gt ess ee Re AIR NE ak re eR ST NT nr Re nana is 71 12 2 Utilisation l API yoctopuce dans un projet Visual C oo eee eeeeeeeeeneeeeeenneeeeeeneeeeeeneeeeey 71 12 3 Contr le d
80. 97 16 2 Pr paration reacer rendani aa eree a eeina eevee dani a ideari erare raai 97 16 3 Compatibilite 235 o5 E EE E E E ATE ANT 97 16 4 Activer le port USB sous Android sesssessseeesesserisssiistiirtstiitttitinntintainnnatinnttunnttnnnetnnnnena 98 16 5 Contr le de la fonction Temperature ooo eee eeeeeeeeeeeeeeeeneeeeeeneeeeeeeeeeeeeaeesenaeeeeenaeeeenaaes 100 16 6 Contr le de la partie module ooo eee ceeeeeeeenee teeter eee seaaeeeeeeaeeeseeaeeeeseaeeeeteeeeeseeaeetenaaes 102 16 7 Gestion des erreurs EEEE RE a ER ats 107 17 Programmation avanc e ooo ccc sssesssesseestessesecseesseesecsseaseceseeseeseesseeseenses 109 17 1 Programmation par v nements ss 109 17 2 L enregistreur de donn es iii 112 1 7532 Calibration des SCnSeurs Era een nn At ete AE nes eee AS 115 18 Utilisation avec des langages non support s W ete 119 18 1 Ligne de commande sua ann eine weenie Gina Eaa E TEE AINNEART ee 119 182 Vintual UE SEE TP GET R les eee ee A ES rex 119 18 3 Utilisation des librairies dynamiques o oo eee eete ee eene cette aeeeteeeeeeteaeeeeeeaeeeeteeeeeteaeaes 121 18 4 Port de la librairie haut niveau oo cee eececcccccccccceceeeeeeeeeesceeeeceeeeeeceeseeaeseseeeeeeeeeeeeeeeess 124 19 R f rence de l API de haut niveau oun ee cece ccc tec eee eeeeeeeeeeeeeeseeeeeeeees 125 19 1 FOMCONS GeneraleS Hans ph a e es Hie aie aah ae 126 19 2 Interface de contr le du module ooo eect eeeeeeeeeeeeeee tenes eeeseeeee
81. B yRegisterHub usb errmsg temperature yFindTemperature PT1LOOMK1 123456 temperature REM Pour g rer le hot plug on v rifie que le module est l If temperature isOnline Then REM Utiliser temperature get_currentValue End if Voyons maintenant en d tail ce que font ces quelques lignes yRegisterHub La fonction yRegisterHub initialise l API de Yoctopuce en indiquant o les modules doivent tre recherch s Utilis e avec le param tre usb elle permet de travailler avec les modules connect s localement la machine Si l initialisation se passe mal cette fonction renverra une valeur diff rente de YAPI SUCCESS et retournera via le param tre errmsg un explication du probl me yFindTemperature La fonction yFindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t temperature yFindTemperature PT100MK1 123456 temperature temperature yFindTemperature PT100MK1 123456 MaFonction temperature yFi
82. Hub string url synchronized static void UnregisterHub String url def UnregisterHub url Param tres url une cha ne de caract res contenant usb ou 148 www yoctopuce com 19 R f rence de l API de haut niveau YAPI UpdateDeviceList YAPI yUpdateDeviceList Force une mise a jour de la liste des modules Yoctopuce connect s function yUpdateDeviceList errmsg function UpdateDeviceList errmsg function yUpdateDeviceList amp errmsg YRETCODE yUpdateDeviceList string amp errmsg YRETCODE yUpdateDeviceList NSError errmsg function yUpdateDeviceList var errmsg string integer function yUpdateDeviceList ByRef errmsg As String As YRETCODE YRETCODE UpdateDeviceList ref string errmsg int UpdateDeviceList def UpdateDeviceList errmsg None La librairie va v rifier sur les machines ou ports USB pr c demment enregistr s en utilisant la fonction yRegisterHub si un module a t connect ou d connect et le cas ch ant appeler les fonctions de callback d finies par l utilisateur Cette fonction peut tre appel e aussi souvent que d sir afin de rendre l application r active aux v nements de hot plug gt 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 erreu
83. I public class Demo Dubie static vord main String args try setup the API to use local VirtualHub YAPI RegisterHub 127 0 0 1 enteh AEE ceprlonsex i System oUt qjovealinie Ika MCchotavehe Contac EVER Aa 0mo ex getLocalizedMessage System out printiin Ensure that the VirtualHub application is running System exit 1 if args length 2 System out printin usage demo lt serial or logical name gt lt new logical name gt System exit 1 YModule m String newname m YModule FindModule args 0 use serial or logical name trey newname args 1 if YAPI CheckLogicalName newname System out printin Invalid name newname System exit 1 m set_logicalName newname m saveToFlash do not forget this System out print ln Module seridl eam igetasesialNumb emi i System out println name m get logicalName cach YAPTURxcepelon ex 94 www yoctopuce com 15 Utilisation du Yocto PT100 en Java System out printin Module args 0 not connected check identification and USB cable System out printin ex getMessage System exit 1 YAPI FreeAPI Attention le nombre de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauvegarde des r glages se passera correctement Cette limite li e la technologie employ e par le
84. I DisableExceptions yDisableExceptions D sactive l utilisation d exceptions pour la gestion des erreurs function yDisableExceptions function DisableExceptions function yDisableExceptions void yDisableExceptions void yDisableExceptions procedure yDisableExceptions procedure yDisableExceptions void DisableExceptions def DisableExceptions YAPI 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 129 19 R f rence de l API de haut niveau YAPI EnableExceptions YAPI yEnableExceptions R active l utilisation d exceptions pour la gestion des erreurs function yEnableExceptions node js function EnableExceptions function yEnableExceptions void yEnableExceptions void yEnableExceptions procedure yEnableExceptions procedure yEnableExceptions cs void EnableExceptions def EnableExceptions Attention lorsque les exceptions sont activ es tout appel a 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 130 www yoctopuce com 19 R f rence de l API de haut niveau YAPI EnableUSBHost YAPI yEnableUSBHost Cette fonction es
85. Module et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t temperature YTemperature FindTemperature PT100MK1 123456 temperature temperature YTemperature FindTemperature PT1LOOMK1 123456 MaFonction temperature YTemperature FindTemperature MonModule temperature temperature YTemperature FindTemperature MonModule MaFonction temperature YTemperature FindTemperature MaFonction YTemperature FindTemperature renvoie un objet que vous pouvez ensuite utiliser a loisir pour contr ler le capteur de temp rature isOnline La m thode YTemperature isOnline de l objet renvoy par FindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get currentValue de l objet renvoy par YTemperature FindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius Un exemple r el Lancez votre interpr teur Python et ouvrez le script correspondant fourni dans le r pertoire Examples Doc GettingStarted Yocto PT100 de la librairie Yoctopuce Vous reconnaitrez dans cet exemple l utilisation des fonctions expliqu es ci dessus cette fois utilis es avec le d corum n cessaire
86. REBOOTCOUNTDOWN_INVALID www yoctopuce com 175 19 R f rence de l API de haut niveau module gt get_serialNumber module serialNumber Retourne le num ro de s rie du module pr programm en usine function get_serialNumber function get_serialNumber function get_serialNumber string get_serialNumber NSString serialNumber function get_serialNumber string function get_serialNumber As String string get_serialNumber String get_serialNumber def get_serialNumber YModule target get_serialNumber Retourne YModule une cha ne de caract res repr sentant le num ro de s rie du module pr programm en usine En cas d erreur d clenche une exception ou retourne Y_SERTALNUMBER_INVALTID 176 www yoctopuce com 19 R f rence de l API de haut niveau module get_upTime YModule module upTime Retourne le numbre de millisecondes coul es depuis la mise sous tension du module function get_upTime function get_upTime function get_upTime s64 get_upTime s64 upTime function get_upTime int64 function get_upTime As Long long get_upTime long get_upTime def get_upTime YModule target get_upTime Retourne un entier repr sentant le numbre de millisecondes coul es depuis la mise sous tension du module En cas d erreur d clenche une exception ou retourne Y_UPTIME_INVALID www yoctopuce com 177 19 R f
87. Version string yGetAPIVersion NSString yGetAPIVersion function yGetAPIVersion string function yGetAPIVersion As String String GetAPIVersion String GetAPIVersion def GetAPIVersion La version est retourn e sous forme d une chaine de caract res au format Majeure Mineure NoBuild par exemple 1 01 5535 Pour les langages utilisant une DLL externe par exemple C VisualBasic ou Delphi la chaine contient en outre la version de la DLL au m me format par exemple 1 01 5535 1 01 5439 Si vous d sirez v rifier dans votre code que la version de la librairie est compatible avec celle que vous avez utilis durant le d veloppement v rifiez que le num ro majeur soit strictement gal et que le num ro mineur soit gal ou sup rieur Le num ro de build n est pas significatif par rapport a la compatibilit de la librairie Retourne une cha ne de caract res d crivant la version de la librairie www yoctopuce com 133 19 R f rence de l API de haut niveau YAPI GetTickCount YAPI yGetTickCount Retourne la valeur du compteur monotone de temps en millisecondes function yGetTickCount nodejs function GetTickCount function yGetTickCount u64 yGetTickCount u64 yGetTickCount function yGetTickCount u64 vo _ function yGetTickCount As Long ulong GetTickCount long GetTickCount def GetTickCount Ce compteur peut tre utilis pour
88. Word 40 www yoctopuce com 8 Utilisation du Yocto PT100 en PHP Vous reconnaitrez 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 lt HTML gt lt HEAD gt lt TITLE gt Hello World lt TITLE gt lt HEAD gt lt BODY gt lt php include NMyoctosapipnp include yocto temperature php Use explicit error handling rather than exceptions yDisableExceptions Setup the API to use the VirtualHub on local machine it yRegisterHub http 127 0 0 1 34444 Serrmsg YAPE SUCCESS die Cannot contact VirtualHub on 127 0 0 1 Sserial 5 GET seriall Serre Wes VN af Check if a specified module is available online Stemp yFindTemperature Sserial temperature if temp gt isOnline die Module not connected check serial and USB cable reles i or use any connected module suitable for the demo Stemp yFirstTemperature if is null temp die No module connected check USB cable else serial temp gt module gt get_serialnumber Print Module to use lt input name serial value Sserial gt lt br gt Stvalue Stemp gt get_currentValue Print Temperature tvalue amp deg C lt br gt trigger auto refresh after one second Print lt script language javascript1 5 type text JavaScript gt n Print
89. YAPI RegisterHub usb temperature YTemperature FindTemperature PT100MK1 123456 temperature Pour g rer le hot plug on v rifie que le module est l if temperature isOnline Use temperature get_currentValue erences Voyons maintenant en d tail ce que font ces quelques lignes YAPI EnableUSBHost La fonction YAPI EnableUSBHost initialise l API avec le Context de l application courante Cette fonction prend en argument un objet de la classe android content Context ou d une sous classe Si vous comptez uniquement vous connecter a d autres machines par IP vous cette fonction est factultative YAPI RegisterHub La fonction YAPI RegisterHub initialise l API de Yoctopuce en indiquant o les modules doivent tre recherch s Le param tre est l adresse du virtual hub capable de voir les modules Si l on passe la chaine de caract re usb l API va travailler avec les modules connect s localement la machine Si l initialisation se passe mal une exception sera g n r e YTemperature FindTemperature La fonction YTemperature FindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vou
90. Yocto PT100 Mode d emploi Table des mati res Me METRO GUCUIORN Len nn nn nm et Una eee 1 11 Pr requis dissem habits lan ne ess nd Mise ins n stat fra ANA an ATT 1 1 2 Accessoires optionnels Faresi raa a anaa e e eens EE ia 3 2 Pr sentati N iit artere Nr de etal ce ae ted nasa 5 2 1 Les 6lements COMMUNS inienn a e a a aa T 5 2 2 1LeS l ments SpECIfiqgUeS ierte nn a daa ai aa e aE 6 3 PRCMIGES DAS hdi Msn idee lac E E 9 9 1 LOCALISATION eran a errant deed ea Ee fades deere deste ed vices Sapededetesenes 9 3 2 T stduimodul sszssssenssn Ah eau Rite E ea a aTe a Aa aaa a aa ra A AAE aaa isai 9 3 3 CONTIQUIATION E E A E E A td eee ed Avett 10 4 Montage et connectique onan cece cece cece estes eseeseeneeneseeseseeseeaesssueseenesueeneaeeateaeeass 13 AT FIXATION amenant Anette Alea bende ied aaa ea ares 13 4 2 Branchement du Pt100 iii eee 14 4 3 Contraintes d alimentation par USB ss 14 5 Programmation concepts g n raux oo csssesseesseeseessesseesseesseeseesneesees 17 5 1 Paradigme de programmation sis 17 5 2 Le module Yoct P T100 iaire eenaa tenaaan earr ea Mendis 19 5 3 Interface de contr le du module ssesssssssrrrssrrsssrrrssrrnnesernsttrntttenantttnntennantnanarennnatnnneennnene 19 5 4 Interface de la fonction Temperature ou eee ceceeeeeeeeeneeeeeeneeeeeeneeeeseaeeeeseaeeeeeeeaeeseneaeeseaaes 21 5 5 Interface de la fonction DataLogger eee eeceeeeeeneeeeeeneeeeeeeeeeeenaaeeesesaeeesseeeeeeeneee
91. a mesure measure get_endTimeUTC Retourne l heure absolue de la fin de la mesure sous forme du nombre de secondes depuis le 1er janvier 1970 UTC date heure au format Unix measure get_maxValue Retourne la plus grande valeur observ e durant l intervalle de temps couvert par la mesure measure get_minValue Retourne la plus petite valeur observ e durant l intervalle de temps couvert par la mesure measure get_startTimeUTC Retourne l heure absolue du d but de la mesure sous forme du nombre de secondes depuis le 1er janvier 1970 UTC date heure au format Unix www yoctopuce com 289 19 R f rence de l API de haut niveau measure get_averageValue YMeasure measure averageValue Retourne la valeur moyenne observ e durant l intervalle de temps couvert par la mesure function get_averageValue function get_averageValue function get_averageValue double get_averageValue double averageValue function get_averageValue double function get_averageValue As Double double get_averageValue double get_averageValue def get_averageValue Retourne un nombre d cimal correspondant la valeur moyenne observ e 290 www yoctopuce com 19 R f rence de l API de haut niveau measure get_endTimeUTC YMeasure measure endTimeUTC Retourne l heure absolue de la fin de la mesure sous forme du nombre de secondes depuis le 1er janvier 1970 UTC date heure
92. a parce que la commande ne sera plus ex cut e nativement mais travers le Virtual Hub Notez que le Virtual Hub compte comme une application native 30 www yoctopuce com 7 Utilisation du Yocto PT100 en Javascript Javascript n est probablement pas le premier langage qui vous serait venu l esprit pour contr ler du mat riel mais il pr sente l immense avantage d tre tr s facile mettre en oeuvre avec Javascript il ne vous faudra qu un diteur de texte et un browser internet pour r aliser vos premiers essais Au moment de l criture de ce manuel la librairie Javascript fonctionne avec n importe quel browser r cent sauf Opera Il est probable que qu Opera finira un jour par fonctionner avec la librairie Yoctopuce mais pour l instant ce n est pas le cas 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 vous devrez faire tourner la passerelle de Yoctopuce appel e VirtualHub sur la machine laquelle sont branch s les modules 7 1 Pr paration Connectez vous sur le site de Yoctopuce et t l chargez les l ments suivants e La librairie de programmation pour Javascript Le programme VirtualHub pour Windows Mac OS X ou Linux selon l OS que vous utilisez D compressez les fichiers de la librairie dans un r pertoire de votre choix branchez vos modules lancez le programme VirtualHub et vous pouvez commence
93. a une valeur Y STATE INVALID une m thode get currentValue retournera une valeur Y CURRENTVALUE INVALID etc Dans tous les cas la valeur retourn e sera du 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 Dans le cas de fonctions qui ne retournent priori pas d information la valeur de retour sera YAPI SUCCESS si tout va bien et un code d erreur diff rent en cas d chec T 68 www yoctopuce com 11 Utilisation du Yocto PT100 en VisualBasic NET Quand vous travaillez sans les exceptions il est possible d obtenir un code d erreur et un message expliquant l origine de l erreur en le demandant l objet qui a retourn une erreur l aide des m thodes errType et errMessage Ce sont les m me informations qui auraient t associ es l exception si elles avaient t actives www yoctopuce com 69 70 www yoctopuce com 12 Utilisation du Yocto PT100 en C C prononcez C Sharp est un langage orient objet promu par Microsoft qui n est pas sans rappeller Java Tout comme Visual Basic et Delphi il permet de cr er des applications Windows relativement facilement Tous les exemples et les mod les de projet sont test s avec Microsoft C 2010 Express disponible gratuitement sur le site de Microsoft 1 12 1 Ins
94. adre attendu pour la valeur retourn e Dans le cas de fonctions qui ne retournent priori pas d information la valeur de retour sera YAPI SUCCESS si tout va bien et un code d erreur diff rent en cas d chec Quand vous travaillez sans les exceptions il est possible d obtenir un code d erreur et un message expliquant l origine de l erreur en le demandant l objet qui a retourn une erreur l aide des m thodes errType et errMessage Ce sont les m me informations qui auraient t associ es l exception si elles avaient t actives www yoctopuce com 37 38 www yoctopuce com 8 Utilisation du Yocto PT100 en PHP PHP est tout comme Javascript un langage assez atypique lorsqu il s agit de discuter avec du hardware N anmoins utiliser PHP avec des modules Yoctopuce offre l opportunit de construire tr s facilement des sites web capables d interagir avec leur environnement physique ce qui n est pas donn tous les serveurs web Cette technique trouve une application directe dans la domotique quelques modules Yoctopuce un serveur PHP et vous pourrez interagir avec votre maison depuis n importe ou dans le monde Pour autant que vous ayez une connexion internet PHP fait lui aussi partie de ces langages qui ne vous permettront pas d acc der directement aux couches mat rielles de votre ordinateur C est pourquoi vous devrez faire tourner un hub virtuel sur la machine laq
95. alName newname Then Console WriteLine Invalid name newname End End If m set_logicalName newname m saveToFlash REM do not forget this Console Write Module serial m get_serialNumber Console Write name m get_logicalName Else Console Write not connected check identification and USB cable End If End Sub End Module Attention le nombre de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauvegarde des r glages se passera correctement Cette limite li e a la technologie employ e par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction saveToFlash que 100000 fois au cours de la vie du module Veillez donc ne pas appeler cette fonction depuis l int rieur d une boucle Enumeration des modules Obtenir la liste des modules connect s se fait a l aide de la fonction yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la fonction nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un Nothing Ci dessous un petit exemple listant les module connect s Module Modulel www yoctopuce com 67 11 Utilisation du Yocto PT100 en VisualBasic NET Sub Main Dim M As ymodule Dim errmsg As String REM Setup the API to use local USB devices If yRegisterHub usb errmsg
96. allback context function loadMore_async callback context Parametres callback fonction fournie par l utilisateur qui sera appel e lorsque la suite du chargement aura t effectu La fonction callback doit prendre trois arguments la variable de contexte disposition de l utilisateur l objet YDataSet dont la m thode loadMore_async a t appel e le r sultat de l appel soit l tat d avancement du chargement 0 100 ou un code d erreur n gatif en cas de probl me context variable de contexte disposition de l utilisateur Retourne rien 288 www yoctopuce com 19 R f rence de l API de haut niveau 19 6 Valeur mesur e Les objets YMeasure sont utilis s dans l interface de programmation Yoctopuce pour repr senter une valeur observ e un moment donn e Ces objets sont utilis s en particulier en conjonction avec la classe YDataSet Pour utiliser les fonctions d crites ici vous devez inclure lt script type text javascript src yocto_api js gt lt script gt var yoctolib require yoctolib var YAPI yoctolib YAPI var YModule yoctolib YModule require_once yocto_api php include yocto_api h import yocto_api h uses yocto_api yocto_api vb yocto_api cs import com yoctopuce YoctoAPI YModule from yocto_api import M thodes des objets YMeasure measure get_averageValue Retourne la valeur moyenne observ e durant l intervalle de temps couvert par l
97. allback est la fonction qui sera appel e chaque fois qu un nouveau module Yoctopuce sera branch Elle prend en param tre le module concern static void deviceArrival YModule m www yoctopuce com 109 17 Programmation avanc e Console WriteLine Nouveau module m get serialNumber L initialisation Vous devez ensuite signaler l API qu il faut appeler votre callback quand un nouveau module est branch YAPI RegisterDeviceArrivalCallback deviceArrival Notez que si des modules sont d j branch s lorsque le callback est enregistr le callback sera appel pour chacun de ces modules d j branch s D clenchement des callbacks Un probl me classique de la programmation par callbacks est que ces callbacks peuvent tre appel s n importe quand y compris 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 UpdateDeviceList Il vous suffit d appeler UpdateDeviceList intervalle r gulier depuis un timer ou un thread sp cifique pour controller pr cis ment quand les appels ces callbacks auront lieu boucle d attente g rant les callback while true callback d arriv e d part de modules YAPI UpdateDeviceList ref errmsg
98. ammation 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 e Si votre code attrape l exception au vol et la g re et tout se passe bien e Si votre programme tourne dans le debugger vous pourrez relativement facilement d terminer o le probl me s est produit et voir le message explicatif li l exception e Sinon l exception va crasher votre programme boum Comme cette derni re situation n est pas la plus souhaitable la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs permettant de faire un programme robuste sans devoir attraper les exceptions chaque ligne de code Il suffit d appeler la fonction yDisableExceptions pour commuter la librairie dans un mode o les exceptions de chaque fonction sont syst matiquement remplac es par des valeurs de retour particuli res qui 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 la m me logique une m thode get state retournera une valeur Y STATE INVALID une m thode get _currentValue retournera une valeur Y CURRENTVALUE INVALID etc Dans tous les cas la valeur retourn
99. anc e Si aucune de ces conditions n est remplie par exemple si le module est simplement connect un chargeur USB le Yocto PT100 fera de son mieux pour donner une date vraisemblable aux mesures en repartant de l heure des derni res mesures enregistr es Ainsi vous pouvez mettre l heure un Yocto PT100 autonome en le branchant sur un t l phone Android lan ant un enregistrement de donn es puis en le re branchant tout seul sur un chargeur USB Soyez toutefois conscients que sans source de temps externe l horloge du Yocto PT100 peut d river petit petit en principe pas plus de 0 3 2 L objet YMeasure du datalogger est exactement du m me type que ceux qui sont pass s aux fonctions de callback p riodique 114 www yoctopuce com 17 Programmation avanc e 17 3 Calibration des senseurs Votre module Yocto PT100 est quip d un capteur num rique calibr en usine Les valeurs qu il renvoie sont cens es tre raisonnablement justes dans la majorit des cas Il existe cependant des situations o des conditions ext rieures peuvent avoir une influence sur les mesures L API Yoctopuce offre le moyen de re calibrer les valeurs mesur es par votre Yocto PT100 II ne n agit pas de modifier les r glages hardware du module mais plut t d effectuer une transformation a posteriori des mesures effectu es par le capteur Cette transformation est pilot e par des param tres qui seront stock s dans la m moire flash d
100. arameters 6 When everything works press on the OK button Tesi 04 Cance Et choisir Yocto API callback ll suffit alors de d finir l URL du script PHP et si n cessaire le nom d utilisateur et le mot de passe pour acc der a cette URL Les m thodes d authentification support es sont basic et digest La seconde est plus s re que la premi re car elle permet de ne pas transf rer le mot de passe sur le r seau Utilisation Du point de vue du programmeur la seule diff rence se trouve au niveau de l appel a la fonction yRegisterHub au lieu d utiliser une adresse IP il faut utiliser la cha ne callback ou http callback qui est quivalent include MyoctonappnpME yRegisterHub callback 46 www yoctopuce com 8 Utilisation du Yocto PT100 en PHP La suite du code reste strictement identique Sur l interface du VirtualHub il y a en bas de la fen tre de configuration de l API par callback HTTP un bouton qui permet de tester l appel au script PHP Il est noter que le script PHP qui contr le les modules distance via l API par callback HTTP ne peut tre appel que par le VirtualHub En effet il a besoin des informations post es par le 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 ac
101. arde des r glages se passera correctement Cette limite li e la technologie employ e par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction YModule saveToFlash que 100000 fois au cours de la vie du module Veillez donc a ne pas appeler cette fonction depuis l int rieur d une boucle Enumeration des modules Obtenir la liste des modules connect s se fait a l aide de la fonction YModule yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la mehode nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un null Ci dessous un petit exemple listant les module connect s package com yoctopuce doc examples import android app Activity import android os Bundle import android view View import android widget LinearLayout import android widget TextView import com yoctopuce YoctoAPI YAPI import com yoctopuce YoctoAPI YAPI Exception import com yoctopuce YoctoAPI YModule public class Inventory extends Activity Override public void onCreate Bundle savedInstanceState super onCreate savedinstanceState setContentView R layout inventory public void refreshInventory View view LinearLayout layout LinearLayout findViewById R id inventoryList layout removeAl1Views Cry YAPI UpdateDeviceList YModule module YModule FirstModule while mo
102. as d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 187 19 R f rence de l API de haut niveau module saveToFlash Sauve les r glages courants dans la m moire non volatile du module function saveToFlash function saveToFlash function saveToFlash cpp Jint saveToFlash int saveToFlash pas function saveToFlash Longint vb function saveToFlash As Integer cs__ int saveToFlash java int saveToFlash def saveToFlash YModule target saveToFlash YModule 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 188 www yoctopuce com 19 R f rence de l API de haut niveau module gt set_beacon module setBeacon Allume ou teint la balise de localisation du module function set_beacon newval function set_beacon newval function set_beacon newval int set_beacon Y_BEACON_enum newval int setBeacon Y_BEACON_enum newval function set_beacon newval Integer integer function set_beacon ByVal newval As Integer As Integer int set_beacon int newval int set_beacon int newval def set_beacon newval YModule target set_beacon newval
103. async YModule 183 load_async YTemperature 227 loadCalibrationPoints YTemperature 226 loadMore YDataSet 286 loadMore_async YDataSet 287 Localisation 9 Mesur e 289 Module 9 19 29 33 41 51 59 66 74 81 87 93 102 151 Montage 13 N Natif 97 Native 22 NET 63 nextDataLogger YDataLogger 267 nextModule YModule 184 nextTemperature YTemperature 228 Niveau 124 125 O Objective C 57 P Paradigme 17 Plateformes 296 Port 98 124 Pr paration 31 39 79 91 97 PreregisterHub YAPI 136 Pr requis 1 Pr sentation 5 Probl mes 295 Programmation 17 25 109 Projet 63 71 Pt100 14 Python 85 R reboot YModule 185 R f rence 125 RegisterDeviceArrivalCallback YAPI 137 RegisterDeviceRemovalCallback YAPI 138 RegisterHub YAPI 139 RegisterHubDiscoveryCallback YAPI 141 RegisterLogFunction YAPI 142 registerTimedReportCallback YTemperature 229 registerValueCallback YDataLogger 268 registerValueCallback YTemperature 230 revertFromFlash YModule 186 S saveToFlash YModule 187 SelectArchitecture YAPI 143 Senseurs 115 S quence 276 Service 22 set_autoStart YDataLogger 269 set_beacon YModule 188 set_highestValue YTemperature 231 set_logFrequency YTemperature 232 set_logicalName YDataLogger 270 set_logicalName YModule 189 set_logicalName YTemperature 233 set_lowestValue YTemperature 234 set_luminosity YModule 190 set_recording YDataLogger 271 set_reportFrequency YTemperature
104. ature setLogicalName Modifie le nom logique du capteur de temp rature function set_logicalName newval function set_logicalName newval function set_logicalName newval int set_logicalName const string amp newval int setLogicalName NSString newval function set_logicalName newval string integer function set_logicalName ByVal newval As String As Integer int set_logicalName string newval int set_logicalName String newval def set_logicalName newval YTemperature target set_logicalName newval Vous pouvez utiliser yCheckLogicalName pour v rifier si votre param tre est valide N oubliez pas d appeler la m thode saveToFlash du module si le r glage doit tre pr serv Param tres newval une cha ne de caract res repr sentant le nom logique du capteur de temp rature 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 234 www yoctopuce com 19 R f rence de l API de haut niveau temperature set _lowestValue YTemperature temperature setLowestValue Modifie la m moire de valeur minimale observ e function set_lowestValue newval function set_lowestValue newval function set_lowestValue newval int set_lowestValue double newval int setLowestValue double newval function set_lowestValue newval double integer function set_lowestValue ByVal newval As Doubl
105. au format Unix function get_endTimeUTC function get_endTimeUTC function get_endTimeUTC double get_endTimeUTC double endTimeUTC function get_endTimeUTC double function get_endTimeUTC As Double double get_endTimeUTC double get_endTimeUTC def get_endTimeUTC Lors que l enregistrement de donn es se fait une fr quence sup rieure une mesure par seconde le timestamp peuvent inclurent une fraction d cimale Retourne un nombre r el positif correspondant au nombre de secondes coul es entre le 1er janvier 1970 UTC et la fin de la mesure www yoctopuce com 291 19 R f rence de l API de haut niveau measure get_maxValue YMeasure measure maxValue Retourne la plus grande valeur observ e durant l intervalle de temps couvert par la mesure function get_maxValue function get_maxValue function get_maxValue double get_maxValue double maxValue function get_maxValue double v function get_maxValue As Double double get_maxValue double get_maxValue def get_maxValue Retourne un nombre d cimal correspondant la plus grande valeur observ e 292 www yoctopuce com 19 R f rence de l API de haut niveau measure get_minValue YMeasure measure minValue Retourne la plus petite valeur observ e durant l intervalle de temps couvert par la mesure function get_minValue function get_minValue fun
106. aut 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 e Si votre code attrape l exception au vol et la g re et tout se passe bien e Si votre programme tourne dans le debugger vous pourrez relativement facilement d terminer o le probl me s est produit et voir le message explicatif li l exception e Sinon l exception va crasher votre programme boum Comme cette derni re situation n est pas la plus souhaitable la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs permettant de faire un programme robuste sans devoir attraper les exceptions chaque ligne de code Il suffit d appeler la fonction yDisableExceptions pour commuter la librairie dans un mode o les exceptions de chaque fonction sont syst matiquement remplac es par des valeurs de retour particuli res qui 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 la m me logique une m thode get state retournera une valeur Y STATE INVALID une m thode get currentValue retournera une valeur Y CURRENTVALUE INVALID etc Dans tous les cas la valeur retourn e sera du type attendu et ne sera pas un pointeur nul qui risquerait de faire crasher votre programme Au pire
107. bjet YTemperature correspondant a le premier capteur de temp rature accessible en ligne ou nul si il n y a pas de capteurs de temp rature disponibles 200 www yoctopuce com 19 R f rence de l API de haut niveau temperature calibrateFromPoints YTemperature Enregistre des points de correction de mesure typiquement pour compenser l effet d un bo tier sur les mesures rendues par le capteur function calibrateFromPoints rawValues refValues function calibrateFromPoints rawValues refValues function calibrateFromPoints rawValues refValues int calibrateFromPoints vector lt double gt rawValues vector lt double gt refValues int calibrateFromPoints NSMutableArray rawValues NSMutableArray refValues function calibrateFromPoints rawValues TDoubleArray refValues TDoubleArray Longint procedure calibrateFromPoints int calibrateFromPoints List lt double gt rawValues List lt double gt refValues int calibrateFromPoints ArrayList lt Double gt rawValues ArrayList lt Double gt refValues def calibrateFromPoints rawValues refValues YTemperature target calibrateFromPoints rawValues refValues Il est possible d enregistrer jusqu cing points de correction Les points de correction doivent tre fournis en ordre croissant et dans la plage valide du capteur Le module effectue automatiquement une interpolation lin aire de l erreur entre les points sp cifi s N oubliez pas d appeler
108. bool en context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callback www yoctopuce com 265 19 R f rence de l API de haut niveau datalogger load YDataLogger Met en cache les valeurs courantes de l enregistreur de donn es avec une dur e de validit sp cifi e is__ function load msValidity nodejs function load msValidity php function load msValidity YRETCODE load int msValidity YRETCODE load int msValidity function load msValidity integer YRETCODE function load ByVal msValidity As Integer As YRETCODE YRETCODE load int msValidity int load long msValidity def load msValidity Par d faut lorsqu on acc de a un module tous les attributs des fonctions du module sont automatiquement mises en cache pour la dur e standard 5 ms Cette m thode peut tre utilis e pour marquer occasionellement les donn es cach es comme valides pour une plus longue p riode par exemple dans le but de r duire le trafic r seau Param tres msValidity un entier correspondant la dur e de validit attribu e aux les param tres charg s en millisecondes Retourne YAPI_SUCCESS si l op ration se d roule sans erreur En cas d erreur d clenche une exception ou retourne un code d erreur n gatif 266 www yoctopuce com 19 R f rence
109. brairie objective c pour mac os x www yoctopuce com 57 10 Utilisation du Yocto PT100 en Objective C int main inte argc Const char arav NSError error sas lerge 2 4 usage autoreleasepool Setup the API to use local USB devices if YAPI RegisterHub usb amp error YAPT SUCCESS NSLogi RegisiterHub error 26 error llocaluzedDescriptton i return 1 NSString target NSString stringWithUTF8String argv 1 YTemperature tsensor if target isEqualToString any tsensor YTemperature FirstTemperature if tsensor NULL NSLog No module connected check USB cable return 1 else tsensor YTemperature FindTemperature target stringByAppendingString temperature while 1 if tsensor isOnline NSLog Module not connected check identification and USB cable n break NSLog Current temperature f C n tsensor ge _eibreriSinie cules F NSTog press Ctrl C to exit n YAPI Sleep 1000 NULL return 0 Il n y a que peu de lignes v ritablement importantes dans le code pr c dent Nous allons les expliquer en d tail yocto_api h et yocto_temperature h Ces deux fichiers import s permettent d avoir acc s aux fonctions permettant de g rer les modules Yoctopuce yocto api h doit toujours tre utilis yocto temperature h est n cessaire pour g rer les modules contenant un capteur de temp
110. bySerial PT100MK1 12345 api module luminosity 100 Contr le des diff rentes fonctions du module par l interface REST Les fonctionnalit s des modules se manipulent de la m me mani re Pour conna tre l tat de la fonction temperature il suffit de construire l URL suivante http 127 0 0 1 4444 bySerial PT100MK1 12345 api temperature txt En revanche si vous pouvez utiliser le nom logique du module en lieu et place de son num ro de s rie vous ne pouvez pas utiliser les noms logiques des fonctions seuls les noms hardware sont autoris s pour les fonctions Vous pouvez retrouver un attribut d une fonction d un module d une mani re assez similaire a celle utilis e avec les modules par exemple http 127 0 0 1 4444 bySerial PT100MK1 12345 api temperature logicalName Assez logiquement les attributs peuvent tre modifi s de la m me mani re http 127 0 0 1 4444 bySerial PT100MK1 12345 api temperature logicalName maFonction Vous trouverez la liste des attributs disponibles pour votre Yocto PT100 au d but du chapitre Programmation concepts g n raux 120 www yoctopuce com 18 Utilisation avec des langages non support s Acc s aux donn es enregistr es sur le datalogger par l interface REST Cette section s applique uniquement aux modules dot s d un enregistreur de donn e La version r sum e des donn es enregistr es dans le datalogger peut tre obtenue au format JSON l aide de l URL suivante http
111. callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit trois arguments le contexte fourni par l appelant l objet fonction concern et l instance demand e de YModule context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callback 260 www yoctopuce com 19 R f rence de l API de haut niveau datalogger get_recording datalogger recording Retourne l tat d activation de l enregistreur de donn es function get_recording function get_recording function get_recording Y_RECORDING_enum get_recording Y_RECORDING_enum recording function get_recording Integer function get_recording As Integer int get_recording int get_recording def get_recording YDataLogger target get_recording Retourne donn es YDataLogger soit Y_RECORDING_OFF soit Y_RECORDING_ON selon l tat d activation de l enregistreur de En cas d erreur d clenche une exception ou retourne Y_RECORDING_INVALID www yoctopuce com 261 19 R f rence de l API de haut niveau datalogger get_timeUTC YDataLogger datalogger timeUTC Retourne le timestamp Unix de l heure UTC actuelle lorsqu elle est connue function get_timeUTC function get_timeUTC function get_timeUTC s64 get_timeUTC
112. caract res correspondant au message de la derni re erreur qui s est produit lors de l utilisation du module www yoctopuce com 163 19 R f rence de l API de haut niveau module get_errorType YModule module errorType Retourne le code d erreur correspondant la derni re erreur survenue lors de l utilisation de l objet module function get_errorType function get_errorType function get_errorType YRETCODE get_errorType function get_errorType YRETCODE function get_errorType As YRETCODE YRETCODE get_errorType int get_errorType def 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 164 www yoctopuce com 19 R f rence de l API de haut niveau module gt get_firmwareRelease YModule module gt firmwareRelease Retourne la version du logiciel embarqu du module function get_firmwareRelease function get_firmwareRelease function get_firmwareRelease string get_firmwareRelease NSString firmwareRelease function get_firmwareRelease string function get_firmwareRelease As String string get_firmwareRelease String get_firmwareRelease def get_firmwareRelease YModule target get_firmwareRelease Retourne une cha ne de ca
113. cas de trois choses l une e Si votre code attrape l exception au vol et la g re et tout se passe bien e Si votre programme tourne dans le debugger vous pourrez relativement facilement d terminer o le probl me s est produit et voir le message explicatif li l exception e Sinon l exception va crasher votre programme boum Comme cette derni re situation n est pas la plus souhaitable la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs permettant de faire un programme robuste sans devoir attraper les exceptions chaque ligne de code Il suffit d appeler la fonction yDisableExceptions pour commuter la librairie dans un mode o les exceptions de chaque 36 www yoctopuce com 7 Utilisation du Yocto PT100 en Javascript fonction sont syst matiquement remplac es par des valeurs de retour particuli res qui 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 la m me logique une m thode get state retournera une valeur Y STATE INVALID une m thode get currentValue retournera une valeur Y CURRENTVALUE INVALID etc Dans tous les cas la valeur retourn e sera du 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 c
114. cer YTemperature any get currentValue Cet exemple utilise la cible any pour signifier que l on d sire travailler sur la premi re fonction Temperature trouv e parmi toutes celles disponibles sur les modules Yoctopuce accessibles au moment de l ex cution Cela vous vite d avoir conna tre le nom exact de votre fonction et celui de votre module Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t YTemperature PT100MK1 123456 temperature describe YTemperature PT100MK1 123456 MaFonction describe YTemperature MonModule temperature describe YTemperature MonModule MaFonction describe YTemperature MaFonction describe Pour travailler sur toutes les fonctions Temperature a la fois utilisez la cible all YTemperature all describe Pour plus de d tails sur les possibilit s de l ex cutabley Temperature utilisez YTemperature help 28 www yoctopuce com 6 Utilisation du Yocto PT100 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 YModule Par e
115. ces errmsg data T panstenat neededsize i integer devinfos yDevicest begin errmsg CerrmsgBuffer API initialisation if yapiInitAPI 1 errmsg lt 0 then begin writeln errmsg hanit end forces a device inventory if yapiUpdateDeviceList 1 errmsg lt 0 then begin writeln errmsg halt endy loads all device handles into dataBuffer if yapiGetAllDevices dataBuffer sizeof dataBuffer neededsize errmsg lt 0 then begin writeln errmsg halte endy gets device info from each handle for i 0 to neededsize div sizeof integer 1 do begin if apiGetDevicelnfo dataBuffer i devinfos errmsg lt 0 then begin writeln errmsg halt end writeln pansichar devinfos serial pansichar devinfos productname end end 18 4 Port de la librairie haut niveau Toutes les sources de l API Yoctopuce tant fournies dans leur int gralit vous pouvez parfaitement entreprendre le port complet de l API dans le langage de votre choix Sachez cependant qu une grande partie du code source de l API est g n r automatiquement Ainsi il n est pas n cessaire de porter la totalit de l API il suffit de porter le fichier yocto_ api et un de ceux correspondant une fonctionnalit par exemple yocto_relay Moyennant un peu de travail suppl mentaire Yoctopuce sera alors en mesure de g n rer tous les autres fichiers C est pourquoi il est fortement recommand de contacter le support Yoctopuc
116. cha ne de catact res repr sentant l unit dans laquelle la valeur mesur e est exprim e currentValue Temp rature actuelle en degr s Celsius sous forme de nombre virgule lowestValue Temp rature minimale observ e sous forme de nombre virgule highestValue Temp rature maximale observ e sous forme de nombre virgule logFrequency Fr quence d enregistrement des mesures dans le datalogger ou OFF si les mesures ne doivent pas tre stock es dans la m moire de l enregistreur de donn es reportFrequency Fr quence de notification p riodique des valeurs mesur es ou OFF si les notifications p riodiques de valeurs sont d sactiv es calibration Param Param tres de calibration suppl mentaires par exemple pour compenser l effet d un bo tier sous forme de tableau d entiers 16 bit resolution R solution de la mesure pr cision de la repr sentation mais pas forc ment de la mesure elle m me sensorType Type de senseur utilis pour r aliser la mesure de temp rature Le senseur peut tre soit digital soit un type de thermocouple www yoctopuce com 21 5 Programmation concepts g n raux 5 5 Interface de la fonction DataLogger Les capteurs de Yoctopuce sont quip s d une m moire non volatile permettant de m moriser les donn es mesur es d une mani re autonome sans n cessiter le suivi permanent d un ordinateur La fonction DataLogger contr le les param tres globaux
117. ck 228 www yoctopuce com 19 R f rence de l API de haut niveau temperature nextTemperature YTemperature Continue l num ration des capteurs de temp rature commenc e l aide de yFirstTemperature function nextTemperature function nextTemperature function nextTemperature YTemperature nextTemperature YTemperature nextTemperature function nextTemperature TYTemperature function nextTemperature As YTemperature YTemperature nextTemperature YTemperature nextTemperature def nextTemperature Retourne un pointeur sur un objet YTemperature accessible en ligne ou null lorsque l num ration est termin e www yoctopuce com 229 19 R f rence de l API de haut niveau temperature registerTimedReportCallback YTemperature Enregistre la fonction de callback qui est appel e a chaque notification p riodique _is function registerTimedReportCallback callback node js function registerTimedReportCallback callback php function registerTimedReportCallback callback int registerTimedReportCallback YTemperatureTimedReportCallback callback int registerTimedReportCallback YTemperatureTimedReportCallback callback pas function registerTimedReportCallback callback TYTemperatureTimedReportCallback Longint vb function registerTimedReportCallback As Integer int registerTimedReportCallback TimedReportCallback callback int regi
118. com 53 9 Utilisation du Yocto PT100 en C 9 3 Gestion des erreurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pas faire abstraction de la 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 votre code doit n anmoins tre fait pour se comporter au mieux pour interpr ter les erreurs signal es par la librairie La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas Il faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme La seule mani re de l viter est d impl menter une des deux techniques de gestion des erreurs d crites ci dessous 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 fa
119. commande La cible est le nom du module ou de la fonction auquel la commande va s appliquer Certaines commandes tr s g n riques n ont pas besoin de cible Vous pouvez aussi utiliser les alias any ou all ou encore une liste de noms s par s par des virgules sans espace 1 Si vous souhaitez recompiler l API en ligne de commande vous aurez aussi besoin de l API C 2 http www yoctopuce com FR libraries php www yoctopuce com 27 6 Utilisation du Yocto PT100 en ligne de commande La commande est la commande que l on souhaite ex cuter La quasi totalit des fonctions disponibles dans les API de programmation classiques sont disponibles sous forme de commandes Vous n tes pas oblig des respecter les minuscules majuscules et les caract res soulign s dans le nom de la commande Les param tres sont assez logiquement les param tres dont la commande a besoin A tout moment les ex cutables de l API en ligne de commande sont capables de fournir une aide assez d taill e Utilisez par exemple executable help pour conna tre la liste de commandes disponibles pour un ex cutable particulier de l API en ligne de commande ou encore executable commande help Pour obtenir une description d taill e des param tres d une commande 6 3 Contr le de la fonction Temperature Pour contr ler la fonction Temperature de votre Yocto PT100 vous avez besoin de l ex cutable YTemperature Vous pouvez par exemple lan
120. ctid YModule module gt productld Retourne l identifiant USB du module pr programm en usine function get_productld function get_productld function get_productld cpp _ int get_productld int productId pas function get_productld Longint v _ function get_productld As Integer cs int get_productld java int get_productld def get_productld YModule target get_productlid Retourne un entier repr sentant l identifiant USB du module pr programm en usine En cas d erreur d clenche une exception ou retourne Y_PRODUCTID_INVALID 172 www yoctopuce com 19 R f rence de l API de haut niveau module get_productName module productName Retourne le nom commercial du module pr programm en usine function get_productName function get_productName function get_productName string get_productName NSString productName function get_productName string function get_productName As String string get_productName String get_productName def get_productName YModule target get_productName Retourne YModule une cha ne de caract res repr sentant le nom commercial du module pr programm en usine En cas d erreur d clenche une exception ou retourne Y_PRODUCTNAME_INVALID www yoctopuce com 173 19 R f rence de l API de haut niveau module get_productRelease YModule module productRelease Re
121. ction d sir e En cas d erreur d clenche une exception ou retourne un cha ne vide YModule www yoctopuce com 161 19 R f rence de l API de haut niveau module get_beacon module beacon Retourne l tat de la balise de localisation _is function get_beacon node js function get_beacon php _ function get_beacon Y_BEACON_enum get_beacon Y_BEACON_enum beacon pas function get_beacon Integer function get_beacon As Integer int get_beacon int get_beacon def get_beacon YModule target get_beacon Retourne soit Y_BEACON_OFF soit Y_BEACON_ON selon l tat de la balise de localisation En cas d erreur d clenche une exception ou retourne Y_BEACON_INVALID YModule 162 www yoctopuce com 19 R f rence de l API de haut niveau module get_errorMessage YModule module errorMessage Retourne le message correspondant la derni re erreur survenue lors de l utilisation de l objet module function get_errorMessage function get_errorMessage function get_errorMessage string get_errorMessage NSString errorMessage function get_errorMessage string function get_errorMessage As String string get_errorMessage String get_errorMessage def get_errorMessage Cette m thode est principalement utile lorsque la librairie Yoctopuce est utilis e en d sactivant la gestion des exceptions Retourne une chaine de
122. ction get_errorMessage function get_errorMessage string get_errorMessage NSString errorMessage function get_errorMessage string function get_errorMessage As String string get_errorMessage String get_errorMessage def get_errorMessage Cette m thode est principalement utile lorsque la librairie Yoctopuce est utilis e en d sactivant la gestion des exceptions Retourne une chaine de caract res correspondant au message de la derni re erreur qui s est produit lors de l utilisation du capteur de temp rature 206 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_errorType YTemperature temperature errorType Retourne le code d erreur correspondant la derni re erreur survenue lors de l utilisation du capteur de temp rature function get_errorType function get_errorType function get_errorType YRETCODE get_errorType function get_errorType YRETCODE function get_errorType As YRETCODE YRETCODE get_errorType int get_errorType def 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 capteur de temp rature www yoctopuce com 207 19 R f rence de l API de haut niveau temperature get_friendiyName YTem
123. ction get_minValue double get_minValue double minValue function get_minValue double function get_minValue As Double double get_minValue double get_minValue def get_minValue Retourne un nombre d cimal correspondant la plus petite valeur observ e www yoctopuce com 293 19 R f rence de l API de haut niveau measure get_startTimeUTC YMeasure measure startTimeUTC Retourne l heure absolue du d but de la mesure sous forme du nombre de secondes depuis le 1er janvier 1970 UTC date heure au format Unix function get_startTimeUTC function get_startTimeUTC function get_startTimeUTC double get_startTimeUTC double startTimeUTC function get_startTimeUTC double vb function get_startTimeUTC As Double double get_startTimeUTC double get_startTimeUTC def get_startTimeUTC Lors que l enregistrement de donn es se fait une fr quence sup rieure une mesure par seconde le timestamp peuvent inclurent une fraction d cimale Retourne un nombre r el positif correspondant au nombre de secondes coul es entre le 1er janvier 1970 UTC et la d but de la mesure 294 www yoctopuce com 20 Probl mes courants 20 1 Linux et USB Pour fonctionner correctement sous Linux la librairie a besoin d avoir acc s en criture tous les p riph riques USB Yoctopuce Or par d faut sous Linux les droits d acc s des utilisateurs non root
124. ctions utilis es reportez vous aux chapitre API 66 www yoctopuce com 11 Utilisation du Yocto PT100 en VisualBasic NET Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d appeler la fonction set xxx correspondante cependant cette modification n a lieu que dans la m moire 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 saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module Module Modulel Sub usage Console WriteLine usage demo lt serial or logical name gt lt new logical name gt End End Sub Sub Main Dim argv As String System Environment GetCommandLineArgs Dim errmsg As String Dim newname As String Dim m As YModule If argv Length lt gt 3 Then usage REM Setup the API to use local USB devices If yRegisterHub usb errmsg lt gt YAPI SUCCESS Then Console WriteLine RegisterHub error errmsg End End If m yFindModule argv 1 REM use serial or logical name If m isOnline Then newname argv 2 If Not yCheckLogic
125. d serial value serial module yFindModule serial if module isOnline document getElementByIidi msg value document getElementBylId curName value module get logicalName else document getElementBylId msg value Module not connected setTimeout refresh 1000 function save var newname document getElementByld newName value if yCheckLogicalName newname alert invalid logical name return module set logicalName newname module saveToFlash gt SOCR IPT lt HEAD gt lt BODY onload refresh gt Module to use lt input id serial gt lt input id msg style color red border none readonly gt lt br gt Current name lt input id curName readonly gt lt br gt New logical name lt input id newName gt lt a href javascript save gt Save lt a gt lt BODY gt lt HTML gt Attention le nombre de cycle d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit de que la sauvegarde des r glages se passera correctement Cette limite li a la technologie employ par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction saveToFlash que 100000 fois au cours de la vie du module Veillez donc a ne pas appeler cette fonction depuis l int rieur d une boucle num ration des modules Obtenir la liste des
126. d impl menter une des deux techniques de gestion des erreurs d crites ci dessous 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 e Si votre code attrape l exception au vol et la g re et tout se passe bien e Si votre programme tourne dans le debugger vous pourrez relativement facilement d terminer o le probl me s est produit et voir le message explicatif li l exception e Sinon l exception va crasher votre programme boum Comme cette derni re situation n est pas la plus souhaitable la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs permettant de faire un programme robuste sans devoir attraper les exceptions chaque ligne de code Il suffit d appeler la fonction yDisableExceptions pour commuter la librairie dans un mode o les exceptions de chaque fonction sont syst matiquement remplac es par des valeurs de retour particuli res qui 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 la m me logique une m thode get state retourner
127. dValue NSString advertisedValue function get_advertisedValue string function get_advertisedValue As String string get_advertisedValue String get_advertisedValue def get_advertisedValue YDataLogger target get_advertisedValue Retourne une cha ne de caract res repr sentant la valeur courante de l enregistreur de donn es pas plus de 6 caract res En cas d erreur d clenche une exception ou retourne Y_ADVERTISEDVALUE_INVALID www yoctopuce com 247 19 R f rence de l API de haut niveau datalogger get_autoStart YDataLogger datalogger autoStart Retourne le mode d activation automatique de l enregistreur de donn es la mise sous tension function get_autoStart function get_autoStart function get_autoStart Y_AUTOSTART_enum get_autoStart Y_AUTOSTART_enum autoStart pas function get_autoStart Integer function get_autoStart As Integer int get_autoStart int get_autoStart def get_autoStart YDataLogger target get_autoStart Retourne soit Y_AUTOSTART_OFF soit Y_AUTOSTART_ ON selon le mode d activation automatique de l enregistreur de donn es la mise sous tension En cas d erreur d clenche une exception ou retourne Y_AUTOSTART_INVALID 248 www yoctopuce com 19 R f rence de l API de haut niveau datalogger get_currentRunindex YDataLogger datalogger currentRunindex Retourne le num ro du Run actuel corres
128. de bloquer la machine virtuelle Javascript Param tres callback fonction de callback qui sera appel e d s que toutes les commandes en cours d ex cution sur le module seront termin es La fonction callback re oit deux arguments le contexte fourni par l appelant et l objet fonction concern context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout www yoctopuce com 275 19 R f rence de l API de haut niveau 19 5 S quence de donn es enregistr es Les objets YDataSet permettent de r cup rer un ensemble de mesures enregistr es correspondant un capteur donn pour une p riode choisie Ils permettent le chargement progressif des donn es Lorsque l objet YDataSet est instanci par la fonction get_recordedData aucune donn e n est encore charg e du module Ce sont les appels successifs la m thode loadMore qui proc dent au chargement effectif des donn es depuis l enregistreur de donn es Un r sum des mesures disponibles est disponible via la fonction get_preview d s le premier appel loadMore Les mesures elles m me sont disponibles via la fonction get_measures au fur et mesure de leur chargement Cette classe ne fonctionne que si le module utilise un firmware r cent car les objets YDataSet ne sont pas support s par les firmwares ant rieurs la r vision 13000 Pour utiliser les fonctions d crites ici v
129. de haut niveau module isOnline asynce YModule V rifie si le module est joignable sans d clencher d erreur _is function isOnline_async callback context node js function isOnline_async callback context 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 Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la VM Javascript de Firefox qui n impl mente pas le passage de contr le entre threads durant les appels d entr e sortie bloquants Param tres callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit trois arguments le contexte fourni par l appelant l objet module concern et le r sultat bool en context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callback 182 www yoctopuce com 19 R f rence de l API de haut niveau module load YModule Met en cache les valeurs courantes du module avec une dur e de validit sp cifi e function load msValidity function load msValidity function load msVal
130. de l API de haut niveau datalogger load_async YDataLogger Met en cache les valeurs courantes de l enregistreur de donn es avec une dur e de validit sp cifi e function load_async msValidity callback context function load_async msValidity callback context Par d faut lorsqu on acc de a un module tous les attributs des fonctions du module sont automatiquement mises en cache pour la dur e standard 5 ms Cette m thode peut tre utilis e pour marquer occasionellement les donn es cach es comme valides pour une plus longue p riode par exemple dans le but de r duire le trafic r seau Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la machine virtuelle Javascript avec une attente active gt Param tres msValidity un entier correspondant la dur e de validit attribu e aux les param tres charg s en millisecondes callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit trois arguments le contexte fourni par l appelant l objet fonction concern et le code d erreur ou YAPT_ SUCCESS context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callback www yoctopuce com 267 19 R f rence de l API de
131. decl external yapi dll name yapiHTTPRequest var errmsgBuffer array 0 256 of ansichar dataBuffer QE Ol coe coun seligsiakeletelie errmsg data pansitchar LUE AS 71e eEMiLeger const serial PTLOOMK1 12345 getValue GET api module luminosity HTTP 1 1 13 10 13 10 setValue GET api module luminosity 100 HTTP 1 1 13 10 13 10 begin errmsg G errmsgBuffer data dataBuffer API initialization if yapiInitAPI 1 errmsg lt 0 then began writeln errmsg hot end forces a device inventory if yapiUpdateDeviceList 1 errmsg lt 0 then begin writeln errmsg alt end requests the module luminosity if yapiHTTPRequest serial getValue data sizeof dataBuffer fullsize errmsg lt 0 then begin writeln errmsg halt end searches for the HTTP header end Pp pos 13 10 13 10 data displays the response minus the HTTP header writeln copy data pt4 length data p 3 change the luminosity if yapiHTTPRequest serial setValue data sizeof dataBuffer fullsize errmsg lt 0 then begin writeln errmsg halte end end 122 www yoctopuce com 18 Utilisation avec des langages non support s Inventaire des modules Pour proc der l inventaire des modules Yoctopuce deux fonctions de la librairie dynamique sont n cessaires int yapiGetAllDevices int buffer int maxsize int neededsize char errmsg int yapiGetDeviceInfo int devdesc yDeviceS
132. des erreurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pas faire abstraction de la 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 votre code doit n anmoins tre fait pour se comporter au mieux pour interpr ter les erreurs signal es par la librairie La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas Il faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme La seule mani re de l viter est d impl menter une des deux techniques de gestion des erreurs d crites ci dessous www yoctopuce com 47 8 Utilisation du Yocto PT100 en PHP 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 f
133. difie l tat d activation de l enregistreur de donn es function set_recording newval function set_recording newval function set_recording newval int set_recording Y_RECORDING_enum newval int setRecording Y_RECORDING_enum newval pas function set_recording newval Integer integer _vb function set_recording ByVal newval As Integer As Integer int set_recording int newval int set_recording int newval def set_recording newval YDataLogger target set_recording newval Param tres newval soit Y_RECORDING_ OFF soit Y_RECORDING_ON selon l tat d activation de l enregistreur de donn es 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 272 www yoctopuce com 19 R f rence de l API de haut niveau datalogger set_timeUTC YDataLogger datalogger setTimeUTC Modifie la r f rence de temps UTC afin de l attacher aux donn es enregistr es function set_timeUTC newval function set_timeUTC newval function set_timeUTC newval int set_timeUTC s64 newval int setTimeUTC s64 newval function set_timeUTC newval int64 integer function set_timeUTC ByVal newval As Long As Integer int set_timeUTC long newval int set_timeUTC long newval def set_timeUTC newval YDataLogger target set_timeUTC newval Param tres newval un entier repr sentant la r f re
134. duilles BEACONTON if cmos S moUppe ON Sn set beacon YModule BH ACONROEE s 3 Console WriteLine serial LP magerserialNumberri ii Console WriteLine logical name m get logicalName Console WriteLine luminosity nee MEMINOSHRA A E TOSE inoi ONE Console Write beacon nee if m get beacon YModule BEACON ON Console WriteLine ON Gilles Console WriteLine OFF Console WriteLine upTime Ws get manne Va IOI osean LIEN SEC Console Wri teline MUSE Current pm ig cleusbe Umren ToString O E A mAN 74 www yoctopuce com 12 Utilisation du Yocto PT100 en C Console WriteLine Logs r n m get_lastLogs else Console WriteLine args 0 not connected check identification and USB cable Chaque propri t xxx du module peut tre lue grace a une m thode du type YModule get xxxx et les propri t s qui se sont pas en lecture seule peuvent tre modifi es a l aide de la m thode YModule set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d appeler la fonction YModule set xxx correspondante cependant cette modification n a lieu que dans la m moire 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 mod
135. dule null String line module get serialNumber module get productName QUE TextView tx new TextView this tx setText line layout addView tx module module nextModule euciclay MONEE E cep tronie i er print stacktrace Override protected void onStart super ONsieaust i Ley 4 YAPI EnableUSBHost this VAP Regusize shui iis a Picakeh YAP TORx lt cepir one c prinestackiracel t refreshInventory null Override protected void onStop SUPEEONSitop i YAPI FreeAPI 106 www yoctopuce com 16 Utilisation du Yocto PT100 avec Android 16 7 Gestion des erreurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pas faire abstraction de la 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 votre code doit n anmoins tre fait pour se comporter au mieux pour interpr ter les erreurs signal es par la librairie La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction
136. dule null if module get productName equals Yocto PT100 String serial module get_serialNumber aa add serial module module nextModule p catch TARPTIEx ception e printStackTrace aa notifyDataSetChanged handler postDelayed r 500 Override protected void onStop super onstopi handler removeCallbacks r www yoctopuce com 101 16 Utilisation du Yocto PT100 avec Android YAPI FreeAPI Override public void onItemSelected AdapterView lt gt parent View view int pos long id serial parent getItemAtPosition pos toString Override public void onNothingSelected AdapterView lt gt arg0 final Runnable r new Runnable public void run if serial null YTemperature temp sensor YTemperature FindTemperature seriall temperature Ley 4 TextView view TextView findViewById R id tempfield View secies String format We ME ts temp sensor getCurrent Value temp sensor getUnit WENECIA GME ISKereyoNe em e printStackTrace handler postDelayed this 1000 16 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 package com yoctopuce doc examples import android app Activity imp
137. dur e sp cifi e yUnregisterHub url Configure la librairie Yoctopuce pour ne plus utiliser les modules connect s sur une machine pr alablement enregistrer avec RegisterHub yUpdateDeviceList errmsg Force une mise a jour de la liste des modules Yoctopuce connect s yUpdateDeviceList_async callback context Force une mise a jour de la liste des modules Yoctopuce connect s www yoctopuce com 127 19 R f rence de l API de haut niveau YAPI CheckLogicalName YAPI yCheckLogicalName V rifie si un nom donn est valide comme nom logique pour un module ou une fonction function yCheckLogicalName name nodejs function CheckLogicalName name function yCheckLogicalName name bool yCheckLogicalName const string amp name BOOL yCheckLogicalName NSString name function yCheckLogicalName name string boolean function yCheckLogicalName ByVal name As String As Boolean bool CheckLogicalName string name boolean CheckLogicalName String name def CheckLogicalName name Un nom logique valide est form de 19 caract res au maximum choisis parmi A Z a z 0 9 _ et 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 sile nom est valide false dans le cas contraire 128 www yoctopuce com 19 R f rence de l API de haut niveau YAP
138. e def get_errorType Cette m thode est principalement utile lorsque la librairie Yoctopuce est utilis e en d sactivant la gestion des exceptions Retourne un nombre correspondant au code de la derni re erreur qui s est produit lors de l utilisation de l enregistreur de donn es www yoctopuce com 253 19 R f rence de l API de haut niveau datalogger get_friendlyName YDataLogger datalogger friendlyName Retourne un identifiant global de l enregistreur de donn es au format NOM_MODULE NOM_FONCTION function get_friendlyName function get_friendlyName function get_friendlyName string get_friendlyName NSString friendlyName string get_friendlyName String get_friendlyName def get_friendlyName Le cha ne retourn e utilise soit les noms logiques du module et de l enregistreur de donn es si ils sont d finis soit respectivement le num ro de s rie du module et l identifant mat riel de l enregistreur de donn es par exemple MyCustomName relay1 Retourne une chaine de caract res identifiant l enregistreur de donn es en utilisant les noms logiques ex MyCustomName relayl En cas d erreur d clenche une exception ou retourne Y_FRIENDLYNAME INVALID 254 www yoctopuce com 19 R f rence de l API de haut niveau datalogger get_functionDescriptor YDataLogger datalogger functionDescriptor Retourne un iden
139. e Retourne la valeur courante du capteur de temp rature pas plus de 6 caract res temperature get_currentRawValue Retourne la valeur brute retourn e par le capteur sans arrondi ni calibration temperature get_currentValue Retourne la valeur mesur e actuelle temperature get_errorMessage Retourne le message correspondant la derni re erreur survenue lors de l utilisation du capteur de temp rature temperature get_errorType Retourne le code d erreur correspondant la derni re erreur survenue lors de l utilisation du capteur de temp rature temperature get_friendlyName Retourne un identifiant global du capteur de temp rature au format NOM_ MODULE NOM_FONCTION temperature get_functionDescriptor Retourne un identifiant unique de type YF UN_DESCR correspondant a la fonction temperature get_functionld Retourne l identifiant mat riel du capteur de temp rature sans r f rence au module temperature get_hardwareld 196 www yoctopuce com 19 R f rence de l API de haut niveau Retourne l identifiant mat riel unique du capteur de temp rature au format SERIAL FUNCTIONID temperature get_highestValue Retourne la valeur maximale observ e temperature get_logFrequency Retourne la fr quence d enregistrement des mesures dans le datalogger ou OFF si les mesures ne sont pas stock es dans la m moire de l enregistreur de donn es temperature
140. e module saveToFlash Writeln logical name is now module get_logicalName end Attention le nombre de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauvegarde des r glages se passera correctement Cette limite li e la technologie employ e par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction saveToFlash que 100000 fois au cours de la vie du module Veillez donc ne pas appeler cette fonction depuis l int rieur d une boucle Enum ration des modules Obtenir la liste des modules connect s se fait a l aide de la fonction yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la fonction nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un nil Ci dessous un petit exemple listant les module connect s program inventory SAPPTYPE CONSOLE uses Sieve Ley yocto api var module TYModule EMSOMNS CENT begin Setup the API to use local USB devices if yRegisterHub usb errmsg lt gt YAPI SUCCESS then begin Write RegisterHub error errmsg exit end Writeln Device list module yFirstModule while module lt gt nil do begin Writeln module get serialNumber module get productName module module nextModule gt end end 13 4 Gestion des err
141. e Du point de vue de l API les modules et leurs fonctionnalit s sont donc fortement d corr l s dessein Mais l API offre n anmoins la possibilit de passer de l un l autre Ainsi la m thode get _ module disponible dans chaque classe de fonctionnalit permet de retrouver l objet correspondant au module h bergeant cette fonctionnalit Inversement la classe YModule dispose 18 www yoctopuce com 5 Programmation concepts g n raux d un certain nombre de m thodes permettant d num rer les fonctionnalit s disponibles sur un module 5 2 Le module Yocto PT100 Le module Yocto PT100 offre une seule instance de la fonction Temperature correspondant l entr e PT 100 La pr cision nominale du capteur est de 0 01 degr s Celsius module Module attribut type modifiable productName Texte lecture seule serialNumber Texte lecture seule logicalName Texte modifiable productId Entier hexad cimal lecture seule productRelease Entier hexad cimal lecture seule firmwareRelease Texte lecture seule persistentSettings Type num r modifiable luminosity 0 100 modifiable beacon On Off modifiable upTime Temps lecture seule usbCurrent Courant consomm en mA lecture seule rebootCountdown Nombre entier modifiable usbBandwidth Type num r modifiable temperature Temperature attribut type modifiable logicalName Texte modifiable advertisedValue Texte lecture seu
142. e MainActivity gt lt intent filter gt lt action android name android intent action MAIN gt lt action android name android hardware usb action USB DEVICE ATTACHED gt lt category android name android intent category LAUNCHER gt lt intent filter gt lt meta data android name android hardware usb action USB DEVICE ATTACHED android resource xml device filter gt lt activity gt lt application gt lt manifest gt Le fichier XML qui contient la liste des modules qui peuvent lancer l application doit tre sauv dans le r pertoire res xml Ce fichier contient une liste de vendorld et devicelD USB en d cimal L exemple suivant lance l application d s qu un Yocto Relay ou un Yocto PowerRelay est connect Vous pouvez trouver le vendorld et deviceld des modules Yoctopuce dans la section caract ristiques de la documentation lt xml version 1 0 encoding utf 8 gt lt resources gt lt usb device vendor id 9440 product id 12 gt lt usb device vendor id 9440 product id 13 gt lt resources gt www yoctopuce com 99 16 Utilisation du Yocto PT100 avec Android 16 5 Contr le de la fonction Temperature Il suffit de quelques lignes de code pour piloter un Yocto PT100 Voici le squelette d un fragment de code Java qui utilise la fonction Temperature seal On r cup re l objet repr sentant le module ici connect en local sur USB YAPI EnableUSBHost this
143. e As Integer int set_lowestValue double newval int set_lowestValue double newval def set_lowestValue newval YTemperature target set_lowestValue newval Param tres newval une valeur num rique repr sentant la m moire de valeur minimale observ e Retourne YAPI_SUCCESS si l op ration se d roule sans erreur En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 235 19 R f rence de l API de haut niveau temperature set _reportFrequency YTemperature temperature setReportFrequency Modifie la fr quence de notification p riodique des valeurs mesur es function set_reportFrequency newval function set_reportFrequency newval function set_reportFrequency newval int set_reportFrequency const string amp newval int setReportFrequency NSString newval function set_reportFrequency newval string integer function set_reportFrequency ByVal newval As String As Integer int set_reportFrequency string newval int set_reportFrequency String newval def set_reportFrequency newval YTemperature target set_reportFrequency newval La fr quence peut tre sp cifi e en mesures par secondes en mesures par minutes par exemple 15 m ou en mesures par heure par exemple 4 h Pour d sactiver les notifications p riodiques pour cette fonction utilisez la valeur OFF Param tres newval une cha ne de caract res repr sentant la
144. e avant d entreprendre le port de la librairie Yoctopuce dans un autre langage Un travail collaboratif sera profitable aux deux parties 124 www yoctopuce com 19 R f rence de l API de haut niveau Ce chapitre r sume les fonctions de l API de haut niveau pour commander votre Yocto PT100 La syntaxe et les types pr cis peuvent varier d un langage l autre mais sauf avis contraire toutes sont disponibles dans chaque language Pour une information plus pr cise sur les types des arguments et des valeurs de retour dans un langage donn veuillez vous r f rer au fichier de d finition pour ce langage yocto api ainsi que les autres fichiers yocto d finissant les interfaces des fonctions Dans les langages qui supportent les exceptions toutes ces fonctions vont par d faut g n rer des exceptions en cas d erreur plut t que de retourner la valeur d erreur document e pour chaque fonction afin de faciliter le d boguage Il est toutefois possible de d sactiver l utilisation d exceptions l aide de la fonction yDisableExceptions si l on pr f re travailler avec des valeurs de retour d erreur 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 125 19 R f rence de l API de haut niveau 19 1 Fonctions g
145. e char 22 Version du firmware null termin beacon byte 1 Etat de la balise de localisation 0 1 Le param tre errmsg devra pointer sur un buffer de 255 caract res pour r cup rer un ventuel message d erreur Voici un programme d exemple crit en pascal qui utilise la DLL yapi dil pour lister les modules connect s device description structure type yDeviceSt packed record vendorid gt word deviceid word devrelease Word nbinbterfaces DA sr manufacturer O euereeiy ile sil wae ans eha productname array TOTT oe ans chiara serial Jar cay Me ily wae amns ehan logicalname Tarca TO TO INC ans eha firmware Tarca TOC 2 NC ansieae beacon OV end Dili FUOCO Limp Ome function yapilnitAPI mode integer errmsg pansichar integer cdecl external yapi dill name yapiInitAPI function yapiUpdateDeviceList force integer errmsg pansichar integer cdecl external yapi dill name yaplUpdateDevicelist function yapiGetAllDevices buffer pointer Mess Eze ES ger Vasmmeededsizertneeger errmsg pansi chani integer a cdecls external yapi dilil name yapiGetAllDevices www yoctopuce com 123 18 Utilisation avec des langages non support s function apiGetDevicelnfo d integer var infos yDevicest errmsg pansichar integer cdecl external yapi dill name yapilGetDevicelInto var errmsgBuffer array 0 256 of ansichar dataBuffer a eraci DOUe A Oe eea max of 128 USB devi
146. e choix et ajoutez ce r pertoire la variable d environnement PYTHONPATH Si vous utilisez un IDE pour programmer en Python r f rez vous sa documentation afin le configurer de mani re ce qu il retrouve automatiquement les fichiers sources de l API 14 2 Librairie dynamique Une partie de la librairie de bas niveau est crite en C mais vous n aurez a priori pas besoin d interagir directement avec elle cette partie est fournie sous forme de DLL sous Windows de fichier sous Unix et de fichier dylib sous Mac OS X Tout a t fait pour que l interaction avec cette librairie se fasse aussi simplement que possible depuis Python les diff rentes versions de la librairie dynamique correspondant aux diff rents syst mes d exploitation et architectures sont stock es dans le r pertoire cdi L API va charger automatiquement le bon fichier lors de son initialisation Vous n aurez donc pas vous en soucier Si un jour vous deviez vouloir recompiler la librairie dynamique vous trouverez tout son code source dans la librairie Yoctopuce pour le C Afin de les garder simples tous les exemples fournis dans cette documentation sont des applications consoles 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 1 http www python org download www yoctopuce com FR libraries php SO www yoctopuce com 85 14 Utilisation du Y
147. e d avoir fait l acquisition de ce Yocto PT100 et esp re sinc rement qu il vous donnera enti re satisfaction Les ing nieurs Yoctopuce se sont donn s beaucoup de mal pour que votre Yocto PT100 soit facile installer n importe o et soit facile piloter depuis un maximum de langages de programmation N anmoins si ce module venait vous d cevoir n h sitez pas contacter le support Yoctopuce Par design tous les modules Yoctopuce se pilotent de la m me fa on c est pourquoi les documentations des modules de la gamme sont tr s semblables Si vous avez d j pluch la documentation d un autre module Yoctopuce vous pouvez directement sauter la description des fonctions du module 1 1 Pr requis Pour pouvoir profiter pleinement de votre module Yocto PT100 vous devriez disposer des l ments suivants 1 support yoctopuce com www yoctopuce com 1 Introduction Un ordinateur Les modules de Yoctopuce sont destin s tre pilot s par un ordinateur ou ventuellement un microprocesseur embarqu Vous crirez vous m me le programme qui pilotera le module selon vos besoin l aide des informations fournies dans ce manuel Yoctopuce fourni les librairies logicielles permettant de piloter ses modules pour les syst mes d exploitation suivants Windows Mac OS X Linux et Android Les modules Yoctopuce ne n cessitent pas l installation de driver ou pilote sp cifiques car ils utilisent le driver HID
148. e de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauvegarde des r glages se passera correctement Cette limite li e la technologie employ e par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la commande saveToFlash que 100000 fois au cours de la vie du module Veillez donc ne pas appeler cette commande depuis l int rieur d une boucle 6 5 Limitations L API en ligne de commande est sujette la m me limitation que les autres API il ne peut y avoir q une seule application la fois qui acc de aux modules de mani re native Par d faut l API en ligne de commande fonctionne en natif Cette limitation peut ais ment tre contourn e en utilisant un Virtual Hub il suffit de faire tourner le VirtualHub sur la machine concern e et d utiliser les executables de l API en ligne de commande avec l option r par exemple si vous utilisez YModule inventory 3 http www yoctopuce com FR virtualhub php www yoctopuce com 29 6 Utilisation du Yocto PT100 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 YModule r 127 0 0 1 inventory cela marcher
149. e isOnline Tt enoje TION if stremp argv 2 ON 0 module setBeacon Y BEACON ON else module setBeacon Y BEACON OFF NSLog serial S n module serialNumber NSLog logical name n module logicalName NSLog luminosity sd n module luminosity NSLog beacon GE if module beacon Y BEACON ON NSLog ON n else NSLog OFF n NSLog upTime d sec n module upTime 1000 NSLog USB current d mA n module usbCurrent NSLog logs n module get lastLogs else NSLog not connected check identification and USB cable n serial or name www yoctopuce com 59 10 Utilisation du Yocto PT100 en Objective C return 0 Chaque propri t xxx du module peut tre lue gr ce a une m thode du type get xxxx et les propri t s qui se sont pas en lecture seule peuvent tre modifi es l aide de la m thode set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d appeler la fonction set xxx correspondante cependant cette modification n a lieu que dans la m moire 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
150. e la fonction Temperature o oo eeeeeeeeeeneeeeeeeeeeeseneeeeseaeeeessaeeeeeeaeeeeseneeeeenaeees 72 12 4 Contr le de la partie module sise 74 12 5 Gestion des err lrs 2 idees Ta ends te ne nr Ut tin 76 13 Utilisation du Yocto PT100 en Delphi oo cece ee teeteeeeeeeneees 79 IS REPARALION soanten Re e ted a aaa a aaaea 79 13 2 Contr le de la fonction Temperature o oo ee eeeeeeeeseeeeeeseeeeeeeeeeeeseaeeeessaeeeeesaeeesseeeeeenaeees 79 13 3 Contr le de la partie module ss 81 e Eeke eI E EE E E a EE T E T 83 14 Utilisation du Yocto PT100 en Python oon cece ceteeeeteeteseeseeeeeees 85 TAP Ts FICMIETS SOURCES ie Feta eee AE en See OS i Aaah Ras E TTT 85 14 2 Librairie dynamique 2 25 nee id aan inn a 85 14 3 Contr le de la fonction Temperature o oo eeeeeceeeeeeeeeeeneeeeeeaeeeeseaeeeessaeeeessaeeesseaeeeeenaeees 86 14 4 Contr le de la partie module sisi 87 14 5 Gestion deS erleurs grie Men a ie ne te er teeter de 89 15 Utilisation du Yocto PT100 en Java once eecee tees eeeeeeeseetneeneesneeneenenees 91 Sele PI pArAION 2 RAT MANN ST AT E O A nt 91 15 2 Contr le de la fonction Temperature o oo eeeeeeeeeneeeeeeneeeeeeeeeeeeaeeeessaeeeeesaeeesseneeeeeeaeees 91 15 3 Contr le de la partie module ss 93 15 4 Gestion des rr UrS a a a a a r a a a r aaiae aiai 95 16 Utilisation du Yocto PT100 avec Android 0 0 ceteteeteteeeeiee 97 16 1 Acc s Natif et Virtual HUD 2 532822 arteen aini damier raaa aa aai A aa i ini inst
151. e la r cup rer dans la proc dure globale de callback en appelant get_userData Mise en place du callback de changement de valeur Le callback est mis en place pour une fonction Temperature donn e a l aide de la m thode registerValueCallback L exemple suivant met en place un callback pour la premi re fonction Temperature disponible YTemperature f YTemperature FirstTemperature f registerValueCallback valueChangeCallback Vous remarquerez que chaque fonction d un module peut ainsi avoir un callback diff rent Par ailleurs si vous prenez go t aux callback de changement de valeur sachez qu il ne sont pas limit s aux senseurs et que vous pouvez les utiliser avec tous les modules Yoctopuce par exemple pour tre notifi en cas de commutation d un relais Le callback p riodique Ce type de callback est automatiquement appel intervalle r guliers La fr quence d appel peut tre configur e individuellement pour chaque senseur avec des fr quences pouvant aller de cent fois par seconde une fois par heure Le callback prend en param tre la fonction concern e et la valeur mesur e sous forme d un objet YMeasure Contrairement au callback de changement de valeur qui ne contient que la nouvelle valeur instantan e l objet YMeasure peut donner la valeur minimale moyenne et maximale observ e depuis le dernier appel du callback p riodique De plus il contient aussi l indication de l heure exacte qui correspond la me
152. e sauvegarder sa configuration courante dans sa m moire non volatile Pour cela il faut utiliser la m thode saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module include lt iostream gt include lt stdlib h gt include yocto api h using namespace std static void usage const char exe CES IUS AE V as Sia SC lt newlhogical Name Ws lt lt a ends exit 1 I Int Main int arc Const char aro 52 www yoctopuce com 9 Utilisation du Yocto PT100 en C string errmsg Setup the API to use local USB devices if yRegisterHub usb errmsg YAPT SUCCESS cerni WieYepiiceueltible Gisieengy W lt lt iciaisie lt lt eiolelll 5 return 1 1ilarae 2 usage argv 0 YModule module yFindModule argv 1 use serial or logical name if module gt isOnline Te argc oi string newname argv 2 if yCheckLogicalName newname cerr lt lt Invalid name lt lt newname lt lt lt lt endl usage argv 0 module gt set_logicalName newname module gt saveToFlash cout lt lt Current nams U lt lt module get ogi callNamei lt lt endl else cout lt lt argv 1 lt lt not connected check identification and USB cable lt lt endl return 0 Atten
153. e_async callback context function get_module_async callback context Si la fonction ne peut tre trouv e sur aucun module l instance de YModule retourn e ne sera pas joignable Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la VM Javascript de Firefox qui n impl mente pas le passage de contr le entre threads durant les appels d entr e sortie bloquants gt Param tres callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit trois arguments le contexte fourni par l appelant l objet fonction concern et l instance demand e de YModule context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callback www yoctopuce com 217 19 R f rence de l API de haut niveau temperature get_recordedData YTemperature temperature recordedData Retourne un objet DataSet repr sentant des mesures de ce capteur pr c demment enregistr es l aide du DataLogger pour l intervalle de temps sp cifi function get_recordedData startTime endTime function get_recordedData startTime endTime function get_recordedData startTime endTime YDataSet get_recordedData s64 startTime s64 endTime YDataSet recordedData s64 star
154. eaeaeeeeaeaeeteaaeeseeneeeeenaaes 151 19 3 Interface de la fonction Temperature ooo ee eeceeeeeneeceeeeeceeeeeeeesseaeeeeeeaeeeeseeeeeteneeeeteeees 196 19 4 Interface de la fonction DataLogger eee ececeeeseeeeseneeeeeeeneeeeseeeeeeeaeeeeteeeeeteneaeeeeaaes 241 19 5 S quence de donn es enregistr es ss 276 19 6 Valeur EET A EE EE A EEE E RUES MAR ARS ARR AUS 289 20 Probl mes Coura tS 1 222 420 een Rh Re 295 20H LINUX ASE USB SRE ee nt mr tee ie ag Pact Na tn gt nee 295 20 2 Plateformes ARM HF et EL Su iiiisiiiseeeseneereeneereeeneneenneees 296 21 Caract ristiques 2eme hant noue 297 Blueprint Aaa cits nait mane dan entente teaser nn rater te RARE 299 1 Introduction Le module Yocto PT100 est un module de 55x20mm mm qui permet de mesurer par USB la temp rature l aide d une sonde Pt100 externe Sa pr cision est de 0 03 C Le Yocto PT100 est compatible avec les sondes 2 3 et 4 fils Le Yocto PT100 est un module isol il dispose d une isolation galvanique entre la partie mesure et le partie USB ce qui permet de mesurer sans risque la temp rature d l ments qui ne seraient pas au m me potentiel que l ordinateur de contr le du Yocto PT100 Les sondes Pt100 tant assez on reuses et sp cifiques chaque application le Yocto PT100 est vendu sans sonde Vous devrez donc vous procurer la sonde Pt100 adapt e votre application Le module Yocto PT100 Yoctopuce vous remerci
155. eeeneeeeesas 22 5 6 Quelle interface Native DLL ou Service suis errnensseeeennnnssnes 22 5 7 Programmation par o commencer sir 25 6 Utilisation du Yocto PT100 en ligne de commande ee 27 OS INSTANT E E A TN Te E nn ce 27 6 2 Utilisation description g n rale oo eee eeeeeceeeeeeeeeeeeeeeeeeaeeeeeeaeeeeseaeeeeeeeeeeteeeeeseneaeeseaaes 27 6 3 Contr le de la fonction Temperature ooo eeeceeseeeeeeneeeeeeeneeeeesaeeeeeeeeeeseeeeeteneeeeteneeeeeeaas 28 6 4 Contr le de la partie module sien 29 6 5 Limitations sienne a Ce Ba ico eet rendue tn feted 29 7 Utilisation du Yocto PT100 en Javascript 2 0 0 0 cece tee eeeeeeiee 31 Fg Pr parati n ss PE EE EA sateen de adexedieicg ex cevecta Net ma nn nie dap tee een te 31 7 2 Contr le de la fonction Temperature ooo eee eeseeeeeeneeeeeeneeeeeeeeeeeeeeeesseeeeeseneeeeteneeeeesaes 31 7 3 Contr le de la partie module sisi 33 FA Gestion des rr urs see Msn iront A e ds cote Naan d oat oot 36 8 Utilisation du Yocto PT100 en PHP ou eeeeeeeeeesteeeeteeseenereeeneeeen 39 8 1 Pr paration hocras errero anieri ria ed aE eet ts ed EEEN nent a EE ian en Vus tee due dev 39 8 2 Contr le de la fonction Temperature ooo eee eeeseeeeeenee ester eeeeeaeeeteeaeeesseeeeeseeeeeteneeeeeeaes 39 8 3 Contr le de la partie module sis 41 8 4 API par callback HTTP et filtres NAT iii 44 8 5 Gestion des erreus nisita errara nn A ML tentent EE EE EOE EEE DA ARARE EEEE EEE Mrs tete n needs d ces
156. ef get_functionDescriptor Cet identifiant peut tre utilis pour tester si deux instance de YFunction r f rencent physiquement la m me fonction sur le m me module Retourne un identifiant de type YFUN_DESCR Si la fonction n a jamais t contact e la valeur retourn e sera Y_FUNCTIONDESCRIPTOR_INVALID www yoctopuce com 209 19 R f rence de l API de haut niveau temperature get_functionld YTemperature temperature functionld Retourne l identifiant mat riel du capteur de temp rature sans r f rence au module function get_functionld function get_functionld function get_functionid string get_functionld NSString functionld vo function get_functionld As String string get_functionld String get_functionld def get_functionld Par example relay1 Retourne une cha ne de caract res identifiant le capteur de temp rature ex relay1 En cas d erreur d clenche une exception ou retourne Y_FUNCTIONID_INVALID 210 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_hardwareld YTemperature temperature hardwareld Retourne l identifiant mat riel unique du capteur de temp rature au format SERIAL FUNCTIONID function get_hardwareld function get_hardwareld function get_hardwareld string get_hardwareld NSString hardwareld function get_hardwareld As String string get_hardwareld
157. ement facilement d terminer o le probl me s est produit et voir le message explicatif li l exception e Sinon l exception va crasher votre programme boum Comme cette derni re situation n est pas la plus souhaitable la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs permettant de faire un programme robuste sans devoir attraper les exceptions chaque ligne de code Il suffit d appeler la fonction yDisableExceptions pour commuter la librairie dans un mode o les exceptions de chaque fonction sont syst matiquement remplac es par des valeurs de retour particuli res qui 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 la m me logique une m thode get state retournera une valeur Y STATE INVALID une m thode get currentValue retournera une valeur Y CURRENTVALUE INVALID etc Dans tous les cas la valeur retourn e sera du 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 Dans le cas de fonctions qui ne retournent priori pas d information la valeur de retour sera YAPI SUCCESS si tout va bien et un code d erreur diff rent en cas d chec
158. en faire un petit programme d exemple concret 86 www yoctopuce com 14 Utilisation du Yocto PT100 en Python usr bin python coding utf 8 import os sys tron VOCEO api importi from yocto temperature import def usage scriptname os path basename sys argv 0 print Usage print scriptname lt serial number gt print scriptname lt logical name gt print scriptname any sys exit def die msg Sys eritemo ehec k USB Rcab rE errmsg YRefParam if len sys argv lt 2 usage target sys argv l Setup the API to use local USB devices if YAPI RegisterHub usb errmsg YAPI SUCCESS sys exit init error errmsg value if target any retreive any temperature sensor sensor YTemperature FirstTemperature if sensor is None die No module connected elses sensor YTemperature FindTemperature target temperature while True if not sensor isOnline die device not connected Prine emp Ur We2 Imu ei sensor get cucrentValue YAIC Cerl e to stop Y YAPI Sleep 1000 14 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 usr bin python coding utf 8 import os sys from yocto api import def usage sys exit usage demo
159. ent Nous allons les expliquer en d tail yocto_api et yocto_ temperature Ces deux unit s permettent d avoir acc s aux fonctions permettant de g rer les modules Yoctopuce yocto api doit toujours tre utilis yocto temperature est n cessaire pour g rer les modules contenant un capteur de temp rature comme le Yocto PT100 80 www yoctopuce com 13 Utilisation du Yocto PT100 en Delphi yRegisterHub La fonction yRegisterHub initialise l API de Yoctopuce en indiquant o les modules doivent tre recherch s Utilis e avec le param tre usb elle permet de travailler avec les modules connect s localement la machine Si l initialisation se passe mal cette fonction renverra une valeur diff rente de YAPI SUCCESS et retournera via le param tre errmsg un explication du probl me yFindTemperature La fonction yFindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t temperature yFindTemperature PT1LOOMK1
160. erreur En cas d erreur d clenche une exception ou retourne un code d erreur n gatif YTemperature 232 www yoctopuce com 19 R f rence de l API de haut niveau temperature set_logFrequency YTemperature temperature setLogFrequency Modifie la fr quence d enregistrement des mesures dans le datalogger function set_logFrequency newval function set_logFrequency newval function set_logFrequency newval int set_logFrequency const string amp newval int setLogFrequency NSString newval function set_logFrequency newval string integer function set_logFrequency ByVal newval As String As Integer int set_logFrequency string newval int set_logFrequency String newval def set_logFrequency newval YTemperature target set_logFrequency newval La fr quence peut tre sp cifi e en mesures par secondes en mesures par minutes par exemple 15 m ou en mesures par heure par exemple 4 h Pour d sactiver l enregistrement des mesures de cette fonction utilisez la valeur OFF Param tres newval une cha ne de caract res repr sentant la fr quence d enregistrement des mesures dans le datalogger 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 233 19 R f rence de l API de haut niveau temperature set_logicalName YTemperature temper
161. erveur web Aucun probl me par contre avec Chrome Firefox ou Safari Si le Yocto PT100 n est pas branch sur la machine o fonctionne le navigateur internet remplacez dans l exemple l adresse 127 0 0 1 par l adresse IP de la machine o est branch le Yocto PT 100 et o vous avez lanc le VirtualHub lt HTML gt lt HEAD gt lt TITLE gt Hello World lt TITLE gt lt SCRIPT type text javascript src lyocto api js gt lt SCRIPT gt lt SCRIPT type text javascript src yocto temperature js gt lt SCRIPT gt lt SCRIPT language javascriptl 5 type text JavaScript gt Sho Setup the API to use the VirtualHub on local machine if yRegisterHub http 127 0 0 1 4444 YAPI SUCCESS aleme tGannor contact Vireual Hub on 270m0 Imi function refresh var temp serial document getElementBylId serial value if serial NIMES or use any conected module suitable for the demo temp yFirstTemperature if temp serial temp module get_serialNumber document getElementByld serial value serial temp yFindTemperature serial temperature if temp isOnline document getHlementById msg value document getElementById temp val value temp get_currentValue alse document getElementByld msgh value Module not connected setlimeotuetirerresh 500 gt lt SCRIP lt HEAD gt lt BODY onload refresh gt Module to use
162. es l utilisation du module Yocto PT100 mais pourraient vous tre utiles selon l utilisation que vous en faites Il s agit en g n ral de produits courants que vous pouvez vous procurer chez vos fournisseurs habituels de mat riel de bricolage Pour vous viter des recherches ces produits sont en g n ral aussi disponibles sur le shop de Yoctopuce Vis et entretoises Pour fixer le module Yocto PT100 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 ce sujet dans le chapitre concernant le montage et la connectique Micro hub USB Si vous d sirez placer plusieurs modules Yoctopuce dans un espace tr s restreint vous pouvez les connecter ensemble l aide d un micro hub USB Yoctopuce fabrique des hubs particuli rement petits pr cis ment destin s cet usage dont la taille peut tre r duite 20mm par 36mm et qui se montent en soudant directement les modules au hub via des connecteurs droits ou des c bles nappe Pour plus de d tail consulter la fiche produit du micro hub USB YoctoHub Ethernet et YoctoHub Wireless Vous pouvez ajouter une connectivit r seau votre Yocto PT100 gr ce aux hubs YoctoHub Ethernet et YoctoHub Wireless Le premier offre une connectivit Ethernet le second offre une connectivit Wifi
163. et beacon Y BEACON ON else module gt set beacon Y BEACON OFF cout lt lt seruall lt lt module gt get_serialNumber lt lt endl cout ogueciamamne su lt lt modules geemlogaicalNamel i lt lt sendills cout lt Um NOS LEY U o module get Piumino s tty n endik cout lt lt beacon Me if module gt get beacon Y BEACON ON cour lt lt ON lt endl else eout lt lt OFF lt lt endl cout lt lt upTime node ge reuplume s O00 Ras sscol lt lt endily cout lt lt MUSB eurrent lt lt module get usb Current ner ir cout lt lt logs lt lt endl lt lt module get lasttogsi lt lt endi else cout lt lt argv 1 lt lt not connected check identification and USB cable lt lt endl return 0 Chaque propri t xxx du module peut tre lue grace une m thode du type get xxxx et les propri t s qui se sont pas en lecture seule peuvent tre modifi es l aide de la m thode set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d appeler la fonction set _xxx correspondante cependant cette modification n a lieu que dans la m moire 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 d
164. eurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pas faire abstraction de la 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 www yoctopuce com 83 13 Utilisation du Yocto PT100 en Delphi 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 La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas II faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme La seule mani re de l viter est d impl menter une des deux techniques de gestion des erreurs d crites ci dessous 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 fa
165. exploitation d velopp par Google pour les appareils portables tels que smart phones et tablettes Mais il se trouve que sous Android tout est programm avec le m me langage de programmation Java En revanche les paradigmes de programmation et les possibilit s d acc s au hardware sont l g rement diff rentes par rapport au Java classique ce qui justifie un chapitre part sur la programmation Android 16 1 Acc s Natif et Virtual Hub Contrairement l API Java classique l API Java pour Android acc de aux modules USB de mani re native 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 16 2 Pr paration Connectez vous sur le site de Yoctopuce et t l chargez la librairie de programmation pour Java pour Android La librairie est disponible en fichiers sources mais elle aussi disponible sous la forme d un fichier jar Branchez vos modules d compressez les fichiers de la librairie dans le r pertoire de votre choix Et configurez votre environnement de programmation Android pour qu il puisse les trouver Afin de les garder simples tous les exemples fournis dans cette documentation sont des fragments d application Android Vous devrez les int grer dans vos propres applica
166. f correspondant au nombre de secondes coul es entre le 1er janvier 1970 et la derni re mesure 278 www yoctopuce com 19 R f rence de l API de haut niveau dataset get_functionld YDataSet dataset functionld Retourne l identifiant mat riel de la fonction qui a effectu les mesures sans r f rence au module function get_functionld function get_functionld function get_functionld string get_functionld NSString functionld function get_functionld string function get_functionld As String string get_functionld String get_functionld def get_functionld Par example temperaturel Retourne une cha ne de caract res identifiant la fonction ex temperaturel www yoctopuce com 279 19 R f rence de l API de haut niveau dataset get_hardwareld YDataSet dataset hardwareld Retourne l identifiant mat riel unique de la fonction qui a effectu les mesures au format SERIAL FUNCTIONID function get_hardwareld function get_hardwareld function get_hardwareld string get_hardwareld NSString hardwareld function get_hardwareld string function get_hardwareld As String string get_hardwareld String get_hardwareld def get_hardwareld L identifiant unique est compos du num ro de s rie du module et de l identifiant mat riel de la fonction par example THRMCPL1 123456 temperaturel Retourne une cha ne de
167. g As YDataLogger YDataLogger FindDataLogger string func YDataLogger FindDataLogger String func def FindDataLogger func L identifiant peut tre sp cifi sous plusieurs formes e NomLogiqueFonction e NoSerieModule ldentifiantFonction e NoSerieModule NomLogiqueFonction e NomLogiqueModule ldentifiantMat riel e NomLogiqueModule NomLogiqueFonction Cette fonction n exige pas que l enregistreur de donn es soit en ligne au moment ou elle est appel e l objet retourn sera n anmoins valide Utiliser la m thode YDataLogger isOnline pour tester si l enregistreur de donn es est utilisable un moment donn En cas d ambiguit lorsqu on fait une recherche par nom logique aucune erreur ne sera notifi e la premi re instance trouv e sera renvoy e La recherche se fait d abord par nom mat riel puis par nom logique Param tres func une cha ne de caract res qui r f rence l enregistreur de donn es sans ambigu t Retourne un objet de classe YDat aLogger qui permet ensuite de contr ler l enregistreur de donn es www yoctopuce com 243 19 R f rence de l API de haut niveau YDataLogger FirstDataLogger YDataLogger yFirstDataLogger Commence l num ration des enregistreurs de donn es accessibles par la librairie function yFirstDataLogger node js function FirstDataLogger function yFirstDataLogger YDataLogger yFirstDataLogger YDataLogger yFirstDataLogger
168. g func def FindModule func Cette fonction n exige pas que le module soit en ligne au moment ou elle est appel e l objet retourn sera n anmoins valide Utiliser la m thode YModule isOnline pour tester si le module est utilisable un moment donn En cas d ambigu t lorsqu on fait une recherche par nom logique aucune erreur ne sera notifi e la premi re instance trouv e sera renvoy e La recherche se fait d abord par nom mat riel puis par nom logique Param tres func une cha ne de caract res contenant soit le num ro de s rie soit le nom logique du module d sir Retourne un objet de classe YModule qui permet ensuite de contr ler le module ou d obtenir de plus amples informations sur le module 154 www yoctopuce com 19 R f rence de l API de haut niveau YModule FirstModule yFirstModule Commence l num ration des modules accessibles par la librairie function yFirstModule function FirstModule function yFirstModule YModule yFirstModule YModule yFirstModule pas function yFirstModule TYModule function yFirstModule As YModule YModule FirstModule YModule FirstModule def FirstModule YModule Utiliser la fonction YModule nextModule pour it rer sur les autres modules Retourne un pointeur sur un objet YModule correspondant au premier module accessible en ligne ou null si aucun module n a t trouv www yoctopuce
169. garde des r glages se passera correctement Cette limite li e la technologie employ e par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction saveToFlash que 100000 fois au cours de la vie du module Veillez donc ne pas appeler cette fonction depuis l int rieur d une boucle 60 www yoctopuce com 10 Utilisation du Yocto PT100 en Objective C Enumeration des modules Obtenir la liste des modules connect s se fait a l aide de la fonction yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la fonction nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un NULL Ci dessous un petit exemple listant les module connect s import lt Foundation Foundation h gt import yocto api h int Wain ink are Const char argqy NSError error autoreleasepool Setup the API to use local USB devices if yRegisterHub usb amp error YAPT SUCCESS NSLog RegisterHub error n error localizedDescription return 1 NSLog Device list n YModule module yFirstModule while module nil NSLog 3 3 module serialNumber module productName module module nextModule return 0 10 3 Gestion des erreurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pas faire abstraction de la gest
170. get_ module YTemperature 215 get_ module _async YDataLogger 259 get_module async YTemperature 216 get_persistentSettings YModule 170 get_preview YDataSet 281 get_productid YModule 171 get_productName YModule 172 get_productRelease YModule 173 get_progress YDataSet 282 get_rebootCountdown YModule 174 get_recordedData YTemperature 217 get_recording YDataLogger 260 get_reportFrequency YTemperature 218 get_resolution YTemperature 219 get_sensorType YTemperature 220 get_serialNumber YModule 175 get_startTimeUTC YDataSet 283 get_startTimeUTC YMeasure 293 get_summary YDataSet 284 get_timeUTC YDataLogger 261 get_unit YDataSet 285 get_unit YTemperature 221 get_upTime YModule 176 get_usbBandwidth YModule 177 get_usbCurrent YModule 178 get_userData YDataLogger 262 get_userData YModule 179 get_userData YTemperature 222 GetAPIVersion YAPI 132 GetTickCount YAPI 133 H HandleEvents YAPI 134 HTTP 44 119 Hub 97 InitAPI YAPI 135 Installation 27 63 71 Int gration 54 Interface 19 21 22 151 196 241 Introduction 1 isOnline YDataLogger 263 isOnline YModule 180 isOnline YTemperature 223 isOnline_async YDataLogger 264 isOnline_async YModule 181 isOnline_async YTemperature 224 J Java 91 Javascript 31 L Langages 119 Librairie 54 85 124 Librairies 121 Limitations 29 Linux 295 load YDataLogger 265 load YModule 182 load YTemperature 225 load_async YDataLogger 266 load_
171. giqueModule NomLogiqueFonction Cette fonction n exige pas que le capteur de temp rature soit en ligne au moment ou elle est appel e l objet retourn sera n anmoins valide Utiliser la m thode YTemperature isOnline pour tester si le capteur de temp rature est utilisable un moment donn En cas d ambigu t lorsqu on fait une recherche par nom logique aucune erreur ne sera notifi e la premi re instance trouv e sera renvoy e La recherche se fait d abord par nom mat riel puis par nom logique Param tres func une cha ne de caract res qui r f rence le capteur de temp rature sans ambigu t Retourne un objet de classe YTemperature qui permet ensuite de contr ler le capteur de temp rature www yoctopuce com 199 19 R f rence de l API de haut niveau YTemperature FirstTemperature YTemperature yFirstTemperature Commence l num ration des capteurs de temp rature accessibles par la librairie function yFirstTemperature node js function FirstTemperature function yFirstTemperature YTemperature yFirstTemperature YTemperature yFirstTemperature function yFirstTemperature TYTemperature function yFirstTemperature As YTemperature YTemperature FirstTemperature YTemperature FirstTemperature def FirstTemperature Utiliser la fonction YTemperature nextTemperature pour it rer sur les autres capteurs de temp rature Retourne un pointeur sur un o
172. gistreur de donn es la mise sous tension 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 270 www yoctopuce com 19 R f rence de l API de haut niveau datalogger set_logicalName datalogger setLogicalName Modifie le nom logique de l enregistreur de donn es function set_logicalName newval function set_logicalName newval function set_logicalName newval int set_logicalName const string amp newval int setLogicalName NSString newval function set_logicalName newval string integer function set_logicalName ByVal newval As String As Integer int set_logicalName string newval int set_logicalName String newval def set_logicalName newval YDataLogger target set_logicalName newval YDataLogger Vous pouvez utiliser yCheckLogicalName pour v rifier si votre param tre est valide N oubliez pas d appeler la m thode saveToFlash du module si le r glage doit tre pr serv Param tres newval une cha ne de caract res repr sentant le nom logique de l enregistreur de donn es Retourne un code d erreur n gatif YAPI_SUCCESS si l appel se d roule sans erreur En cas d erreur d clenche une exception ou retourne www yoctopuce com 271 19 R f rence de l API de haut niveau datalogger set_recording YDataLogger datalogger setRecording Mo
173. gnable sans d clencher d erreur temperature load msValidity Met en cache les valeurs courantes du capteur de temp rature avec une dur e de validit sp cifi e temperature loadCalibrationPoints rawValues refValues R cup re les points de correction de mesure pr c demment enregistr s l aide de la m thode calibrateFromPoints temperature load_async msValidity callback context Met en cache les valeurs courantes du capteur de temp rature avec une dur e de validit sp cifi e temperature nextTemperature Continue l num ration des capteurs de temp rature commenc e l aide de yFirstTemperature temperature registerTimedReportCallback callback Enregistre la fonction de callback qui est appel e a chaque notification p riodique temperature registerValueCallback callback Enregistre la fonction de callback qui est appel e a chaque changement de la valeur publi e temperature set_highestValue newval www yoctopuce com 197 19 R f rence de l API de haut niveau Modifie la m moire de valeur maximale observ e temperature set_logFrequency newval Modifie la fr quence d enregistrement des mesures dans le datalogger temperature set_logicalName newval Modifie le nom logique du capteur de temp rature temperature set_lowestValue newval Modifie la m moire de valeur minimale observ e temperature set_reportFrequency newval Modifie la fr quence de notificatio
174. he Go Il se trouve que beaucoup d appareils portables ne fonctionnent qu en mode device ils sont con us pour tre branch s chargeur ou un ordinateur de bureau rien de plus Il est donc fortement recommand de lire attentivement les sp cifications techniques d un produit fonctionnant sous Android avant d esp rer le voir fonctionner avec des modules Yoctopuce Disposer d une version correcte d Android et de ports USB fonctionnant en mode host ne suffit malheureusement pas pour garantir un bon fonctionnement avec des modules Yoctopuce sous Android En effet certains constructeurs configurent leur image Android afin que les p riph riques autres que clavier et mass storage soit ignor s et cette configuration est difficilement d tectable En l tat actuel des choses le meilleur moyen de savoir avec certitude si un mat riel Android sp cifique fonctionne avec les modules Yoctopuce consiste essayer Mat riel support La librairie est test e et valid e sur les machines suivantes e Samsung Galaxy S3 e Samsung Galaxy Note 2 e Google Nexus 5 Google Nexus 7 Acer Iconia Tab A200 e Asus Tranformer Pad TF300T e Kurio 7 Si votre machine Android n est pas capable de faire fonctionner nativement des modules Yoctopuce il vous reste tout de m me la possibilit de contr ler distance des modules pilot s par un VirtualHub sur un autre OS ou un YoctoHub 16 4 Activer le port USB sous Android Par d faut Android naut
175. i vous affichez la valeur sans la tester elle sera hors du cadre attendu pour la valeur retourn e Dans le cas de fonctions qui ne retournent priori pas d information la valeur de retour sera YAPI SUCCESS si tout va bien et un code d erreur diff rent en cas d chec Quand vous travaillez sans les exceptions il est possible d obtenir un code d erreur et un message expliquant l origine de l erreur en le demandant l objet qui a retourn une erreur l aide des m thodes errType et errMessage Ce sont les m me informations qui auraient t associ es l exception si elles avaient t actives 84 www yoctopuce com 14 Utilisation du Yocto PT100 en Python Python est un langage interpr t orient objet d velopp par Guido van Rossum Il offre l avantage d tre gratuit et d tre disponible pour la plupart de plate formes tant 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 La librairie a t test e avec Python 2 6 et Python 32 Les interpr teurs Python sont disponibles sur le site de Python 1 14 1 Fichiers sources Les classes de la librairie Yoctopuce pour Python que vous utiliserez vous sont fournies au format source Copiez tout le contenu du r pertoire Sources dans le r pertoire de votr
176. i vous affichez la valeur sans la tester elle sera hors du cadre attendu pour la valeur retourn e Dans le cas de fonctions qui ne retournent priori pas d information la valeur de retour sera YAPI SUCCESS si tout va bien et un code d erreur diff rent en cas d chec T Quand vous travaillez sans les exceptions il est possible d obtenir un code d erreur et un message expliquant l origine de l erreur en le demandant l objet qui a retourn une erreur l aide des m thodes errType et errMessage Ce sont les m me informations qui auraient t associ es l exception si elles avaient t actives 9 4 Int gration de la librairie Yoctopuce en C Selon vos besoins et vos pr f rences vous pouvez tre men int grer de diff rentes mani res la librairie vos projets Cette section explique comment impl menter les diff rentes options Int gration au format source L int gration de toutes les sources de la librairie dans vos projets a plusieurs avantages e Elle garanti le respect des conventions de compilation de votre projet 32 64 bits inclusion des symboles de debug caract res unicode ou ASCII etc e Elle facilite le d boggage si vous cherchez la cause d un probl me li la librairie Yoctopuce 54 www yoctopuce com 9 Utilisation du Yocto PT100 en C e Elle r duit les d pendances sur des composants tiers par exemple pour parer au cas o vous p
177. iceList_async 149
178. identifiant mat riel unique de l enregistreur de donn es au format SERIAL FUNCTIONID datalogger get_logicalName Retourne le nom logique de l enregistreur de donn es datalogger get_module Retourne l objet YModule correspondant au module Yoctopuce qui h berge la fonction datalogger get module async callback context Retourne l objet YModule correspondant au module Yoctopuce qui h berge la fonction datalogger get_recording Retourne l tat d activation de l enregistreur de donn es datalogger get_timeUTC Retourne le timestamp Unix de l heure UTC actuelle lorsqu elle est connue datalogger get_userData Retourne le contenu de l attribut userData pr c demment stock l aide de la m thode set__userData datalogger isOnline V rifie si le module h bergeant l enregistreur de donn es est joignable sans d clencher d erreur datalogger isOnline_async callback context V rifie si le module h bergeant l enregistreur de donn es est joignable sans d clencher d erreur datalogger load msValidity Met en cache les valeurs courantes de l enregistreur de donn es avec une dur e de validit sp cifi e datalogger load_async msValidity callback context Met en cache les valeurs courantes de l enregistreur de donn es avec une dur e de validit sp cifi e datalogger nextDataLogger Continue l num ration des enregistreurs de donn es commenc e l aide de yFirstDa
179. idity YRETCODE load int msValidity YRETCODE load int msValidity function load msValidity integer YRETCODE function load ByVal msValidity As Integer As YRETCODE YRETCODE load int msValidity int load long msValidity def load msValidity Par d faut lorsqu on acc de a un module tous les attributs des fonctions du module sont automatiquement mises en cache pour la dur e standard 5 ms Cette m thode peut tre utilis e pour marquer occasionellement les donn es cach es comme valides pour une plus longue p riode par exemple dans le but de r duire le trafic r seau Param tres msValidity un entier correspondant la dur e de validit attribu e aux les param tres charg s en millisecondes Retourne YAPI_SUCCESS si l op ration se d roule sans erreur En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 183 19 R f rence de l API de haut niveau module load_async YModule Met en cache les valeurs courantes du module avec une dur e de validit sp cifi e function load_async msValidity callback context function load_async msValidity callback context Par d faut lorsqu on acc de a un module tous les attributs des fonctions du module sont automatiquement mises en cache pour la dur e standard 5 ms Cette m thode peut tre utilis e pour marquer occasionellement les donn es cach es comme valides pour une pl
180. ier yocto api cs et les fichiers correspondant aux fonctions des modules Yoctopuce que votre projet va g rer Dans le doute vous pouvez aussi s lectionner tous les fichiers 1 http www microsoft com visualstudio en us products 2010 editions visual csharp express www yoctopuce com FR libraries php 3 Les sources de cette DLL sont disponibles dans l API C www yoctopuce com 71 12 Utilisation du Yocto PT100 en C Vous avez alors le choix entre simplement ajouter ces fichiers votre projet ou les ajouter en tant que lien le bouton Ajouter est en fait un menu d roulant Dans le premier cas Visual Studio va copier les fichiers choisis dans votre projet dans le second Visual Studio va simplement garder un lien sur les fichiers originaux Il est recommand d utiliser des liens une ventuelle mise jour de la librairie sera ainsi beaucoup plus facile Ensuite ajoutez de la m me mani re la dll yapi d11 qui se trouve dans le r pertoire Sources d11 Puis depuis la fen tre Explorateur de solutions effectuez un clic droit sur la DLL choisissez Propri t et dans le panneau Propri t s mettez l option Copier dans le r pertoire de sortie toujours copier Vous tes maintenant pr t utiliser vos modules Yoctopuce depuis votre environnement Visual Studio Afin de les garder simples tous les exemples fournis dans cette documentation sont des applications consoles Il va de soit que que les fonctionnement des librairies
181. in d installer de driver Afin de les garder simples tous les exemples fournis dans cette documentation sont des applications consoles Il va de soit que que le fonctionnement des librairies est strictement identiques si vous les int grez dans une application dot e d une interface graphique 15 2 Contr le de la fonction Temperature Il suffit de quelques lignes de code pour piloter un Yocto PT100 Voici le squelette d un fragment de code Java qui utilise la fonction Temperature sol On r cup re l objet repr sentant le module ici connect en local sur USB VAPIARegMSEer AUDI IMOR OT temperature YTemperature FindTemperature PT100MK1 123456 temperature Pour g rer le hot plug on v rifie que le module est la if temperature isOnline Use temperature get_currentValue 1 www yoctopuce com FR libraries php 2 www yoctopuce com FR virtualhub php www yoctopuce com 91 15 Utilisation du Yocto PT100 en Java feel Voyons maintenant en d tail ce que font ces quelques lignes YAPI RegisterHub La fonction YAPI RegisterHub initialise l API de Yoctopuce en indiquant o les modules doivent tre recherch s Le param tre est l adresse du virtual hub capable de voir les modules Si initialisation se passe mal une exception sera g n r e YTemperature FindTemperature La fonction YTemperature FindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son modu
182. ion 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 votre code doit n anmoins tre fait pour se comporter au mieux pour interpr ter les erreurs signal es par la librairie La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas Il faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme La seule mani re de l viter est d impl menter une des deux techniques de gestion des erreurs d crites ci dessous 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 e Si votre code attrape l exceptio
183. ique dans chaque exemplaire Attention le comportement d un projet devient impr visible s il contient plusieurs modules avec le m me nom logique et que le logiciel de pilotage essaye d acc der l un de ces module l aide de son nom logique A leur sortie d usine les modules n ont pas de nom logique assign c est vous de le d finir 2 2 Les l ments sp cifiques Les capteurs Le Yocto PT100 est capable lire la temp rature d une sonde Pt100 de 200 C 320 C Attention il ne s agit ici que des valeurs que le module Yocto PT100 est capable de mesurer Pour atteindre ces plages de valeurs vous devez en plus vous assurer que votre sonde Pt100 supporte aussi les temp ratures que vous d sirez utiliser En g n ral plus les temp ratures sont extr mes plus le Pt100 sera cher Fonctionnement d un Pt100 Un Pt100 est essentiellement une r sistance qui change de valeur en fonction de la temp rature laquelle elle est soumise Par d finition un Pt100 a une r sistance de 100 ohm 0 degr Celsius d o son nom La variation de r sistance n est pas tout fait lin aire mais le Yocto PT100 sait en tenir compte La caract ristique essentielle des Pt100 est leur pr cision il est en effet possible de d tecter des variations de temp rature de l ordre du centi me de degr Celsius Pour lire la temp rature mesur e par un Pt100 il suffit de faire passer un courant connu dans le Pt100 et de mesurer la tension ses bo
184. ir sa guise jusqu 500mA si le p riph rique les r clame explicitement Dans le cas d un hub non aliment il a droit 100mA pour lui m me et doit permettre chacun de ses 4 ports d utiliser 100mA au maximum C est tout et c est pas beaucoup Cela veut dire en particulier qu en th orie brancher deux hub USB non aliment s en cascade ne marche pas Pour cascader des hubs USB il faut utiliser des hubs USB aliment s qui offriront 500mA sur chaque port En pratique USB n aurait pas eu le succ s qu il a si il tait si contraignant Il se trouve que par conomie les fabricants de hubs omettent presque toujours d impl menter la limitation de courant sur les ports ils se contentent de connecter l alimentation de tous les ports directement l ordinateur tout en se d clarant comme hub aliment m me lorsqu ils ne le sont pas afin de d sactiver tous les contr les de consommation dans le syst me d exploitation C est assez malpropre mais dans la mesure ou les ports des ordinateurs sont eux en g n ral prot g s par une 14 www yoctopuce com 4 Montage et connectique limitation de courant mat rielle vers 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 c
185. ire restante Ce fonctionnement suppose que les fils aient exactement la m me r sistance ce qui n est pas forc ment le cas ce qui rend le Pt100 3 fils un peu moins pr cis qu un 4 fils Rpti00 UPT100 lalim RPT100 UrPT100 Umesure lalim R2 Ualim U mesure R2 URA4R3 lalim Si Imesure 0 et R2 Ra measure UR4R3 Ra lalim Pt100 3 fils l absence d un fil est automatiquement compens e Le Pt100 2 fils est une variante bon march peu pr cise dans l absolu il n est en effet pas possible de compenser la r sistance des fils En revanche il reste int ressant pour d tecter de faibles variations de temp rature www yoctopuce com www yoctopuce com 3 Premiers pas Arriv ce chapitre votre Yocto PT100 devrait tre branch votre ordinateur qui devrait l avoir reconnu Il est temps de le faire fonctionner Rendez vous sur le site de Yoctopuce et t l chargez le programme Virtual Hub Il est disponible pour Windows Linux et Mac OS X En temps normal le programme Virtual Hub sert de couche d abstraction pour les langages qui ne peuvent pas acc der aux couches mat rielles de votre ordinateur Mais il offre aussi une interface sommaire pour configurer vos modules et tester les fonctions de base on acc de cette interface l aide d un simple browser web 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 devrie
186. ix entre simplement ajouter ces fichiers votre projet ou les ajouter en tant que lien le bouton Ajouter est en fait un menu d roulant Dans le premier cas Visual Studio va copier les fichiers choisis dans votre projet dans le second Visual Studio va simplement garder un lien sur les fichiers originaux Il est recommand d utiliser des liens une ventuelle mise jour de la librairie sera ainsi beaucoup plus facile Ensuite ajoutez de la m me mani re la dll yapi d11 qui se trouve dans le r pertoire Sources d11 Puis depuis la fen tre Explorateur de solutions effectuez un clic droit sur la DLL choisissez Propri t et dans le panneau Propri t s mettez l option Copier dans le r pertoire de sortie toujours copier Vous tes maintenant pr t utiliser vos modules Yoctopuce depuis votre environnement Visual Studio Afin de les garder simples tous les exemples fournis dans cette documentation sont des applications consoles 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 11 3 Contr le de la fonction Temperature Il suffit de quelques lignes de code pour piloter un Yocto PT100 Voici le squelette d un fragment de code VisualBasic NET qui utilise la fonction Temperature baca Dim errmsg As String Dim temperature As YTemperature REM On r cup re l objet repr sentant le module ici connect en local sur US
187. k callback Ce callback n est appel que durant l ex cution de ySleep ou yHandleEvents Cela permet a l appelant de contr ler quand les callback peuvent se produire Il est important d appeler l une de ces deux fonctions p riodiquement pour garantir que les callback ne soient pas appel s trop tard Pour d sactiver un callback il suffit d appeler cette m thode en lui passant un pointeur nul 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 231 19 R f rence de l API de haut niveau temperature set_highestValue temperature setHighestValue Modifie la m moire de valeur maximale observ e function set_highestValue newval function set_highestValue newval function set_highestValue newval int set_highestValue double newval int setHighestValue double newval function set_highestValue newval double integer v _ function set_highestValue ByVal newval As Double As Integer int set_highestValue double newval int set_highestValue double newval def set_highestValue newval YTemperature target set_highestValue newval Param tres newval une valeur num rique repr sentant la m moire de valeur maximale observ e Retourne YAPI_SUCCESS si l op ration se d roule sans
188. 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 En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 137 19 R f rence de l API de haut niveau YAPI RegisterDeviceArrivalCallback YAPI yRegisterDeviceArrivalCallback Enregistre une fonction de callback qui sera appel e a chaque fois qu un module est branch function yRegisterDeviceArrivalCallback arrivalCallback nodejs function RegisterDeviceArrivalCallback arrivalCallback function yRegisterDeviceArrivalCallback arrivalCallback void yRegisterDeviceArrivalCallback yDeviceUpdateCallback arrivalCallback void yRegisterDeviceArrivalCallback yDeviceUpdateCallback arrivalCallback procedure yRegisterDeviceArrivalCallback arrivalCallback yDeviceUpdateFunc procedure yRegisterDeviceArrivalCallback ByVal arrivalCallback As yDeviceUpdateFunc void RegisterDeviceArrivalCallback yDeviceUpdateFunc arrivalCallback synchronized static void RegisterDeviceArrivalCallback DeviceArrivalCallback arrivalCallback def RegisterDeviceArrivalCallback arrivalCallback Le callback sera appel pendant l xecution de la fonction yHandleDeviceList que vous devrez appeler r guli rement Param tres arrivalCallback une proc dure qui prend un YModu le en param tre ou null 138 www yoctopuce c
189. l suffit de copier le fichier 51 yoctopuce all rules dans le r pertoire etc udev rules d et de red marrer votre syst me udev rules to allow write access to all users for Yoctopuce USB devices SUBSYSTEM usb ATTR idVendor 24e0 MODE 0666 Exemple 2 51 yoctopuce_group rules Cette r gle va autoriser le groupe yoctogroup a acc der en lecture et criture aux p riph riques Yoctopuce USB Les droits d acc s pour tous les autres p riph riques ne seront pas modifi s Si ce 1 http www yoctopuce com EN virtualhub php www yoctopuce com 295 20 Probl mes courants sc nario vous convient il suffit de copier le fichier 51 yoctopuce group rules dans le r pertoire etc udev rules d et de red marrer votre syst me udev rules to allow write access to all users of yoctogroup for Yoctopuce USB devices SUBSYSTEM usb ATTR idVendor 24e0 MODE 0664 GROUP yoctogroup 20 2 Plateformes ARM HF et EL Sur ARM il existe deux grandes familles d executables HF Hard Float et EL EABI Little Endian Ces deux familles ne sont absolument pas compatibles entre elles La capacit d une machine ARM faire tourner des ex cutables de l une ou l autre de ces familles d pend du hardware et du syst me d exploitation Les probl mes de compatibilit entre ArmHL et ArmEL sont assez difficiles diagnostiquer souvent m me l OS se r v le incapable de distinguer un ex cutable HF d un ex cutable EL
190. lages d un module il suffit d appeler la fonction set _xxx correspondante cependant cette modification n a lieu que dans la m moire 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 saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module lt HTML gt lt HEAD gt lt TITLE gt Change module settings lt TITLE gt 34 www yoctopuce com 7 Utilisation du Yocto PT100 en Javascript lt SCRIPT type text javascript sre yocto api js gt lt SCRIPI gt lt SCRIPT language javascriptl 5 type text JavaScript gt he Use explicit error handling rather than exceptions yDisableExceptions Setup the API to use the VirtualHub on local machine if yRegisterHub http 127 0 0 1 4444 VAPI SUCCESS alerte JCannoe contact VariualHub on W27 300d Ee var module function refresh Var Serial document gethillementByid serrall value if serial Detect any conected module suitable for the demo module yFirstModule nextModule if module serial module wget serialliNumbex document getElementByI
191. langage se limite coder la petite librairie qui contr le la DLL Du point de de l utilisateur final il y a peu de diff rence il faut simplement tre sur que la DLL sera install e sur son ordinateur en m me temps que le programme principal L application utilise la DLL pour contr ler nativement le module connect en local Contr le par un service Certain langages ne permettent tout simplement pas d acc der facilement au niveau mat riel de la machine C est le cas de Javascript par exemple Pour g rer ce cas Yoctopuce offre la solution sous la forme d un petit programme appel Hub Virtuel qui lui est capable d acc der aux modules et votre application n a plus qu utiliser une librairie qui offrira toutes les fonctions n cessaires au contr le des modules en passant par l interm diaire de ce hub virtuel L utilisateur final se verra oblig de lancer le hub virtuel avant de lancer le programme de contr le du projet proprement dit moins qu il ne d cide d installer le hub sous la forme d un service d mon auquel cas le hub virtuel se lancera automatiquement au d marrage de la machine www yoctopuce com 23 5 Programmation concepts g n raux L application se connecte au virtual hub pour connecter le module En revanche la m thode de contr le par un service offre un avantage non n gligeable l application n est pas n oblig de tourner sur la machine o se trouvent les modules elle peut parfaitement se
192. le unit Texte lecture seule currentValue Nombre virgule fixe lecture seule lowestValue Nombre virgule fixe modifiable highestValue Nombre virgule fixe modifiable currentRawValue Nombre virgule fixe lecture seule logFrequency Fr quence modifiable reportFrequency Fr quence modifiable calibrationParam Tableau de mots de 16 bit modifiable resolution Nombre virgule flottante modifiable sensorType Type num r modifiable dataLogger DataLogger attribut type modifiable logicalName Texte modifiable advertisedValue Texte lecture seule currentRunIndex Nombre entier lecture seule timeUTC Heure UTC modifiable recording On Off modifiable autoStart On Off modifiable clearHistory Bool en modifiable 5 3 Interface de contr le du module Cette interface est la m me pour tous les modules USB de Yoctopuce Elle permet de contr ler les param tres g n raux du module et d num rer les fonctions fournies par chaque module productName Cha ne de caract res contenant le nom commercial du module pr programm en usine www yoctopuce com 19 5 Programmation concepts g n raux serialNumber Chaine de caract res contenant le num ro de s rie unique et pr programm en usine Pour un module Yocto PT100 ce num ro de s rie commence toujours par PT100MK1 II peut servir comme point de d part pour acc der par programmation un module particulier logicalName Chaine de caract res contenant le nom logiq
193. le h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t temperature YTemperature FindTemperature PT1LOOMK1 123456 temperature temperature YTemperature FindTemperature PT1OOMK1 123456 MaFonction temperature YTemperature FindTemperature MonModule temperature temperature YTemperature FindTemperature MonModule MaFonction temperature YTemperature FindTemperature MaFonction YTemperature FindTemperature renvoie un objet que vous pouvez ensuite utiliser a loisir pour contr ler le capteur de temp rature isOnline La m thode YTemperature isOnline de l objet renvoy par FindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get _currentValue de l objet renvoy par YTemperature FindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius Un exemple r el Lancez votre environnement java et ouvrez le projet correspondant f
194. le module Ce qui vous permet si n cessaire de le rendre plus un peu discret tout en limitant sa consommation Notez que ce param tre agit sur toutes les leds de signalisation du module y compris la Yocto Led Si vous branchez un module et que rien ne s allume cela veut peut tre dire que sa luminosit a t r gl e z ro 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 au niveau de la programmation des modules Les fonctions fournies par le module Yocto PT100 sont les fonctions temperature et data logger Cliquez simplement sur le bouton rename correspondant pour leur affecter un nouveau nom logique Type de Pt100 Par d faut le Yocto PT100 est configur pour travailler avec un Pt100 4 fils Vous aussi pouvez choisir de travaillez avec des Pt100 2 et 3 fils Vous pouvez changer la configuration du module par software ou avec le VirtualHub 5 http www yoctopuce com FR virtualhub php www yoctopuce com 11 12 www yoctopuce com 4 Montage et connectique Ce chapitre fournit des explications importantes pour utiliser votre module Yocto PT100 en situation r elle Prenez soin de le lire avant d aller trop loin dans
195. les module connect s lt HTML gt lt HEAD gt lt TITLE gt inventory lt TITLE gt lt HEAD gt lt BODY gt lt H1 gt Device list lt H1 gt SAME lt php include yocto api php yRegisterHub http 127 0 0 1 4444 Smodule yFirstModule while is null S module prints s lt br gt Smodule gt get_serialNumber module gt get productName Smodule Smodule gt nextModule 25 ZARS lt BODY gt www yoctopuce com 43 8 Utilisation du Yocto PT100 en PHP lt HTML gt 8 4 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 depuis un site Web publique Le filtre NAT avantages et inconv nients Un routeur DSL qui effectue de la traduction d adresse r seau NAT fonctionne un peu comme un petit central t l phonique priv les postes internes peuvent s appeler l un l autre ainsi que faire des appels vers l ext rieur mais vu de l ext rieur il n existe qu un num ro de t l phone officiel attribu au central t l phonique lui m me Les postes internes ne sont pas atteignables depuis l ext rieur 192 168 0 1 lt www mysite com 64 136
196. librairie avec les modules Yoctopuce ylnitAPI mode errmsg Initialise la librairie de programmation de Yoctopuce explicitement yPreregisterHub url errmsg Alternative plus tolerante a RegisterHub yRegisterDeviceArrivalCallback arrivalCallback Enregistre une fonction de callback qui sera appel e a chaque fois qu un module est branch yRegisterDeviceRemovalCallback removalCallback Enregistre une fonction de callback qui sera appel e a chaque fois qu un module est d branch yRegisterHub url errmsg Configure la librairie Yoctopuce pour utiliser les modules connect s sur une machine donn e yRegisterHubDiscoveryCallback callback 126 www yoctopuce com 19 R f rence de l API de haut niveau Enregistre une fonction de callback qui sera appel e chaque fois qu un Hub r seau ou un VirtualHub est d tect sur le r seau local yRegisterLogFunction logfun Enregistre une fonction de callback qui sera appell e chaque fois que l API a quelque chose dire ySelectArchitecture arch S lectionne manuellement l architecture de la libraire dynamique utiliser pour acc der USB ySetDelegate object Objective C uniquement Enregistre un objet d l gu qui doit se conformer au procole YDeviceHotPlug ySetTimeout callback ms_timeout arguments Appelle le callback sp cifi apr s un temps d attente sp cifi ySleep ms_duration errmsg Effectue une pause dans l ex cution du programme pour une
197. line pas function isOnline boolean vb function isOnline As Boolean cs _ bool isOnline java boolean isOnline def isOnline Si les valeurs des attributs en cache du capteur de temp rature 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 sile capteur de temp rature est joignable false sinon 224 www yoctopuce com 19 R f rence de l API de haut niveau temperature isOnline async YTemperature V rifie si le module h bergeant le capteur de temp rature est joignable sans d clencher d erreur function isOnline_async callback context function isOnline_async callback context Si les valeurs des attributs en cache du capteur de temp rature 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 Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la machine virtuelle Javascript avec une attente active Param tres callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit trois arguments le conte
198. ll module die No module connected check USB cable else serial module gt get_serialnumber Print Module to use lt input name serial value serial gt lt br gt if isset GET newname newname GET newname if yCheckLogicalName S newname die Invalid name module gt set_logicalName newname Smodule gt saveToFlash printf Current name s lt br gt Smodule gt get_logicalName print New name lt input name newname value maxlength 19 gt lt br gt eS lt input type submit gt lt FORM gt lt BODY gt lt HTML gt Attention le nombre de cycle d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit de que la sauvegarde des r glages se passera correctement Cette limite li a la technologie employ par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction saveToFlash que 100000 fois au cours de la vie du module Veillez donc ne pas appeler cette fonction depuis l int rieur d une boucle Enumeration des modules Obtenir la liste des modules connect s se fait a l aide de la fonction yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la fonction nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un NULL Ci dessous un petit exemple listant
199. lle du buffer fullsize est un pointeur sur un entier qui sera affect la taille effective de la r ponse Le param tre errmsg devra pointer sur un buffer de www yoctopuce com 121 18 Utilisation avec des langages non support s 255 caract res pour r cup rer un ventuel message d erreur Ce pointeur peut aussi tre null Cette fonction retourne un entier n gatif en cas d erreur ou z ro dans le cas contraire Le format des requ tes est le m me que celui d crit dans la section Virtual Hub et HTTP GET Toutes les cha nes de caract res utilis es par l API sont des cha nes constitu es de caract res 8 bits l Unicode et l UTF8 ne sont pas support s Le r sultat retourn dans la variable buffer respecte le protocole HTTP il inclut donc un header HTTP Ce header se termine par deux lignes vides c est dire une s quence de quatre caract res ASCII 13 10 13 10 Voici un programme d exemple crit en pascal qui utilise la DLL yapi dil pour lire puis changer la luminosit d un module ZA DII sunGevonis emporte function vyapilnitAPI mode integer errmsg pansichan santeger jcdecl external yapa dill name yapillnitAPL function yapiUpdateDeviceList force integer errmsg pansichar integer cdecl external yapi dll name yapiUpdateDeviceList function yapiHTTPRequest device pansichar url pansichar buffer pansichar butisize imteger var fulllisazesiamteger errmsg pansichar integer c
200. loitation a votre LibPath Ensuite pour que votre projet se construise ensuite correctement il faudra linker avec votre projet la librairie Yoctopuce et les librairies syst mes requises e Pour Windows yocto static lib e Pour Mac OS X libyocto static a IOKit framework et CoreFoundation framework e Pour Linux libyocto static a libm libpthread libusb1 0 et libstdc Attention sous Linux si vous voulez compiler en ligne de commande avec GCC il est en g n ral souhaitable de linker les librairies systemes en dynamique et non en statique Pour m langer sur la m me ligne de commande des librairies statiques et dynamiques il faut passer les arguments suivants DOC oi eh Why estate lyoctossteatic Wh jbdynemic imp inresd usb les ls EE Int gration en librairie dynamique L int gration de la librairie Yoctopuce sous forme de librairie dynamique permet de produire un ex cutable plus petit que les deux m thodes pr c dentes et de mettre ventuellement a jour cette librairie si un correctif s av rait n cessaire sans devoir recompiler le code source de l application Par contre c est un mode d int gration qui exigera syst matiquement de copier la librairie dynamique sur la machine cible ou l application devra tre lanc e yocto dil sous Windows libyocto so 1 0 1 sous Mac OS X et Linux Pour int grer la librairie dynamique Yoctopuce votre projet vous devez inclure le r pertoire Sources de la librairie Yoctopuce
201. lphi sont r guli rement test es avec Delphi 5 et Delphi XE2 www yoctopuce com FR libraries php 4 Utilisez le menu outils options d environement www yoctopuce com 79 13 Utilisation du Yocto PT100 en Delphi Syo VNS Windows yocto api yocto temperature Procedure Usage var CxS 2 Since begin exe ExtractFileName paramstr 0 WriteLn exet lt serial number gt Writeln exe lt logical name gt WriteLn exe any helt End Var sensor TYTemperature Sissies ESLEI done boolean begin if paramcount lt 1l then usage Setup the API to use local USB devices HE yy Regis Termb US E EN Ce Em lt wAPT TSUCCH os sehen begin Write RegisterHub error errmsg exit end if paramstr 1 any then begin try to find the first temperature sensor available sensor yFirstTemperature if sensor nil then begin writeln No module connected check USB cable halt end end else or use the one specified on the commande line sensor YFindTemperature paramstr 1 temperature let s poll done false repeat if sensor isOnline then begin here Neuerenetempenature Mrs EToStrsensoroetscuerentVealtue INC Writeln press CEZ tO Exi E aiy Sleep 1000 end else begin Writeln Module not connected check identification and USB cable done true end until done end Il n y a que peu de lignes v ritablement importantes dans le code pr c d
202. lse System out printin beacon CETHANE System out printin upTime module teste wean WOOO a Y cyeyol p System Our print lm USB current module get susbCurrent EMMA System out println logs n module get lastLogs PerCaluiche MAP es Hs Ge pion mex aa System out printin args 1 not connected check identification and USB cable YAPI FreeAPI Chaque propri t xxx 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 YModule set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d appeler la fonction YModule set xxx correspondante cependant cette modification n a lieu que dans la m moire 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 YModule saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode YModule revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module import com yoctopuce YoctoAP
203. lue Retourne la valeur minimale observ e function get_lowestValue function get_lowestValue function get_lowestValue double get_lowestValue double lowestValue function get_lowestValue double function get_lowestValue As Double double get_lowestValue double get_lowestValue def get_lowestValue YTemperature target get_lowestValue Retourne une valeur num rique repr sentant la valeur minimale observ e YTemperature En cas d erreur d clenche une exception ou retourne Y_LOWESTVALUE_INVALID www yoctopuce com 215 19 R f rence de l API de haut niveau temperature get_module YTemperature temperature module Retourne l objet YModule correspondant au module Yoctopuce qui h berge la fonction is function get module node js function get_module php_ function get_module YModule get_module YModule module function get_module TYModule function get_module As YModule YModule get_module YModule get_module def get_module Si la fonction ne peut tre trouv e sur aucun module l instance de YModule retourn e ne sera pas joignable Retourne une instance de YModule 216 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_ module async YTemperature temperature module_async Retourne l objet YModule correspondant au module Yoctopuce qui h berge la fonction function get_modul
204. lue par le senseur est a ou c la fonction temperature retournera b ou respectivement d A l ext rieur de l intervalle a c les valeurs seront simplement d cal es de sorte pr server la continuit des mesures une augmentation de 1 sur la valeur lue par le senseur induira une augmentation de 1 sur la valeur retourn e 20 5 5 c O Y s 15 3 SF av gt 10 5 Valeur du senseur 5 10 15 20 25 30 Correction de mesures avec 2 points de calibrations 10 5 et 25 10 Le code permettant de programmer cette calibration est tr s similaire au code pr c dent Double ValuesBefore UOP 2505 Double ValuesAfter HOS OMe YTemperature f YTemperature FirstTemperature f calibrateFromPoints ValuesBefore ValuesAfter f get module saveToFlash Notez que les valeurs avant correction doivent tre tri es dans un ordre strictement croissant sinon elles seront purement et simplement ignor es Correction de 3 5 points Les corrections de 3 5 points ne sont qu une g n ralisation de la m thode deux points permettant de ainsi de cr er jusqu 4 intervalles de correction pour plus de pr cision Ces intervalles ne peuvent pas tre disjoints 116 www yoctopuce com 17 Programmation avanc e 3 20 2 N O 2 9 Vy LA 15 3 SS S Y ow 10 ran com 20 2 5 Valeur du senseur j 5 10 15 20 25 30 Exemple de correction avec 3 points de calibrations
205. lution est qu il expose le serveur de domotique aux attaques externes L API par callback HTTP r soud ce probl me sans qu il soit n cessaire de modifier la configuration du routeur DSL Le script de contr le des modules est plac sur un site externe et c est le Virtual Hub qui est charg de l appeler intervalle r gulier VirtualHub yoctocontrol php C L API par callback HTTP utilise le VirtualHub et c est lui qui initie les requ tes requ te r ponse 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 Il faut configurer le VirtualHub pour qu il appelle le script PHP r guli rement Pour cela il faut Lancer un VirtualHub Acc der son interface g n ralement 127 0 0 1 4444 Cliquer sur le bouton configure de la ligne correspondant au VirtualHub lui m me Cliquer sur le bouton edit de la section Outgoing callbacks AON www yoctopuce com 45 8 Utilisation du Yocto PT100 en PHP Serial Logical Name Description lAction VIRTHUBO 7d1a86 fb0 VirtualHub configure view log file a RELAYHI1 00055 Yocto PowerRelay configure view log file beacon TMPSENS1 05E7F Yocto Temperature Configure viewlogfile beacon Show device functions Cliquer sur le bouton configure de la p
206. me gt Console WriteLine execname any System Threading Thread Sleep 2500 End End Sub Sub Main Dim argv As String System Environment GetCommandLineArgs Dim errmsg As String Dim target As String Dim tsensor As YTemperature If argv Length lt 2 Then Usage target argv 1 REM Setup the APT to use local USB devices ie yRequstertub Muse er Emo YAPMESUCCH SS vibe Console WriteLine RegisterHub error errmsg End End If iit target Manya ihen tsensor yFirstTemperature if SEsensor is Nothing Tien Console WriteLine No module connected check USB cable End End If Else tsensor yFindTemperature target temperature End If While True If Not tsensor isOnline Then Console WriteLine Module not connected check identification and USB cable End End If Console NeitermeQeurrentitemperature sl at ols leSencoroetecureeneVente eu ALCU Console WriteLine press Ctrl C to exit ySleep 1000 errmsg www yoctopuce com 65 11 Utilisation du Yocto PT100 en VisualBasic NET End While End Sub End Module 11 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 Imports System 10 Imports System Environment Module Modulel Sub usage Console Wri
207. micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction YModule saveToFlash que 100000 fois au cours de la vie du module Veillez donc a ne pas appeler cette fonction depuis l int rieur d une boucle 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 nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un null Ci dessous un petit exemple listant les module connect s import com yoctopuce YoctoAPI public class Demo public static void main String args ery setup the API to use local VirtualHub YAPI RegisterHub 127 0 0 1 catch YAPT Exception ex System out printiin Cannot contact VirtualHub on 127000 ex getLocalizedMessage System out printin Ensure that the VirtualHub application is running System exit 1 System out pr rnt lane Deva ces Is EM YModule module YModule FirstModule while module null try 4 System o t printeln module igerryserialiNumbex E module get productName icatoh YAR TEE cepiclon ses break module module nextModule MAPrArEreenP MA E 15 4 Gestion des erreurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pa
208. modules connect s se fait a l aide de la fonction yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la fonction nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un NULL Ci dessous un petit exemple listant les module connect s lt HTML gt lt HEAD gt lt TITLE gt Modules inventory lt TITLE gt www yoctopuce com 35 7 Utilisation du Yocto PT100 en Javascript lt SCRIPT type text javascript sre yocto api js gt lt SCRIPI gt lt SCRIPT language javascriptl 5 type text JavaScript gt zilos Use explicit error handling rather than exceptions yDisableExceptions Setup the API to use the VirtualHub on local machine if yRegisterHub http 127 0 0 1 4444 VAPI SUCCESS alert Jceannot Contact Virtuel Hubleon lhe OO dau ie function refresh yUpdateDeviceList var htmlcode var module yFirstModule while module htmlcode module get_serialNumber module get_productName lt br gt module module nextModule document getElementById list innerHTML htmlcode setTimeout refresh 500 gt lt SCRIPT gt lt HEAD gt lt BODY onload refresh gt lt H1 gt Device list lt H1 gt lt tt gt lt span id list gt lt span gt lt tt gt lt BODY gt lt HTML gt 7 4 Gestion des erreurs Lorsque vous impl mentez un programme qui doit interagir avec
209. moire non volatile Pour cela il faut utiliser la m thode saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module import lt Foundation Foundation h gt import yocto api h static void usage const char exe NSLog usage s lt serial gt lt newLogicalName gt n exe Cie CN 8 int Mein int aroe const char argv NSError error autoreleasepool Setup the API to use local USB devices if yRegisterHub usb amp error YAPT SUCCESS NSLog RegisterHub error 2 error llocalizedDescription return 1 Lijarge 2 usage argv 0 NSString serial or name NSString stringWithUTF8String argv 1 YModule module yFindModule serial or name use serial or logical name if module isOnline if arge gt 5 NSString newname NSString stringWithUTF8String argv 2 if yCheckLogicalName newname NSLog Invalid name n newname usage argv 0 module logicalName newname module saveToFlash NSLog Current name n module logicalName Perser NSLog not connected check identification and USB cable n serial or name return 0 Attention le nombre de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauve
210. n au vol et la g re et tout se passe bien e Si votre programme tourne dans le debugger vous pourrez relativement facilement d terminer o le probl me s est produit et voir le message explicatif li l exception e Sinon l exception va crasher votre programme boum Comme cette derni re situation n est pas la plus souhaitable la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs permettant de faire un programme robuste sans devoir attraper les exceptions chaque ligne de code Il suffit d appeler la fonction yDisableExceptions pour commuter la librairie dans un mode o les exceptions de chaque fonction sont syst matiquement remplac es par des valeurs de retour particuli res qui peuvent tre www yoctopuce com 61 10 Utilisation du Yocto PT100 en Objective C 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 la m me logique une m thode get state retournera une valeur Y STATE INVALID une m thode get currentValue retournera une valeur Y CURRENTVALUE INVALID etc Dans tous les cas la valeur retourn e sera du 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 Dans le cas de fonctions q
211. n p riodique des valeurs mesur es temperature set_resolution newval Modifie la r solution des valeurs physique mesur es temperature set_sensorType newval Change le type de senseur utilis par le module temperature set_userData data Enregistre un contexte libre dans l attribut userData de la fonction afin de le retrouver plus tard l aide de la m thode get_userData temperature 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 198 www yoctopuce com 19 R f rence de l API de haut niveau YTemperature FindTemperature YTemperature yFindTemperature Permet de retrouver un capteur de temp rature d apr s un identifiant donn function yFindTemperature func function FindTemperature func function yFindTemperature func YTemperature yFindTemperature const string amp func YTemperature yFindTemperature NSString func function yFindTemperature func string TYTemperature function yFindTemperature ByVal func As String As YTemperature YTemperature FindTemperature string func YTemperature FindTemperature String func def FindTemperature func L identifiant peut tre sp cifi sous plusieurs formes e NomLogiqueFonction e NoSerieModule ldentifiantFonction e NoSerieModule NomLogiqueFonction e NomLogiqueModule ldentifiantMat riel e NomLo
212. n yRegisterHub url amp errmsg YRETCODE yRegisterHub const string amp url string amp errmsg YRETCODE yRegisterHub NSString url NSError errmsg function yRegisterHub url string var errmsg string integer function yRegisterHub ByVal url As String ByRef errmsg As String As Integer int RegisterHub string url ref string errmsg synchronized static int RegisterHub String url def RegisterHub url errmsg None Le premier param tre d termine le fonctionnement de l API il peut prendre les valeurs suivantes usb Si vous utilisez le mot cl usb l API utilise les modules Yoctopuce connect s directement par USB Certains languages comme PHP Javascript et Java ne permettent pas un acc s direct aux couches mat rielles usb ne marchera donc pas avec ces languages Dans ce cas utilisez un VirtualHub ou un YoctoHub r seau voir ci dessous X x x x ou hostname L API utilise les modules connect s la machine dont l adresse IP est x x x x OU dont le nom d h te DNS est hostname Cette machine peut tre un ordinateur classique faisant tourner un VirtualHub ou un YoctoHub avec r seau YoctoHub Ethernet YoctoHub Wireless Si vous d sirez utiliser le VirtualHub tournant sur votre machine locale utilisez l adresse IP 127 0 0 1 callback Le mot cl callback permet de faire fonctionnner l API dans un mode app l callback HTTP C est un mode sp cial permettant entre autres de prendre le contr le de modules Yoctop
213. nce de temps UTC afin de l attacher aux donn es enregistr es 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 273 19 R f rence de l API de haut niveau datalogger set_userData YDataLogger datalogger setUserData Enregistre un contexte libre dans l attribut userData de la fonction afin de le retrouver plus tard a l aide de la m thode get_userData function set_userData data function set_userData data function set_userData data void set_userData void data void setUserData void data procedure set_userData data Tobject procedure set_userData ByVal data As Object void set_userData object data void set_userData Object data def 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 274 www yoctopuce com 19 R f rence de l API de haut niveau datalogger wait_async YDataLogger 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 function wait_async callback context function wait_async callback context La fonction callback peut donc librement utiliser des fonctions synchrones ou asynchrones sans risquer
214. nchement automatique de l enregistreur de donn es la mise sous tension Cet attribut permet d activer syst matiquement l enregistreur la mise sous tension sans devoir l activer par une commande logicielle clearHistory Attribut qui peut tre mis vrai pour effacer l historique des mesures 5 6 Quelle interface Native DLL ou Service Il y existe plusieurs m thodes pour contr ler un module Yoctopuce depuis un programme Contr le natif Dans ce cas de figure le programme pilotant votre projet est directement compil avec une librairie qui offre le contr le des modules C est objectivement la solution la plus simple et la plus l gante pour l utilisateur final II lui suffira de brancher le c ble USB et de lancer votre programme pour que tout fonctionne Malheureusement cette technique n est pas toujours disponible ou m me possible 22 www yoctopuce com 5 Programmation concepts g n raux L application utilise la librairie native pour contr ler le module connect en local Contr le natif par DLL Ici l essentiel du code permettant de contr ler les modules se trouve dans une DLL et le programme est compil avec une petite librairie permettant de contr ler cette DLL C est la mani re la plus rapide pour coder le support des modules dans un language particulier En effet la partie utile du code de contr le se trouve dans la DLL qui est la m me pour tous les langages offrir le support pour un nouveau
215. nction set _xxx correspondante cependant cette modification n a lieu que dans la m moire 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 saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module lt HTML gt lt HEAD gt lt TITLE gt save settings lt TITLE gt lt BODY gt lt FORM method get gt lt php include yocto api php Use explicit error handling rather than exceptions yDisableExceptions 42 www yoctopuce com 8 Utilisation du Yocto PT100 en PHP Setup the API to use the VirtualHub on local machine if yRegisterHub http 127 0 0 1 4444 Serrmsg YAPI SUCCESS die Cannot contact VirtualHub on 127 0 0 1 Sserial GET serial ane Segue te UM i Check if a specified module is available online Smodule yFindModule Sserial if Smodule gt isOnline die Module not connected check serial and USB cable else or use any connected module suitable for the demo Smodule yFirstModule if module skip VirtualHub Smodule Smodule gt nextModule if is nu
216. nctionld YModule 158 functionName YModule 159 functionValue YModule 160 G get_advertisedValue YDataLogger 246 get_advertisedValue YTemperature 202 get_autoStart YDataLogger 247 get_averageValue YMeasure 289 get_beacon YModule 161 get_currentRawValue YTemperature 203 get_currentRunIndex YDataLogger 248 get_currentValue YTemperature 204 get_dataSets YDataLogger 249 get_dataStreams YDataLogger 250 get_endTimeUTC YDataSet 277 get_endTimeUTC YMeasure 290 get_errorMessage YDataLogger 251 get_errorMessage YModule 162 get_errorMessage YTemperature 205 get_errorType YDataLogger 252 get_errorType YModule 163 get_errorType YTemperature 206 get_firmwareRelease YModule 164 get_friendlyName YDataLogger 253 get_friendlyName YTemperature 207 get_functionDescriptor YDataLogger 254 get_functionDescriptor YTemperature 208 get_functionld YDataLogger 255 get_functionld YDataSet 278 get_functionld YTemperature 209 get_hardwareld YDataLogger 256 get_hardwareld YDataSet 279 get_hardwareld YModule 165 get_hardwareld YTemperature 210 get_highestValue YTemperature 211 get_icon2d YModule 166 get_lastLogs YModule 167 get_logFrequency YTemperature 212 get_logicalName YDataLogger 257 get_logicalName YModule 168 get_logicalName YTemperature 213 get_lowestValue YTemperature 214 get_luminosity YModule 169 get_maxValue YMeasure 291 get_measures YDataSet 280 get_minValue YMeasure 292 get_ module YDataLogger 258
217. ndTemperature MonModule temperature temperature yFindTemperature MonModule MaFonction temperature yFindTemperature MaFonction yFindTemperature renvoie un objet que vous pouvez ensuite utiliser loisir pour contr ler le capteur de temp rature 4 Pensez changer le filtre de la fen tre de s lection de fichiers sinon la DLL n appara tra pas 64 www yoctopuce com 11 Utilisation du Yocto PT100 en VisualBasic NET isOnline La m thode isOnline de l objet renvoy par yFindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get currentValue de l objet renvoy par yFindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius Un exemple r el Lancez Microsoft VisualBasic et ouvrez le projet exemple correspondant fourni dans le r pertoire Examples Doc GettingStarted Yocto PT100 de la librairie Yoctopuce Vous reconnaitrez 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 Module Modulel Private Sub Usage Dim execname System AppDomain CurrentDomain FriendlyName Console WriteLine Usage Console WriteLine execname lt serial number gt Console WriteLine execnamet t lt logical na
218. nesi i foreach YMeasure m in details Console WriteLine String Format logFmt m get_startTimeUTC_asDateTime ToString timeFmt m get_endTimeUTC_asDateTime ToString timeFmt MCE EWCIEACEWENLUG r SCmsor Jeune Vous trouverez un exemple complet d montrant cette s quence dans la librairie de programmation Yoctopuce de chaque langage L exemple se trouve dans le r pertoire Examples Prog DataLogger Horodatage Le Yocto PT100 n ayant pas de batterie il n est pas capable de deviner tout seul l heure qu il est au moment de sa mise sous tension N anmoins le Yocto PT100 va automatiquement essayer de se mettre l heure de l h te auquel il est connect afin de pouvoir correctement dater les mesures du datalogger e Lorsque le Yocto PT100 est branch un ordinateur ex cutant soit le VirtualHub soit un programme quelconque utilisant la librairie Yoctopuce il recevra l heure de cet ordinateur e Lorsque le Yocto PT100 est branch un YoctoHub Ethernet il recevra par ce biais l heure que le YoctoHub a obtenu par le r seau depuis un serveur du pool ntp org e Lorsque le Yocto PT100 est branch un YoctoHub Wireless il recevra de celui ci l heure maintenue par son horloge RTC pr c demment obtenue par le r seau ou par un ordinateur e Lorsque le Yocto PT100 est branch un appareil mobile Android il recevra de celui ci l heure actuelle pour autant qu une application utilisant la librairie Yoctopuce soit l
219. nger un param tre dans l appel yRegisterHub 5 7 Programmation par ou commencer Arriv a ce point du manuel vous devriez conna tre l essentiel de la th orie a propos de votre Yocto PT100 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 Puis sautez directement au chapitre correspondant au langage de programmation que vous avez choisi Tous les exemples d crits dans ce manuel sont pr sents dans les librairies de programmation Dans certains langages les librairies comprennent aussi quelques applications graphiques compl tes avec leur code source Une fois que vous maitriserez la programmation de base de votre module vous pourrez vous int resser au chapitre concernant la programmation avanc e qui d crit certaines techniques qui vous permettront d exploiter au mieux votre Yocto PT100 1 http www yoctopuce com FR libraries php www yoctopuce com 25 26 www yoctopuce com 6 Utilisation du Yocto PT100 en ligne de commande Lorsque vous d sirez effectuer une op ration ponctuelle sur votre Yocto PT100 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 L API en ligne de commande se pr sente sous la forme d un ensemble d ex cutables un
220. normalement par ordre chronologique La seule exception est dans le cas o il y a eu un ajustement de l horloge UTC de l enregistreur de donn es pendant l enregistrement Retourne un tableau d enregistrements chaque enregistrement repr sentant une mesure effectu e un moment pr cis En cas d erreur d clenche une exception ou retourne un tableau vide www yoctopuce com 281 19 R f rence de l API de haut niveau dataset get_preview YDataSet dataset preview Retourne une version r sum e des mesures qui pourront tre obtenues de ce YDataSet sous forme d une liste d objets YMeasure function get_preview function get_preview function get_preview vector lt YMeasure gt get_preview NSMutableArray preview function get_preview TYMeasureArray vb function get_preview As List List lt YMeasure gt get_preview ArrayList lt YMeasure gt get_preview def get_preview Chaque l ment contient le d but d un intervalle de temps la fin d un intervalle de temps la valeur minimale observ e dans l intervalle de temps la valeur moyenne observ e dans l intervalle de temps la valeur maximale observ e dans l intervalle de temps Le r sum des mesures est disponible d s que loadMore a t appel pour la premi re fois Retourne un tableau d enregistrements chaque enregistrement repr sentant les mesures observ e durant un certain intervalle de temps
221. octo PT100 en Python 14 3 Contr le de la fonction Temperature Il suffit de quelques lignes de code pour piloter un Yocto PT100 Voici le squelette d un fragment de code Python qui utilise la fonction Temperature sce errmsg YRefParam On r cup re l objet repr sentant le module ici connect en local sur USB YAPI RegisterHub usb errmsg temperature YTemperature FindTemperature PT1LOOMK1 123456 temperature Pour g rer le hot plug on v rifie que le module est la if temperature isOnline Use temperature get_currentValue hosel Voyons maintenant en d tail ce que font ces quelques lignes YAPI RegisterHub La fonction YAPI RegisterHub initialise l API de Yoctopuce en indiquant o les modules doivent tre recherch s Utilis e avec le param tre usb elle permet de travailler avec les modules connect s localement la machine Si l initialisation se passe mal cette fonction renverra une valeur diff rente de YAPI SUCCESS et retournera via l objet errmsg une explication du probl me YTemperature FindTemperature La fonction YTemperature FindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel Mon
222. ode d erreur n gatif www yoctopuce com 227 19 R f rence de l API de haut niveau temperature load _async YTemperature Met en cache les valeurs courantes du capteur de temp rature avec une dur e de validit sp cifi e function load_async msValidity callback context function load_async msValidity callback context Par d faut lorsqu on acc de un module tous les attributs des fonctions du module sont automatiquement mises en cache pour la dur e standard 5 ms Cette m thode peut tre utilis e pour marquer occasionellement les donn es cach es comme valides pour une plus longue p riode par exemple dans le but de r duire le trafic r seau Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la machine virtuelle Javascript avec une attente active Param tres msValidity un entier correspondant la dur e de validit attribu e aux les param tres charg s en millisecondes callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit trois arguments le contexte fourni par l appelant l objet fonction concern et le code d erreur ou YAPT_SUCCESS context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callba
223. om 19 R f rence de l API de haut niveau YAPI RegisterDeviceRemovalCallback YAPI yRegisterDeviceRemovalCallback Enregistre une fonction de callback qui sera appel e chaque fois qu un module est d branch function yRegisterDeviceRemovalCallback removalCallback function RegisterDeviceRemovalCallback removalCallback function yRegisterDeviceRemovalCallback removalCallback void yRegisterDeviceRemovalCallback yDeviceUpdateCallback removalCallback void yRegisterDeviceRemovalCallback yDeviceUpdateCallback removalCallback procedure yRegisterDeviceRemovalCallback removalCallback yDeviceUpdateFunc procedure yRegisterDeviceRemovalCallback ByVal removalCallback As yDeviceUpdateFunc void RegisterDeviceRemovalCallback yDeviceUpdateFunc removalCallback synchronized static void RegisterDeviceRemovalCallback DeviceRemovalCallback removalCallback def RegisterDeviceRemovalCallback removalCallback Le callback sera appel pendant l xecution de la fonction yHandleDeviceList que vous devrez appeler r guli rement Param tres removalCallback une proc dure qui prend un YModu le en param tre ou null www yoctopuce com 139 19 R f rence de l API de haut niveau YAPI RegisterHub YAPI yRegisterHub Configure la librairie Yoctopuce pour utiliser les modules connect s sur une machine donn e function yRegisterHub url errmsg node js function RegisterHub url errmsg php functio
224. ombre de fonctionnalit s Dans l API ces fonctionnalit s se pr sentent sous la forme d objets qui peuvent tre retrouv s de mani re ind pendante et ce de plusieurs mani res Acc s aux fonctionnalit s d un module Acc s par nom logique Chacune des fonctionnalit s peut se voir assigner un nom logique arbitraire et persistant il restera stock dans la m moire flash du module m me si ce dernier est d branch Un objet correspondant une fonctionnalit Xxx munie d un nom logique pourra ensuite tre retrouv e directement l aide de ce nom logique et de la m thode YXxx FindXxx Notez cependant qu un nom logique doit tre unique parmi tous les modules connect s Acc s par num ration Vous pouvez num rer toutes les fonctionnalit s d un m me type sur l ensemble des modules connect s l aide des fonctions classiques d num ration FirstXxx et nextXxxx disponibles dans chacune des classes YXxx Acc s par nom hardware Chaque fonctionnalit d un module dispose d un nom hardware assign en usine qui ne peut tre modifi Les fonctionnalit s d un module peuvent aussi tre retrouv es directement l aide de ce nom hardware et de la fonction YXxx FindXxx de la classe correspondante Diff rence entre Find et First Les m thodes YXxx FindXxxx et YXxx FirstXxxx ne fonctionnent pas exactement de la m me mani re Si aucun module n est disponible YXxx FirstXxxx renvoie une valeur nulle En revanche m me si auc
225. on le callback correspondant sera appel pour corriger la valeur avant de la renvoyer permettant ainsi de corriger les mesures de mani re totalement transparente www yoctopuce com 117 118 www yoctopuce com 18 Utilisation avec des langages non support s Les modules Yoctopuce peuvent tre contr l s depuis la plupart des langages de programmation courants De nouveaux langages sont ajout s r guli rement en fonction de l int r t exprim par les utilisateurs de produits Yoctopuce Cependant certains langages ne sont pas et ne seront jamais support s par Yoctopuce les raisons peuvent tre diverses compilateurs plus disponibles environnements inadapt s etc Il existe cependant des m thodes alternatives pour acc der des modules Yoctopuce depuis un langage de programmation non support 18 1 Ligne de commande Le moyen le plus simple pour contr ler des modules Yoctopuce depuis un langage non support consiste utiliser l API en ligne de commande travers des appels syst me L API en ligne de commande se pr sente en effet sous la forme d un ensemble de petits ex cutables qu il est facile d appeler et dont la sortie est facile analyser La plupart des langages de programmation permettant d effectuer des appels syst me cela permet de r soudre le probl me en quelques lignes Cependant si l API en ligne de commande est la solution la plus facile ce n est pas la plus rapide ni la plus efficace
226. on Temperature rucludeMyoOctoRpieIn include yocto temperature h LR String errmsg YTemperature temperature 1 http www microsoft com visualstudio en us products 2010 editions visual cpp express www yoctopuce com FRilibraries php www yoctopuce com 49 9 Utilisation du Yocto PT100 en C On r cup re l objet repr sentant le module ici connect en local sur USB yRegisterHub usb errmsg temperature yFindTemperature PT100MK1 123456 temperature Pour g rer le hot plug on v rifie que le module est l if temperature gt isOnline Upson tempendtune get CcurreneValue Voyons maintenant en d tail ce que font ces quelques lignes yocto_api h et yocto_temperature h Ces deux fichiers inclus permettent d avoir acc s aux fonctions permettant de g rer les modules Yoctopuce yocto_api h doit toujours tre utilis yocto temperature h est n cessaire pour g rer les modules contenant un capteur de temp rature comme le Yocto PT100 yRegisterHub La fonction yRegisterHub initialise l API de Yoctopuce en indiquant o les modules doivent tre recherch s Utilis e avec le param tre usb elle permet de travailler avec les modules connect s localement la machine Si l initialisation se passe mal cette fonction renverra une valeur diff rente de YAPI SUCCESS et retournera via le param tre errmsg un explication du probl me yFindTemperature La fonction yFindTemperatu
227. on yapilnitAPI permet d initialiser l API et doit tre appel e une fois en d but du programme Pour une connection de type USB le param tre connection_type doit prendre la valeur 1 errmsg est un pointeur sur un buffer de 255 caract res destin r cup rer un ventuel message d erreur Ce pointeur peut tre aussi mis NULL La fonction retourne un entier n gatif en cas d erreur ou z ro dans le cas contraire La fonction yapiUpdateDeviceList g re l inventaire des modules Yoctopuce connect s elle doit tre appel e au moins une fois Pour pouvoir g rer le hot plug et d tecter d ventuels nouveaux modules connect s cette fonction devra tre apell e intervalles r guliers Le param tre forceupdate devra tre la valeur 1 pour forcer un scan mat riel Le param tre errmsg devra pointer sur un buffer de 255 caract res pour r cup rer un ventuel message d erreur Ce pointeur peut aussi tre null Cette fonction retourne un entier n gatif en cas d erreur ou z ro dans le cas contraire Enfin la fonction yapiHTTPRequest permet d envoyer des requ tes HTTP l API REST du module Le param tre device devra contenir le num ro de s rie ou le nom logique du module que vous cherchez atteindre Le param tre request doit contenir la requ te HTTP compl te y compris les sauts de ligne terminaux buffer doit pointer sur un buffer de caract res suffisamment grand pour contenir la r ponse buffsize doit contenir la tai
228. onction Javascript set Timeout mais durant le temps d attente elle va appeler yHandleEvents et yUpdateDeviceList p riodiquement pour maintenir l API jour avec les modules connect s Param tres callback la fonction appeler lorsque le temps d attente est coul Sous Microsoft Internet Explorer le callback doit tre sp cifi sous forme d une string valuer ms_timeout un entier correspondant la dur e de l attente en millisecondes arguments des arguments suppl mentaires peuvent tre fournis pour tre pass s la fonction de callback si n cessaire pas support sous Microsoft Internet Explorer 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 146 www yoctopuce com 19 R f rence de l API de haut niveau YAPI Sleep YAPI ySleep Effectue une pause dans l ex cution du programme pour une dur e sp cifi e function ySleep ms_duration errmsg function Sleep ms_duration errmsg function ySleep ms_duration amp errmsg YRETCODE ySleep unsigned ms_duration string amp errmsg YRETCODE ySleep unsigned ms_duration NSError errmsg function ySleep ms_duration integer var errmsg string integer function ySleep ByVal ms_duration As Integer ByRef errmsg As String As Integer int Sleep int ms_duration ref string errmsg int Sleep long ms_duration def Sleep ms_dura
229. onsole Wr Celine migekeserialNumbes 4m get sproduccName a Wl m m nextModule 12 5 Gestion des erreurs Lorsque vous impl mentez un programme qui doit interagir avec des modules USB vous ne pouvez pas faire abstraction de la 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 a 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 La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas Il faut toutefois tre conscient qu on ne peut pas totalement exclure une 76 www yoctopuce com 12 Utilisation du Yocto PT100 en C erreur se produisant apr s le isOnline qui pourrait faire planter le programme La seule mani re de l viter est d impl menter une des deux techniques de gestion des erreurs d crites ci dessous La m thode recommand e par la plupart des langages de progr
230. orise pas une application acc der aux p riph riques connect s au port USB Pour que votre application puisse interagir avec un module Yoctopuce branch directement sur votre tablette sur un port USB quelques tapes suppl mentaires sont n cessaires Si vous comptez uniquement interagir avec des modules connect s sur une autre machine par IP vous pouvez ignorer cette section Il faut d clarer dans son AndroidManifest xml l utilisation de la fonctionnalit USB Host en ajoutant le tag lt uses feature android name android hardware usb host gt dans la section manifest lt manifest gt lt uses feature android name android hardware usb host gt 2 Les YoctoHub sont un moyen simple et efficace d ajouter une connectivit r seau a vos modules Yoctopuce http www yoctopuce com FR products category extensions et reseau 98 www yoctopuce com 16 Utilisation du Yocto PT100 avec Android lt manifest gt 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 lacc s au p riph rique Si l utilisateur accepte l application pourra acc der au p riph rique connect jusqu la prochaine d connexion du p riph rique Pour que la librairie Yoctopuce puisse g rer correctement ces autorisations il faut lui fournir un pointeur sur le contexte de l application en ap
231. ort android os Bundle Import sane noel viet Log import android view View import android widget AdapterView import android widget AdapterView OnItemSelectedListener import android widget ArrayAdapter import android widget Spinner import android widget Switch import android widget TextView import com yoctopuce YoctoAPI YAPI import com yoctopuce YoctoAPI YAPI Exception import com yoctopuce YoctoAPI YModule public class ModuleControl extends Activity implements OnItemSelectedListener private ArrayAdapter lt String gt aa private YModule module null Override public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout modulecontrol Spinner my spin Spinner findViewById R id spinnerl my spin setOnItemSelectedListener this aa new ArrayAdapter lt String gt this android R layout simple spinner item 102 www yoctopuce com 16 Utilisation du Yocto PT100 avec Android aa setDropDownViewResource android R layout simple spinner dropdown item my spin setAdapter aa Override protected void onStart Super OnStar Ery aa clear YAPI EnableUSBHost this YAPI RegisterHub usb YModule r YModule FirstModule while r null String hwid r get_hardwarelId aa add hwid r r nextModule eaten WAPTSExceperonme ie e printStackTrace refresh Spinner with detected relay
232. ourant sur les ports USB et signaler les exc s avant qu ils ne conduisent des pannes ou des d g ts mat riels Si les modules sont sous aliment s ils pourraient avoir un comportement bizarre et produire des pannes ou des bugs peu reproductibles Si vous voulez viter tout risque ne cascadez pas les hubs non aliment s et ne branchez pas de p riph rique consommant plus de 100mA derri re un hub non aliment Pour vous faciliter le contr le et la planification de la consommation totale de votre projet tous les modules Yoctopuce sont quip s d une sonde de courant qui indique 5mA pr s la consommation du module sur le bus USB www yoctopuce com 15 16 www yoctopuce com 5 Programmation concepts g n raux L API Yoctopuce a t pens e pour tre la fois simple utiliser et suffisamment g n rique pour que les concepts utilis s soient valables pour tous les modules de la gamme Yoctopuce et ce dans tous les langages de programmation disponibles Ainsi une fois que vous aurez compris comment piloter votre Yocto PT100 dans votre langage de programmation favori il est tr s probable qu apprendre utiliser un autre module m me dans un autre langage ne vous prendra qu un minimum de temps 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 es
233. ourni dans le r pertoire Examples Doc GettingStarted Yocto PT100 de la librairie Yoctopuce Vous reconnaitrez 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 import com yoctopuce YoctoAPI public class Demo public static void main String args REVUE setup the API to use local VirtualHub YAPI RegisterHub 127 0 0 1 k earen AA Nop elcyonesieyal bs Smo tem ont OL initlin Cannio eecontacias Vine ua RCE DO PINCE ex getLocalizedMessage System out printin Ensure that the VirtualHub application is running System exit 1 YTemperature tsensor if args length 0 92 www yoctopuce com 15 Utilisation du Yocto PT100 en Java tsensor YTemperature FirstTemperature if tsensor null System out println No module connected check USB cable SyS Lem ez ei W r eles tsensor YTemperature FindTemperature args 0 temperature while true bey 4 Sys ten Ollie pone AC ene enpe rature ESENS Or get _ieuecreWelllbrs ae 1 RCE Sys cem ont DENON DES s Geral come xan YAPI Sleep 1000 Pecatch VAP EE xce piElon sess i System out println Module not connected check identification and USB cable break YAPI FreeAPI 15 3 Contr le de la partie module Chaque module peut tre contr l d une mani re similaire vous tr
234. ourriez tre men recompiler ce projet pour une architecture diff rente dans de nombreuses ann es e Elle ne requiert pas l installation d une librairie dynamique sp cifique Yoctopuce sur le syst me final tout est dans l ex cutable Pour int grer le code source le plus simple est d inclure simplement le r pertoire Sources de la librairie Yoctopuce votre IncludePath et d ajouter tous les fichiers de ce r pertoire y compris le sous r pertoire yapi votre projet Pour que votre projet se construise ensuite correctement il faudra linker avec votre projet les librairies syst mes requises savoir e Pour Windows les librairies sont mises automatiquement e Pour Mac OS X IOKit framework et CoreFoundation framework Pour Linux libm libpthread libusb1 0 et libstdc Int gration en librairie statique L int gration de de la librairie Yoctopuce sous forme de librairie statique est une mani re plus simple de construire un petit ex cutable utilisant des modules Yoctopuce Elle permet une compilation rapide du programme en une seule commande Elle ne requiert pas non plus l installation d une librairie dynamique sp cifique a Yoctopuce sur le syst me final tout est dans l ex cutable Pour int grer la librairie statique Yoctopuce a votre projet vous devez inclure le r pertoire Sources de la librairie Yoctopuce a votre IncludePath et ajouter le sous r pertoire de Binaries correspondant a votre syst me d exp
235. ous devez inclure lt script type text javascript src yocto_api js gt lt script gt var yoctolib require yoctolib var YAPI yoctolib YAPI var YModule yoctolib YModule require_once yocto_api php include yocto_api h import yocto_api h uses yocto_api yocto_api vb yocto_api cs import com yoctopuce YoctoAPI YModule from yocto_api import M thodes des objets YDataSet dataset get_endTimeUTC Retourne l heure absolue de la fin des mesures disponibles sous forme du nombre de secondes depuis le 1er janvier 1970 date heure au format Unix dataset get_functionld Retourne l identifiant mat riel de la fonction qui a effectu les mesures sans r f rence au module dataset get_hardwareld Retourne l identifiant mat riel unique de la fonction qui a effectu les mesures au format SERIAL FUNCTIONID dataset get_measures Retourne toutes les mesures d ja disponibles pour le DataSet sous forme d une liste d objets YMeasure dataset get_preview Retourne une version r sum e des mesures qui pourront tre obtenues de ce YDataSet sous forme d une liste d objets YMeasure dataset get_progress Retourne l tat d avancement du chargement des donn es sur une chelle de 0 100 dataset get_startTimeUTC Retourne l heure absolue du d but des mesures disponibels sous forme du nombre de secondes depuis le ter janvier 1970 date heure au format Unix
236. ouverez ci dessous un simple programme d exemple affichant les principaux param tres d un module et permettant d activer la balise de localisation import com yoctopuce YoctoAPI import java util logging Level import java util logging Logger public class Demo public static void main String args ery N setup the API to use local VirtualHub YAPI RegisterHub 127 0 0 1 je Cavch ee YVART Exception ex System Out printiln Meannok contact VarbualHub on 127 Orori ex getLocalizedMessage System out printlin Ensure that the VirtualHub application is running System exit 1 System out println usage demo serial or logical name ON OFF YModule module if args length 0 module YModule FirstModule if module null System out print MANS module connected check USB cablie System exit 1 else module YModule FindModule args 0 use serial or logical name LE wears lengthen if args 1 equalsIgnoreCase ON module setBeacon YModule BEACON ON else module setBeacon YModule BEACON_ OFF System out printin serial module get serialNumber System out println logical name module get logicalName www yoctopuce com 93 15 Utilisation du Yocto PT100 en Java System out printin luminosity War lvexciblikey eeie tease 9 2 if module get_beacon YModule BEACON ON System out printin beacon One hy e
237. par type de fonctionnalit offerte par l ensemble des produits Yoctopuce Ces ex cutables sont fournis pr compil s pour toutes les plateformes OS officiellement support s par Yoctopuce Bien entendu les sources de ces ex cutables sont aussi fournies 6 1 Installation T l chargez l API en ligne de commande II n y a pas de programme d installation lancer copiez simplement les ex cutables correspondant a votre plateforme OS dans le r pertoire de votre choix Ajoutez ventuellement ce r pertoire a votre variable environnement PATH pour avoir acc s aux ex cutables depuis n importe o C est tout il ne vous reste plus qu brancher votre Yocto PT100 ouvrir un shell et commencer travailler en tapant par exemple YTemperature any get currentValue Sous Linux pour utiliser l API en ligne de commande vous devez soit tre root soit d finir une r gle udev pour votre syst me Vous trouverez plus de d tails au chapitre Probl mes courants 6 2 Utilisation description g n rale Tous les ex cutables de la l API en ligne de commande fonctionnent sur le m me principe ils doivent tre appel s de la mani re suivante Executable options cible commande param tres Les options g rent le fonctionnement global des commandes elles permettent par exemple de piloter des modules distance travers le r seau ou encore elles peuvent forcer les modules sauver leur configuration apr s l ex cution de la
238. pelant la m thode EnableUSBHost de la classe YAPI avant le premier acc s USB Cette fonction prend en argument un objet de la classe android content Context ou d une sous classe Comme la classe Activity est une sous classe de Context le plus simple est de d appeler YAPI EnableUSBHost this dans la m thode onCreate de votre application Si l objet pass en param tre n est pas du bon type une exception YAPI Exception sera g n r e Override public void onCreate Bundle savedInstanceState super onCreate savedInstanceState try Pass the application Context to the Yoctopuce Library YAPI EnableUSBHost this jp Weneiela NGNEAE ipweyoieskeya if Log e Yocto e getLocalizedMessage Lancement automatique Il est possible d enregistrer son application comme application par d faut pour un module USB dans ce cas des qu un module sera connect au syst me l application sera lanc e automatiquement Il faut ajouter lt action android name android hardware usb action USB DEVICE _ATTACHED gt dans la section lt intent filter gt de l activit principale La section lt activity gt doit contenir un pointeur sur un fichier xml qui contient la liste des modules USB qui peuvent lancer l application lt manifest xmlns android http schemas android com apk res android lt uses feature android name android hardware usb host gt lt apolication so act LL ey android nam
239. perature temperature friendlyName Retourne un identifiant global du capteur de temp rature au format NOM_MODULE NOM_FONCTION function get_friendlyName function get_friendlyName function get_friendlyName string get_friendlyName NSString friendlyName string get_friendlyName String get_friendlyName def get_friendlyName Le chaine retourn e utilise soit les noms logiques du module et du capteur de temp rature si ils sont d finis soit respectivement le num ro de s rie du module et l identifant mat riel du capteur de temp rature par exemple MyCustomName relayl1 Retourne une cha ne de caract res identifiant le capteur de temp rature en utilisant les noms logiques ex MyCustomName relayl En cas d erreur d clenche une exception ou retourne Y_FRIENDLYNAME INVALID 208 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_functionDescriptor YTemperature temperature functionDescriptor Retourne un identifiant unique de type YFUN_DESCR correspondant la fonction function get_functionDescriptor function get_functionDescriptor function get_functionDescriptor YFUN_DESCR get_functionDescriptor YFUN_DESCR functionDescriptor function get_functionDescriptor YFUN_DESCR function get_functionDescriptor As YFUN DESCR YFUN_DESCR get_functionDescriptor String get_functionDescriptor d
240. ple r el Lancez votre environnement C et ouvrez le projet exemple correspondant fourni dans le r pertoire Examples Doc GettingStarted Yocto PT100 de la librairie Yoctopuce Si vous pr f rez travailler avec votre diteur de texte pr f r ouvrez le fichier main cpp vous taperez simplement make dans le r pertoire de l exemple pour le compiler Vous reconnaitrez 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 50 www yoctopuce com 9 Utilisation du Yocto PT100 en C include lyocto api h include yocto_temperature h include lt iostream gt include lt stdlib h gt using namespace std static void usage void cout lt lt usage demo lt serilall number gt lt lt endl COLE demo lt logical name gt lt lt endl cour demo any use any discovered device lt lt endl u64 now yGetTickCount dirty active wait loop while yGetTickCount now lt 3000 EE QE ink mMainiint argc Const char arov string errmsg target YTemperature tsensor rE aroe 2 4 usage target string argv 1 Setup the API to use local USB devices if yRegisterHub usb errmsg YAPI SUCCESS cerr i lt Regus berHU ber EOr lt lt CT EmS CNE nel return 1 if target any tsensor yFirstTemperature if tsensor NULL co
241. pondant au nombre de fois que le module a t mis sous tension avec la fonction d enregistreur de donn es active function get_currentRunindex function get_currentRunindex function get_currentRunindex int get_currentRunindex int currentRunindex function get_currentRunIndex Longint function get_currentRunindex As Integer int get_currentRunIndex int get_currentRunindex def get_currentRunindex YDataLogger target get_currentRunindex Retourne un entier repr sentant le num ro du Run actuel correspondant au nombre de fois que le module a t mis sous tension avec la fonction d enregistreur de donn es active En cas d erreur d clenche une exception ou retourne Y_CURRENTRUNINDEX_INVALID www yoctopuce com 249 19 R f rence de l API de haut niveau datalogger get_dataSets YDataLogger datalogger dataSets Retourne une liste d objets YDataSet permettant de r cup rer toutes les mesures stock es par l enregistreur de donn es function get_dataSets function get_dataSets function get_dataSets vector lt YDataSet gt get_dataSets NSMutableArray dataSets function get_dataSets TYDataSetArray function get_dataSets As List List lt YDataSet gt get_dataSets ArrayList lt YDataSet gt get_dataSets def get_dataSets Y DataLogger target get_dataSets Cette m thode ne fonctionne que si le module utilise un firmware r cent car les obje
242. puce com 19 R f rence de l API de haut niveau 19 4 Interface de la fonction DataLogger Les capteurs de Yoctopuce sont quip s d une m moire non volatile permettant de m moriser les donn es mesur es d une mani re autonome sans n cessiter le suivi permanent d un ordinateur La fonction DataLogger contr le les param tres globaux de cet enregistreur de donn es Pour utiliser les fonctions d crites ici vous devez inclure lt script type text javascript src yocto_datalogger js gt lt script gt var yoctolib require yoctolib var YDataLogger yoctolib YDataLogger require_once yocto_datalogger php include yocto_datalogger h import yocto_datalogger h uses yocto_datalogger yocto_datalogger vb yocto_datalogger cs import com yoctopuce YoctoAPI YDataLogger from yocto_datalogger import Fonction globales yFindDataLogger func Permet de retrouver un enregistreur de donn es d apr s un identifiant donn yFirstDataLogger Commence l num ration des enregistreurs de donn es accessibles par la librairie M thodes des objets YDataLogger datalogger describe Retourne un court texte d crivant l enregistreur de donn es au format TYPE NAME SERIAL FUNCTIONID datalogger forgetAllDataStreams Efface tout l historique des mesures de l enregistreur de donn es datalogger get_advertisedValue Retourne la valeur courante de l enregistreur de donn
243. que vous ayez reconstruire la structure de ces projets 11 2 Utilisation l API yoctopuce dans un projet Visual Basic La librairie Yoctopuce pour Visual Basic NET se pr sente sous la forme d une DLL et de fichiers sources en Visual Basic La DLL n est pas une DLL NET mais une DLL classique crite en C qui g re les communications bas niveau avec les modules Les fichiers sources en Visual Basic g rent la partie haut niveau de l API Vous avez donc besoin de cette DLL et des fichiers vb du r pertoire Sources pour cr er un projet g rant des modules Yoctopuce Configuration d un projet Visual Basic Les indications ci dessous sont fournies pour Visual Studio express 2010 mais la proc dure est semblable pour les autres versions Commencez par cr er votre projet puis depuis le panneau Explorateur de solutions effectuez un clic droit sur votre projet et choisissez Ajouter puis El ment existant Une fen tre de s lection de fichiers appara t s lectionnez le fichier yocto_api vb et les fichiers correspondant aux fonctions des modules Yoctopuce que votre projet va g rer Dans le doute vous pouvez aussi s lectionner tous les fichiers 1 http www microsoft com visualstudio en us products 2010 editions visual basic express www yoctopuce com FR libraries php 3 Les sources de cette DLL sont disponibles dans l API C www yoctopuce com 63 11 Utilisation du Yocto PT100 en VisualBasic NET Vous avez alors le cho
244. quency function get_logFrequency function get_logFrequency string get_logFrequency NSString logFrequency function get_logFrequency string function get_logFrequency As String string get_logFrequency String get_logFrequency def get_logFrequency YTemperature target get_logFrequency Retourne une cha ne de caract res repr sentant la fr quence d enregistrement des mesures dans le datalogger ou OFF si les mesures ne sont pas stock es dans la m moire de l enregistreur de donn es En cas d erreur d clenche une exception ou retourne Y_LOGFREQUENCY_INVALID www yoctopuce com 213 19 R f rence de l API de haut niveau temperature get_logicalName YTemperature temperature logicalName Retourne le nom logique du capteur de temp rature function get_logicalName function get_logicalName function get_logicalName string get_logicalName NSString logicalName function get_logicalName string function get_logicalName As String string get_logicalName String get_logicalName def get_logicalName YTemperature target get_logicalName Retourne une cha ne de caract res repr sentant le nom logique du capteur de temp rature En cas d erreur d clenche une exception ou retourne Y_LOGICALNAME_INVALID 214 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_lowestValue temperature lowestVa
245. r mit dans le bornier La majorit des Pt100 ont des fils rouges et blanc qui correspondent aux deux extr mit s du Pt100 les fils de la m me couleur tant soud s du m me c t Si votre Pt100 ne suit pas cette logique consultez sa documentation ou utilisez un ohmm tre pour d terminer quel fil correspond quoi C blage d un Pt100 4 fils Cablage d un Pt100 3 fils C blage d un Pt100 2 fils Attention n oubliez pas de configurer l aide du VirtualHub ou par logiciel le type de branchement du Pt100 que vous utilisez dans le module Faute de cela vous obtiendrez soit une mesure fausse soit lorsque c est d tectable un diagnostique de mauvaise connexion Le Yocto PT100 est un module isol il y a une isolation galvanique entre le partie USB et la partie mesure Vous pouvez mesurer sans risque la temp rature d l ments qui ne seraient pas au m me potentiel que votre ordinateur sans devoir utiliser un Pt100 lui m me isol 4 3 Contraintes d alimentation par USB Bien que USB signifie Universal Serial BUS les p riph riques USB ne sont pas organis s physiquement en bus mais en arbre avec des connections point point Cela a des cons quences en termes de distribution lectrique en simplifiant chaque port USB doit alimenter lectriquement tous les p riph riques qui lui sont directement ou indirectement connect s Et USB impose des limites En th orie un port USB fournit 100mA et peut lui fourn
246. r n gatif www yoctopuce com 149 19 R f rence de l API de haut niveau YAPI UpdateDeviceList_async YAPI yUpdateDeviceList_async Force une mise a jour de la liste des modules Yoctopuce connect s function yUpdateDeviceList_async callback context function UpdateDeviceList_async callback context La librairie va v rifier sur les machines ou ports USB pr c demment enregistr s en utilisant la fonction yRegisterHub si un module a t connect ou d connect et le cas ch ant appeler les fonctions de callback d finies par l utilisateur Cette fonction peut tre appel e aussi souvent que d sir afin de rendre l application r active aux v nements de hot plug Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la VM Javascript de Firefox qui n impl mente pas le passage de contr le entre threads durant les appels d entr e sortie bloquants Param tres callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit deux arguments le contexte fourni par l appelant et le code de retour YAPT_ SUCCESS si l op ration se d roule sans erreur context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callback
247. r vos premiers test Vous n avez pas besoin d installer de driver 7 2 Contr le de la fonction Temperature Il suffit de quelques lignes de code pour piloter un Yocto PT100 Voici le squelette d un fragment de code JavaScript qui utilise la fonction Temperature lt SCRIPT type text javascript sre yocto_api js gt lt SCRIPT gt lt SCRIPT type text javascript sre yocto temperature js gt lt SCRIPI gt On r cup re l objet repr sentant le module a travers le VirtualHub local yRegisterHub http 127 0 0 1 4444 var temperature yFindTemperature PT100MK1 123456 temperature Pour g rer le hot plug on v rifie que le module est l 1 En fait d s qu Opera impl mentera le support pour le header HTTP Access Control Allow Origin E www yoctopuce com FR libraries php 3 www yoctopuce com FR virtualhub php www yoctopuce com 31 7 Utilisation du Yocto PT100 en Javascript if temperature isOnline VAUCMIRSerMEemperaeunengetseurrentlVanue Voyons maintenant en d tail ce que font ces quelques lignes yocto_api js et yocto_temperature js Ces deux includes Javascript permettent d avoir acc s aux fonctions permettant de g rer les modules Yoctopuce yocto api js doit toujours tre inclus yocto temperature js est n cessaire pour g rer les modules contenant un capteur de temp rature comme le Yocto PT100 yRegisterHub La fonction yRegisterHub permet d indiquer sur quelle machine se tro
248. ract res repr sentant la version du logiciel embarqu du module En cas d erreur d clenche une exception ou retourne Y_FIRMWARERELEASE_INVALID www yoctopuce com 165 19 R f rence de l API de haut niveau module get_hardwareld YModule module gt hardwareld Retourne l identifiant unique du module function get_hardwareld function get_hardwareld function get_hardwareld string get_hardwareld NSString hardwareld function get_hardwareld As String string get_hardwareld String get_hardwareld def get_hardwareld L identifiant unique est compos du num ro de s rie du module suivi de la cha ne module Retourne une chaine de caract res identifiant la fonction 166 www yoctopuce com 19 R f rence de l API de haut niveau module get_icon2d module icon2d YModule Retourne l ic ne du module function get_icon2d function get_icon2d function get_icon2d string get_icon2d NSData icon2d function get_icon2d TByteArray function get_icon2d As Byte def 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 www yoctopuce com 167 19 R f rence de l API de haut niveau module get_lastLogs YModule module lastLogs Retourne une chaine de charact re contenant les derniers
249. raire dynamique utiliser pour acc der au port USB Sous Linux ARM il n est pas possible de d tecter de mani re fiable si il s agit d une installation Soft float armel ou Hard float armhf Dans ce cas il est donc recommend d appeler SelectArchitecture avant tout autre appel la librairie pour forcer l utilisation d une architecture sp cifi e Param tres arch une cha ne de caract re sp cifiant l architecture utiliser Les valeurs possibles sont armhf armel M i 386 x86 64 32bit 64bit Retourne rien En cas d erreur d clenche une exception 144 www yoctopuce com 19 R f rence de l API de haut niveau YAPI SetDelegate YAPI ySetDelegate Objective C uniquement Enregistre un objet d l gu qui doit se conformer au procole YDeviceHotPlug void ySetDelegate id object Les methodes yDeviceArrival et yDeviceRemoval seront appel es pendant l xecution de la fonction yHandleDeviceList que vous devrez appeler r guli rement Param tres object un objet qui soit se conformer au procol YAPIDelegate ounil www yoctopuce com 145 19 R f rence de l API de haut niveau YAPI SetTimeout YAPI ySetTimeout Appelle le callback sp cifi apr s un temps d attente sp cifi function ySetTimeout callback ms_timeout arguments function SetTimeout callback ms_timeout arguments Cette fonction se comporte plus ou moins comme la f
250. re permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t YTemperature temperature yFindTemperature PT100MK1 123456 temperature YTemperature temperature yFindTemperature PT100MK1 123456 MaFonction YTemperature temperature yFindTemperature MonModule temperature YTemperature temperature yFindTemperature MonModule MaFonction YTemperature temperature yFindTemperature MaFonction yFindTemperature renvoie un objet que vous pouvez ensuite utiliser loisir pour contr ler le capteur de temp rature isOnline La m thode isOnline de l objet renvoy par yFindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get currentValue de l objet renvoy par yFindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius Un exem
251. remi re ligne MSE Edit parameters for VIRTHUBO 7d1a86fb09 and click on the Save button Serial VIRTHUBO 7d1a86fb09 Product name VirtualHub Software version 10789 Logical name Incoming connections Authentication to read information from the devices NO fes Authentication to make changes to the devices NO gait Outgoing callbacks Callback URL octoHub est Delay between callbacks min 3 s max 600 s This VirtualHub can post the advertised values of all devices on a specific URL on a regular basis If you wish to use this feature choose the callback type follow the steps below carefully 1 Specify the Type of callback you want to use Yocto API callback z Yoctopuce devices can be controled through remote PHP scripts That Yocto AP caliback protocol is designed so it can pass trough NAT filters without opening ports See your device user manual PHP programming section for more details 2 Specify the URL to use for reporting values HTTPS protocol is not yet supported Callback URL http tiwww mysite com yoctotest yoctocontrol php 3 If your callback requires authentication enter credentials here Digest authentication is recommended but Basic authentication works as well Username lyorto Password ES 4 Setup the desired frequency of notifications No less than 3 seconds between two notification But notify after 600 seconds in any case 5 Press on the Test button to check your p
252. rence de l API de haut niveau YAPI RegisterHubDiscoveryCallback YAPI yRegisterHubDiscoveryCallback Enregistre une fonction de callback qui sera appel e a chaque fois qu un Hub r seau ou un VirtualHub est d tect sur le r seau local void RegisterHubDiscoveryCallback NewHubCallback callback Param tres callback Une proc dure qui prend en param tre deux cha ne de caract res ou null 142 www yoctopuce com 19 R f rence de l API de haut niveau YAPI RegisterLogFunction YAPI yRegisterLogFunction Enregistre une fonction de callback qui sera appell e a chaque fois que l API a quelque chose a dire void yRegisterLogFunction yLogFunction logfun void yRegisterLogFunction yLogCallback logfun procedure yRegisterLogFunction logfun yLogFunc procedure yRegisterLogFunction ByVal logfun As yLogFunc void RegisterLogFunction yLogFunc logfun void RegisterLogFunction LogCallback logfun def RegisterLogFunction logfun Utile pour d bugger le fonctionnement de l API Param tres logfun une procedure qui prend une cha ne de caract re en param tre www yoctopuce com 143 19 R f rence de l API de haut niveau YAPI SelectArchitecture YAPI ySelectArchitecture S lectionne manuellement l architecture de la libraire dynamique a utiliser pour acc der a USB def SelectArchitecture arch Par d faut la libraire Python d tecte automatiquement la version de la lib
253. rent Courant consomm par le module sur le bus USB en milli amp res rebootCountdown Compte rebours pour d clencher un red marrage spontan du module usbBandwidth Nombre d interfaces utilis par USB L option DOUBLE permet de doubler le d bit USB mais peut saturer un hub USB N oubliez pas d appeler la m thode saveToFlash et de red marrer le module pour que le param tre soit appliqu 20 www yoctopuce com 5 Programmation concepts g n raux 5 4 Interface de la fonction Temperature La librairie de programmation Yoctopuce permet lire une valeur instantan e du capteur ainsi que les extr mas atteints logicalName Cha ne de caract res contenant le nom logique du capteur de temp rature initialement vide Cet attribut peut tre chang au bon vouloir de l utilisateur Un fois initialis une valeur non vide il peut servir de point de d part pour acc der directement le capteur de temp rature Si deux capteurs de temp rature portent le m me nom logique dans un projet il n y a pas moyen de d terminer lequel va r pondre si l on tente un acc s par ce nom logique Le nom logique du module est limit 19 caract res parmi A Z a z 0 9 et advertisedValue Courte cha ne de caract res r sumant l tat actuel du capteur de temp rature et qui sera publi e automatiquement jusqu au hub parent Pour un capteur de temp rature la valeur publi e est la valeur mesur e unit Courte
254. rentRawValue double currentRawValue function get_currentRawValue function get_currentRawValue double get_currentRawValue double get_currentRawValue def get_currentRawValue YTemperature target get_currentRawValue a double As Double P SS Retourne une valeur num rique repr sentant la valeur brute retourn e par le capteur sans arrondi ni calibration En cas d erreur d clenche une exception ou retourne Y_CURRENTRAWVALUE_INVALID 204 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_currentValue temperature currentValue Retourne la valeur mesur e actuelle function get_currentValue function get_currentValue function get_currentValue double get_currentValue double currentValue function get_currentValue double function get_currentValue As Double double get_currentValue double get_currentValue def get_currentValue YTemperature target get_currentValue Retourne une valeur num rique repr sentant la valeur mesur e actuelle YTemperature En cas d erreur d clenche une exception ou retourne Y_CURRENTVALUE_INVALID www yoctopuce com 205 19 R f rence de l API de haut niveau temperature get_errorMessage YTemperature temperature errorMessage Retourne le message correspondant la derni re erreur survenue lors de l utilisation du capteur de temp rature function get_errorMessage fun
255. reur En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 135 19 R f rence de l API de haut niveau YAPL InitAPI YAPI yinitAPI Initialise la librairie de programmation de Yoctopuce explicitement function yInitAPI mode errmsg node js function InitAPI mode errmsg function yInitAPI mode amp errmsg YRETCODE yInitAPI int mode string amp errmsg YRETCODE yInitAPI int mode NSError errmsg function yinitAPI mode integer var errmsg string integer _vb function yinitAPI ByVal mode As Integer ByRef errmsg As String As Integer int InitAPI int mode ref string errmsg synchronized static int InitAPI int mode def InitAPI mode errmsg None Il n est pas indispensable d appeler yInitAPTI la librairie sera automatiquement initialis e de toute mani re au premier appel yRegisterHub Lorsque cette fonctin est utilis e avec comme mode la valeur Y_DETECT_NONE il faut explicitement appeler yRegisterHub pour indiquer la librairie sur quel VirtualHub les modules sont connect s avant d essayer d y acc der Param tres mode un entier sp cifiant le type de d tection automatique de modules utiliser Les valeurs possibles sont Y_DETECT_NONE Y DETECT_ USB Y_DETECT_NET et Y_DETECT_ALL errmsg une cha ne de caract res pass e par r f rence dans laquelle sera stock un ventuel message d
256. rg0 www yoctopuce com 103 16 Utilisation du Yocto PT100 avec Android public void toggleBeacon View view if module null ES UE M boolean on Switch view isChecked cry alae evo ff module setBeacon YModule BEACON_ ON else module setBeacon YModule BEACON OFF icaikeh a YAP TOR cepti onte e printStackTrace Chaque propri t xxx du module peut tre lue grace a une m thode du type YModule get xxxx et les propri t s qui se sont pas en lecture seule peuvent tre modifi es a l aide de la m thode YModule set xxx Pour plus de d tails concernant ces fonctions utilis es reportez vous aux chapitre API Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d appeler la fonction YModule set xxx correspondante cependant cette modification n a lieu que dans la m moire 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 YModule saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode YModule revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module package com yoctopuce doc example
257. riez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t Stemperature yFindTemperature PT100MK1 123456 temperature Stemperature yFindTemperature PT100MK1 123456 MaFonction Stemperature yFindTemperature MonModule temperature Stemperature yFindTemperature MonModule MaFonction Stemperature yFindTemperature MaFonction yFindTemperature renvoie un objet que vous pouvez ensuite utiliser loisir pour contr ler le capteur de temp rature isOnline La m thode isOnline de l objet renvoy par yFindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get currentValue de l objet renvoy par yFindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius Un exemple r el Ouvrez votre diteur de texte pr f r recopiez le code ci dessous sauvez le dans un r pertoire accessible par votre serveur web PHP avec les fichiers de la librairie et ouvrez la page avec votre browser favori Vous trouverez aussi ce code dans le r pertoire Examples Doc GettingStarted Yocto PT100 de la librairie Yoctopuce 4 Si vous n avez pas d diteur de texte utilisez Notepad plut t que Microsoft
258. rnes Cela permet d en calculer la r sistance gr ce a la loi 1 court court court long long long court court court 2 support yoctopuce com 6 www yoctopuce com 2 Pr sentation d Ohm U R Cette r sistance peut ensuite tre convertie en temp rature l aide d une fonction math matique ce que fait le Yocto PT100 La variation de r sistance en fonction de la temp rature tant minime il faut faire une mesure tr s pr cise On doit donc m me tenir compte de la r sistance parasite des fils qui pourrait fausser la mesure Les Pt100 4 fils r solvent le probl me de mani re l gante deux fils servent a faire passer le courant et deux autres servent la mesure En effet la diff rence de tension parasite induite par les fils est directement proportionnelle au courant qui les traverse loi d Ohm Le courant passant dans la boucle de mesure tant n gligeable l effet des fils de la boucle de mesure est alors n gligeable R1 lalim Re R2 mesure gt Uptioo Rpt100 lalim Imesure Uaim Uptioo lalim R1 R4 Ret100 Umesure Imesure R2 Retioo R3 Retioo Umesure lalim Si mesure 0 lt Imesure Ra 4 lim L impact des resistances R2 et R3 des fils de mesure peut tre n glig si le courant utilis pour la mesure est n gligeable Le Pt100 3 fils est une variante le Yocto PT100 est capable de d estimer la r sistance du fil manquant en mesurant la tension aux extr mit s de la pa
259. rni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout www yoctopuce com 195 19 R f rence de l API de haut niveau 19 3 Interface de la fonction Temperature La librairie de programmation Yoctopuce permet lire une valeur instantan e du capteur ainsi que les extr mas atteints Pour utiliser les fonctions d crites ici vous devez inclure lt script type text javascript src yocto_temperature js gt lt script gt var yoctolib require yoctolib var YTemperature yoctolib YTemperature require_once yocto_temperature php include yocto_temperature h import yocto_temperature h uses yocto_temperature yocto_temperature vb yocto_temperature cs import com yoctopuce YoctoAPI YTemperature from yocto_temperature import Fonction globales yFindTemperature func Permet de retrouver un capteur de temp rature d apr s un identifiant donn yFirstTemperature Commence l num ration des capteurs de temp rature accessibles par la librairie M thodes des objets YTemperature temperature calibrateFromPoints rawValues refValues Enregistre des points de correction de mesure typiquement pour compenser l effet d un bo tier sur les mesures rendues par le capteur temperature describe Retourne un court texte d crivant le capteur de temp rature au format TYPE NAME SERIAL FUNCTIONID temperature get_advertisedValu
260. rs Current temperature 26 35 C Min temperature 0 8 C Max temperature 26 5 C Make sure your device is configured according to your PT100 type Misc Open API browser pop up Get user manual from yoctopuce com close Propri t s du module Yocto PT100 Cette fen tre vous permet entre autres de jouer avec votre module pour en verifier son fonctionnement les valeurs de temp rature y sont en effet affich es en temps r el 3 3 Configuration Si dans la liste de modules vous cliquez sur le bouton configure correspondant a votre module la fen tre de configuration apparait Firmware PT100MK1 102E2 Edit parameters for device PT100MK1 102E2 and click on the Save button Serial PT100MK1 102E2 Product name Yocto PT100 Firmware 12848 upgrade Logical name Luminosity signal leds only Device functions Each function of the device has a physical name and a logical name You can change the logical name using the rename button You can also setup the type of PT100 you are using PT100MK1 102E2 temperature rename PTC type PT100_4WIRES Save Cancel Configuration du module Yocto PT100 Le firmware du module peut tre facilement tre mis a jour l aide de l interface Pour ce faire vous devez au pr alable disposer du firmware ad quat sur votre disque local Les firmwares destin s aux modules Yoctopuce se pr sentent sous la forme de fichiers byn et peuvent
261. s impor impor android widget TextView android widget Toast import android app Activity import android os Bundle import androidi view View import android widget AdapterView import android widget AdapterView OnItemSelectedListener import android widget ArrayAdapter import android widget EditText import android widget Spinner E import com yoctopuce YoctoAPI YAPI import com yoctopuce YoctoAPI YAPI Exception import com yoctopuce YoctoAPI YModule public class SaveSettings extends Activity implements OnItemSelectedListener private ArrayAdapter lt String gt aa private YModule module null Override public void onCreate Bundle savedInstanceState super onCreate savedinstanceState setContentView R layout savesettings Spinner my spin Spinner findViewById R id spinner1 my spin setOnItemSelectedListener this aa new ArrayAdapter lt String gt this android R layout simple spinner item aa setDropDownViewResource android R layout simple spinner dropdown item my spin setAdapter aa Override protected void onStart super onstart 104 www yoctopuce com 16 Utilisation du Yocto PT100 avec Android cry aa clear YAPI EnableUSBHost this YAPI RegisterHub usb YModule r YModule FirstModule while r null String hwid r get_hardwarelId aa add hwid r r nextModule j Ceen TAPER SOL O e printStackTrace refresh Spinner
262. s Boolean cs _ bool isOnline java boolean isOnline def isOnline Si les valeurs des attributs en cache de l enregistreur de donn es sont valides au moment de l appel le module est consid r joignable Cette fonction ne cause en aucun cas d exception quelle que soit l erreur qui pourrait se produire lors de la v rification de joignabilit Retourne true si l enregistreur de donn es est joignable false sinon 264 www yoctopuce com 19 R f rence de l API de haut niveau datalogger isOnline_async YDataLogger V rifie si le module h bergeant l enregistreur de donn es est joignable sans d clencher d erreur function isOnline_async callback context function isOnline_async callback context Si les valeurs des attributs en cache de l enregistreur de donn es 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 Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la machine virtuelle Javascript avec une attente active Param tres callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit trois arguments le contexte fourni par l appelant l objet fonction concern et le r sultat
263. s auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t temperature YTemperature FindTemperature PT1LOOMK1 123456 temperature temperature YTemperature FindTemperature PT1LOOMK1 123456 MaFonction temperature YTemperature FindTemperature MonModule temperature temperature YTemperature FindTemperature MonModule MaFonction temperature YTemperature FindTemperature MaFonction YTemperature FindTemperature renvoie un objet que vous pouvez ensuite utiliser a loisir pour contr ler le capteur de temp rature isOnline La m thode YTemperature isOnline de l objet renvoy par FindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get currentValue de l objet renvoy par YTemperature FindTemperature permet d obtenir la temp rature actuelle mesur e par le 100 www yoctopuce com 16 Utilisation du Yocto PT100 avec Android capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius 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 reconnaitrez dans cet exemple l utilisation des fonctions expliqu es ci dessus cette fois utilis
264. s dans cette documentation sont des applications consoles II va de soit que le fonctionnement des librairies est strictement identique avec des applications VCL Vous allez rapidement vous rendre compte que l API Delphi d fini beaucoup de fonctions qui retournent des objets Vous ne devez jamais d sallouer ces objets vous m me Ils seront d sallou s automatiquement par l API la fin de l application 13 1 Pr paration Connectez vous sur le site de Yoctopuce et t l chargez la la librairie Yoctopuce pour Delphi D compressez le tout dans le r pertoire de votre choix et ajoutez le sous r pertoire sources de l archive dans la liste des r pertoires des librairies de Delphi Par d faut la librairie Yoctopuce pour Delphi utilise une DLL yapi di 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 13 2 Contr le de la fonction Temperature Lancez votre environnement Delphi copiez la DLL yapi dil dans un r pertoire et cr ez une nouvelle application console dans ce m me r pertoire et copiez coller le code ci dessous program helloworld SAPPTYPE CONSOLE uses 1 En fait Borland a diffus des versions gratuites pour usage personnel de Delphi 2006 et Delphi 2007 en cherchant un peu sur internet il est encore possible de les t l charger Les librairies De
265. s faire abstraction de la 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 votre code doit n anmoins tre fait pour se comporter au mieux pour interpr ter les erreurs signal es par la librairie La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne www yoctopuce com 95 15 Utilisation du Yocto PT100 en Java avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas Il faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme 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 96 www yoctopuce com 16 Utilisation du Yocto PT100 avec Android A vrai dire Android n est pas un langage de programmation c est un syst me d
266. s64 timeUTC function get_timeUTC int64 function get_timeUTC As Long long get_timeUTC long get_timeUTC def get_timeUTC YDataLogger target get_timeUTC Retourne un entier repr sentant le timestamp Unix de l heure UTC actuelle lorsqu elle est connue En cas d erreur d clenche une exception ou retourne Y_TIMEUTC_INVALID 262 www yoctopuce com 19 R f rence de l API de haut niveau datalogger get_userData YDataLogger datalogger userData Retourne le contenu de l attribut userData pr c demment stock l aide de la m thode set_userData function get_userData function get_userData function get_userData void get_userData void userData function get_userData Tobject function get_userData As Object object get_userData Object get_userData def 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 263 19 R f rence de l API de haut niveau datalogger isOnline YDataLogger V rifie si le module h bergeant l enregistreur de donn es est joignable sans d clencher d erreur 5s function isOnline node js function isOnline php function isOnline cpp bool isOnline BOOL isOnline pas function isOnline boolean vb function isOnline A
267. setTimeout window location reload 1000 Pamnae sceipe Nni Le lt BODY gt lt HTML gt 8 3 Contr le de la partie module Chaque module peut tre contr l d une mani re similaire vous trouverez ci dessous un simple programme d exemple affichant les principaux param tres d un module et permettant d activer la balise de localisation lt HTML gt lt HEAD gt lt TITLE gt Module Control lt TITLE gt lt HEAD gt lt BODY gt lt FORM method get gt lt php include yocto api php Use explicit error handling rather than exceptions yDisableExceptions Setup the API to use the VirtualHub on local machine if yRegisterHub http 127 0 0 1 4444 Serrmsg YAPI SUCCESS die Cannot contact VirtualHub on 127 0 0 1 Serrmsg www yoctopuce com 41 8 Utilisation du Yocto PT100 en PHP CSc Srila So er ise ren ie Sserlal P ujir Check if a specified module is available online Smodule yFindModule S serial if Smodule gt isOnline die Module not connected check serial and USB cable else or use any connected module suitable for the demo Smodule yFirstModule if module skip VirtualHub Smodule module gt nextModule if is null module die No module connected check USB cable else serial module gt get_serialnumber ji Print Module to use lt input name serial value serial gt lt br gt
268. si vous affichez la valeur sans la tester elle sera hors du cadre attendu pour la valeur retourn e Dans le cas de fonctions qui ne retournent priori pas d information la valeur de retour sera YAPI SUCCESS si tout va bien et un code d erreur diff rent en cas d chec T Quand vous travaillez sans les exceptions il est possible d obtenir un code d erreur et un message expliquant l origine de l erreur en le demandant l objet qui a retourn une erreur l aide des m thodes errType et errMessage Ce sont les m me informations qui auraient t associ es l exception si elles avaient t actives 48 www yoctopuce com 9 Utilisation du Yocto PT100 en C Le C n est pas le langage le plus simple ma triser Pourtant si on prend soin se limiter aux fonctionnalit s essentielles c est un langage tout fait utilisable pour des petits programmes vite faits et qui a l avantage d tre tr s portable d un syst me d exploitation l autre Sous Windows tous les exemples et les mod les de projet sont test s avec Microsoft Visual Studio 2010 Express disponible gratuitement sur le site de Microsoft 1 Sous Mac OS X tous les exemples et les mod les de projet sont test s avec XCode 4 disponible sur l App Store Par ailleurs aussi bien sous Mac OS X que sous Linux vous pouvez compiler les exemples en ligne de commande avec GCC en utilisant le GNUmakefile fourni De m me
269. sont des fonctions de polling qui consistent demander en permanence l API si quelque chose a chang Facile appr hender cette technique de programmation est n est pas la plus efficace ni la plus r active C est pourquoi l API de programmation Yoctopuce propose aussi un mod le de programmation par v nements Cette technique consiste demander l API de signaler elle m me les changements importants d s qu ils sont d tect s A chaque fois qu un param tre cl change l API appelle une fonction de callback que vous avez pr d finie D tecter l arriv e et le d part des modules La gestion du hot plug est importante lorsque l on travaille avec des modules USB car t t ou tard vous serez amen brancher et d brancher un module apr s le lancement de votre programme L API a t con ue pour g rer l arriv e et le d part inopin s des modules de mani re transparente mais votre application doit en g n ral en tenir compte si elle veut viter de pr tendre utiliser un module qui a t d branch La programmation par v nements est particuli rement utile pour d tecter les branchements d branchements de modules Il est en effet plus simple de se faire signaler les branchements que de devoir lister en permanence les modules branch s pour en d duire ceux qui sont arriv s et ceux qui sont partis Pour pouvoir tre pr venu d s qu un module arrive vous avez besoin de trois morceaux de code Le callback Le c
270. st es en place le connecteur peut tre ressoud l aide d un bon fer et de flux Alternativement vous pouvez souder un fil USB directement dans les trous espac s de 1 27mm pr vus cet effet pr t du connecteur Le Yocto bouton Le Yocto bouton a deux fonctions Premi rement il permet d activer la Yocto balise voir la Yocto led ci dessous Deuxi mement si vous branchez un Yocto module en maintenant ce bouton appuy il vous sera possible de reprogrammer son firmware avec une nouvelle version Notez qu il existe une m thode plus simple pour mettre jour le firmware depuis l interface utilisateur mais cette m thode l peut fonctionner m me lorsque le firmware charg sur le module est incomplet ou corrompu www yoctopuce com 2 Pr sentation La Yocto Led En temps normal la Yocto Led sert indiquer le bon fonctionnement du module elle met alors une faible lumi re bleue qui varie lentement mimant ainsi une respiration La Yocto Led cesse de respirer lorsque le module ne communique plus par exemple si il est aliment par un hub sans connexion avec un ordinateur allum Lorsque vous appuyez sur le Yocto bouton la Led passe en mode Yocto balise elle se met alors flasher plus vite et beaucoup plus fort dans le but de permettre une localisation facile d un module lorsqu on en a plusieurs identiques II est en effet possible de d clencher la Yocto balise par logiciel tout comme il est possible de d tecter
271. stantan e Lorsque la fr quence est inf rieure l enregistreur stocke non seulement une valeur moyenne mais aussi les valeurs minimale et maximale observ es durant la p riode sur la base d un chantillonnage effectu par le module La m moire flash de l enregistreur de donn es permet d enregistrer environ 500 000 mesures instantan es ou 125 000 mesures moyenn es Lorsque la m moire du datalogger est satur e les mesures les plus anciennes sont automatiquement effac es Prenez garde ne pas laisser le datalogger fonctionner inutilement haute vitesse le nombre d effacements possibles d une m moire flash est limit typiquement 100 000 cycles d criture effacement A la vitesse maximale l enregistreur peut consommer plus de 100 cycles par jour Notez aussi qu il se sert rien d enregistrer des valeurs plus rapidement que la fr quence de mesure du capteur lui m me D marrage arr t du datalogger Le datalogger peut tre d marr l aide de la m thode set recording YDataLogger 1 YDataLogger FirstDataLogger l set recording YDataLogger RECORDING ON Il est possible de faire d marrer automatiquement l enregistrement des donn es d s la mise sous tension du module YDataLogger 1 YDataLogger FirstDataLogger l set autoStart YDataLogger AUTOSTART ON i get moduile jsaveToriashi i 22 faut sauver Te r glage Remarque les modules Yoctopuce n ont pas besoin d une connection USB active pour
272. sterTimedReportCallback TimedReportCallback callback def registerTimedReportCallback callback Ce callback n est appel que durant l ex cution de ySleep o yHandleEvents Cela permet a l appelant de contr ler quand les callback peuvent se produire Il est important d appeler l une de ces deux fonctions p riodiquement pour garantir que les callback ne soient pas appel s trop tard Pour d sactiver un callback il suffit d appeler cette m thode en lui passant un pointeur nul Param tres callback la fonction de callback a rappeler ou un pointeur nul La fonction de callback doit accepter deux arguments l object fonction dont la valeur a chang et un objet YMeasure d crivant la nouvelle valeur publi e 230 www yoctopuce com 19 R f rence de l API de haut niveau temperature registerValueCallback YTemperature Enregistre la fonction de callback qui est appel e chaque changement de la valeur publi e function registerValueCallback callback function registerValueCallback callback function registerValueCallback callback int registerValueCallback YTemperatureValueCallback callback int registerValueCallback YTemperatureValueCallback callback function registerValueCallback callback TYTemperatureValueCallback Longint function registerValueCallback As Integer int registerValueCallback ValueCallback callback int registerValueCallback UpdateCallback callback def registerValueCallbac
273. sure de sorte pouvoir l interpr ter correctement m me en diff r static void periodicCallback YTemperature fct YMeasure measure Console Writelhine tet get hardware trdim U measure get_averageValue Mise en place du callback p riodique Le callback est mis en place pour une fonction Temperature donn e a l aide de la m thode registerTimedReportCallback Pour que le callback p riodique soit appel il faut aussi sp cifier la fr quence d appel a l aide de la m thode set _reportFrequency sinon le callback p riodique est d sactiv par d faut La fr quence est sp cifi sous forme textuelle comme pour l enregistreur de donn es en sp cifiant le nombre d occurrences par seconde s par minute m ou par heure h La fr quence maximale est 100 fois par seconde i e 100 s et fr quence minimale est 1 fois par heure i e 1 h Lorsque la fr quence sup rieure ou gale 1 s la mesure repr sente une valeur instantan e Lorsque la fr quence est inf rieure la mesure comporte des valeurs minimale moyenne et maximale distinctes sur la base d un chantillonnage effectu automatiquement par le module 1 La valeur pass e en param tre est la m me que celle rendue par la m thode ge t advertisedValue www yoctopuce com 111 17 Programmation avanc e L exemple suivant met en place un callback p riodique 4 fois par minute pour la premi re fonction Temperature disponible YTemperat
274. t infos char errmsg La fonction yapiGetAllDevices permet d obtenir la liste des modules connect s sous la forme d une liste de handles buffer pointe sur un tableau d entiers 32 bits qui contiendra les handles retourn s Maxsize est la taille en bytes du buffer neededsize contiendra au retour la taille n cessaire pour stocker tous les handles Cela permet d en d duire le nombre de module connect s ou si le buffer pass en entr e est trop petit Le param tre errmsg devra pointer sur un buffer de 255 caract res pour r cup rer un ventuel message d erreur Ce pointeur peut aussi tre a null Cette fonction retourne un entier n gatif en cas d erreur ou z ro dans le cas contraire La fonction yapiGetDevicelnfo permet de r cup rer les informations relatives un module partir de son handle devdesc est un entier 32bit qui repr sente le module et qui a t obtenu gr ce yapiGetAllDevices infos pointe sur une structure de donn es dans laquelle sera stock le r sultat Le format de cette structure est le suivant Nom Type bytes Description vendorid int 4 ID USB de Yoctopuce deviceid int 4 ID USB du module devrelease int 4 Version du module nbinbterfaces int 4 Nombre d interfaces USB utilis e par le module manufacturer char 20 Yoctopuce null termin productname char 28 Mod le null termin serial char 20 Num ro de s rie null termin logicalname char 20 Nom logique null termin firmwar
275. t configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t temperature YTemperature FindTemperature PT100MK1 123456 temperature temperature YTemperature FindTemperature PT1LOOMK1 123456 MaFonction temperature YTemperature FindTemperature MonModule temperature temperature YTemperature FindTemperature MonModule MaFonction temperature YTemperature FindTemperature MaFonction YTemperature FindTemperature renvoie un objet que vous pouvez ensuite utiliser a loisir pour contr ler le capteur de temp rature 4 Pensez a changer le filtre de la fen tre de s lection de fichiers sinon la DLL n appara tra pas 72 www yoctopuce com 12 Utilisation du Yocto PT100 en C isOnline La m thode YTemperature isOnline de l objet renvoy par FindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get_currentValue de l objet renvoy par YTemperature FindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius Un exemple r el Lancez Visual
276. t pas famili re il est peu probable que cela vous soit un obstacle l utilisation des produits Yoctopuce Notez que vous n aurez jamais allouer ou d sallouer un objet li l API Yoctopuce cela est g r automatiquement Il existe une classe par type de fonctionnalit Yoctopuce Le nom de ces classes commence toujours par un Y suivi du nom de la fonctionnalit par exemple YTemperature YRelay YPressure etc Il existe aussi une classe YModule d di e la gestion des modules en temps que tels et enfin il existe la classe statique YAPI qui supervise le fonctionnement global de l API et g re les communications bas niveau Gestion bas niveau Gestion des modules Gestion des fonctionalit s YAPI YModule YTemperature Y Pressure YRelay YXxx Structure de l API Yoctopuce www yoctopuce com 17 5 Programmation concepts g n raux 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 Cela permet de consid rablement simplifier la programmation de projets comprenant un nombre important de modules Du point de vue programmation votre Yocto PT100 se pr sente sous la forme d un module h bergeant un certain n
277. t utilis e uniquement sous Android synchronized static void EnableUSBHost Object osContext Avant d appeler yRegisterHub usb il faut activer le port USB host du systeme Cette fonction prend en argument un objet de la classe android content Context 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 131 19 R f rence de l API de haut niveau YAPI FreeAPI YAPI yFreeAPI Lib re la m moire dynamique utilis e par la librairie Yoctopuce is function yFreeAPI nodejs function FreeAPI php function yFreeAPI void yFreeAPI void yFreeAPI procedure yFreeAPI procedure yFreeAPI void FreeAPI synchronized static void FreeAPI def FreeAPI Il n est en g n ral pas n cessaire d appeler cette fonction sauf si vous d sirez lib rer tous les blocs de m moire allou s dynamiquement dans le but d identifier une source de blocs perdus par exemple Vous ne devez plus appeler aucune fonction de la librairie apr s avoir appel yFreeAPT sous peine de crash 132 www yoctopuce com 19 R f rence de l API de haut niveau YAPI GetAPIVersion YAPI yGetAPIVersion Retourne la version de la librairie Yoctopuce utilis e function yGetAPIVersion function GetAPIVersion function yGetAPI
278. tTime S64 endTime function get_recordedData startTime int64 endTime int64 TYDataSet function get_recordedData As YDataSet Y DataSet get_recordedData long startTime long endTime Y DataSet get_recordedData long startTime long endTime def get_recordedData startTime endTime YTemperature target get_recordedData startTime endTime Veuillez vous r f rer la documentation de la classe DataSet pour plus plus d informations sur la mani re d obtenir un aper u des mesures pour la p riode et comment charger progressivement une grande quantit de mesures depuis le dataLogger Cette m thode ne fonctionne que si le module utilise un firmware r cent car les objets DataSet ne sont pas support s par les firmwares ant rieurs a la r vision 13000 Param tres startTime le d but de l intervalle de mesure d sir c est dire en nombre de secondes depuis le 1er janvier 1970 UTC La valeur 0 peut tre utilis e pour ne poser aucune limite sur le d but des mesures endTime la find de l intercalle de mesure d sir c est dire en nombre de secondes depuis le 1er janvier 1970 UTC La valeur 0 peut tre utilis e pour ne poser aucune limite de fin Retourne une instance de YDataSet dont les m thodes permettent de d acc der aux donn es historiques souhait es 218 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_reportFrequency YTemperature temperature reportFreq
279. taLogger datalogger registerValueCallback callback Enregistre la fonction de callback qui est appel e a chaque changement de la valeur publi e datalogger set_autoStart newval Modifie le mode d activation automatique de l enregistreur de donn es la mise sous tension datalogger set_logicalName newval Modifie le nom logique de l enregistreur de donn es datalogger set_recording newval Modifie l tat d activation de l enregistreur de donn es datalogger set_timeUTC newval Modifie la r f rence de temps UTC afin de l attacher aux donn es enregistr es datalogger set_userData data Enregistre un contexte libre dans l attribut userData de la fonction afin de le retrouver plus tard l aide de la m thode get_userData datalogger 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 242 www yoctopuce com 19 R f rence de l API de haut niveau YDataLogger FindDataLogger YDataLogger yFindDataLogger Permet de retrouver un enregistreur de donn es d apr s un identifiant donn function yFindDataLogger func function FindDataLogger func function yFindDataLogger func YDataLogger yFindDataLogger string func YDataLogger yFindDataLogger NSString func function yFindDataLogger func string TYDataLogger function yFindDataLogger ByVal func As Strin
280. tallation T l chargez la librairie Yoctopuce pour Visual C 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 Vous avez besoin essentiellement du contenu du r pertoire Sources Les autres r pertoires contiennent la documentation et quelques programmes d exemple Les projets d exemple sont des projets Visual C 2010 si vous utilisez une version ant rieure il est possible que vous ayez reconstruire la structure de ces projets 12 2 Utilisation l API yoctopuce dans un projet Visual C La librairie Yoctopuce pour Visual C NET se pr sente sous la forme d une DLL et de fichiers sources en Visual C La DLL n est pas une DLL NET mais une DLL classique crite en C qui g re les communications bas niveau avec les modules Les fichiers sources en Visual C g rent la partie haut niveau de l API Vous avez donc besoin de cette DLL et des fichiers cs du r pertoire Sources pour cr er un projet g rant des modules Yoctopuce Configuration d un projet Visual C Les indications ci dessous sont fournies pour Visual Studio express 2010 mais la proc dure est semblable pour les autres versions Commencez par cr er votre projet puis depuis le panneau Explorateur de solutions effectuez un clic droit sur votre projet et choisissez Ajouter puis El ment existant Une fen tre de s lection de fichiers appara t s lectionnez le fich
281. teLine usage demo lt serial or logical name gt ON OFF End End Sub Sub Main Dim argv As String System Environment GetCommandLineArgs Dim errmsg As String Dim m As ymodule IF yRegisterHub usb errmsg lt gt YAPI SUCCESS Then Console WriteLine RegisterHub error errmsg End End If If argv Length lt 2 Then usage m yFindModule argv 1 REM use serial or logical name If m isOnline Then Tf argv length gt 2 Then Et argv 2 ON Then m set beacon Y BEACON ON EE argv 2 OFF Then m set beacon Y_ BEACON OFF Emad Exe Console WriteLine serial m get serialNumber Console WriteLine logical name m get_logicalName Console WriteLine luminosity Str m get luminosity Console Write beacon ni If m get beacon Y BEACON ON Then Console WriteLine ON Else Console WriteLine OFF ENOTE Console WriteLine upTime War Spr m eat tabs MOO ar SEE Console WriteLine USB current MS tr moerausbeuErent ENT AU Console WriteLine Logs Console WriteLine m get_lastLogs Else Console WriteLine argv 1 not connected check identification and USB cable End Tf End Sub End Module Chaque propri t xxx du module peut tre lue grace une m thode du type get_xxxx et les propri t s qui se sont pas en lecture seule peuvent tre modifi es l aide de la m thode set xxx Pour plus de d tails concernant ces fon
282. tifiant unique de type YFUN_DESCR correspondant a la fonction function get_functionDescriptor function get_functionDescriptor function get_functionDescriptor YFUN_DESCR get_functionDescriptor YFUN_DESCR functionDescriptor function get_functionDescriptor YFUN_DESCR function get_functionDescriptor As YFUN DESCR YFUN_DESCR get_functionDescriptor String get_functionDescriptor def get_functionDescriptor Cet identifiant peut tre utilis pour tester si deux instance de YFunction r f rencent physiquement la m me fonction sur le m me module Retourne un identifiant de type YFUN_DESCR Si la fonction n a jamais t contact e la valeur retourn e sera Y_FUNCTIONDESCRIPTOR_INVALID www yoctopuce com 255 19 R f rence de l API de haut niveau datalogger get_functionld YDataLogger datalogger functionld Retourne l identifiant mat riel de l enregistreur de donn es sans r f rence au module function get_functionld function get_functionld function get_functionid string get_functionld NSString functionld vo function get_functionld As String string get_functionld String get_functionld def get_functionld Par example relay1 Retourne une cha ne de caract res identifiant l enregistreur de donn es ex relay1 En cas d erreur d clenche une exception ou retourne Y_FUNCTIONID_INVALID 256 www yoctopuce com 19 R
283. tion errmsg None L attente est passive c est dire qu elle n occupe pas significativement le processeur de sorte a le laisser disponible pour les autres processus fonctionnant sur la machine Durant l attente la librairie va n anmoins continuer 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 la dur e de la pause en millisecondes 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 147 19 R f rence de l API de haut niveau YAPI UnregisterHub YAPI yUnregisterHub Configure la librairie Yoctopuce pour ne plus utiliser les modules connect s sur une machine pr alablement enregistrer avec RegisterHub _is function yUnregisterHub url node js function UnregisterHub url function yUnregisterHub url void yUnregisterHub const string amp url void yUnregisterHub NSString url procedure yUnregisterHub url string procedure yUnregisterHub ByVal url As String cs void Unregister
284. tion le nombre de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauvegarde des r glages se passera correctement Cette limite li e a la technologie employ e par le micro processeur du module se situe aux alentour de 100000 cycles Pour r sumer vous ne pouvez employer la fonction saveToFlash que 100000 fois au cours de la vie du module Veillez donc ne pas appeler cette fonction depuis l int rieur d une boucle Enumeration des modules Obtenir la liste des modules connect s se fait a l aide de la fonction yFirstModule qui renvoie le premier module trouv il suffit ensuite d appeler la fonction nextModule de cet objet pour trouver les modules suivants et ce tant que la r ponse n est pas un NULL Ci dessous un petit exemple listant les module connect s include lt iostream gt include yocto_api h using namespace std int mann ine rdc const char erayv Strang errmsg Setup the API to use local USB devices i yRegisterHub usb errmsg YAPT SUCCESS Gema lt lt URE Gis iberHU Deh EOtn mn lt lt Ems CRC NC I return 1 cout lt lt Deval Ce MERS EE U e lt endl YModule module yFirstModule while module NULL cout lt lt module get seria Numbers lt lt WU cout lt lt module gt get_productName lt lt endl module module gt nextModule return 0 www yoctopuce
285. tion est termin e www yoctopuce com 185 19 R f rence de l API de haut niveau module reboot YModule Agende un simple red marrage du module dans un nombre donn de secondes function reboot secBeforeReboot function reboot secBeforeReboot function reboot secBeforeReboot int reboot int secBeforeReboot int reboot int secBeforeReboot pas_ function reboot secBeforeReboot Longint Longint vo function reboot As Integer int reboot int secBeforeReboot int reboot int secBeforeReboot def reboot secBeforeReboot YModule target reboot secBeforeReboot Param tres secBeforeReboot nombre de secondes avant de red marrer Retourne YAPI_SUCCESS si l op ration se d roule sans erreur En cas d erreur d clenche une exception ou retourne un code d erreur n gatif 186 www yoctopuce com 19 R f rence de l API de haut niveau module gt revertFromFlash YModule Recharge les r glages stock s dans le m moire non volatile du module comme a la mise sous tension du module function revertFromFlash function revertFromFlash function revertFromFlash int revertFromFlash int revertFromFlash function revertFromFlash Longint function revertFromFlash As Integer int revertFromFlash int revertFromFlash def revertFromFlash YModule target revertFromFlash Retourne YAPI_SUCCESS si l op ration se d roule sans erreur En c
286. tion set_sensorType newval function set_sensorType newval function set_sensorType newval int set_sensorType Y_SENSORTYPE_enum newval int setSensorType Y_SENSORTYPE_enum newval _pas function set_sensorType newval Integer integer _vb function set_sensorType ByVal newval As Integer As Integer int set_sensorType int newval int set_sensorType int newval def set_sensorType newval YTemperature target set_sensorType newval Cette function sert sp cifier le type de thermocouple K E etc raccord au module Cette fonction n aura pas d effet si le module utilise un capteur digital N oubliez pas d appeler la m thode saveToFlash du module si le r glage doit tre pr serv Param tres newval une valeur parmi Y_SENSORTYPE_DIGI ENSORTYPE _ TYPI Y_SENSORTYPE TYPE _E Y_SENSORTYPE RTYPE_TYPE Y_SENSORTYPE_TYPE_R Y_SENSORTYPE_ RTYPE_ TYPE Y_SENSORTYPE_PT100_4WIRES Y_SI T1LOO_3WIRES Y_SENSORTYPE_PT100_2WIRES 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 238 www yoctopuce com 19 R f rence de l API de haut niveau temperature set_userData YTemperature temperature setUserData Enregistre un contexte libre dans l attribut userData de la fonction afin de le retro
287. tionindex function functionName functionindex string functionName int functionindex NSString functionName int functionindex function functionName functionindex integer string function functionName ByVal functionindex As Integer As String string functionName int functionindex def functionName functionindex Param tres functionindex l index de la fonction pour laquelle l information est d sir e en commen ant 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 160 www yoctopuce com 19 R f rence de l API de haut niveau module functionValue Retourne la valeur publi e par la ni me fonction du module function functionValue functionindex function functionValue functionindex function functionValue functionindex string functionValue int functionindex NSString functionValue int functionindex function functionValue functionindex integer string function functionValue ByVal functionindex As Integer As String string functionValue int functionindex def functionValue functionindex Param tres premi re fonction Retourne functionindex l index de la fonction pour laquelle l information est d sir e en commen ant 0 pour la une cha ne de caract res correspondant la valeur publi e par la fon
288. tions Android pour les faire fonctionner En revanche vous pourrez trouver des applications compl tes dans les exemples fournis avec la librairie Java pour Android 16 3 Compatibilit Dans un monde id al il suffirait d avoir un t l phone sous Android pour pouvoir faire fonctionner des modules Yoctopuce Malheureusement la r alit est l g rement diff rente un appareil tournant sous Android doit r pondre un certain nombre d exigences pour pouvoir faire fonctionner des modules USB Yoctopuce en natif 1 www yoctopuce com FR libraries php www yoctopuce com 97 16 Utilisation du Yocto PT100 avec Android Android 4 x Android 4 0 api 14 et suivants sont officiellement support s Th oriquement le support USB host fonctionne depuis Android 3 1 Mais sachez que Yoctopuce ne teste r guli rement l API Java pour Android qu partir de Android 4 Support USB host Il faut bien s r que votre machine dispose non seulement d un port USB mais il faut aussi que ce port soit capable de tourner en mode host En mode host la machine prend litt ralement le contr le des p riph riques qui lui sont raccord s Les ports USB d un ordinateur bureau par exemple fonctionnent mode host Le pendant du mode host est le mode device Les clefs USB par exemple fonctionnent en mode device elles ne peuvent qu tre contr l es par un host Certains ports USB sont capables de fonctionner dans les deux modes ils s agit de ports OTG On T
289. tions seront ensuite lues puis ex cut s par le script de contr le Probl mes courants Pour que l API par callback HTTP fonctionne l option de PHP allow_url_fopen doit tre activ e Certains h bergeurs de site web ne l activent pas par d faut Le probl me se manifeste alors avec l erreur suivante error URL file access is disabled in the server configuration Pour activer cette option il suffit de cr er dans le m me r pertoire que le script PHP de contr le un fichier htaccess contenant la ligne suivante php flag allow url fopen On Selon la politique de s curit de l h bergeur il n est parfois pas possible d autoriser cette option la racine du site web o m me d installer des scripts PHP recevant des donn es par un POST HTTP Dans ce cas il suffit de placer le script PHP dans un sous r pertoire Limitations Cette m thode de fonctionnement qui permet de passer les filtres NAT moindre frais a malgr tout un prix Les communications tant initi es par le Virtual Hub intervalle plus ou moins r gulier le temps de r action un v nement est nettement plus grand que si les modules Yoctopuce taient pilot s en direct Vous pouvez configurer le temps de r action dans la fen tre ad hoc du Virtual Hub mais il sera n cessairement de quelques secondes dans le meilleur des cas Le mode Yocto AP par callback HTTP n est pour l instant disponible qu en PHP et Node JS 8 5 Gestion
290. tique a la pr cision r elle du capteur Pa ey eS Retourne une valeur num rique repr sentant la r solution des valeurs mesur es En cas d erreur d clenche une exception ou retourne Y_RESOLUTION_INVALID 220 www yoctopuce com 19 R f rence de l API de haut niveau temperature get_sensorType YTemperature temperature sensorType Retourne le type de capteur de temp rature utilis par le module function get_sensorType function get_sensorType function get_sensorType Y_SENSORTYPE_enum get_sensorType Y_SENSORTYPE_enum sensorType function get_sensorType Integer function get_sensorType As Integer int get_sensorType int get_sensorType def get_sensorType YTemperature target get_sensorType Retourne une valeur parmi Y_SENSORTYPE_DIGITAL Y_SENSORTYPE_TYPE_K Y_SENSORTYPE_TYPE_E Y_SENSORTYPE_TYPE_J Y_SENSORTYPE_TYPE_N Y_SENSORTYPE_TYPE_R Y_SENSORTYPE_TYPE_S Y_SENSORTYPE_TYPE_T Y_SENSORTYPE_PT100_4WIRES Y_SENSORTYPE_PT100_3WIRES et Y_SENSORTYPE_PT100_2WIRES repr sentant le type de capteur de temp rature utilis par le module En cas d erreur d clenche une exception ou retourne Y_SENSORTYPE_INVALID www yoctopuce com 221 19 R f rence de l API de haut niveau temperature get_unit YTemperature temperature unit Retourne l unit dans laquelle la valeur mesur e est exprim e js function get_unit node js function get_unit
291. topuce com 179 19 R f rence de l API de haut niveau module get_userData YModule module gt userData Retourne le contenu de l attribut userData pr c demment stock l aide de la m thode set_userData function get_userData function get_userData function get_userData void get_userData void userData function get_userData Tobject function get_userData As Object object get_userData Object get_userData def 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 180 www yoctopuce com 19 R f rence de l API de haut niveau module isOnline V rifie si le module est joignable sans d clencher d erreur function isOnline node js function isOnline function isOnline bool isOnline BOOL isOnline function isOnline boolean function isOnline As Boolean bool isOnline boolean isOnline def isOnline YModule 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 sile module est joignable false sinon www yoctopuce com 181 19 R f rence de l API
292. tourne le num ro de version mat riel du module pr programm en usine function get_productRelease function get_productRelease function get_productRelease int get_productRelease int productRelease pas function get_productRelease Longint v function get_productRelease As Integer int get_productRelease int get_productRelease def get_productRelease YModule target get_productRelease Retourne un entier repr sentant le num ro de version mat riel du module pr programm en usine En cas d erreur d clenche une exception ou retourne Y_PRODUCTRELEASE_INVALID 174 www yoctopuce com 19 R f rence de l API de haut niveau module get_rebootCountdown YModule module rebootCountdown Retourne le nombre de secondes restantes avant un red marrage du module ou z ro si aucun red marrage n a t agend function get_rebootCountdown function get_rebootCountdown function get_rebootCountdown int get_rebootCountdown int rebootCountdown function get_rebootCountdown Longint function get_rebootCountdown As Integer int get_rebootCountdown int get_rebootCountdown def get_rebootCountdown YModule target get_rebootCountdown Retourne un entier repr sentant le nombre de secondes restantes avant un red marrage du module ou z ro si aucun red marrage n a t agend En cas d erreur d clenche une exception ou retourne Y_
293. ts YDataSet ne sont pas support s par les firmwares ant rieurs a la r vision 13000 Retourne une liste d objets YDataSet En cas d erreur d clenche une exception ou retourne une liste vide 250 www yoctopuce com 19 R f rence de l API de haut niveau datalogger get_dataStreams YDataLogger datalogger dataStreams Construit une liste de toutes les s quences de mesures m moris es par l enregistreur ancienne m thode function get_dataStreams v function get_dataStreams v function get_dataStreams amp v int get_dataStreams int dataStreams NSArray v function get_dataStreams v Tlist integer procedure get_dataStreams ByVal v As List int get_dataStreams List lt YDataStream gt v int get_dataStreams ArrayList lt YDataStream gt v def get_dataStreams v L appelant doit passer par r f rence un tableau vide pout stocker les objets YDataStream et la m thode va les remplire avec des objets d crivant les s quences de donn es disponibles Cette m thode est pr serv e pour maintenir la compatibilit avec les applications existantes Pour les nouvelles applications il est pr f rable d utiliser la m thode get_dataSets ou d appeler directement la m thode get_recordedData sur l objet repr sentant le capteur d sir Param tres v un tableau de YDataStreams qui sera rempli avec les s quences trouv es Retourne YAPI_SUCCESS si l op ration se d roule
294. u module la rendant ainsi sp cifique chaque module Cette re calibration est donc enti rement software et reste parfaitement r versible Avant de d cider de vous lancer dans la re calibration de votre module Yocto PT100 assurez vous d avoir bien compris les ph nom nes qui influent sur les mesures de votre module et que la diff rence en les valeurs vraies et les valeurs lues ne r sultent pas d une mauvaise utilisation ou d un positionnement inad quat Les modules Yoctopuce supportent deux types de calibration D une part une interpolation lin aire bas e sur 1 5 points de r f rence qui peut tre effectu e directement l int rieur du Yocto PT100 D autre part l API supporte une calibration arbitraire externe impl ment e l aide de callbacks Interpolation lin aire 1 5 points Ces transformations sont effectu es directement dans le Yocto PT100 ce qui signifie que vous n avez qu enregistrer les points de calibration dans la m moire flash du module et tous les calculs de correction seront effectu s de mani re totalement transparente La fonction get _currentValue renverra la valeur corrig e alors que la fonction get _currentRawValue continuera de renvoyer la valeur avant correction Les points de calibration sont simplement des couples Valeur lue Valeur corrig e Voyons l influence du nombre de points de corrections sur les corrections Correction 1 point La correction par 1 point ne fait qu
295. u que dans la m moire 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 YModule saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode YModule revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module usr bin python coding utf 8 impo he OS SYS from yocto api import def usage sys exit Musage demo lt seriall or logical name gt lt new logical name gt if len sys argv 3 usage errmsg YRefParam if YAPI RegisterHub usb errmsg YAPI SUCCESS sys exit RegisterHub error str errmsg m YModule FindModule sys argv 1 use serial or logical name if m isOnline newname sys argv 2 if not YAPI CheckLogicalName newname sys exit Invalid name newname m set_logicalName newname m saveToFlash do not forget this print Module serial m get_serialNumber name m get_logicalName else syor exii net connected check identification and USB cablle Attention le nombre de cycles d criture de la m moire non volatile du module est limit Pass cette limite plus rien ne garantit que la sauvegarde des r
296. uce travers un filtre NAT par l interm diaire d un VirtualHub ou d un Hub Yoctopuce II vous suffit de configuer le hub pour qu il appelle votre script a intervalle r gulier Ce mode de fonctionnement n est disponible actuellement qu en PHP et en Node JS Attention seule une application peut fonctionner a la fois sur une machine donn e en acc s direct a USB sinon il y aurait un conflit d acc s aux modules Cela signifie en particulier que vous devez stopper le VirtualHub avant de lancer une application utilisant l acc s direct USB Cette limitation peut tre contourn e en passant par un VirtualHub plut t que d utiliser directement USB Si vous d sirez vous connecter un Hub virtuel ou non sur lequel le controle d acc s a t activ vous devez donner le param tre url sous la forme http nom mot_de_passe adresse port Vous pouvez appeller RegisterHub plusieurs fois pour vous connecter a plusieurs machines diff rentes Parametres url une cha ne de caract res contenant usb callback ou l URL racine du VirtualHub a utiliser errmsg une chaine 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 140 www yoctopuce com 19 R f rence de l API de haut niveau En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 141 19 R f
297. ue du module initialement vide Cet attribut peut tre chang au bon vouloir de l utilisateur Une fois initialis une valeur non vide il peut servir de point de d part pour acc der un module particulier Si deux modules avec le m me nom logique se trouvent sur le m me montage il n y a pas moyen de d terminer lequel va r pondre si l on tente un acc s par ce nom logique Le nom logique du module est limit 19 caract res parmi A Z a z 0 9 et productid Identifiant USB du module pr programm la valeur 53 en usine productRelease Num ro de r vision du module hardware preprogrammed at the factory firmwareRelease Version du logiciel embarqu du module elle change chaque fois que le logiciel embarqu est mis jour persistentSettings Etat des r glages persistants du module charg s depuis la m moire non volatile modifi s par l utilisateur ou sauvegard s dans la m moire non volatile luminosity Intensit lumineuse maximale des leds informatives comme la Yocto Led pr sentes sur le module C est une valeur enti re variant entre O leds teintes et 100 leds l intensit maximum La valeur par d faut est 50 Pour changer l intensit maximale des leds de signalisation du module ou les teindre compl tement il suffit donc de modifier cette valeur beacon Etat de la balise de localisation du module upTime Temps coul depuis la derni re mise sous tension du module usbCur
298. uelle sont branch s les modules Pour d marrer vos essais en PHP vous allez avoir besoin d un serveur PHP 5 3 ou plus de pr f rence en local sur votre machine Si vous souhaiter utiliser celui qui se trouve chez votre provider internet c est possible mais vous devrez probablement configurer votre routeur ADSL pour qu il accepte et forwarde les requ tes TCP sur le port 4444 8 1 Pr paration Connectez vous sur le site de Yoctopuce et t l chargez les l ments suivants La librairie de programmation pour PHP Le programme VirtualHub pour Windows Mac OS X ou Linux selon l OS que vous utilisez D compressez les fichiers de la librairie dans un r pertoire de votre choix accessible votre serveur web branchez vos modules lancez le programme VirtualHub et vous pouvez commencer vos premiers test Vous n avez pas besoin d installer de driver 8 2 Contr le de la fonction Temperature Il suffit de quelques lignes de code pour piloter un Yocto PT100 Voici le squelette d un fragment de code PHP qui utilise la fonction Temperature include yocto api php include MyoctoMtemperature phpl 1 Quelques serveurs PHP gratuits easyPHP pour windows MAMP pour Mac Os X www yoctopuce com FR libraries php 3 www yoctopuce com FR virtualhub php www yoctopuce com 39 8 Utilisation du Yocto PT100 en PHP On r cup re l objet repr sentant le module travers le VirtualHub local yRegisterHub http 127 0 0 1 44
299. uency Retourne la fr quence de notification p riodique des valeurs mesur es ou OFF si les notifications p riodiques sont d sactiv es pour cette fonction function get_reportFrequency function get_reportFrequency function get_reportFrequency string get_reportFrequency NSString reportFrequency function get_reportFrequency string function get_reportFrequency As String string get_reportFrequency String get_reportFrequency def get_reportFrequency YTemperature target get_reportFrequency Retourne une cha ne de caract res repr sentant la fr quence de notification p riodique des valeurs mesur es ou OFF si les notifications p riodiques sont d sactiv es pour cette fonction En cas d erreur d clenche une exception ou retourne Y_REPORTFREQUENCY_INVALID www yoctopuce com 219 19 R f rence de l API de haut niveau temperature get_resolution YTemperature temperature resolution Retourne la r solution des valeurs mesur es function get_resolution function get_resolution function get_resolution double get_resolution double resolution function get_resolution double vo function get_resolution As Double double get_resolution double get_resolution def get_resolution YTemperature target get_resolution La r solution correspond a la pr cision num rique de la repr sentation des mesures Elle n est pas forc ment iden
300. ui ne retournent priori pas d information la valeur de retour sera YAP en cas d chec T SUCC ESS si tout va bien et un code d erreur diff rent Quand vous travaillez sans les exceptions il est possible d obtenir un code d erreur et un message expliquant l origine de l erreur en le demandant l objet qui a retourn une erreur l aide des m thodes errType et errMessage Ce sont les m me informations qui auraient t associ es l exception si elles avaient t actives 62 www yoctopuce com 11 Utilisation du Yocto PT100 en VisualBasic NET VisualBasic a longtemps t la porte d entr e privil gi e vers le monde Microsoft Nous nous devions donc d offrir notre interface pour ce langage m me si la nouvelle tendance est le C Tous les exemples et les mod les de projet sont test s avec Microsoft Visual Basic 2010 Express disponible gratuitement sur le site de Microsoft 1 11 1 Installation T l chargez la librairie Yoctopuce pour Visual Basic 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 Vous avez besoin essentiellement du contenu du r pertoire Sources Les autres r pertoires contiennent la documentation et quelques programmes d exemple Les projets d exemple sont des projets Visual Basic 2010 si vous utilisez une version ant rieure il est possible
301. ule module set_beacon newval 152 www yoctopuce com 19 R f rence de l API de haut niveau Allume ou teint la balise de localisation du module module set_logicalName newval Change le nom logique du module module set_luminosity newval Modifie la luminosit des leds informatives du module module set_usbBandwidth newval Modifie le nombre d interface USB utilis par le module module gt set_userData data Enregistre un contexte libre dans l attribut userData de la fonction afin de le retrouver plus tard l aide de la m thode get_userData module triggerFirmwareUpdate secBeforeReboot Agende un red marrage du module en mode sp cial de reprogrammation du logiciel embarqu 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 153 19 R f rence de l API de haut niveau YModule FindModule YModule yFindModule Permet de retrouver un module d apr s son num ro de s rie ou son nom logique function yFindModule func node js function FindModule func function yFindModule func YModule yFindModule string func YModule yFindModule NSString func function yFindModule func string TYModule function yFindModule ByVal func As String As YModule Y Module FindModule string func java YModule FindModule Strin
302. ule il suffit d appeler la fonction set _xxx correspondante cependant cette modification n a lieu que dans la m moire 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 saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module program savesettings SAPPTYPE CONSOLE uses Syo UNS yocto api const serial PT1OOMK1 123456 use serial number or logical name var module TYModule errmsg string newname string pegin Setup the API to use local USB devices if yRegisterHub usb errmsg lt gt YAPI SUCCESS then begin Write RegisterHub error errmsg exit endi 82 www yoctopuce com 13 Utilisation du Yocto PT100 en Delphi module yFindModule serial if not module isOnline then begin writeln Module not connected check identification and USB cable exit end Writeln Current logical name module get_logicalName Write Enter new name Readln newname if not yCheckLogicalName newname then begin Writeln invalid logical name exit end module set_logicalName newnam
303. ule de sauvegarder sa configuration courante dans sa m moire non volatile Pour cela il faut utiliser la m thode YModule saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode YModule revertFromFlash Ce petit exemple ci dessous vous permet changer le nom logique d un module using System using oystem Collections Cenere using System Linq using System Text namespace ConsoleApplicationl class Program static void usage string execname System AppDomain CurrentDomain FriendlyName Console WriteLine Usage Console WriteLine usage demo lt serial or logical name gt lt new logical name gt System Threading Thread Sleep 2500 Environment Exit 0 static void Main string args YModule m string errmsg string newname if args Length 2 usage if YAPI RegisterHub usb ref errmsg YAPI SUCCESS Console WriteLine RegisterHub error errmsg Environment Exit 0 m YModule FindModule args 0 use serial or logical name if m isOnline newname args 1 if YAPI CheckLogicalName newname Console WriteLine Invalid name newname Environment Exiit 0 m set_logicalName newname m saveToFlash do not forget this Console Write Modulle serial m get serialNumber Console WriteLine name m get_logicalName
304. un module ne correspond YXxx FindXxxx renverra objet valide qui ne sera pas online mais qui pourra le devenir si le module correspondant est connect plus tard Manipulation des fonctionnalit s Une fois l objet correspondant une fonctionnalit retrouv ses m thodes sont disponibles de mani re tout fait classique Notez que la plupart de ces sous fonctions n cessitent que le module h bergeant la fonctionnalit soit branch pour pouvoir tre manipul es Ce qui n est en g n ral jamais garanti puisqu un module USB peut tre d branch apr s le d marrage du programme de contr le La m thode isOnline disponible dans chaque classe vous sera alors d un grand secours Acc s aux modules Bien qu il soit parfaitement possible de construire un projet en faisant abstraction de la r partition des fonctionnalit s sur les diff rents modules ces derniers peuvent tre facilement retrouv s l aide de l API En fait ils se manipulent d une mani re assez semblable aux fonctionnalit s Ils disposent d un num ro de s rie affect en usine qui permet de retrouver l objet correspondant l aide de YModule Find Les modules peuvent aussi se voir affecter un nom logique arbitraire qui permettra de les retrouver ensuite plus facilement Et enfin la classe YModule comprend les m thodes d num ration YModule FirstModule et nextModule qui permettent de dresser la liste des modules connect s Interaction Function Modul
305. unt cpp int functionCount int functionCount pas function functionCount integer v function functionCount As Integer cs__ int functionCount def 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 158 www yoctopuce com 19 R f rence de l API de haut niveau module functionid YModule Retourne l identifiant mat riel de la ni me fonction du module function functionid functionindex function functionld functionindex function functionld functionindex string functionld int functionindex NSString functionld int functionindex function functionld functionindex integer string function functionld ByVal functionindex As Integer As String string functionld int functionindex def functionld functionindex Param tres functionindex l index de la fonction pour laquelle l information est d sir e en commen ant 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 159 19 R f rence de l API de haut niveau module functionName YModule Retourne le nom logique de la ni me fonction du module function functionName functionindex function functionName func
306. ur n gatif 226 www yoctopuce com 19 R f rence de l API de haut niveau temperature loadCalibrationPoints YTemperature R cup re les points de correction de mesure pr c demment enregistr s l aide de la m thode calibrateFromPoints function loadCalibrationPoints rawValues refValues function loadCalibrationPoints rawValues refValues function loadCalibrationPoints amp rawValues amp refValues int loadCalibrationPoints vector lt double gt amp rawValues vector lt double gt amp refValues int loadCalibrationPoints NSMutableArray rawValues NSMutableArray refValues function loadCalibrationPoints var rawValues TDoubleArray var refValues TDoubleArray Longint procedure loadCalibrationPoints int loadCalibrationPoints List lt double gt rawValues List lt double gt refValues int loadCalibrationPoints ArrayList lt Double gt rawValues ArrayList lt Double gt refValues def loadCalibrationPoints rawValues refValues YTemperature target loadCalibrationPoints rawValues refValues Param tres rawValues tableau de nombres flottants qui sera rempli par la fonction avec les valeurs brutes des points de correction refValues tableau de nombres flottants qui sera rempli par la fonction avec les valeurs d sir es des points de correction Retourne YAPI_SUCCESS si l op ration se d roule sans erreur En cas d erreur d clenche une exception ou retourne un c
307. ure yFindTemperature yFindTemperature renvoie un objet que vous pouvez ensuite utiliser a loisir pour contr ler le capteur de temp rature isOnline La m thode isOnline de l objet renvoy par yFindTemperature permet de savoir si le module correspondant est pr sent et en tat de marche get_currentValue La m thode get currentValue de l objet renvoy par yFindTemperature permet d obtenir la temp rature actuelle mesur e par le capteur La valeur de retour est un nombre flottant repr sentant directement le nombre de degr s Celsius 10 2 Contr le de la partie module Chaque module peut tre contr l d une mani re similaire vous trouverez ci dessous un simple programme d exemple affichant les principaux param tres d un module et permettant d activer la balise de localisation import lt Foundation Foundation h gt iimport YO CORDES static void usage const char exe NSLog usage s lt serial or logical name gt ON OFF n exe exit dh int Main Vint arge const char eurei INS Eres Ors Merron autoreleasepool Setup the API to use local USB devices TE ACNE INGyepisheuelstbloye C isle ucicicore NPIL SUCCESSI NSiog RegisterHub errors 2G error llocalizedbescriptton return 1 iilarge 2 usage argv 0 NSString serial or name NSString stringWithUTF8String argv 1 YModule module YModule FindModule serial or name use serial or logical name if modul
308. ure f YTemperature FirstTemperature f set reportFrequency 4 m f registerTimedReportCallback periodicCallback Comme pour les callback de changement valeur chaque fonction d un module peut avoir un callback p riodique diff rent Fonction callback g n rique Parfois il est souhaitable d utiliser la m me fonction de callback pour diff rents types de senseurs par exemple pour une application de mesure g n rique Ceci est possible en d finissant le callback pour un objet de classe YSensor plut t que YTemperature Ainsi la m me fonction callback pourra tre utilis e avec toutes les sous classes de YSensor et en particulier avec YTemperature A l int rieur du callback on peut utiliser la m thode get unit pour obtenir l unit physique du capteur si n cessaire pour l affichage Un exemple concret Vous trouverez un exemple concret d montrant toutes ces techniques dans la librairie de programmation Yoctopuce de chaque langage L exemple se trouve dans le r pertoire Examples Prog EventBased 17 2 L enregistreur de donn es Votre Yocto PT100 est quip d un enregistreur de donn es aussi appel datalogger capable d enregistrer en continu les mesures effectu es par le module La fr quence d enregistrement maximale est de cent fois par secondes i e 100 s et la fr quence minimale est de une fois par heure i e 1 h Lorsque la fr quence sup rieure ou gale 1 s la mesure repr sente une valeur in
309. us longue p riode par exemple dans le but de r duire le trafic r seau Cette version asynchrone n existe qu en Javascript Elle utilise une fonction de callback plut t qu une simple valeur de retour pour viter de bloquer la VM Javascript de Firefox qui n impl mente pas le passage de contr le entre threads durant les appels d entr e sortie bloquants Param tres msValidity un entier correspondant la dur e de validit attribu e aux les param tres charg s en millisecondes callback fonction de callback qui sera appel e d s que le r sultat sera connu La fonction callback re oit trois arguments le contexte fourni par l appelant l objet module concern et le code d erreur ou YAPT_ SUCCESS context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callback 184 www yoctopuce com 19 R f rence de l API de haut niveau module nextModule YModule Continue l num ration des modules commenc e l aide de yFirstModule function nextModule function nextModule function nextModule YModule nextModule YModule nextModule function nextModule TYModule function nextModule As YModule YModule nextModule YModule nextModule def nextModule Retourne un pointeur sur un objet YModule accessible en ligne ou nul 1 lorsque l num ra
310. ut lt lt No module connected check USB cable lt lt endl return 1 else tsensor yFindTemperature target temperature WALES if tsensor gt isOnline cout lt lt Module not connected check identification and USB cable break Couk lt lt Current temperature lt tsensor get leurrent Values Okai A c lt lt endl cout lt lt press Ctrl ekor exi tt lt lt endl ySleep 1000 errmsg return D 9 2 Contr le de la partie module Chaque module peut tre contr l d une mani re similaire vous trouverez ci dessous un simple programme d exemple affichant les principaux param tres d un module et permettant d activer la balise de localisation include lt iostream gt include lt stdlib h gt include yocto api h using namespace std static void usage const char exe cout lt lt usage lt lt exe lt lt lt serial or logical name gt ON OFF lt lt endl Site Gl 7 www yoctopuce com 51 9 Utilisation du Yocto PT100 en C int main ink arge const Char argv string errmsg Setup the API to use local USB devices LE yRegusierhub usb errms o YAPTICSUCEHSS Cerna lt lt MJC eremo e U L erano lt Sny eeue ILE tTilacge 2 usage argv 0 YModule module yFindModule argv 1 use serial or logical name if module gt isOnline 1c Enee gt e 4 if string argv 2 ON module gt s
311. ut 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 e Si votre code attrape l exception au vol et la g re et tout se passe bien e Si votre programme tourne dans le debugger vous pourrez relativement facilement d terminer o le probl me s est produit et voir le message explicatif li l exception e Sinon l exception va crasher votre programme boum Comme cette derni re situation n est pas la plus souhaitable la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs permettant de faire un programme robuste sans devoir attraper les exceptions chaque ligne de code Il suffit d appeler la fonction yDisableExceptions pour commuter la librairie dans un mode o les exceptions de chaque fonction sont syst matiquement remplac es par des valeurs de retour particuli res qui 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 la m me logique une m thode get state retournera une valeur Y STATE INVALID une m thode get currentValue retournera une valeur Y CURRENTVALUE INVALID etc Dans tous les cas la valeur retourn e sera du type attendu et ne sera pas un pointeur nul qui risquerait de faire crasher votre programme Au pire s
312. ut 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 e Si votre code attrape l exception au vol et la g re et tout se passe bien e Si votre programme tourne dans le debugger vous pourrez relativement facilement d terminer o le probl me s est produit et voir le message explicatif li l exception e Sinon l exception va crasher votre programme boum Comme cette derni re situation n est pas la plus souhaitable la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs permettant de faire un programme robuste sans devoir attraper les exceptions chaque ligne de code Il suffit d appeler la fonction yDisableExceptions pour commuter la librairie dans un mode o les exceptions de chaque fonction sont syst matiquement remplac es par des valeurs de retour particuli res qui 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 la m me logique une m thode get state retournera une valeur Y STATE INVALID une m thode get currentValue retournera une valeur Y CURRENTVALUE INVALID etc Dans tous les cas la valeur retourn e sera du type attendu et ne sera pas un pointeur nul qui risquerait de faire crasher votre programme Au pire s
313. uve les modules Yoctopuce ou plus exactement la machine sur laquelle tourne le programme VirtualHub Dans notre cas l adresse 127 0 0 1 4444 indique la machine locale en utilisant le port 4444 le port standard utilis par Yoctopuce Vous pouvez parfaitement changer cette adresse et mettre l adresse d une autre machine sur laquelle tournerait un autre VirtualHub yFindTemperature La fonction yFindTemperature permet de retrouver un capteur de temp rature en fonction du num ro de s rie de son module h te et de son nom de fonction Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pr alablement configur s Imaginons un module Yocto PT100 avec le num ros de s rie PT100MK1 123456 que vous auriez appel MonModule et dont vous auriez nomm la fonction temperature MaFonction les cinq appels suivants seront strictement quivalents pour autant que MaFonction ne soit d finie qu une fois pour viter toute ambigu t var temperature var temperature var temperature var temperature var temperature lt yFindTemperature PT100MK1 123456 temperature yFindTemperature PT100MK1 123456 MaFonction yFindTemperature MonModule temperature yFindTemperature MonModule MaFonction yFindTemperature MaFonction yFindTemperature renvoie un objet que vous pouvez ensuite utiliser loisir pour contr ler le capteur de temp rature isOnline La m thode isOnline de l objet renvoy
314. uver plus tard l aide de la m thode get_userData function set_userData data function set_userData data function set_userData data void set_userData void data void setUserData void data procedure set_userData data Tobject procedure set_userData ByVal data As Object void set_userData object data void set_userData Object data def 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 239 19 R f rence de l API de haut niveau temperature wait _async YTemperature 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 function wait_async callback context function wait_async callback context La fonction callback peut donc librement utiliser des fonctions synchrones ou asynchrones sans risquer de bloquer la machine virtuelle Javascript Param tres callback fonction de callback qui sera appel e d s que toutes les commandes en cours d ex cution sur le module seront termin es La fonction callback re oit deux arguments le contexte fourni par l appelant et l objet fonction concern context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout 240 www yocto
315. vant 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 votre code doit n anmoins tre fait pour se comporter au mieux pour interpr ter les erreurs signal es par la librairie La mani re la plus simple de contourner le probl me est celle que nous avons employ pour les petits exemples pr c dents de ce chapitre avant d acc der un module on v rifie qu il est en ligne avec la m thode isOnline et on suppose ensuite qu il va y rester pendant la fraction de seconde n cessaire ex cuter les lignes de code suivantes Ce n est pas parfait mais a peut suffire dans certains cas Il faut toutefois tre conscient qu on ne peut pas totalement exclure une erreur se produisant apr s le isOnline qui pourrait faire planter le programme La seule mani re de l viter est d impl menter une des deux techniques de gestion des erreurs d crites ci dessous 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 e Si votre code attrape l exception au vol et la g re et tout se passe bien e Si votre programme tourne dans le debugger vous pourrez relativ
316. wval Vous devez red marrer le module apr s avoir chang ce r glage Param tres newval soit Y_USBBANDWIDTH_ SIMPLE soit Y_USBBANDWIDTH_ DOUBLE selon le nombre d interface USB utilis par le 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 192 www yoctopuce com 19 R f rence de l API de haut niveau module gt set_userData YModule module setUserData Enregistre un contexte libre dans l attribut userData de la fonction afin de le retrouver plus tard a l aide de la m thode get_userData function set_userData data function set_userData data function set_userData data void set_userData void data void setUserData void data procedure set_userData data Tobject procedure set_userData ByVal data As Object void set_userData object data void set_userData Object data def 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 193 19 R f rence de l API de haut niveau module gt triggerFirmwareUpdate YModule Agende un red marrage du module en mode sp cial de reprogrammation du logiciel embarqu function triggerFirmwareUpdate secBeforeReboot function triggerFirmwareUpdate secBeforeReboot
317. wval function set_luminosity newval function set_luminosity newval int set_luminosity int newval int setLuminosity int newval function set_luminosity newval Longint integer function set_luminosity ByVal newval As Integer As Integer int set_luminosity int newval int set_luminosity int newval def set_luminosity newval YModule target set_luminosity newval Le param tre est une valeur entre 0 et 100 N oubliez pas d appeler la m thode saveToFlash du module si le r glage doit tre pr serv Param tres newval un entier repr sentant la luminosit des leds informatives du module Retourne YAPI_SUCCESS si l op ration se d roule sans erreur En cas d erreur d clenche une exception ou retourne un code d erreur n gatif www yoctopuce com 191 19 R f rence de l API de haut niveau module set_usbBandwidth YModule module setUsbBandwidth Modifie le nombre d interface USB utilis par le module function set_usbBandwidth newval function set_usbBandwidth newval function set_usbBandwidth newval int set_usbBandwidth Y_USBBANDWIDTH_enum newval int setUsbBandwidth Y_USBBANDWIDTH_enum newval pas function set_usbBandwidth newval Integer integer v function set_usbBandwidth ByVal newval As Integer As Integer int set_usbBandwidth int newval int set_usbBandwidth int newval def set_usbBandwidth newval YModule target set_usbBandwidth ne
318. xemple pour obtenir la liste de tous les modules connect s utilisez YModule inventory Vous pouvez aussi utiliser la commande suivante pour obtenir une liste encore plus d taill e des modules connect s YModule all describe Chaque propri t xxx du module peut tre obtenue grace une commande du type get xxxx et les propri t s qui ne sont pas en lecture seule peuvent tre modifi es l aide de la commande set xxx Par exemple YModule PT100MK1 12346 set logicalName MonPremierModule YModule PT100MK1 12346 get logicalName Modifications des r glages du module Lorsque que vous souhaitez modifier les r glages d un module il suffit d utiliser la commande set xxx correspondante cependant cette modification n a lieu que dans la m moire 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 commande saveToFlash Inversement il est possible de forcer le module oublier ses r glages courants en utilisant la m thode revertFromFlash Par exemple YModule PT100MK1 12346 set logicalName MonPremierModule YModule PTI100MK1 12346 saveToFlash Notez que vous pouvez faire la m me chose en seule fois l aide de l option s YModule s PT100MK1 12346 set logicalName MonPremierModule Attention le nombr
319. xte fourni par l appelant l objet fonction concern et le r sultat bool en context contexte fourni par l appelant et qui sera pass tel quel la fonction de callback Retourne rien du tout le r sultat sera pass en param tre la fonction de callback www yoctopuce com 225 19 R f rence de l API de haut niveau temperature load YTemperature Met en cache les valeurs courantes du capteur de temp rature avec une dur e de validit sp cifi e is__ function load msValidity nodejs function load msValidity php function load msValidity YRETCODE load int msValidity YRETCODE load int msValidity function load msValidity integer YRETCODE function load ByVal msValidity As Integer As YRETCODE YRETCODE load int msValidity int load long msValidity def load msValidity Par d faut lorsqu on acc de a un module tous les attributs des fonctions du module sont automatiquement mises en cache pour la dur e standard 5 ms Cette m thode peut tre utilis e pour marquer occasionellement les donn es cach es comme valides pour une plus longue p riode par exemple dans le but de r duire le trafic r seau Param tres msValidity un entier correspondant la dur e de validit attribu e aux les param tres charg s en millisecondes Retourne YAPI_SUCCESS si l op ration se d roule sans erreur En cas d erreur d clenche une exception ou retourne un code d erre
320. z ro si aucun red marrage n a t agend module get_serialNumber Retourne le num ro de s rie du module pr programm en usine module get_upTime Retourne le numbre de millisecondes coul es depuis la mise sous tension du module module get_usbBandwidth Retourne le nombre d interface USB utilis par le module module get_usbCurrent Retourne le courant consomm par le module sur le bus USB en milliamp res module get_userData Retourne le contenu de l attribut userData pr c demment stock l aide de la m thode set_userData module gt isOnline V rifie si le module est joignable sans d clencher d erreur module isOnline_async callback context V rifie si le module est joignable sans d clencher d erreur module load msValidity 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 nextModule Continue l num ration des modules commenc e l aide de yFirstModule module reboot secBeforeReboot Agende un simple red marrage du module dans un nombre donn de secondes module gt revertFromFlash Recharge les r glages stock s dans le m moire non volatile du module comme a la mise sous tension du module module saveToFlash Sauve les r glages courants dans la m moire non volatile du mod
321. z voir appara tre la liste des modules Yoctopuce raccord s votre ordinateur Logical Name Description Action VirtualHub configure view log file Yocto PT100 Configure view log file beacon o Show device functions Liste des modules telle qu elle appara t dans votre browser 3 1 Localisation Il est alors possible de localiser physiquement chacun des modules affich s en cliquant sur le bouton beacon cela a pour effet de mettre la Yocto Led du module correspondant en mode balise elle se met alors clignoter ce qui permet de la localiser facilement Cela a aussi pour effet d afficher une petite pastille bleue l cran Vous obtiendrez le m me comportement en appuyant sur le Yocto bouton d un module 3 2 Test du module La premi re chose v rifier est le bon fonctionnement de votre module cliquez sur le num ro de s rie correspondant votre module et une fen tre r sumant les propri t s de votre Yocto PT100 1 www yoctopuce com FR virtualhub php 2 L interface a t test e avec FireFox 3 IE 6 Safari et Chrome elle ne fonctionne pas avec Op ra www yoctopuce com 3 Premiers pas PT100MK1 102E2 PT100MK1 102E2 is a 20x55mm board featuring a connector meant for a 2 3 or 4wires PT100 Kernel Serial PT100MK1 102E2 Product name Yocto PT100 Logical name Product release 1 Firmware 12848 Consumption 83 mA Beacon Inactive tum on Luminosity 50 Senso
Download Pdf Manuals
Related Search
Related Contents
GPP 2.5, 5.0, 7.5 & 9.0 Portable Electrofishers - Smith-Root FtwwIw†„ÁBS - millplus.de Troy-Bilt TB180b User's Manual Intel SR2520SAXNA server barebone iHome IHM64 jeudi 16 janvier qui - Kenwood S-PAL8045/8055 with MTGH-SPL8。S ーnstaーーati。n Guide Copyright © All rights reserved.
Failed to retrieve file