Remarque: les modules Yoctopuce n'ont pas besoin d'une connection USB active pour fonctionner:
ils commencent à fonctionner dès qu'ils sont alimentés. Le Yocto-3D-V2 peut enregistrer des
données sans être forcément raccordé à un ordinateur: il suffit d'activer le démarrage automatique
du datalogger et d'alimenter le module avec un simple chargeur USB.
Effacement de la mémoire
La mémoire du datalogger peut être effacée à l'aide de la fonction
Attention l'effacement est irréversible.
YDataLogger
logger
logger.forgetAllDataStreams();
Choix de la fréquence d'enregistrement
La fréquence d'enregistrement se configure individuellement pour chaque capteur, à l'aide de la
méthode
set_logFrequency()
callback périodiques), en spécifiant le nombre d'occurrences par seconde (/s), par minute (/m) ou par
heure (/h). La valeur par défaut est "1/s".
L'exemple suivant configure la fréquence d'enregistrement à 15 mesures par minute pour le premier
capteur trouvé, quel que soit son type:
YSensor
sensor
= YSensor.FirstSensor();
sensor.set_logFrequency("15/m");
Pour économiser la mémoire flash, il est possible de désactiver l'enregistrement des mesures pour
une fonction donnée. Pour ce faire, il suffit d'utiliser la valeur "OFF":
sensor.set_logFrequency("OFF");
Limitation: Le Yocto-3D-V2 ne peut pas utiliser des fréquences différentes pour les notifications
périodiques et pour l'enregistrement dans le datalogger. Il est possible de désactiver l'une ou l'autre
de ces fonctionnalités indépendamment, mais si les deux sont activées, elles fonctionnent
nécessairement à la même fréquence.
Récupération des données
Pour récupérer les données enregistrées dans la mémoire flash du Yocto-3D-V2, il faut appeler la
méthode
get_recordedData()
nous intéresse. L'intervalle de temps est donnée à l'aide du timestamp UNIX de début et de fin. Il est
aussi possible de spécifier 0 pour ne pas donner de limite de début ou de fin.
La fonction
get_recordedData()
car selon la quantité de données, leur chargement pourrait potentiellement prendre trop de temps et
entraver la réactivité de l'application. A la place, cette fonction retourne un objet
permet d'obtenir immédiatement une vue d'ensemble des données (résumé), puis d'en charger
progressivement le détail lorsque c'est souhaitable.
Voici les principales méthodes pour accéder aux données enregistrées:
1. dataset = sensor.get_recordedData(0,0): on choisit l'intervalle de temps désiré
2. dataset.loadMore(): pour charger les données progressivement
3. dataset.get_summary(): retourne une mesure unique résumant tout l'intervalle de temps
4. dataset.get_preview(): retourne un tableau de mesures représentant une version condensée
de l'ensemble des mesures sur l'intervalle de temps choisi (réduction d'un facteur 200 environ)
5. dataset.get_measures(): retourne un tableau contenant toutes les mesures de l'intervalle
choisi (grandit au fur et à mesure de leur chargement avec
www.yoctopuce.com
= YDataLogger.FirstDataLogger();
. La fréquence est spécifié sous forme textuelle (comme pour les
de la fonction désirée, en spécifiant l'intervalle de temps qui
ne retourne pas directement un tableau de valeurs mesurées,
23. Programmation avancée
forgetAllDataStreams()
YDataSet
)
loadMore
.
qui
183