Ich habe eine Platine, die einen TI Bluetooth LE-Chip (CC2541) verwendet. Ich hoffe, einige einfache Wetterdaten vom Client (z. B. Telefon) selten (einmal pro Tag/Woche) an den Server (CC2541) zu senden. Muss dafür ein benutzerdefiniertes Profil implementiert werden? Könnte ein etabliertes Profil modifiziert werden, um die Daten zu handhaben, z. B. das Proximity-Profil, aber mit größeren Attributen?
Wenn jede Art von Daten ein Profil braucht, wirkt das ziemlich ungeschickt. Was ist der kanonische Ansatz zum Senden/Verarbeiten einfacher Datenströme?
Danke
Der richtige Weg wäre, einen benutzerdefinierten Dienst zu verwenden, den Sie für Ihre spezifischen Daten erstellt haben, aber wenn dies nur für Ihren persönlichen Gebrauch ist, könnten Sie einen vorhandenen Dienst huckepack nehmen (wie in einem Beispielprojekt) und fügen Sie beliebige Eigenschaften für die Daten hinzu, wie Sie es für richtig halten.
Ein anderer Ansatz wäre, das klassische Serial Port Profile (SPP) zu emulieren, das im Grunde als virtuelle serielle Schnittstelle zwischen den beiden Geräten fungiert. Sie können sich also vorstellen, wie das mit einer einfachen ASCII-Übertragung der Wetterdaten funktionieren könnte. Es gibt einige Beispiele dafür im Internet, wenn Sie nach "BLE SPP" suchen. Bluegiga ( https://bluegiga.zendesk.com/attachments/token/rx8se3yhwe3tlnh/?name=BLE_Application_Note_SPP_over_BLE.pdf ) und andere BLE-Module haben dies über das Generic Attribute Profile (GATT) implementiert.
Link zu SPP: https://developer.bluetooth.org/TechnologyOverview/Pages/SPP.aspx
Ich denke jedoch, dass es effizienter wäre, einen benutzerdefinierten Dienst für die Wetterdaten zu erstellen, da Sie möglicherweise verschiedene Teile zu unterschiedlichen Zeiten lesen oder schreiben möchten und es einfacher wäre, die Daten zu verwalten. Sie könnten für jeden gewünschten Datenwert (z. B. Temperatur, Windgeschwindigkeit, Windrichtung, Luftfeuchtigkeit usw.) eine Eigenschaft für den Dienst haben, oder Sie könnten mehrere Dienste erstellen, die unterschiedliche Arten von Wetterdaten darstellen (z. B. einen Winddienst, der hat Geschwindigkeits- und Richtungseigenschaften und ein Temperaturdienst mit Strom-, Min- und Max-Eigenschaften usw.).
Wenn es keinen öffentlichen Dienst für Wetterdaten gibt, erstellen Sie einen privaten (benutzerdefinierten) Dienst. Das ist der kanonische Ansatz. Deshalb hat BLE private Dienste.
[ Ich bin in einer ähnlichen Situation wie das OP. Ich füge BLE zu einer Industriepumpe hinzu. Offensichtlich ist für eine Pumpe kein öffentlicher Dienst definiert. ]
Andi aka
John M.