BLE连接,再次连接

  • BLE的第一次连接
    • 1 蓝牙连接过程中的角色
    • 2 连接过程中两个角色对应的状态
    • ble蓝牙的连接过程
  • 二、 再次自动连接
    • 1 二次连接的特点:

BLE的第一次连接

所谓连接,分为一对多,多对一。这篇文章我先主要讲一下一对一的情况。

1 蓝牙连接过程中的角色

两者的角色:主(master)和从(slave),服务器(sever)和客户端(client),中心设备(Central)和外围设备(Peripheral)。
在蓝牙的整个连接过程中,其实更主要的是将设备分为“广播者”(Advertiser)和“发现者”(Observer)。
在以手机和蓝牙耳机为例:手机是Observer,通过扫描, 来发现蓝牙耳机这一广播着的设备
手机和智能设备的连接也类似,手机连接插座或者sensor设备,手机通过扫描来连接设备,
都可以把手机看做Observer,senser当做广播者。
广播者不断的发送广播信息到周围。间隔为10ms-10S,所功耗可以做的很低,每一次广播为11uA左右。
Observer —> Master —> Central --> Client–> Intiator
Advertiser —> slaver —>Perpheral -->Server

2 连接过程中两个角色对应的状态

一共五中状态:
Standby 准备
Aderversing 广播
Scaning 监听
Intiating 发起连接
Connect 连接

ble蓝牙的连接过程

or

二、 再次自动连接

1 二次连接的特点:

首先,Observer设备需要将adverser设备的addr写在手机中,所以当adverser 向主设备发送广播信号后,就可以建立连接进行通信,这样的要求是手机的app需要时刻监听和扫描。
这需要BLE Client设备保持监听,监听advertising,如果检测到发送advertising的设备是可连接的(已配对或在白名单内),自动发起连接。

因此,连接的情景:
因此,原生代码默认实现了自动连接的必要流程:

a. 配对成功之后,中心设备发起自动连接,只要当BLE Server想发送数据时,发送advertising双方就可以正式进行Link建立;
b. 重启中心设备,加载配对记录之后,中心设备发起自动连接,依然是当BLE Server想发送数据时,发送advertising双方就可以正式进行Link建立;
c. connection timeout的断开之后,中心设备发起自动连接,依然是当BLE Server想发送数据时,发送advertising双方就可以正式进行Link建立;
------BLE Server设备为了省电,当一段时间内没有数据要发送时,可以不再发送advertising,双方就会因为connection timeout断开,这是需要中心设备启动监听,这样,当BLE Server设备需要发送数据时,就可以再次连接

参考地址链接
https://www.cnblogs.com/iini/p/8972635.html

蓝牙BLE的连接过程,自动连接过程相关推荐

  1. android蓝牙开启后会尝试自动连接,Android 自动连接蓝牙

    蓝牙是手机和智能硬件通信常用的方式,蓝牙通信可分为传统蓝牙和低功耗蓝牙(BLE).其中BLE的连接断开等操作可以通过Android SDK中提供的API进行操作,而传统蓝牙部分SDK并没有提供相关的A ...

  2. c++exe程序在别人电脑上双击无法打开_解决 Windows 10 下蓝牙 4.0 鼠标无法自动连接的问题

    前言 前几天买了雷柏 M500 这款鼠标,支持 Wifi 接收器.蓝牙 3.0 和 4.0.但在用蓝牙 4.0 连接的时候连接总是自动断开,每次睡眠.重启,或者待机较长时间连接都会断开.蓝牙3.0没有 ...

  3. Android 通过蓝牙macAdress或者name实现自动连接的一种方法

    Android可以通过蓝牙设备的macAdress或者蓝牙设备名称,通过修改系统Setting部分源码实现在蓝牙设备列表中显示的蓝牙设备的自动配对和自动连接,具体源码修改如下 自动配对部分源码修改参照 ...

  4. android蓝牙开启后会尝试自动连接,以编程方式配对后,Android会自动连接蓝牙设备...

    我找到了解决方案. 首先,我需要一个BroadcastReceiver,如: private BroadcastReceiver myReceiver = new BroadcastReceiver( ...

  5. android 蓝牙自动连接,蓝牙自动连接实现

    实现的主要功能(蓝牙配对成功如何与远程设备一直连接) 1.当蓝牙配对成功连接时,断开远程端设备会自动连接 2.当设备长时间锁屏会导致CachedBluetoothDevice自动清空,如果蓝牙断开就不 ...

  6. android系统蓝牙自动连接

    实现的主要功能(蓝牙配对成功如何与远程设备一直连接) 1.当蓝牙配对成功连接时,非主动断开会自动连接 2.当设备长时间锁屏会导致CachedBluetoothDevice自动清空,如果蓝牙断开就不会自 ...

  7. 如何设置计算机自动连接宽带,宽带自动连接设置,教您电脑怎么设置宽带自动连接...

    最近有电脑用户反映,每次电脑开机之后,都要手动点击宽带连接才能连网,觉得这样很麻烦.其实,我们是可以为自己的电脑设置开机自动连接宽带的.可以简单而有效的提高工作学习效率,那电脑怎么设置宽带自动连接?下 ...

  8. 打开计算机网络自动连接,怎么让电脑一开机就自动连接到自己的wifi

    第一步:首先点击右下角无线网络图标-打开网络和共享中心. 第二步:点击"管理无线网络". 第三步:在弹出的界面下,点击你想优先使用的无线,如MERCURY_888236,然后点&q ...

  9. win8 网络 连接计算机名称,Win8系统宽带连接自动连接设置教程

    很多小白系统用户使用小白一键重装系统win8后不知道如何设置win8宽带连接自动连接,其实win8系统宽带自动连接还是比较简单的,本站小编鼓捣了一番做了下面这个如何创建win8系统宽带自动连接的详细教 ...

  10. Android 蓝牙BLE开发详解

    Android 蓝牙BLE开发详解 由于年初接手了个有关蓝牙BLE的项目,开始了对蓝牙ble的学习,经过长时间的慢慢学习(学得太慢,太拖了),终于了解了该怎么写蓝牙BLE,现在就给大家分享一下. 一. ...

最新文章

  1. 参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)
  2. 坑爹的BufferManager
  3. 自动驾驶汽车“定位”技术
  4. linux--cut命令
  5. 分布式架构知识体系必读
  6. mysql查看数据类型命令_mysql菜鸟指南(增删查改、数据类型、常用命令)
  7. 大剑无锋之hadoop默认的数据类型都有哪些?
  8. 服务器虚拟机密度,服务器整合:虚拟机密度大未必是好事
  9. 汽车距离报警系统c语言编程,基于单片机的超声波汽车报警系统的设计
  10. 变量 重复声明_JS:定义变量的var、let有何操作?(360°无死角)
  11. 美萍车辆业务管理系统
  12. Your GPU Compute Capability计算能力
  13. 微型计算机中央处理器又称为,微处理器又称为什么
  14. 数据库中违反外键约束的情况
  15. 苏州银行对公存款业务模块维护
  16. ​浓情七夕,有礼相送!
  17. Java怎么除以2_哪个更好的选项用于将整数除以2?
  18. 【数据可视化工具DataEase】如何修改内置 MySQL 容器名
  19. AR+旅游,来一场难忘的沉浸式旅行
  20. 详解(一)-ThreadPollExecutor-并发编程(Java)

热门文章

  1. 十进制转换十六进制Java实现
  2. vscode配置AStyle格式化代码
  3. Swing 组件 JTable 详解
  4. WCF医院管理系统技术解析(七)体检登记(六)前台收费
  5. vscode折叠功能失效问题解决
  6. 微信小程序从零开始开发步骤(一)搭建开发环境
  7. 网页打印,强制分页并为每一页添加标题,为每一页添加表头
  8. backdoor-factory详细使用教程
  9. element-ui 密码框显示小眼睛,点击可查看密码
  10. 禾川兴 专门为充电OTG产品打造的PD协议芯片LDR6028