2016-10-13 19 views
0

In der Anwendung freue ich mich auf Bluetooth in Beacon ist sehr gute Option, wie ich PH aus verschiedenen Quellen zur Anwendung sammeln möchte, so kann ich nicht mein Android-Gerät mit allen BLE-Geräten an eine Zeit wie es um 20-30 sein wird.BLE Beacon mit benutzerdefinierten Daten Broadcasting

Aber ich kann sehen, dass, wenn es Beacon gibt, dann kann Android alle von ihnen scannen und auch die RSSI aller Geräte erhalten, ohne mit ihnen gepaart zu werden.

Also ist es möglich, dass wir einige andere Parameter wie PH, Temperatur, Luftfeuchtigkeit und 3-4 andere Parameter hinzufügen, damit Beacon alle diese Parameter zusammen mit RSSI ausstrahlt und in der Android App alle Informationen sammeln kann?

  • Ich bin mir nicht sicher, ob dies machbare Lösung ist oder nicht und ob es dann ist, wie man dies in Beacon erreicht?
  • Antwort

    2

    Bluetooth-Beacons sind im Allgemeinen auf Werbepakete angewiesen, um Daten zu senden, die in der Anzahl der verfügbaren Bytes begrenzt sind. Für Herstelleranzeigen haben Sie im Grunde 24 verwendbare Bytes, mit denen Sie arbeiten müssen, obwohl Sie einige davon als Flag reservieren müssen, um anzuzeigen, dass es Ihr Beacon-Format ist und nicht das Beacon-Format eines anderen.

    Sie können die AltBeacon spec als ein Beispiel betrachten. Dieses Format verwendet zwei Bytes, um sich selbst zu identifizieren (den "Beacon-Code"), 20 Byte Beacon-Kennungen, ein Byte Daten und ein Byte für die Referenz-RSSI. Sie möchten wahrscheinlich immer noch eine eindeutige Kennung für jede Bake, damit Sie wissen, welche Bake Ihnen die Informationen gesendet hat. Aber Sie könnten in der Lage sein, dies für Ihre Zwecke auf vier Bytes zu reduzieren, was es Ihnen ermöglichen würde, 2^32 verschiedene Beacons zu haben, die diese Informationen senden.

    Mit der Android Beacon Library können Sie Beacons senden und empfangen, indem Sie beliebige Formate verwenden, die Sie mit der Klasse BeaconParser definieren können. Ein Beacon-Format, das einen Vier-Byte-Identifizierer, zwei Bytes für PH-, Temperatur- und Feuchtigkeitsdatenfelder und zwei Bytes für fünf andere Datenfelder verwendet, könnte wie folgt aussehen:

    m:2-3=abcd,i:4-7,d:8-9,d:10-11,d:12-13,d:14-15,d:16-17,d:18-19,d:20-21,d:22-23,p:24-24