2017-03-19 1 views
0

Je suis nouveau au nœud rouge. J'ai ajouté le PI Sense le Raspberry PI et je veux récupérer seulement l'axe Z d'accélération comme montré ci-dessous (extrait de la fenêtre de débogage). J'ai écrit une fonction pour extraire juste l'accélération et la transmettre sur le flux. Cependant, la fonction n'est pas fonctionnelle. S'il vous plaît aider?sens pi et exporter des données

Function 
var z = msg.payload.acceleration.z; 
return [z]; 

.

Extracted from the debug window 
19/03/2017, 20:59:06node: fa789a6a.8d4f98 
motion : msg : Object 
object 
topic: "motion" 
payload: object 
acceleration: object 
x: 0.0279 
y: -0.3536 
z: 0.9068 
gyroscope: object 
x: 0.0011 
y: 0.0022 
z: -0.0004 
orientation: object 
roll: 338.8994 
pitch: 358.3852 
yaw: 123.876 
compass: 124 
_msgid: "51b99603.7dac98" 

Répondre

1

Vous devez renvoyer un objet msg à partir d'un nœud de fonction, pas seulement une valeur.

Quelque chose comme ceci:

msg.payload = msg.payload.acceleration.z; 
return msg; 
+0

Merci, je devais utiliser "msg.payload = msg.payload.acceleration.z;" au lieu de var. Maintenant, je peux juste voir les résultats de juste "z" (Eh bien, ce que je crois est "z"). Cependant, la fonction affiche "TypeError: Impossible de lire la propriété 'z' de undefined". Que dois-je faire pour résoudre ce problème? Voir la liste complète de déboguage ci-dessous: '20/03/2017, 18: 22: 03node: fa789a6a.8d4f98 mouvement: msg: Object objet sujet : "mouvement" charge utile: 0,9209 _msgid: « 151978a5.22d8b7 " 20/03/2017 18: 22: 03node: 95b5672d.fb8858 fonction : (erreur) "TypeError: Impossible de lire la propriété 'z' undefined"' – resolver101