2017-05-25 2 views
-1

Ich gründe die Konfiguration für eine BLE Slave/Peripherie auf, die jeweils zwei Stellgrößen haben, muss lesbar/beschreibbar vom Meister, sondern jeweils auch durch Tasten auf dem Slave geändert werden kann. Ich möchte einen Mechanismus für den Slave enthalten, um den Master wissen zu lassen, ob die Steuervariablen am Slave lokal über die Tasten geändert werden. Es wird erwartet, dass der Slave ziemlich oft außer Reichweite des Meisters sein wird, also gibt es wirklich zwei verwandte Anforderungen. Einer ist, dass der Slave den Master benachrichtigt werden, wenn eine Regelgröße lokal geändert wird, und der andere ist der Meister muss lernen, was der aktuelle Zustand der Regelgrößen ist, wenn eine der Verbindung automatisch wieder hergestellt. Ich will nicht der Meister werden benötigt, um die Slave abzufragen, wenn es eine Verbindung ist, weil ich versuche, den Stromverbrauch an der Slave und solche Änderungen zu minimieren wird in der Regel sehr selten sein. Sollte ich die Option "Benachrichtigen" im Merkmal für das benutzerdefinierte Profil festlegen, das die zwei Variablen enthält, oder einen separaten Dienst (oder etwas anderes) einrichten, der die Benachrichtigung ausführt. Es ist in Ordnung, wenn der Master das Profil/Merkmal lesen muss, wenn es benachrichtigt wird, dass eine Änderung aufgetreten ist. Ich denke, dass es auch einen Weg geben muss, auf dem der Slave erkennen kann, dass der Master die Benachrichtigung erhalten hat, damit er sie bei der nächsten Gelegenheit erneut versuchen kann. Ich lerne gerade über BLE und es scheint viele Möglichkeiten zu geben, Dinge zu tun, und ich habe keine guten Referenzen gefunden, die die verschiedenen Optionen und ihre Vor-/Nachteile erklären.Was ist eine gute Möglichkeit, wenn ein BLE-Slave einen Master benachrichtigt, wenn etwas passiert?

Antwort

0

Stellen Sie einfach die Benachrichtigungs Eigenschaft auf dem Merkmal. Wenn ein neuer Wert verfügbar ist, senden Sie eine Benachrichtigung, die den neuen Wert enthält.

der Wert bei Wiedereinschalten „sync“, lassen Sie einfach den Master die Eigenschaft lesen. Sie können auch einfach eine Benachrichtigung senden.

Wenn Sie den Strom an der Peripherie speichern will, kann ich „Slave-Latenz“ empfehlen, wenn Sie noch eine geringe Verzögerung möchten.

Verwandte Themen