展开

关键词

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.蓝牙通信发送文件

91820

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是什么,大家可以自行百度,因为详细的文章已经很多了。

2.3K20
  • 广告
    关闭

    腾讯云精选爆品盛惠抢购

    腾讯云精选爆款云服务器限时体验20元起,还有更多热门云产品满足您的上云需求

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

    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 应用可以分为两大类:基于非连接的和基于连接的 基于非连接的: 意思就是外设和周边设备不发生连接,主要靠扫描到的广播来获取信息。

    29310

    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 需要这个权限才可以进行蓝牙通信,例如:请求连接、接受连接、和传输数据。

    55610

    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() { // 获取蓝牙适配器

    5520

    蓝牙项目开发心得

    ){ 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经典问答【转】 - 逗不过奇葩 - 博客园  最清晰的关于蓝牙

    60990

    Android 蓝牙开发(1)

    应用框架提供了通过 Android Bluetooth API 访问蓝牙功能的途径。 正是利用这个对象来完成蓝牙设备间的数据交换, BluetoothServerSocket 表示用于侦听传入请求的开发服务器套接字(类似于 TCP ServerSocket)要连接两台 Android 设备 ,其中一台设备必须使用此类开发的一个服务器套接字。 BluetoothHealthAppConfiguration 表示第三方蓝牙健康应用注册的应用配置,以便与远程蓝牙健康设备通信 BluetoothProfile.ServiceListener 在 关于 UUID 通用唯一标识符(UUID),用于表示唯一标识信息的字符串ID,128位。

    92501

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

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

    3420

    android 蓝牙开发浅析

    ="android.permission.BLUETOOTH_ADMIN"/> 配置本机蓝牙模块 在这里首先要了解对蓝牙操作一个核心类BluetoothAdapter BluetoothAdapter ); startActivityForResult(intent, 0x1); //直接打开蓝牙 adapter.enable(); //关闭蓝牙 adapter.disable 该方法会进行对其他蓝牙设备的搜索,该过程会持续12秒。 蓝牙Socket通信 如果打算建议两个蓝牙设备之间的连接,则必须实现服务器端与客户端的机制。 )方法获取BluetoothSocket(该UUID应该同于服务器端的UUID) 调用BluetoothSocket的connect()方法(该方法为block方法),如果UUID同服务器端的UUID匹配

    11530

    浅谈Bluetooth蓝牙开发

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

    948100

    蓝牙项目开发流程

    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应用过程,有时候会出现连接蓝牙设备时连不上,除非在设置里把蓝牙关调再重新打开蓝牙,然后再连设备才能连接,这是什么问题

    1.6K100

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

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

    35120

    iOS开发蓝牙(一)

    在iOS开发中,我们最常用的蓝牙开发框架应该是Core Bluetooth,因为它可以与第三方蓝牙设备交互(必须要支持蓝牙4.0),蓝牙4.0以低功耗著称,所以一般也叫BLE(Bluetooth Low Energy),目前广泛应用于智能手环,智能嵌入式设备,智能家居等领域。 在Core Bluetooth中提供了与蓝牙设备进行通信所需的类与协议,所以在开发之前一定要将他们的关系弄清楚,那么开发起来才会事半功倍。 外围设备、服务和特征值的关系 两种开发模式 中心模式:如下图左边所示,以App为中心,连接其他的外设进行通信;(常见开发模式) 外设模式:如下图右边所示,使用手机作为外设,连接其他中心设备进行通信; 两种开发模式 中心模式的开发步骤 创建CBCentralManager实例进行蓝牙管理 搜索外围设备 连接外围设备 获得外围设备的服务 获得服务的特征 从外围设备读数据(读取或订阅) 给外围设备发送数据

    50041

    Android蓝牙开发(一)之打开蓝牙和设备搜索

    Android蓝牙开发系列目录: https://blog.csdn.net/huangliniqng/article/details/82185635 一、判断是否系统是否支持蓝牙 在使用蓝牙之前, 我们首先要判断手机设备是否支持蓝牙,虽然现在基本都支持蓝牙了,但是为了代码的严谨性我们还是需要在代码中判断: private BluetoothManager bluetoothmanger; private ", Toast.LENGTH_SHORT).show(); } 二、判断蓝牙是否打开 开始使用蓝牙之前,首先要判断蓝牙是否开启,如果没有开启则开启,蓝牙开启有两种方式一种是直接默认开启,另一种是弹出框让用户选择开启 ,此外我们还需要注册蓝牙广播,当扫描到设备时才方便做处理 设置蓝牙广播过滤器也就是添加广播类型,在这里我们把蓝牙状态改变、搜索到设备、搜索完成等广播都添加进来,后续都可以用到 /** * 蓝牙广播过滤器 //获取本地蓝牙名称 String name = bluetoothadapter.getName(); //获取本地蓝牙地址 String address = bluetoothadapter.getAddress

    1K21

    UUID在Java中的实现与应用

    但与此同时,使用MAC地址会带来安全性问题,这就是这个版本UUID受到批评的地方。如果应用只是在局域网中使用,也可以使用退化的算法,以IP地址来代替MAC地址。 2. 关于UUID使用的思考和总结 UUID是为了解决标识唯一性而提出的,这在分布式应用场景下非常常见。例如,用户登录Token,数据库记录主键ID等等。 >>> import uuid >>> uuid.uuid1() UUID('d3a173de-0ca9-11e8-af24-f0d5bf9aedc1') >>> uuid.uuid1() UUID(' >>> uuid.uuid3(uuid.NAMESPACE_DNS,"chench") UUID('a0fda26d-acf1-37da-ad64-7cac7753de92') >>> uuid.uuid3 >>> uuid.uuid4() UUID('d1437e20-95eb-446a-b9ca-9184013b8542') >>> uuid.uuid4() UUID('4dce6000-0ad5-4f35

    1.4K20

    ios蓝牙应用的后台处理

    如果你的应用在后台时也需要处理蓝牙事件,就必须在Info.plist中声明应用要支持蓝牙后台模式,这样,当有蓝牙事件发生时,系统会唤醒应用来处理。 有两种蓝牙后台模式,一种为central角色,另一种为peripheral角色。如果应用需要两种角色,则可以声明支持两种模式。

    49830

    蓝牙芯片----BK3431开发笔记------基本外部驱动应用(3)

    2.IIC的读写(主) 3.PWM的输出 4.RTC的使用 先初始化RTC,才能读出RTC的值,或者RTC中断(rtc_alarm_init) 5.UTC的使用 用于时间计时,UTC比较准,读出系统蓝牙时钟

    45110

    蓝牙在小程序中的应用

    导语: 蓝牙在日常生活中广泛使用的一项技术,小程序给了我们前端工程师一个控制蓝牙的方法,带上你的设备,来看看怎么控制你的蓝牙设备吧。 1. ,所以作为我们前端开发人员可以更加方便的进行蓝牙设备开发,而无需了解安卓和IOS的各种蓝牙底层概念。 (2) UUID:是由子母和数字组成的40个字符串的序号,根据硬件设备有关联的唯一ID。 (3) 设备地址:每个蓝牙设备都有一个设备地址deviceId,但是安卓和IOS差别很大,安卓下设备地址就是mac地址,但是IOS无法获取mac地址,所以设备地址是针对本机范围有效的UUID,所以这里需要注意 Mac和UUID:安卓的mac地址是可以获取到的所以设备的ID是固定的,但是IOS是获取不到MAC地址的,只能获取设备的UUID,而且是动态的,所以需要使用其他方法来查询。

    3.1K50

    微信小程序蓝牙开发

    微信小程序蓝牙控制方案: 蓝牙模块如何快速改名并绑定用户手机?这样即使多台蓝牙设备在同一个地方使用也可以互不干扰,燧星科技给出解决方案。 长按控制板5秒进入待绑定下状态,点击“添加蓝牙设备”。 image.png 小程序会生成一个蓝牙名并分别保存在控制板与小程序中形成绑定关系。 添加成功之后点击确定进入控制面 image.png 此时蓝牙设备可直接与手机进行数据传输,手机还可把采集到的数据 上传服务器接入互联网实现远程监控,应用在智能家居控制、 自动售卖机、蓝牙灯、蓝牙插座、蓝牙电动门

    13920

    Windows 8.1 低功耗蓝牙开发

    下面我们就一起来了解一下如何在Windows 8.1平台上开发蓝牙 4.0 BLE的应用。 2. 图4 有关Sensor Tag提供的服务和对应的UUID,可以参考TI官方的文档:TI Development KIT。 其中用的典型的UUID包括: Thermometer "f000aa00-0451-4000-b000-000000000000" Accelerometer "f000aa10-0451-4000-b000 创建应用 创建一个Windows Store应用,然后使用记事本或者在View Code下编辑Package.appxmanifest文件,加入以下Capabilities: <Capabilities 使用这个库很简单: 第一步,在新建Store应用中加入应用的Capabilities,步骤与上面第4节中的一样。

    1K50

    相关产品

    • 应用安全开发

      应用安全开发

      应用安全开发(Xcheck)专注于解决软件安全开发流程中研发阶段的代码安全问题,通过扫描源代码,实现开发阶段的代码安全漏洞生命周期闭环管理,帮助企业和组织实现源代码安全的自动化检测、漏洞周期管理、安全质量分析,实现源代码安全的可视化管理。

    相关资讯

    热门标签

    扫码关注腾讯云开发者

    领取腾讯云代金券