首页
学习
活动
专区
工具
TVP
发布

Android蓝牙详析 | 经典蓝牙通讯架构

连接设备 蓝牙通讯机制建立在socket上; 要在两台设备上创建连接,需要实现服务器端和客户端机制 一般通讯过程: 在服务端等待客户端的连接请求, 有连接请求后连接, 连接成功后有一个socket...(也即套接字), 通过socket套接字得到IO流, 往输入流中读数据, 或者往输出流中写数据, 即可以实现两台设备之间的通讯; 服务器设备和客户端设备分别获得需要的BluetoothSocket...; 上面说过, 要在两台设备上创建连接, 需要实现服务器端和客户端机制, 其中有一台需要开放服务端的套接字, 另外一台作为客户端, 需要通过蓝牙的Mac地址向服务端发送连接请求; 当我们的服务端和客户端在同一个频道上的话...除非要接受更多连接,否则调用close()结束该次通信; 设置客户端 发起与远程设备(保持开放的服务器套接字的设备)的连接; 首先要获取表示该远程设备的BluetoothDevice对象, 这个对象是通过蓝牙

2.1K20

蓝牙协议详解(蓝牙是什么)

蓝牙协议分析(1)基本概念  蓝牙4.1,是一个大杂烩:BR/EDR沿用旧的蓝牙规范;LE抄袭802.15.4;AMP直接使用802.11。...1.蓝牙技术的概述 1.1 两种蓝牙技术:经典蓝牙(检称 BT)和低功耗蓝牙(简称BLE)  蓝牙协议包括两种技术:经典蓝牙(简称BT)和低功耗蓝牙(简称BLE)。...缝缝补补一,增强速度呗,Enhanced Data Rate就出现了。  使用EDR技术的蓝牙,理论速率可以达到2.1Mbps。...2)蓝牙协议规定了两个层次的协议,分别为蓝牙核心协议(Bluetooth Core)和蓝牙应用层协议(Bluetooth Application)。...蓝牙核心协议关注对蓝牙核心技术的描述和规范,它只提供基础的机制,并不关心如何使用这些机制;蓝牙应用层协议,是在蓝牙核心协议的基础上,根据具体的应用需求,百花齐放,定义出各种各样的策略,如FTP、文件传输

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

Android BLE 蓝牙开发,连接蓝牙设备进行通讯

以前开发蓝牙通讯,还需要实现蓝牙配对。需要主动跳转到手机设置界面进行PIN码配对,然后配对通过之后才能进行蓝牙链接。...ATT:全称为:Attribute Protocol,翻译为:属性协议。它是 GATT 的构建基础,二者的关系也被称为 GATT/ATT。...以上术语的介绍来源于Android官网 2.2 通讯过程 假如我们有一个蓝牙外置设备(Device),然后有一个支持蓝牙的移动设备(Phone)。两者之间的通讯方式步骤是: Device 开启蓝牙。...3.2 检测设备是否支持蓝牙 通常情况,手机是有蓝牙的。而我们如果在其他 Android 系统的设备中,例如TV,平板,一体机等等。是否有蓝牙还真不能完整保证。...默认情况,执行的是:SCAN_MODE_LOW_POWER在低功耗模式执行蓝牙LE扫描。 这是默认的扫描模式,因为它消耗最少的电量。

2.1K20

蓝牙协议栈初识

有线靠电缆传输,所以传输过程中只受电缆的影响,但蓝牙太开放了,在郎朗乾坤空气中进行传播,所以势必会有一定程度的衰减,暂不提空气中本身对电波造成的衰减,就说万一遇到障碍物干扰怎么办?...当然一项技术如果想要广泛的流传下去并保证所有蓝牙设备间的兼容性,那必须要求各个实现蓝牙的设备遵循一个规则,参考网络协议结构,蓝牙也构建了自己的协议体系。...其实意思就相当于类似网络协议模型有很多层各个层都有很多协议蓝牙sig就是模仿网络协议制定了蓝牙各种协议。...2,蓝牙电缆替代协议:RFCOMM协议 3,蓝牙电话控制协议:电话通信协议TCS协议,AT命令集 4,蓝牙选用协议:PPP,obex,Vcard(卡片传输),Vcal(日历传输)等等。...蓝牙协议体系暂时就这么多,简单理解就是有一个叫做sig的组织,规定了一些蓝牙的基本协议,然后为了实现某个功能比如文件传输,你需要从这些协议中挑出需要用哪些协议,以及这些协议如何进行协作,于是文件传输的应用

1.5K00

蓝牙协议分析(2)_协议架构

前言 本文是蓝牙协议分析的第二篇文章,在“蓝牙协议分析(1)_基本概念”的基础上,从整体架构的角度,了解蓝牙协议的组成,以便加深对蓝牙的理解。 2....协议层次 蓝牙协议是通信协议的一种,为了把复杂问题简单化,任何通信协议都具有层次性,特点如下: 从下到上分层,通过层层封装,每一层只需要关心特定的、独立的功能,易于实现和维护; 在通信实体内部,下层向上层提供服务...蓝牙协议也不例外,其协议层次如下: 从OSI(Open System Interconnection)模型的角度看,蓝牙是一个比较简单的协议,它仅仅提供了物理层(Physical Layer)和数据链路层...通常情况,一个通信系统中存在几种不同类型的信道,如控制信道、数据信道、语音信道等等。 逻辑层,在物理层的基础上,提供两个或多个设备之间、和物理无关的逻辑传输通道(也称作逻辑链路)。...: 对,它在用户类XXX-U Logical Link的基础上,抽象出和具体技术无关的数据传输通道(包括单播和广播两类),至此用户就不再需要关心繁杂的蓝牙技术细节。

2.1K10

iOS开发之蓝牙通讯

iOS开发之蓝牙通讯 一、引言         蓝牙是设备近距离通信的一种方便手段,在iPhone引入蓝牙4.0后,设备之间的通讯变得更加简单。...相关的蓝牙操作由专门的CoreBluetooth.framework进行统一管理。...通过蓝牙进行通讯交互分为两方,一方为中心设备central,一方为外设peripheral,外设通过广播的方式向外发送信息,中心设备检索到外设发的广播信息,可以进行配对连接,进而进行数据交互。...CBCentralManagerStateUnsupported, //未授权蓝牙使用 CBCentralManagerStateUnauthorized, //蓝牙关闭 CBCentralManagerStatePoweredOff...协议 //queue可以设置蓝牙扫描的线程 传入nil则为在主线程中进行 - (instancetype)initWithDelegate:(nullable id<CBCentralManagerDelegate

1.1K20

微信小程序蓝牙开发,微信小程序 蓝牙通讯

客户的需求如下:通过微信小程序控制蓝牙ble设备(电子面膜),通过不同指令控制面膜的亮度和时间。...01.首先看下客户的ble设备服务文档:(本部分需要有点蓝牙基础,在调试过程中可以用安卓软件nRF Connect软件来执行测试命令)UUID名称特征属性说明FFF0灯控服务FFF1灯控命令WriteAPP...02.现在开始进行开发小程序端:    0201.蓝牙适配器开启wx.openBluetoothAdapter({  success: function (res) {    //开启成功,继续搜索操作...  },  fail:function(){    //开启失败,后台监听状态处理,注意:在安卓系统中手动开启蓝牙可以监听,苹果在设置中开启监听不到,必须使用快捷图标开启(算是小程序蓝牙之坑)    wx.onBluetoothAdapterStateChange...api        //但是如果你的服务uuid需要你提供硬件mac地址交互的话需要做兼容处理        //例如你可以要求蓝牙方在广播数据中保存硬件mac地址.

29810

通讯协议与即时通讯

3.MQTT MQTT全称叫做Message Queuing Telemetry Transport,意为消息队列遥测传输,是IBM开发的一个即时通讯协议。...小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量; 这就是为什么MQTT能以轻量级低消耗著称,所以MQTT特别适用于低开销、低宽带占用的即时通讯场景。...当然QQ就是用的UDP协议,当然不仅仅是UDP,腾讯还用了自己的私有协议,来保证了传输的可靠性,杜绝了UDP各种数据丢包,乱序等等一系列问题。...其中MQTT和XMPP为聊天协议,它们是最上层的协议,而WebScoket是传输通讯协议,它是基于Socket封装的一个协议。...首先我们来看看基于MQTT协议的框架-MQTTKit: 需要说一的是: 1)当我们连接成功了,我们需要去订阅自己clientID的消息,这样才能收到发给自己的消息。

2.1K30

modbus通讯协议解析

(来源于: http://www.emtronix.com/product/ModBus_software.html ) Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。...通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。...Modbus通讯物理接口可以选用串口(包 括RS232和RS485),也可以选择以太网口。 2.modbus通信协议方式和数据包结构?...ModBus 通讯协议分为 RTU(远方数据终端) 协议和 ASCII 协议: 当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个字节都作为两个ASCII...这种方式的主要优点是:在同样的波特率 ,可比ASCII方式传送更多的数据 通讯传送方式:    通讯传送分为独立的信息头,和发送的编码数据。

1.5K20

蓝牙协议中的SBC编码

上图是一个典型的蓝牙耳机应用场景。手机上的音频信息经过编码以后通过蓝牙协议蓝牙耳机接收,经过解码以后,蓝牙耳机成功获取手机上的音频信息,然后再转化为振动被人耳识别。 这是一个典型的数字通信系统。...我们先看一数字通信系统的一般模型。 ? 信源即需要传输的信息。 信源编码即对信源的编码,目的是为了减少冗余,起到数据压缩的作用,常见的信源编码有Huffman编码、H.264编码等。...蓝牙耳机信号传输过程 对于典型的蓝牙耳机应用场景来说,信源就是PCM数据,信道编解码的方法由蓝牙协议来指定,信道即耳机和手机之间的电磁空间。...蓝牙协议规定所有的蓝牙设备都必须支持SBC编解码,并提供了其他一些可选的编解码方法,如AAC。由此可知,SBC和AAC、MP3类似,都是对音频数据进行编码的方法,目的都是数据压缩。...即经过SBC编解码以后,PCM数据发生了变化,这也是蓝牙耳机音质不是很好的一个原因。 SBC支持的采样率 包括44.1kHz、48kHz、32kHz、16kHz。

3.2K100

ActiveMQ学习之通讯协议

一、支持的通讯协议 ActiveMQ支持的client-broker通讯协议有:TCP、NIO、UDP、SSL、HTTP(S)、VM 其中配置Transport...默认情况 ActiveMQ默认把wire protocol叫做openwire,目的是促使网络上的效率和数据进行快速交互 3、TCP连接的url形式如下:“tcp://hostname...它允许开发人员对统一资源可有更多的client调用和服务端有更多的负载 2、适合NIO的应用场景: 2.1、可能有大量的Client去连接到Broker上,一般情况,...Middleware ),面向消息中间件设计的的简单文本协议 六、Message Queuing Telemetry Transport(MQTT协议) 是IBM开发的即时通讯协议...,有可能成为物联网的重要组成部分,该协议支持所有的平台,几乎可以把所有的联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通讯协议

94520
领券