10. Utilisation du Yocto-Serial en PHP
[...]
// On active l'accès aux modules locaux à travers le VirtualHub
YAPI::RegisterHub('http://127.0.0.1:4444/',$errmsg);
[...]
// On récupère l'objet permettant d'intéragir avec le module
$serialport
= YSerialPort::FindSerialPort("YSERIAL1-123456.serialPort");
// Pour gérer le hot-plug, on vérifie que le module est là
if($serialport->isOnline())
{
// Utiliser serialport->get_serialMode()
[...]
}
Voyons maintenant en détail ce que font ces quelques lignes.
yocto_api.php et yocto_serialport.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 un port série, comme le Yocto-Serial.
YAPI::RegisterHub
La fonction
YAPI::RegisterHub
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.
YSerialPort::FindSerialPort
La fonction
YSerialPort::FindSerialPort
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-
Serial avec le numéros de série YSERIAL1-123456 que vous auriez appelé "MonModule" et dont
vous auriez nommé la fonction serialPort "MaFonction", les cinq appels suivants seront strictement
équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):
$serialport
= YSerialPort::FindSerialPort("YSERIAL1-123456.serialPort");
$serialport
= YSerialPort::FindSerialPort("YSERIAL1-123456.MaFonction");
$serialport
= YSerialPort::FindSerialPort("MonModule.serialPort");
$serialport
= YSerialPort::FindSerialPort("MonModule.MaFonction");
$serialport
= YSerialPort::FindSerialPort("MaFonction");
YSerialPort::FindSerialPort
contrôler le port série.
isOnline
La méthode
isOnline()
savoir si le module correspondant est présent et en état de marche.
reset
La méthode
reset()
série.
readLine
La méthode
readLine()
prochain saut de ligne. La fonction est non-bloquante: si aucune ligne n'est disponible, elle retourne
une chaîne vide.
66
doit toujours être inclus,
permet d'indiquer sur quelle machine se trouve les modules
indique la machine locale, en utilisant le port
renvoie un objet que vous pouvez ensuite utiliser à loisir pour
de l'objet renvoyé par
de l'objet returné par
retourne la prochaine ligne de texte reçue sur le port série, jusqu'au
yocto_serialport.php
permet de retrouver un port série en fonction du
YSerialPort::FindSerialPort
yFindSerialPort
est nécessaire
4444
permet de
vide tous les tampons du port
www.yoctopuce.com
(le port