2016-05-12 19 views
0

Angenommen, ich habe ein BLE-Gerät, das sowohl ein Server (hat Informationen) als auch ein Peripheriegerät (muss auf externe Informationen zugreifen), das beim Empfangen oder Generieren eigene Daten mit anderen Servern/Peripheriegeräten in seiner Nähe teilen muss.Vorteile von Polling Multiple Ble Verbindungen gegenüber simultanen Verbindungen?

Wäre es von Vorteil, wenn ich nur versuchen würde, über BLE eine Verbindung zu den Geräten herzustellen, wenn die zu übertragenden Daten "regelmäßig mit jedem Server verbunden werden, um zu sehen, ob dies möglich ist" oder wäre es besser, Verbindungen aufrechtzuerhalten gleichzeitig Callbacks verwenden, um festzustellen, wenn verbunden, und einfach Daten bei Bedarf zu übertragen (durch was ich verstehe, die Geräte, die ich benutze, kann nur auf gatt Betrieb zu einem Zeitpunkt zu bearbeiten, dh 4 Verbindungen zu haben, um Daten schnell zu übertragen ist irrelevant). Mit anderen Worten: Mit anderen Worten, ist es vorteilhaft, ein Peripheriegerät und einen Server ständig neu zu verbinden oder zu trennen oder einfach eine Verbindung zu so vielen Servern zu haben, wie ich brauche (obwohl ich anscheinend nur eine Gatt-Operation gleichzeitig ausführen kann, dh 1 Merkmal) lesen/schreiben).

ausgewogene Anforderungen.

Antwort

1

Wenn möglich, anstatt zu lesen, ob Daten verfügbar sind, würde ich in Verbindung mit den Geräten bleiben und sie Bluetooth-Benachrichtigungen verwenden, um Daten zu kommunizieren, sobald sie verfügbar sind.

Alternativ könnten Sie erwägen, die Peripheriegeräte nur dann zu aktivieren, wenn sie über Daten verfügen, die das Gerät im zentralen Modus zum Herstellen einer Verbindung einladen. Es müsste jedoch regelmäßig gescannt werden, um dies zu erkennen.

Vorteile/Nachteile hängen von Ihren Prioritäten und der Art der beiden Gerätetypen ab.

FYI du machst Terminologie etwas btw. Wenn Sie Geräte entdecken, haben Sie ein GAP-Peripheriegerät, das Werbung macht, und ein GAP-Zentrum, das scannt. Nachdem der Central mit dem Peripheral Connect verbunden ist, haben Sie einen GATT-Client und einen GATT-Server. Normalerweise wird das GAP-Peripheriegerät zum GATT-Server, aber das muss nicht so sein. Das GAP-Peripheriegerät kann ebenso einfach zum GATT-Client werden. Es ist der GATT-Server, der die Zustandsdaten in einer Attributtabelle in Form von Diensten, Merkmalen und Deskriptoren hat.

+0

Darf ich auch fragen, ob es möglich ist, zu werben und zu scannen, während man mit einem Gerät verbunden ist, das Projekt beinhaltet derzeit eine Zustandsmaschine zum Anzeigen, Scannen und Verbinden; obwohl der GATT-Server separat ist. – kdgwill

+0

Es hängt von dem Stapel ab, den Sie verwenden. Bluetooth 4.1 hat dies möglich gemacht, aber ich glaube, dass die Unterstützung für gleichzeitige zentrale und periphere GAP-Rollen optional ist. Daher empfehle ich, die Spezifikationen des verwendeten Stacks zu überprüfen oder einfach einen schnellen Prototyp zu testen, um zu sehen, ob er funktioniert. –

Verwandte Themen