首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

经典蓝牙与低功耗蓝牙BLE开发基础知识:服务、特征、属性、UUID

但是蓝牙BLE因为其低能耗的优点,在智能穿戴设备和车载系统上的应用越来越广泛。...UUID UUID (Universally Unique Identifier)用于标识蓝牙服务以及特征访问属性,不同的蓝牙服务和属性使用不同的访问方法,找到正确的UUID,才能使用正确的功能。...他很像网络应用中的端口号,例如80是HTTP协议的端口,他提供的是HTTP服务。...为了明确标准的蓝牙服务,蓝牙技术联盟SIG定义UUID共用了一个基本的UUID:0x0000xxxx-0000-1000-8000-00805F9B34FB。...这样,当应用程序需要读取这蓝牙设备的设备信息时,只需要找到对应UUID号为0x180A的服务,就可以获取到。

1.5K10

Android蓝牙开发(三)之蓝牙通信

上篇文章:https://blog.csdn.net/huangliniqng/article/details/82187966 上篇文章我们讲解了,蓝牙配对和蓝牙连接相关知识,还没有了解的朋友可先移步上篇文章...1.蓝牙通信简介   无论是做Java还是Android开发的朋友肯定都比较熟悉Socket的连接,在java中通信用的是Socket,同样的蓝牙之间通信(这里说的是经典蓝牙)方式也是Socket,只不过是...BluetoothSocket,同样的也要有Socket服务端和客户端 2.蓝牙通信消息接收端 设备连接后,跳转到通讯界面,首先我们要在通讯界面开启消息接收端服务,同样的我们要在一个线程中开启 得到bluetooth...文件保存成功")); } } } catch (IOException e) { e.printStackTrace(); } } 3.蓝牙通信发送文本消息...BltContant.SEND_TEXT_SUCCESS)); } catch (IOException e) { e.printStackTrace(); } } 4.蓝牙通信发送文件

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

    Android 蓝牙开发(2)——低功耗蓝牙

    Android 蓝牙开发(1) 官网地址:https://developer.android.com/guide/topics/connectivity/bluetooth-le Android 4.3...(API 18 )引入了低功耗蓝牙应用可以查询周围设备、查询设备的服务、传输信息。...目前所有低功耗应用配置文件基本都是基于 GATT Bluetooth SIG (蓝牙技术联盟) 是为低功耗设备定义了许多配置文件。配置文件是设备在特定应用程序中的工作方式的规范。...每个属性由通用唯一标识符(UUID)来唯一标识。ATT 传输的属性被格式化为 特征 和 服务 特征 特征包含单个值和描述特征值的 0 ~ n 个描述符。特征值可以被称为类型。类似于类。...确定了两个设备建立连接后如何进行相互通信 BLE 权限 应用在使用蓝牙设备的时候必须要声明蓝牙权限 BLUETOOTH 需要这个权限才可以进行蓝牙通信,例如:请求连接、接受连接、和传输数据。

    2.3K10

    鸿蒙系统应用开发之基于API6的蓝牙开发

    写在前面 由题意得,我今天讲的是基于鸿蒙系统的兼容JS的类Web开发范式的软件应用开发蓝牙开发,它是基于API6的,至于为什么是基于API6,请你花几分钟看一下我之前写的这个系列教程的第四篇“ 鸿蒙系统应用开发之入门解说...documentation/doc-references/js-apis-bluetooth-0000001281480546 需求分析 大致是这样子的,我们要基于鸿蒙系统提供的一些底层实现的API去进行软件应用开发...具体要实现的功能点是: 蓝牙的连接与断开 读取附近蓝牙设备列表并对其进行匹配 已匹配设备的取消匹配以及连接 技术调研 额,没什么好调研的,由于一些不可描述的原因,我这边是用API6开发的,它只有四个API...具体的如图所示: 取消匹配蓝牙设备 把当前的设备整个塞回蓝牙设备列表里面去,然后在已匹配列表把它送走。...连接蓝牙 还是调用官方提供的API,成功的话,把之前那个未连接的状态反一下,然后把当前连接的蓝牙设备绑在当前蓝牙设备变量上 最后 让我们来看一下,最后整出来的效果吧。

    39110

    Android蓝牙开发(二)之蓝牙配对和蓝牙连接

    上篇文章:https://blog.csdn.net/huangliniqng/article/details/82185983 讲解了打开蓝牙设备和搜索蓝牙设备,这篇文章来讲解蓝牙配对和蓝牙连接 1....蓝牙配对    搜索到蓝牙设备后,将设备信息填充到listview中,点击listiew则请求配对   蓝牙配对有点击配对和自动配对,点击配对就是我们选择设备两个手机弹出配对确认框,点击确认后配对  ...自动配对就是搜索到蓝牙设备后自动配对不需要输入pin码,但在基本开发中都不采用这种方式,所以这里说的是第一种配对方式   点击配对,调用 BluetoothDevice.class.getMethod...; mBluetoothSocket = bluetoothDevice.createRfcommSocketToServiceRecord(BltContant.SPP_UUID); BltContant.SPP_UUID...是一个UUID常量,至于UUID是什么,大家可以自行百度,因为详细的文章已经很多了。

    4.4K20

    Android蓝牙开发(二)之蓝牙配对和蓝牙连接

    上篇文章:https://blog.csdn.net/huangliniqng/article/details/82185983 讲解了打开蓝牙设备和搜索蓝牙设备,这篇文章来讲解蓝牙配对和蓝牙连接 1....蓝牙配对 搜索到蓝牙设备后,将设备信息填充到listview中,点击listiew则请求配对 蓝牙配对有点击配对和自动配对,点击配对就是我们选择设备两个手机弹出配对确认框,点击确认后配对...自动配对就是搜索到蓝牙设备后自动配对不需要输入pin码,但在基本开发中都不采用这种方式,所以这里说的是第一种配对方式 点击配对,调用 BluetoothDevice.class.getMethod...: 配对成功之后,就可以进行蓝牙连接了,蓝牙连接操作比较耗时,可以在一个线程中进行: 调用自己定义的 connect(listdevice.get(position)); 同样传递的参数也是设备device...(BltContant.SPP_UUID); BltContant.SPP_UUID是一个UUID常量,至于UUID是什么,大家可以自行百度,因为详细的文章已经很多了。

    2.8K20

    鸿蒙系统应用开发之基于API6的蓝牙开发

    写在前面由题意得,我今天讲的是基于鸿蒙系统的兼容JS的类Web开发范式的软件应用开发蓝牙开发,它是基于API6的,至于为什么是基于API6,请你花几分钟看一下我之前写的这个系列教程的第四篇“ 鸿蒙系统应用开发之入门解说...documentation/doc-references/js-apis-bluetooth-0000001281480546需求分析大致是这样子的,我们要基于鸿蒙系统提供的一些底层实现的API去进行软件应用开发...具体要实现的功能点是:蓝牙的连接与断开读取附近蓝牙设备列表并对其进行匹配已匹配设备的取消匹配以及连接技术调研额,没什么好调研的,由于一些不可描述的原因,我这边是用API6开发的,它只有四个API,照着看一下复制粘贴示例代码就好了...具体的如图所示:图片取消匹配蓝牙设备把当前的设备整个塞回蓝牙设备列表里面去,然后在已匹配列表把它送走。...图片连接蓝牙还是调用官方提供的API,成功的话,把之前那个未连接的状态反一下,然后把当前连接的蓝牙设备绑在当前蓝牙设备变量上图片最后让我们来看一下,最后整出来的效果吧。

    62730

    Android 蓝牙开发蓝牙连打印机。

    目录 效果: 开发环境 涉及知识点 集成配置 蓝牙连接 蓝牙打印 GitHub 效果: 特别声明:较之前的版本有很大的调整,之前的版本是未适配8.0的,现在是适配了的,接入方式也不一样,包括代码逻辑都有调整...(更新时间:2020-03-27) 开发环境 Gprinter佳博打印机,型号GP-2120TU Android Studio 3.6.1,gradle 3.5.3 本文可能内容比较长,但是难度不大。...涉及知识点 蓝牙相关 多线程开发 线程池 构建者模式 单例模式 运行时权限 BroadcastReceiver startActivityForResult 等等 集成配置 1.添加jar包,在app目录下新建...基本大的流程分为两部分,一是蓝牙连接,二是打印,下面开始一一介绍。...、是否开启,显示已配对和未配对的蓝牙设备列表 /** * 初始化蓝牙 */ private void initBluetooth() { // 获取蓝牙适配器

    2.7K20

    Android 蓝牙开发(3)——蓝牙的详细介绍

    第一篇文章 Android 蓝牙开发(1) 主要是介绍了普通的蓝牙在 Android 开发中的运用。 第二篇文章 Android 蓝牙开发(2) 主要是介绍了低功耗蓝牙开发。...我们的 API 的调用都是以这个为基础的,了解这些,开发过程中遇到问题,才可以知道什么怎么一回事。 下篇文章主要讲的就是实际开发中的一些坑。 蓝牙的发展历史 蓝牙技术最初是由爱立信创制的。...应用层:使用主机层提供的 API 开发应用。 详细介绍各个层的含义: PHY(Physical Layer)物理层,蓝牙是工作在 2.4GHz 附近,这是工业、科学、医疗 ISM 的频段,免许可证。...BLE 蓝牙使用 UUID 来区分 Service、Characteristic 、Descripter。 GAP(Generic Access Profile):通用访问控制配置文件。...应用开发 BLE 应用可以分为两大类:基于非连接的和基于连接的 基于非连接的: 意思就是外设和周边设备不发生连接,主要靠扫描到的广播来获取信息。

    2.3K10

    蓝牙项目开发心得

    ){ mWiriteCharacteristic=gattCharacteristic; System.out.println("s-2 myCharacter + uuid...) { mNotifyCharacteristic=gattCharacteristic; System.out.println("s-2 myCharacter + uuid...Value=null 08-14 07:59:02.627 15236-15236/com.klt.kamin.cgmbasedemo I/System.out: s-2 myCharacter + uuid...com.klt.kamin.cgmbasedemo I/System.out: s-3 myCharacter + Value=null 二,任务:手机APP中输入指定命令,发送后,发射器会把执行结果返回到手机APP上显示 1蓝牙连接成功后...认证的过程比较繁琐,BLE协议支持两节点保存认证的安全密钥(一般是非易失性存储器中),以便于两节点下次连接后快速认证,这就是绑定技术 BLE蓝牙4.0经典问答【转】 - 逗不过奇葩 - 博客园  最清晰的关于蓝牙

    1.7K90

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

    最近在做蓝牙开发,刚接触时傻傻的分不清经典蓝牙和低功耗蓝牙的区别,一直用开发低功耗蓝牙的方法去连接经典蓝牙设备,最后当然是一直连接不上了。在此记录下经典蓝牙和低功耗蓝牙的区别和联系。...所以在实际应用中,还是StartDiscovery和StartLeScan分开扫,前者扫传统蓝牙,后者扫低功耗蓝牙。...——蓝牙小知识—— 在蓝牙设备中,存在着物理地址,我们也叫作蓝牙的MAC地址,这个地址是唯一的,就像咱们网络上的IP地址。同时还存在着一个叫做UUID的东西,可以把它理解为是IP地址中的端口号。...正如知道了IP地址和端口号,就知道了怎么链接到目标网络服务器位置,知道了蓝牙设备的MAC地址和UUID也就能够确定到具体是哪一台蓝牙设备了,这两者合起来就是蓝牙的唯一身份标识。...现在所有的BLE应用Profile都是基于GATT的。 Attribute Protocol (ATT) GATT是基于ATT Protocol的。

    4.7K21

    Android蓝牙开发教程(一)——搜索蓝牙设备

    Android蓝牙功能的开发一直是很多新手头疼的问题,网上虽然也有很多教程贴,但大多都写得不全面,不能让我们真正掌握蓝牙开发的基本知识。...本教程主要讲解搜索蓝牙设备、蓝牙设备之间的连接和蓝牙之间的通讯三个主要模块。掌握了这三个,基本就能进行简单的蓝牙开发了。 先上效果图 界面比较简单。主要有三个按钮,两个文本和一个列表。...开启蓝牙后,需要设置蓝牙为可发现状态,让其他设备能够搜索到。...i.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300); 搜索蓝牙设备 成功开启蓝牙设备后,调用蓝牙适配器的startDiscovery...欢迎继续阅读下一篇 Android蓝牙开发教程(二)——连接蓝牙设备 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159847.html原文链接:https://

    5.9K40

    蓝牙项目开发流程

    0参考代码 蓝牙(BLE)模块及协议.pdf:在电脑内,有助于理解ble BLE蓝牙在Android开发中的应用 - Android移动开发技术文章_手机开发 - 红黑联盟 Android...BLE开发之Android手机与BLE终端通信 - hellogv的专栏 - 博客频道 - CSDN.NET 置顶 Android 蓝牙4.0BLE开发实现对蓝牙的写入数据和读取数据...蓝牙开发持续更新 - 简书 考虑使用:public boolean  startLeScan (UUID[] serviceUuids, BluetoothAdapter.LeScanCallback...- MagiLu 的回答 - 知乎 在Android应用中使用Clean架构 - OPEN 开发经验库 实战解析Android架构设计原则-CSDN.NET App工程结构搭建:几种常见...-CSDN论坛-CSDN.NET-中国最大的IT技术社区 关于用nexus 4 开发BLE应用过程,有时候会出现连接蓝牙设备时连不上,除非在设置里把蓝牙关调再重新打开蓝牙,然后再连设备才能连接,这是什么问题

    3.5K100

    浅谈Bluetooth蓝牙开发

    前言:项目用到蓝牙开发,具体蓝牙获取硬件传感器中的数据。 因为没有蓝牙开发的相关经验,决定先了解一些蓝牙开发的知识,再去看之前同事写的蓝牙相关代码。...------------------------------------------------------------------------------------------------- 一、蓝牙开发相关类...通过这个类我们进行以下操作: 1、开关蓝牙设备 2、扫描蓝牙设备 3、设置/获取蓝牙状态信息,例如:蓝牙状态值、蓝牙Name、蓝牙Mac地址等; 2、BluetoothDevice 蓝牙设备,是我们连接的设备...------------------------------------------------------------------------------------------------- 二、蓝牙开发使用的基本步骤...IntentFilter(BluetoothDevice.ACTION_FOUND); registerReceiver(mReceiver, filter); 相关知识: Android项目实战(二十五):蓝牙连接硬件设备开发规范流程

    1.5K100

    我也是可以开发安卓蓝牙应用的男人了

    我觉得也没必要专门为了这个去学安卓,毕竟我们也不是专门从事安卓开发的。...如果手机通过USB连接电脑的话,点击运行,手机端就会提示你安装应用程序。当然也可以把编译后生成的apk放到手机里安装,编译生成的apk在如下目录: ?...修改UUID。因为原作者用的蓝牙模块和我不一样,不改动是没法正常使用的。...第三步:实际测试 手机安装完之后,打开APP,自动搜索周围的蓝牙,显示在蓝牙列表里 ? 点击需要连接的KTA6368A对应的蓝牙,点击连接按钮 ? 连接成功后,日志如下 ?...这样就初步实现了我们的目标,以后也可以出去吹牛自己也是可以开发安卓程序的人了。

    1.2K20
    领券