8. Utilisation du Yocto-Color en PHP
// On récupère l'objet représentant le module, à travers le VirtualHub local
yRegisterHub('http://127.0.0.1:4444/',$errmsg);
$colorled = yFindColorLed("YRGBLED1-123456.colorLed1");
// Pour gérer le hot-plug, on vérifie que le module est là
if(colorled->isOnline())
{
// Utiliser colorled->set_rgbColor(), ...
}
Voyons maintenant en détail ce que font ces quelques lignes.
yocto_api.php et yocto_colorled.php
Ces deux includes PHP permettent d'avoir accès aux fonctions permettant de gérer les modules
Yoctopuce.
yocto_api.php
pour gérer les modules contenant une LED RGB, comme le Yocto-Color.
yRegisterHub
La fonction
yRegisterHub
Yoctopuce, ou plus exactemenent sur quelle machine tourne le programme VirtualHub. Dans notre
cas l'adresse
127.0.0.1:4444
standard utilisé par Yoctopuce). Vous pouvez parfaitement changer cette adresse, et mettre
l'adresse d'une autre machine sur laquelle tournerait un autre VirtualHub.
yFindColorLed
La fonction
yFindColorLed
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-Color avec le
numéros de série YRGBLED1-123456 que vous auriez appelé "MonModule" et dont vous auriez
nommé la fonction colorLed1 "MaFonction", les cinq appels suivants seront strictement équivalents
(pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):
$colorled = yFindColorLed("YRGBLED1-123456.colorLed1");
$colorled = yFindColorLed("YRGBLED1-123456.MaFonction");
$colorled = yFindColorLed("MonModule.colorLed1");
$colorled = yFindColorLed("MonModule.MaFonction");
$colorled = yFindColorLed("MaFonction");
renvoie un objet que vous pouvez ensuite utiliser à loisir pour contrôler la LED
yFindColorLed
RGB.
isOnline
La méthode
isOnline()
correspondant est présent et en état de marche.
set_rgbColor
La méthode
set_rgbColor()
couleur de la led correspondante. La Couleur est donnée en coordonnées RGB codées sous forme
d'un entier.
rgbMove
Il existe une méthode alternative pour changer de couleur. La méthode
renvoyé par
yFindColorLed
autre couleur RGB donnée en paramètre. Cette fonction prend aussi en paramètre le temps accordé
pour effecter la transition.
Les méthodes
set_rgbColor()
d'exercice, vous pourriez modifier l'exemple ci'dessous pour utiliser le système HSL. Vous pourriez
ainsi observer les différences de comportement. En HSL pour le rouge est codé 0xFFFF80, le vert
est codé 0x55FF80 et du bleu est codé 0xA9FF80.
42
doit toujours être inclus,
permet d'indiquer sur quelle machine se trouve les modules
indique la machine locale, en utilisant le port
, permet de retrouver une LED RGB en fonction du numéro de série
de l'objet renvoyé par
de l'objet renvoyé par
permet de lancer une transition entre la couleur courante et une
et
rgbMove()
yocto_colorled.php
permet de savoir si le module
yFindColorLed
yFindColorLed
existent aussi en version HSL. En guise
est nécessaire
(le port
4444
permet de régler la
de l'objet
rgbMove()
www.yoctopuce.com