Un exemple réel
Lancez votre interpréteur Python et ouvrez le script correspondant, fourni dans le répertoire
Examples/Doc-GettingStarted-Yocto-Serial de la librairie Yoctopuce.
Vous reconnaîtrez 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.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os,
sys
from
yocto_api
import
from
yocto_serialport
# Setup the API to use local USB devices. You can
# use an IP address instead of 'usb' if the device
# is connected to a network.
errmsg
= YRefParam()
if YAPI.RegisterHub("usb", errmsg) !=
sys.exit("init error"
if len(sys.argv) >
serialPort
= YSerialPort.FindSerialPort(sys.argv[1]
if not
serialPort.isOnline():
sys.exit('Module not
else:
serialPort
= YSerialPort.FirstSerialPort()
if
serialPort
sys.exit('No module connected (check
serialPort.set_serialMode("9600,8N1")
serialPort.set_protocol("Line")
serialPort.reset()
print("****************************")
print("* make sure voltage levels
print("* are properly configured
print("****************************")
while
True:
print("Type line to send, or Ctrl-C to
line
=
input(":
if
line
==
"":
break
serialPort.writeLine(line)
YAPI.Sleep(500)
line
= serialPort.readLine()
if
line
!=
"":
print("Received: "
YAPI.FreeAPI()
17.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 <serial or logical name>
errmsg
= YRefParam()
if YAPI.RegisterHub("usb", errmsg) !=
www.yoctopuce.com
*
import
*
YAPI.SUCCESS:
+
errmsg.value)
1:
connected')
is
None:
*")
*")
")
# use raw_input in python 2.x
+
line)
*
YAPI.SUCCESS:
17. Utilisation du Yocto-Serial en Python
+
".serialPort")
cable)')
exit:")
[ON/OFF]")
123