7

Microchip ha definito un metodo per lo streaming di dati su BlueTooth a basso consumo energetico (BLE) e denominato MLDP (Microchip Low-energy Data Profile). Lo hanno integrato nel loro chip RN4020, e c'è anche un campione Android app.Utilizzo dello streaming dati MLDP di Microhip da Android o iOS

Tuttavia, non riesco a trovare alcuna specifica su come funziona il protocollo o la fonte per l'app. Mi piacerebbe poterlo usare per eseguire il debug di un dispositivo incorporato da Android e/o iOS.

Qualcuno conosce le specifiche per questo protocollo o software che lo implementa?

+1

È strano che non abbiano documentato gli attributi, ma non dovrebbe essere difficile capire con una luce app LightBlue. Questi tipi di protocolli di emulazione delle porte seriali hanno in genere un attributo per inviare dati e un altro per i dati ricevuti. – Paulw11

risposta

7

Hi ero nello stesso problema, ma in questo momento ho un codice di lavoro con MLDP, primo luogo è necessario andare alla pagina del modulo web:

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

poi, sotto documentazione & Software si possono trovare:

  • Android Explorer 16 RN4020 PICtail Demo Codice
  • MLDP Demo per Android
  • RN4020 App Android Demo

La prima voce è un codice di esempio per lavorare con il modulo e MLDP da Android, utilizza clases Bluetooth GATT, che è stato realizzato da Android 4.3 (API 18)

Il MLDP concetto è come qualsiasi altra 'Caratteristica GATT' di BTL, ma è inviato direttamente dalla RF all'UCA senza microcontrollore è necessario richiedere il valore caratteristico

nel codice di esempio si trovano due progetti (uno con servizio (android componente di sfondo)), vai al progetto 'RN4020 Die', importalo nel tuo spazio di lavoro se vuoi, ma sotto src/nome del pacchetto/cartelle, troverete il file 'DeviceControlActivity.java '

quel file contiene il codice principale per l'utilizzo di oggetto BluetoothDevice selezionato e creare la connessione GATT con esso, quindi vedrai funzioni come scrivere e leggere caratteristiche, controllare e/o usare parti del codice che sarai in grado di iniziare a utilizzare il modulo come SPP

alcune parti del mio codice per la comprensione e l'attuazione rapida:

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

mGattCallBack è lo stesso come il codice di esempio del microchip, ma con il cambiamento di:

@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 
} 

con tale modifica, si riceverà un 'evento' quando i cambiamenti caratteristici, in questo caso, ogni volta microcontrollore inviano i dati

è possibile utilizzare la funzione fornita 'writeCharacteristic' per inviare i dati, è possibile utilizzarlo come questo:

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

Infine, la funzione 'findMldpGattService' è troppo importante, sarà confrontare i UUID dichiarati del protocollo MLDP con il disponibile sul dispositivo, allora sarà initialice l'oggetto 'mDataMDLP', che consente di usalo

Spero che la mia risposta sia utile per te e qualcun altro.

Problemi correlati