7. Utilisation du Yocto-VOC-V3 en Python
m
= YModule.FindModule(sys.argv[1])
if
m.isOnline():
if len(sys.argv) >
if sys.argv[2].upper() ==
m.set_beacon(YModule.BEACON_ON)
if sys.argv[2].upper() ==
m.set_beacon(YModule.BEACON_OFF)
print("serial:
print("logical name: "
print("luminosity:
if m.get_beacon() ==
print("beacon:
else:
print("beacon:
print("upTime:
print("USB current:
print("logs:\n"
else:
print(sys.argv[1]
YAPI.FreeAPI()
Chaque propriété
xxx
, et les propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode
()
YModule.set_xxx()
chapitre API
Modifications des réglages du module
Lorsque que vous souhaitez modifier les réglages d'un module, il suffit d'appeler la fonction
YModule.set_xxx()
vive du module: si le module redémarre, les modifications seront perdues. Pour qu'elle soient
mémorisées de manière persistante, il est nécessaire de demander au module de sauvegarder sa
configuration courante dans sa mémoire non volatile. Pour cela il faut utiliser la méthode
YModule.saveToFlash()
courants en utilisant la méthode
vous permet changer le nom logique d'un module.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os,
sys
from
yocto_api
import
def
usage():
sys.exit("usage: demo <serial or logical name> <new logical
if len(sys.argv) !=
usage()
errmsg
= YRefParam()
if YAPI.RegisterHub("usb", errmsg) !=
sys.exit("RegisterHub error: "
m
= YModule.FindModule(sys.argv[1])
if
m.isOnline():
newname
= sys.argv[2]
if not
YAPI.CheckLogicalName(newname):
sys.exit("Invalid name ("
m.set_logicalName(newname)
m.saveToFlash()
print("Module: serial= "
else:
sys.exit("not connected (check identification and USB
YAPI.FreeAPI()
Attention, le nombre de cycles d'écriture de la mémoire non volatile du module est limité. Passé cette
limite plus rien ne garantit que la sauvegarde des réglages se passera correctement. Cette limite,
liée à la technologie employée par le micro-processeur du module se situe aux alentour de 100000
40
# # use serial or logical name
2:
"ON":
"OFF":
"
+
m.get_serialNumber())
+
m.get_logicalName())
"
+
str(m.get_luminosity()))
YModule.BEACON_ON:
ON")
OFF")
"
+
str(m.get_upTime()
"
+
str(m.get_usbCurrent())
+
m.get_lastLogs())
+
" not connected (check identification and USB
du module peut être lue grâce à une méthode du type
Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux
correspondante, cependant cette modification n'a lieu que dans la mémoire
. Inversement il est possible de forcer le module à oublier ses réglages
YModule.revertFromFlash()
*
3:
YAPI.SUCCESS:
+
str(errmsg))
# use serial or logical name
+ newname +
# do not forget this
+
m.get_serialNumber()
/
1000)
+
"
sec")
+
"
mA")
. Ce petit exemple ci-dessous
name>")
")")
+
" / name= "
+
cable")
cable)")
YModule.get_xxxx
m.get_logicalName())
www.yoctopuce.com