微芯片定义了一种在BlueTooth低能(BLE)上传输数据的方法,称之为微芯片低能数据剖面( MLDP )。他们把它内置到他们的RN4020芯片中,甚至还有一个Android应用程序样本。
然而,我找不到任何规范的协议如何工作或源代码的应用程序。我希望能够使用它来调试来自Android和/或iOS的嵌入式设备。
有人知道这个协议的规范或实现它的软件吗?
发布于 2015-09-15 18:21:08
嗨,我也遇到了同样的问题,但是现在我有了一个MLDP的工作代码,首先你需要访问模块网页:
http://www.microchip.com/wwwproducts/Devices.aspx?product=RN4020
然后,在文档和软件下面可以找到:
第一项是使用android模块和MLDP的示例代码,它使用了从Android4.3 (API 18)实现的蓝牙GATT clases。
MLDP的概念类似于BTL的任何其他“GATT特性”,但它是直接从RF发送到UART,而不需要微控制器请求特征值。
在示例代码中,您将找到两个项目(一个带有服务(android组件)),转到'RN4020模具‘项目,如果您愿意,将其导入到您的工作区,但是在src/包名称/文件夹下面,您将找到文件'DeviceControlActivity.java’。
该文件包含使用所选择的de BluetoothDevice对象的主要代码,并与其创建GATT连接,然后您将看到一些函数,如写读特性、检查和/或使用部分代码,您将能够开始使用像SPP这样的模块。
用于快速理解和实现的代码的某些部分:
mBluetoothGatt = mDevice.connectGatt(this, false, mGattCallback);//To connect to mDevicemGattCallBack与微芯片的示例代码相同,但更改为:
@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’对象,允许您使用它
我希望我的回答对你和其他人有用。
https://stackoverflow.com/questions/31211559
复制相似问题