BLE4.0安卓上位机开发小技巧
赶着五一假期看了看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中插入这行代码:[XML] 纯文本查看 复制代码?1compile 'com.junkchen.blelib:blelib:1.2.3'然后编译工程,发现报错了!
看了看原来是安卓最低版本的设定问题,在Android4.3(API18)平台以上才开始支持低功耗蓝牙中央设备角色,楼主习惯性的用4.0.3版本,自然是不行的啦。解决办法就是还在刚才的build.gradle中,把minSdkVersion提高到18以上就可以啦![Java] 纯文本查看 复制代码?010203040506070809101112131415161718192021222324252627282930apply plugin: 'com.android.application'android {compileSdkVersion 25buildToolsVersion "25.0.0"defaultConfig {applicationId "com.android.winkey.bletest"minSdkVersion 18//修改这里targetSdkVersion 25versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}}dependencies {compile fileTree(include: ['*.jar'], dir: 'libs')androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {exclude group: 'com.android.support', module: 'support-annotations'})compile 'com.android.support:appcompat-v7:25.1.0'testCompile 'junit:junit:4.12'compile 'com.junkchen.blelib:blelib:1.2.3'//在这里添加开源包}最后,贴一下下使用这个BleLib库进行Android低功耗蓝牙Ble的开发步骤:添加BleLib库依赖绑定BleLib服务初始化操作打开蓝牙扫描Ble设备连接Ble服务读写Ble特性和接收GATT通知祝大家开发顺利!