7

Microchip definiert eine Möglichkeit, Daten über BlueTooth niedrigen Energie (BLE) zu streamen und nannte es MLDP (Microchip Low-Energy Data Profile). Sie haben es in ihren RN4020 Chip eingebaut, und es gibt sogar eine Probe Android app.Mit Microhip MLDP-Daten-Streaming von Android oder iOS

Ich kann jedoch keine Spezifikation finden, wie das Protokoll funktioniert oder Quelle für die App. Ich möchte in der Lage sein, es zu verwenden, um ein eingebettetes Gerät von Android und/oder iOS zu debuggen.

Kennt jemand die Spezifikation für dieses Protokoll oder Software, die es implementiert?

+1

Es ist merkwürdig, dass sie die Attribute nicht dokumentiert haben, aber es sollte nicht schwer sein, mit einer App Licht LightBlue herauszufinden. Diese Art von seriellen Port-Emulationsprotokollen haben typischerweise ein Attribut zum Senden von Daten und ein anderes für empfangene Daten. – Paulw11

Antwort

7

Hallo war ich in dem gleichen Problem, aber in diesem Moment habe ich einen funktionierenden Code mit MLDP, müssen Sie zunächst auf die Modul Web-Seite:

http://www.microchip.com/wwwproducts/Devices.aspx?product=RN4020

dann unter Dokumentation & Software Zusätzlich können Sie finden:

  • Android Explorer 16 RN4020 PICtail Demo-Code
  • MLDP Demo für Android
  • RN4020 Android App Demo

Das erste Element ist ein Beispiel-Code für die mit dem Modul und MLDP von Android arbeitet, verwendet er Bluetooth GATT clases, die von Android 4.3 (API 18)

Die MLDP umgesetzt wurde Das Konzept ist wie jedes andere "GATT - Merkmal" von BTL, aber es wird direkt vom RF zum UART gesendet, ohne dass der Mikrocontroller den Merkmalswert

anfordern muss. Im Beispielcode finden Sie zwei Projekte (eins mit Service (Android Hintergrundkomponente)), gehen Sie zum 'RN4020 Die' Projekt, importieren Sie es in Ihren Arbeitsbereich, wenn Sie möchten, aber unter dem src/Paketname/Ordner finden Sie die Datei 'DeviceControlActivity.java '

diese Datei enthält den Hauptcode für die Verwendung von de BluetoothDevice-Objekt Sie wählen und erstellen Sie die GATT-Verbindung mit ihm, dann sehen Sie Funktionen wie schreiben und lesen, prüfen und/oder Teile des Codes verwenden werden Sie sein die Lage, wie SPP

zur schnellen Verständnis und die Umsetzung

einige Teile meines Codes mit Hilfe des Moduls zu beginnen:

mBluetoothGatt = mDevice.connectGatt(this, false, mGattCallback);//To connect to mDevice 

mGattCallBack ist das gleiche wie der Beispielcode Mikrochip, aber mit dem Wechsel von:

@Override 
public void onCharacteristicChanged(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic) { 
    String dataValue = characteristic.getStringValue(0);//get modified data 
    RX.append(dataValue);//append it on my RX textview 
} 

mit der Änderung, erhalten Sie ein ‚Ereignis‘, wenn charakteristische Veränderungen, in diesem Fall jedes Mal Mikrocontroller Daten senden empfangen

Sie die bereitgestellte Funktion ‚writeCharacteristic‘ Daten senden können, können Sie es wie verwenden können dies:

mDataMDLP.setValue("R=>" + TX.getText() + "\r\n"); 
writeCharacteristic(mDataMDLP); 

, schließlich die Funktion ‚findMldpGattService‘ ist zu wichtig, es wird die deklarierten UUID des MLDP Protokolls mit der auf dem Gerät verfügbar vergleichen, dann wird es initialice das ‚mDataMDLP‘ Objekt, so dass Sie Verwenden Sie es

Ich hoffe, dass meine Antwort für Sie und jemand anderen nützlich ist.