16. Utilisation du Yocto-PowerRelay-V2 en VisualBasic .NET
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
4
. Puis depuis la fenêtre Explorateur de solutions, effectuez un clic droit sur la DLL, choisissez
dll
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.
16.3. Contrôle de la fonction Relay
Il suffit de quelques lignes de code pour piloter un Yocto-PowerRelay-V2. Voici le squelette d'un
fragment de code VisualBasic .NET qui utilise la fonction Relay.
[...]
' On active la détection des modules sur USB
Dim
errmsg
As
String
YAPI.RegisterHub("usb",
[...]
' On récupère l'objet permettant d'intéragir avec le module
Dim
relay
As
YRelay
relay
= YRelay.FindRelay("RELAYHI2-123456.relay1")
' Pour gérer le hot-plug, on vérifie que le module est là
If (relay.isOnline()) Then
' Utiliser relay.set_state()
[...]
End If
[...]
Voyons maintenant en détail ce que font ces quelques lignes.
YAPI.RegisterHub
La fonction
YAPI.RegisterHub
être recherchés. Utilisée avec le paramètre
connectés localement à la machine. Si l'initialisation se passe mal, cette fonction renverra une valeur
différente de
YAPI_SUCCESS
YRelay.FindRelay
La fonction
YRelay.FindRelay
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-PowerRelay-V2
avec le numéros de série RELAYHI2-123456 que vous auriez appelé "MonModule" et dont vous
auriez nommé la fonction relay1 "MaFonction", les cinq appels suivants seront strictement
équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):
relay
= YRelay.FindRelay("RELAYHI2-123456.relay1")
relay
= YRelay.FindRelay("RELAYHI2-123456.MaFonction")
relay
= YRelay.FindRelay("MonModule.relay1")
relay
= YRelay.FindRelay("MonModule.MaFonction")
relay
= YRelay.FindRelay("MaFonction")
4
Pensez à changer le filtre de la fenêtre de sélection de fichiers, sinon la DLL n'apparaîtra pas
122
yapi.dll
errmsg)
initialise l'API de Yoctopuce en indiquant où les modules doivent
"usb"
, et retournera via le paramètre
permet de retrouver un relais en fonction du numéro de série de
, qui se trouve dans le répertoire
, elle permet de travailler avec les modules
un explication du problème.
errmsg
Sources/
www.yoctopuce.com