Microchip 定义了一种通过蓝牙低功耗 (BLE) 传输数据的方法,并将其称为 MLDP(Microchip 低功耗数据配置文件)。他们将其内置到他们的RN4020芯片中,甚至还有一个示例Android 应用程序。
但是,我找不到任何关于协议如何工作或应用程序来源的规范。我希望能够使用它从 Android 和/或 iOS 调试嵌入式设备。
有谁知道这个协议或实现它的软件的规范?
Microchip 定义了一种通过蓝牙低功耗 (BLE) 传输数据的方法,并将其称为 MLDP(Microchip 低功耗数据配置文件)。他们将其内置到他们的RN4020芯片中,甚至还有一个示例Android 应用程序。
但是,我找不到任何关于协议如何工作或应用程序来源的规范。我希望能够使用它从 Android 和/或 iOS 调试嵌入式设备。
有谁知道这个协议或实现它的软件的规范?
嗨,我遇到了同样的问题,但此时我有一个 MLDP 的工作代码,首先你需要转到模块网页:
http://www.microchip.com/wwwproducts/Devices.aspx?product=RN4020
然后,在文档和软件下,您可以找到:
第一项是使用模块和来自 android 的 MLDP 的示例代码,它使用从 Android 4.3 (API 18) 实现的蓝牙 GATT 类
MLDP 概念与 BTL 的任何其他“GATT 特性”类似,但它是直接从 RF 发送到 UART,而无需微控制器请求特性值
在示例代码中,您将找到两个项目(一个带有服务(android 后台组件)),转到“RN4020 Die”项目,如果需要,将其导入您的工作区,但在 src/package name/ 文件夹下,您将找到文件'DeviceControlActivity.java'
该文件包含使用您选择的蓝牙设备对象并与之创建 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与设备上可用的UUID进行比较,然后初始化'mDataMDLP'对象,让你使用它
我希望我的回答对您和其他人有用。