低功耗蓝牙 - 使用Microhip的MLDP数据流从Android或iOS流式传输



Microchip定义了一种通过蓝牙低能量(BLE(传输数据的方式,并称之为MLDP(Microchip低能量数据配置文件(。他们将其内置在RN4020芯片中,甚至还有一个Android应用程序示例。

然而,我找不到任何关于协议如何工作的规范或应用程序的来源。我希望能够使用它从Android和/或iOS调试嵌入式设备。

有人知道这个协议的规范或实现它的软件吗?

嗨,我也遇到了同样的问题,但现在我有一个MLDP的工作代码,首先你需要转到模块网页:

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

然后,在Documentation&你可以找到的软件:

  • 安卓浏览器16 RN4020 PICtail演示代码
  • 适用于Android的MLDP演示
  • RN4020 Android应用程序演示

第一项是一个示例代码,用于处理来自android的模块和MLDP,它使用从android 4.3(API 18(实现的蓝牙GATT类

MLDP概念类似于BTL的任何其他"GATT特性",但它是直接从RF发送到UART的,而无需微控制器请求特性值

在示例代码中,你会发现两个项目(一个带有服务(android后台组件((,转到"RN4020 Die"项目,如果你愿意,将其导入到你的工作区,但在src/package-name/文件夹下,你会找到文件"DeviceControlActivity.java">

该文件包含使用de 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() + "rn");
writeCharacteristic(mDataMDLP);

最后,函数"findMldpGattService"太重要了,它会将MLDP协议的声明UUID与设备上可用的UUID进行比较,然后初始化"mDataMDLP"对象,允许您使用它

我希望我的回答对你和其他人有用。

相关内容

  • 没有找到相关文章

最新更新