TI中文支持网
TI专业的中文技术问题搜集分享网站

Android如何接收CC2541所传送过来的文字讯息功能呢?

你好,我正尝试开发BLE,目前尝试Android与CC2541的沟通

我成功用battery Service 得到CC2541的电量,也使用immediate alert Service让CC2541发出警报

那我目前想试着从CC2541发送文字的字串,而Android端来接收

问题:

1。想请问Android要使用哪个UUID才能实现接收CC2541所传送过来的文字讯息功能呢?

2,是否有开放的源码是关于Android的接收BLE装置传送过来的文字讯息呢? 如果没有那请问该怎么做呢?

Yan:

wun,

1. 这个可能得用自定义UUID和service来完成,类似于一个BLE串口透传模式。可以参考一下TI的serial port代码:http://processors.wiki.ti.com/index.php/LPRF_BLE_SerialApp

2. Android端的目前没有传文字信息的源码,但是TI提供了很多Android BLE的示例代码,可以供你参考,里面有传数据的,应该对你有借鉴意义:http://www.ti.com/tool/sensortag-sw

wun martin:

回复 Yan:

1. 抱歉,我刚开始学习BLE,所以在CC2541这端是把想要透过BLE传送出去的字串透过serial port传送,板子就会自动将TX上的资料透过BLE传送出去吗???

2. 我下载也安装了sensortag-android-Windows,想请问哪个部分是比较类似接收文字讯息的?或是你所说的传数据的?

Yan:

回复 wun martin:

wun,

1. 这需要相应的profile配合,请再参考这个连接,应该是你需要的模式:http://processors.wiki.ti.com/index.php/SerialBLEbridge

2. 你可以参考追踪一下DeviceActivity.java 文件里面的  private void enableNotifications(boolean enable) 函数,这个就是会使能远端的notification, 这里的远端用的是TI的sensortag,但足以参考,另外,还是在DeviceActivity.java 中,追踪一下 private final BroadcastReceiver mGattUpdateReceiver = new BroadcastReceiver()  中的 else if (BluetoothLeService.ACTION_DATA_NOTIFY.equals(action)) , 这是在你用上面的函数使能了对方notifidation之后, 收到对方notification发过来的数据,就是之后的动作。

从手机发送数据的话,你可以追踪一下BluetoothLeService.java中, public boolean writeCharacteristic(BluetoothGattCharacteristic characteristic, byte b) 函数,就是写出去数据的,然后 DeviceActivity.java 中 else if (BluetoothLeService.ACTION_DATA_WRITE.equals(action), 回调处理,类似这样。

我只是给出建议,具体最好还是你自己稍微研究一下。

wun martin:

回复 Yan:

Yan  

谢谢你详细的说明!!,我会仔细看看你说明的部份的!!

hewu:

回复 wun martin:

HI wun Martin:

   您这个帖子提到的功能实现了吗?

 我想实现手机向从机模块传送文字信息(400Byte)的功能;希望可以向您多学习学习。

赞(0)
未经允许不得转载:TI中文支持网 » Android如何接收CC2541所传送过来的文字讯息功能呢?
分享到: 更多 (0)