2017-02-03 1 views
0

J'ai réussi à obtenir un nœud pour communiquer avec une application Android. Le message va du noeud à la passerelle. En utilisant node-red, la passerelle publie le message à un courtier mqtt et je m'abonne au bon sujet pour recevoir ce message sur mon application android.Décodage de la charge utile en passant par lorawan multitech conduit passerelle

Seul problème que j'ai maintenant, c'est que je n'ai jamais réalisé que le msg a été codé et je suis tout à fait perdu maintenant. Je reçois un tableau d'octets du côté de l'application et je ne suis pas sûr de la prochaine étape que je dois franchir pour pouvoir lire ce message.

This is the kind of payload I'm getting

Debug output for received message

Merci pour l'aide!

+0

Pouvez-vous mettre à jour des questions des données pour que nous sachions avec quoi nous travaillons – hardillb

Répondre

0

Vous recevez actuellement des octets de Node-Red. Vous pouvez soit convertir les octets reçus en chaîne sur votre Android ou modifier le type de données de votre noeud d'entrée lora de Bytes à UTF-8.

enter image description here

+0

Savez-vous s'il existe un moyen simple de convertir des octets ou UTF-8 en une chaîne sur android? Ou peut-être, y a-t-il un moyen de le faire directement sur node-red? Merci beaucoup pour la réponse, tu me sauves à nouveau! – lhbortho

+0

Bienvenue! Ce serait génial si vous pouviez poster quelques exemples de données que vous avez reçues dans Android. –

+0

J'ai ajouté un exemple de la charge utile que je reçois dans la question. – lhbortho

0

J'ai une fonction de le décoder: avec quelques exemples

var x = Buffer.from(msg.payload.raw,"base64").toString() 
    msg.Decrypted = parseFloat(x) 
    return msg; 

Dans ce Instructable j'ai expliqué comment décoder les messages Lora dans le noeud rouge https://www.instructables.com/id/Lora-Temperature-Dashboard/