学习
实践
活动
工具
TVP
写文章

Android 原生 BLE 开发

Android 开发 BLE 用第三方库是总是出现一些问题,最后还是硬着头皮改回原生 API。 相比传统的蓝牙,BLE更显著的特点是低功耗。这一优点使android App可以与具有低功耗要求的BLE设备通信,如近距离传感器、心脏速率监视器、健身设备等。 角色和责任 以下是Android设备与BLE设备交互时的角色和责任: 中央 VS 外围设备(外设)。 适用于BLE连接本身。中央设备扫描,寻找广播;外围设备发出广播。 android:name="android.permission.ACCESS_FINE_LOCATION"/> 设置BLE ---- 你的 app 能与 BLE 通信之前,你需要确认设备是否支持 BLE 根据用户的输入,这个activity与BluetoothLeService通信,通过Android BLE API实现与BLE设备交互。

1.3K20

Android BLE 开发》--初学者

最终实现的界面: 1.开启权限 在AndroidManifest.xml中添加一下代码: <uses-feature android:name="android.permission.BLUETOOTH_ADMIN "/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name ="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION "/> <uses-permission android:name="andriod.permission.ACCESS_FINE_LOCATION"/> 2.初始化BLE 第一步:判断设备是否支持BLE (this); mBLENameList.add("<BLE List>"); ListAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item

12320
  • 广告
    关闭

    年末·限时回馈

    热卖云产品年终特惠,2核2G轻量应用服务器6.58元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android BLE 基础框架全新改版

    Android BLE基础操作框架,基于回调,操作简单。包含扫描、多连接、广播包解析、服务读写及通知等功能。 该库是 BLE 操作的基础框架,只处理 BLE 设备通信逻辑,不包含具体的数据处理,如数据的分包与组包等。 使用介绍 权限配置 6.0 以下系统不需要配置权限,库中已经配置了如下权限: <uses-permission android:name="android.permission.BLUETOOTH"/> -23 android:name="android.permission.ACCESS_COARSE_LOCATION"/> 因为蓝牙在 6.0 以上手机使用了模糊定位功能,所以需要添加模糊定位权限。 更多关于广播包解析可以参考Android BLE学习笔记中数据解析部分。

    85870

    Android BLE 快速上手指南

    本文旨在提供一个方便没接触过Android上低功耗蓝牙(Bluetooth Low Energy)的同学快速上手使用的简易教程,因此对其中的一些细节不做过分深入的探讨,此外,为了让没有Ble设备的同学也能模拟与设备的交互过程 需要的权限 <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name -->获取服务,特征-->打开通知-->写特征-->读特征-->断开连接,通过这些步骤我们就能学会Android Ble 的基本方法的使用。 如果大家需要了解更多更详细的使用方法,这里给大家推荐2个开源的ble库: Android-BLE-Library:NordicSemiconductor官方的Android ble库。 BLELib:我自己封装的ble库,大家喜欢的话可以顺手star一下。

    1.1K20

    Android低功耗蓝牙BLE开发小结

    BLE及相关协议 BLE是蓝牙4.0标准的一部分,旨在解决传统蓝牙连接慢、能耗大的问题,Google在Android 4.3(API 18)中引入了对BLE的支持。 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name " /> <uses-feature android:name="android.hardware.bluetooth_le" android:required Android BLE相关类 BluetoothAdapter:Android设备的蓝牙适配器,可执行基本的蓝牙任务,如启动、停止设备发现,查询已配对设备,获取蓝牙适配器状态,使用MAC地址实例化蓝牙设备类 BLE implementation Subscribe to a BLE Gatt notification Android https://www.bluetooth.com/specifications

    3.6K561

    Android蓝牙BLE低功耗相关简单总结

    在看Android4.42的源码时看到有添加对BLE设备的处理,看的一头雾水,多方百度,终于有种柳暗花明的感觉。 本文总结来源于百度多篇文章,欢迎转载,分享交流 BLE蓝牙概念 BLE:Bluetooth low Energy  低能耗蓝牙,实现低成本,短距离的无线传输,传输速率于传统蓝牙相同位2.4GHZ,采用非常快速的连接方式 ,适用于发送数据量少而且发送次数较少的蓝牙通信 相比于传统蓝牙 BLE蓝牙设备的传输距离最远可达100米 发送数据所需时间短(<3ms) 响应延时时间短(6ms) 低能耗 主要应用于只能穿戴,汽车,家用电子等 BLE通信协议 在进行BLE通信时通信双方分为外围(Periphery)和中央(Central) 1,外围用于提供数据 2,中央用于接收和处理数据 相当于集中式布局,中央可接收多个外围的数据,但外围只能向一个中央发送数据 目前所使用的Android手机只能作为中央使用和处理数据,接下来介绍下如何去创建一个中央 创建中央(Central) 在配置文件中添加蓝牙的权限 获取本地蓝牙适配器mBluetoothAdapter =

    22610

    蓝牙ble

    绑定、配对、连接蓝牙4.0BLE介绍_casuallystone_新浪博客 Android_低功耗 Android4.3 蓝牙BLE初步 -    To build a better world ! RSSI计算距离-布布扣-bubuko.com 转:如何连续的测量蓝牙的RSSI - dull_boy2的专栏 - 博客频道 - CSDN.NET 求救,如何跟踪记录蓝牙的RSSI值-Android iOS BLE 4.0 实现搜索周边蓝牙设备并显示其信号强度(RSSI) - 开源中国社区 blog.csdn.net/playboyz2010/article/details/50629319低功耗蓝牙 概念,profile 在BLE协议栈,如果server有数据发送,它就进入广播模式,并且发送一些信号。 因为BLE重连是非常快的。 典型的GATT server是外设设备,但是不是必须的。也可以外设做client,center做server。

    71460

    Android 6.0 扫描不到 Ble 设备需开启位置权限

    之前做 Ble 开发都是在 Android 6.0 系统以下的版本中进行测试]的,今天使用 Android 6.0 的设备测试的时候,发现扫描不到周围的 Ble 设备。 动态申请位置权限 ACCESS_COARSE_LOCATION 在 AndroidManifest.xml 文件中加入 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION 6.0开始需要打开位置权限才可以搜索到Ble设备"); } //请求权限 ActivityCompat.requestPermissions(this, 做完上面你以为就 OK 了,但是可能你会发现,并没有什么卵用,依然不能搜索到周围的 Ble 设备,原因是可能的你的位置服务(定位 GPS)没有打开。 LocationManager.GPS_PROVIDER); if (networkProvider || gpsProvider) return true; return false; } 如果定位已经打开,OK 很好,可以搜索到 ble

    1K110

    Android使用BLE(低功耗蓝牙,Bluetooth Low Energy)

    角色和责任 以下是Android设备与BLE设备交互时的角色和责任: *中央 VS 外围设备。 适用于BLE连接本身。中央设备扫描,寻找广播;外围设备发出广播。 为了方便理解,想象你有一个Android手机和一个用于活动跟踪BLE设备,手机支持中央角色,活动跟踪器支持外围(为了建立BLE连接你需要注意两件事,只支持外围设备的两方或者只支持中央设备的两方不能互相通信 但是你可以自己设计android app去扮演GATT服务端角色 设备对BLE的支持 分为两种情况 * 目标设备是否支持BLE * Android手机是否支持BLE 目标设备是否支持要看具体目标设备的情况 "/> 如果想声明你的app只为具有BLE的设备提供,在manifest文件中包括: <uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/> 代码中判断手机是否支持BLE特性: // 使用此检查确定BLE是否支持在设备上,然后你可以有选择性禁用BLE相关的功能 if (!

    90200

    蓝牙BLE技术

    就距离而言,BLE专注于非常短的距离通信。可以创建和配置一个BLE设备,该设备可以可靠地传输30米或30米以上的视线范围内的数据,但典型的操作范围可能更接近2到5米。 蓝牙BLE组成 BLE由三个主要构建模块组成:应用程序、主机和控制器。顾名思义,应用程序块是与蓝牙协议栈交互的用户应用程序。主机覆盖蓝牙协议栈的上层。控制器覆盖下层。 BLE的不同的层次和他们的目的 BLE和许多其他无线技术一样,由许多层组成。每一层都有其作用,对BLE器件的正常工作起着重要作用。 应用程序的体系结构高度依赖于使用BLE开发的项目,所以我们将把这一部分留给第二部分,我们将使用BLE P Click构建项目。 现在我们可以转到BLE设备的主机部分。 逻辑链路控制和适配协议(L2CAP) L2CAP负责两项任务:1、它需要来自上层的多个协议,并将它们封装成标准的BLE数据包格式(反之亦然)。

    59820

    Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

    > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView xqx * @email djlxqx@163.com * blog:http://www.cnblogs.com/xqxacm/ * createAt 2017/9/6 * description: ble

    2.8K70

    BLE蓝牙学习开发笔记】BLE-HCI-Error-Code

    文章目录 1 前言 2 什么是BLE? 3 BLE与HCI的关系? Wi-Fi和BLE蓝牙。 (参见:百度百科) 3 BLE与HCI的关系? 3.1 BLE的分层设计 在 BLE 系统中不仅仅是物理层和硬件内容,根据整个 BLE 从上到下,大致分为了 Profile,Host,HCI,Controller 以及 硬件部分的 Baseband 这些ErrorCode其实是BLE协议中已经定义好的,具体如下所示: #define BLE_HCI_STATUS_CODE_SUCCESS 0x00 #define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND

    1210

    RxSwift 与 BLE 实战——VisualBlue

    对 RxSwift 及 BLE 感兴趣的同学可以看看,或有所得。

    65620

    BLE 广播格式定义

    BLE 考虑功耗, 使用了3个广播信道,顺序广播。 两个蓝牙设备想要建立连接, 第一步是 从机(server) 向外广播, 主机(client) 搜索到后发起请求。

    2.9K20

    Android蓝牙开发—经典蓝牙和BLE(低功耗)蓝牙的区别

    Android中的蓝牙 说到Android中的蓝牙,大家听到的可能有蓝牙1.0、蓝牙2.0、蓝牙3.0、蓝牙4.0之类的以数字结尾的蓝牙版本号,而实际上,在最新的标准中,已经不再使用数字版本号作为蓝牙版本的区分了 如果使用智能手机作为测试平台,其硬件条件是,蓝牙得至少是低功耗蓝牙版本,然后安卓系统的话,至少得是Android 4.3以上系统才行,因为Google在Android 4.3以上才做了BLE主设备的支持 ,如果想将智能手机作为BLE从设备,则必须在Android 5.0以上才行。 很多智能电视配的遥控器带有语音识别,需要用经典蓝牙才能传输声音 传大数据量的,用经典蓝牙: 如某些工控场景,使用Android或Linux主控,外挂蓝牙遥控设备的,可以使用经典蓝牙里的SPP协议 文章参考:Android中经典蓝牙与低功耗蓝牙的简单对比分析 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149168.html原文链接:https://javaforall.cn

    85820

    低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端

    低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端 Android对外模模式(peripheral)的支持 从Android5.0开始才支持 关键术语和概念 以下是关键BLE术语和概念的摘要 角色和职责 以下是Android设备与BLE设备互动时适用的角色和职责: 中央与外围。 这适用于BLE连接本身。 处于中心角色的设备扫描,寻找广告,并且外围角色中的设备进行广告。 例如: <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN "/> 如果您要声明自己的应用只适用于支持BLE的设备,请在应用清单中包含以下内容: <uses-feature android:name =“android.hardware.bluetooth_le ”android:required =“true”/> 不过,如果您想让应用程式适用于不支援BLE的装置,您仍应在应用的清单中加入这个元素,但required="false"设为required="false

    66500

    蓝牙---BLE GATT介绍

    GATT(Generic Attribute Profile),描述了一种使用ATT的服务框架 该框架定义了服务(Server)和服务属性(character...

    1.6K20

    索尼相机BLE控制接口

    索尼相机现在支持基于蓝牙低功耗 (BLE) 的控制协议。该接口允许客户端控制以及从支持 BLE 的遥控器获取状态。 遙控器 对于启用了索尼 BLE 的相机,发现过程相当简单。 相机控制服务 该服务支持对 BLE 的各种相机控制。相信这个服务比 DIRC 有更多的功能,但它的使用目前受到客户的限制。一旦客户端开始使用此接口,您就可以确定我们会窥探该接口。 相机控制服务目前正被索尼应用程序用于 BLE 到 Wifi 切换。它的许多特征似乎是为了支持FTP 服务器,但这并没有得到证实。 外面拍了天空 https://gethypoxic.com/blogs/technical/sony-camera-ble-control-protocol-di-remote-control

    13520

    QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)

    一、环境介绍 QT版本: 5.12.6 编译环境: win10 64位 目标系统: Android 完整工程源码下载地址(包含APK文件): https://download.csdn.net/download /xiaolong1126626497/19051696 想学习QT的Android环境搭建看这里(win10版本): https://blog.csdn.net/xiaolong1126626497/ 蓝牙串口调试助手,支持常规的发送和接收调试,BLE是低功耗类型蓝牙,在智能家居、物联网领域使用较多。 BLE低功耗蓝牙一般不能直接使用手机进行连接,手机蓝牙默认都是工作在传统蓝牙模式,无法直接连接BLE低功耗蓝牙信号,需要使用专用的APP配置手机蓝牙模式,方可进行通信。 本软件为了方便工程师在开发产品过程中调试BLE蓝牙,将蓝牙连接过程中的信息全部输出到屏幕上,方便调试错误。

    63130

    扫码关注腾讯云开发者

    领取腾讯云代金券