[原创] BLE4.0安卓上位机开发小技巧

zwq1489   2017-5-6 16:34 楼主
赶着五一假期看了看41Z里面BLE这块的SDK,发现NXP提供的example里面用到的UUID基本都是SIC组织规定的service和characteristic,而且用的传感器数据基本都是随机数(这也不能怪人家,毕竟板载资源有限嘛,需要大家再根据自己的项目拓展开发啦~  )

那既然NXP已经写好了包含service和characteristic的数据库,下位机主要的工作量就在重新定义自己的service和characteristic,还有采集数据和逻辑控制,这些都不是我这篇帖子要讲的,因为这些对论坛里的大神们绝对是小菜一碟。上位机是人机交互的主阵地,我打算基于Android平台,结合41Z的ble实现双向通信,不知论坛里有没有java编程大神,反正我是小菜一只。。 今天先把自己开发过程中的遇到的问题跟各位坛友分享一下。


开发平台:Android Studio,这个工具是Google的亲儿子,以前用过MyEclipse,不过现在已经不用了。

网上有个开源包,BleLib,个人感觉非常好用,也是今天主要推荐的主角,通过这个包可以省去很多复杂的工作。

在build.gradle中插入这行代码:
  1. compile 'com.junkchen.blelib:blelib:1.2.3'


然后编译工程,发现报错了!

QQ截图20170506161909.jpg

看了看原来是安卓最低版本的设定问题,在Android4.3(API18)平台以上才开始支持低功耗蓝牙中央设备角色,楼主习惯性的用4.0.3版本,自然是不行的啦。解决办法就是还在刚才的build.gradle中,把minSdkVersion提高到18以上就可以啦!

  1. apply plugin: 'com.android.application'

  2. android {
  3.     compileSdkVersion 25
  4.     buildToolsVersion "25.0.0"
  5.     defaultConfig {
  6.         applicationId "com.android.winkey.bletest"
  7.         minSdkVersion 18//修改这里
  8.         targetSdkVersion 25
  9.         versionCode 1
  10.         versionName "1.0"
  11.         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  12.     }
  13.     buildTypes {
  14.         release {
  15.             minifyEnabled false
  16.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  17.         }
  18.     }
  19. }

  20. dependencies {
  21.     compile fileTree(include: ['*.jar'], dir: 'libs')
  22.     androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
  23.         exclude group: 'com.android.support', module: 'support-annotations'
  24.     })
  25.     compile 'com.android.support:appcompat-v7:25.1.0'
  26.     testCompile 'junit:junit:4.12'
  27.     compile 'com.junkchen.blelib:blelib:1.2.3'//在这里添加开源包
  28. }


最后,贴一下下使用这个BleLib库进行Android低功耗蓝牙Ble的开发步骤:
  • 添加BleLib库依赖
  • 绑定BleLib服务
  • 初始化操作
  • 打开蓝牙
  • 扫描Ble设备
  • 连接Ble服务
  • 读写Ble特性和接收GATT通知


祝大家开发顺利!

此内容由EEWORLD论坛网友zwq1489原创,如需转载或用于商业用途需征得作者同意并注明出处


回复评论 (4)

多谢分享
点赞  2017-5-8 08:20
大神 上传下你的安卓APP源码呢 大家参考参考   可以和板子通讯了么
点赞  2017-6-23 17:51
引用: 常见泽1 发表于 2017-6-23 17:51
大神 上传下你的安卓APP源码呢 大家参考参考   可以和板子通讯了么

测试可以与板子通讯,没啥问题,Android源码我过几天整理一下,再重新发个帖子给大家,到时你可参阅一下~ 祝开发顺利!
点赞  2017-6-27 19:32
引用: zwq1489 发表于 2017-6-27 19:32
测试可以与板子通讯,没啥问题,Android源码我过几天整理一下,再重新发个帖子给大家,到时你可参阅一下 ...

期待着 哈
加油!在电子行业默默贡献自己的力量!:)
点赞  2017-6-28 09:58
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复