7

Microchip は、BlueTooth Low Energy (BLE) を介してデータをストリーミングする方法を定義し、それを MLDP (Microchip Low-energy Data Profile) と呼びました。彼らはそれをRN4020チップに組み込み、サンプルのAndroid アプリさえあります。

ただし、プロトコルの仕組みやアプリのソースに関する仕様は見つかりません。Android や iOS から組み込みデバイスをデバッグするために使用できるようにしたいと考えています。

このプロトコルまたはそれを実装するソフトウェアの仕様を知っている人はいますか?

4

1 に答える 1

8

こんにちは、私は同じ問題を抱えていましたが、現時点では MLDP で動作するコードを持っています。まず、モジュールの Web ページに移動する必要があります。

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

次に、[ドキュメントとソフトウェア] の下に次のものがあります。

  • Android Explorer 16 RN4020 PICtail デモ コード
  • Android 用 MLDP デモ
  • RN4020 Android アプリのデモ

最初の項目は、Android のモジュールと MLDP を操作するためのサンプル コードです。Android 4.3 (API 18) から実装された Bluetooth GATT クラスを使用します。

MLDP の概念は、BTL の他の「GATT 特性」と似ていますが、マイクロコントローラが特性値を要求する必要なく、RF から UART に直接送信されます。

サンプル コードでは、2 つのプロジェクト (1 つはサービス (Android バックグラウンド コンポーネント) を含む) を見つけます。「RN4020 Die」プロジェクトに移動し、必要に応じてそれをワークスペースにインポートしますが、src/package name/ フォルダーの下で、ファイル「DeviceControlActivity.java」を見つけます

そのファイルには、選択したBluetoothDeviceオブジェクトを使用してGATT接続を作成するためのメインコードが含まれています。次に、特性の書き込みと読み取り、コードの一部のチェックおよび/または使用などの機能が表示され、モジュールの使用を開始できますSPPのように

迅速な理解と実装のためのコードの一部:

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

mGattCallBack は、マイクロチップのサンプル コードと同じですが、次の点が異なります。

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

その変更により、特性が変化したときに「イベント」を受け取ります。この場合、マイクロコントローラーがデータを送信するたびに

提供された関数「writeCharacteristic」を使用してデータを送信できます。次のように使用できます。

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

最後に、関数「findMldpGattService」は非常に重要です。宣言された MLDP プロトコルの UUID をデバイスで使用可能なものと比較し、「mDataMDLP」オブジェクトを初期化して使用できるようにします。

私の答えがあなたと他の誰かに役立つことを願っています.

于 2015-09-15T18:21:08.260 に答える