2017-08-07 3 views
0

Je transmets un format de balise personnalisé. Pour transmettre, j'ai mis en place l'analyseur de balise. Dans la mise en page, il est dit que l'octet de puissance est un champ obligatoire. Pourquoi est-ce un champ obligatoire? Puis-je transmettre un paquet sans octet de puissance?Pourquoi l'octet de puissance est-il requis dans beaconparser?

De même, comment l'octet de puissance dans le paquet est-il différent du txPowerLevel que nous avons défini dans BeaconTransmitter? Merci

Répondre

1

La puissance est un champ obligatoire car si la bibliothèque rencontre cette balise, elle doit savoir comment obtenir une valeur de référence pour les estimations de distance. La bibliothèque n'a aucun moyen de désactiver ces estimations de distance, de sorte que le rendre obligatoire était une décision de conception. Cela dit, si vous ne voulez vraiment pas avoir une valeur de puissance dans le format de balise personnalisée, vous pouvez toujours spécifier tout décalage d'octet que vous voulez être le champ de puissance E.g. p: 0-0, et la bibliothèque acceptera volontiers cela. Mais puisque ce champ ne contient pas réellement la mesure de RSSI de référence à 1 mètre, les estimations de distance pour toutes les balises analysées avec cette disposition seront complètement fausses. C'est bien, cependant - n'utilisez pas les estimations de distance, et ne soyez pas surpris qu'ils retournent des valeurs folles.

+0

Pouvez-vous également donner un aperçu de la deuxième partie du message? comment le byte de puissance dans le paquet est-il différent du txPowerLevel que nous avons défini dans BeaconTransmitter? –

+1

Le txPowerLevel dans l'émetteur de balise indique la quantité d'énergie qui doit être envoyée à la radio lors de l'envoi des signaux. L'octet txPower dans le paquet communique le niveau de puissance de référence (en RSSI) auquel on devrait s'attendre si l'émetteur est à 1 mètre de distance. Ceci est utilisé pour les estimations de distance. Les deux sont liés. Si vous augmentez l'émetteur txPowerLevel, le RSSI à 1 mètre sera plus élevé et vous devrez augmenter la valeur de txPower envoyée dans le paquet à cette nouvelle valeur pour obtenir des estimations de distance correctes. – davidgyoung