17. Utilisation du Yocto-Serial en Python
Il suffit de quelques lignes de code pour piloter un Yocto-Serial. Voici le squelette d'un fragment de
code Python qui utilise la fonction SerialPort.
[...]
# On active la détection des modules sur USB
errmsg=YRefParam()
YAPI.RegisterHub("usb",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():
# use serialport.get_serialMode()
[...]
[...]
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
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()
tampons du port 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.
writeLine
La méthode
writeLine()
(CR/LF).
122
initialise l'API de Yoctopuce en indiquant où les modules doivent
"usb"
, et retournera via l'objet
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
transmet la chaîne spécifiée sur le port série, suivie par un saut de ligne
, elle permet de travailler avec les modules
une explication du problème.
errmsg
permet de retrouver un port série en fonction du
YSerialPort.FindSerialPort
YSerialPort.FindSerialPort
permet de
vide tous les
www.yoctopuce.com