XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XX  作       者:ZHS(文化人)

XX  联系方式:文章末尾Chat快问

XX  版权声明:原创文章,欢迎评论和转载~转载时能告诉我一声就最好了

XX  要说的话:作者水平有限,难免有不足之处,恳请指正!

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

写在前面:近几年蓝牙发展迅速,蓝牙IC每年的出货量高达数亿颗,无论我们身处任何地方,周围都可能同时存在着很多种蓝牙设备。那么蓝牙主机如何能在众多的蓝牙广播信号中,与我们期望的从机,自动建立蓝牙连接呢?可以通过设备名称、通过uuid等等;下面我就以设备名称为例,说说如何根据蓝牙的device_name去建立蓝牙连接。

1、打开nRF52832的sdk,找到ble_app_multilink_central例程,在main.c文件中找到on_ble_evt(),然后找到BLE_GAP_EVT_ADV_REPORT和on_adv_report();

2、首先获取广播数据和对应size,然后作为传入参数传给adv_report_parse();

3、这个解析函数会根据传入的type,在广播数据中找到对应的field_type,然后把对应的数据和长度给到传出参数p_typedata,最终给到dev_name;

4、因为我们传入的type是BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NMAE,所以如果找到了,那dev_name里就有广播的设备名称,这时候可以跟m_target_periph_name进行对比;如果没有找到,就再传入BLE_GAP_AD_TYPE_SHORT_LOCAL_NMAE去找。

5、如果对比发现广播数据里的设备名称刚好跟我们的目标外设名称一样,就可以调用sd_ble_gap_connect去连接了。

以上是例程中给的方法,我们弄明白了原理,也可以换个方法实现;

同理我们也可以实现根据uuid进行连接的接口;

nRF52832 — 连接指定name、UUID、addr的蓝牙设备相关推荐

  1. 微信小程序进行蓝牙初始化、搜索附近蓝牙设备及连接指定蓝牙(一)

    前言: 微信小程序搜索附近蓝牙设备,必须先进行蓝牙初始化,初始化ok进行搜索附近蓝牙设备.连接指定蓝牙需要deviceId(硬件通过at指令可以查看deviceId) 准备工作: 软件:微信小程序 硬 ...

  2. 安卓java修改热点_修改Android源码实现连接指定BSSID的热点

    1 概述 需要实现一个需求,Android手机A发射热点,获取BSSID,发送到另一台Android设备,在环境中存在多个同样SSID和密码的情况下,设备只会连接手机A. 1.1 概念 服务集识别码( ...

  3. EdgeRouter X设置外网远程访问和HTTPS连接指定出口网关

    EdgeRouter X虽然小巧,但功能强大,为方便远程管理,必须对防火墙进行设置,允许从外部进行访问,由于公网的80.443端口都已被运营商关闭,必须设置端口转发才能从外部访问. 一.设置外网远程访 ...

  4. Android之解决Android10.0通过热点名字和密码连接指定热点网络不能通信问题(2种解决办法)

    1 问题 Android10.0设备通过热点名字和密码连接另外一台设置指定热点,但是他们之间依然不能通信,网络不可达. Android10.0设备通过热点名字和密码连接另外一台设置指定热点,我用的是官 ...

  5. Android之通过用户名和密码连接指定wifi热点(兼容Android9.0和Android10.0和addNetwork(wifiNewConfiguration)返回-1问题)

    1 需求 通过用户名和密码连接指定wifi热点,网上的代码乱七八糟,没几个可以用,我这边整理了下,测试了华为Android9.0和小米Android9.0和10.0和OPPO Android9.0 都 ...

  6. android官方wifidemo,Android应用开发:连接指定Wifi的Demo分享

    本文主要向大家介绍Android应用开发,给定App相应SSID及密码,连接指定WIFI,希望对大家学习Android应用开发有所帮助. 1.MainActivity.java包含工具类WifiAdm ...

  7. winxp计算机远程桌面连接,winxp系统远程桌面不能连接指定计算机的解决方法

    在中,自带有远程桌面功能,可以让我们远程控制指定计算机来进行操作,不过近日有xp系统用户发现远程桌面不能连接指定计算机,还总是提示重新连接, 这是怎么回事呢,针对这个问题, 1.首先确保 2.开启远程 ...

  8. xp 远程桌面无法找到该计算机,XP系统中远程无法连接指定计算机的处理方法

    我们在XP电脑的使用中,有一些功能是很需要使用的,比如系统的远程桌面的连接操作使用,当我们在使用XP电脑的时候,小伙伴们对一些问题不能解决的时候,就需要远程连接桌面来让其他的小伙伴来帮助一下,今天小编 ...

  9. 蓝牙硬件设备没有链接到计算机,电脑连接蓝牙却搜索不到蓝牙设备怎么办

    电脑想要连接蓝牙却搜索不到蓝牙设备应该如何解决?一般来说,只要是Win10系统都是自带蓝牙设备的,然而最近有用户表示想要连接蓝牙却搜索不到蓝牙设备,那么这是怎么回事呢?这很有可能是因为蓝牙驱动问题或者 ...

最新文章

  1. Navicate Premium不能用localhost和127.0.0.1登陆sql-server,解决方法
  2. pyspark randomSplit代码示例
  3. VUE2.x的浏览器兼容情况汇总
  4. 3 Python os 文件和目录
  5. Java架构师除了必备的技术之外,这些技能也需必备?你们觉得呢?
  6. springcloud 熔断不生效_深入理解SpringCloud与微服务构建
  7. java map遍历_Java中Map集合的两种遍历方式
  8. C#鼠标点击器-没有测试-转自http://hi.baidu.com/syq_ghost/item/2cc253eb538b72e7fb42ba44
  9. 《数据可视化》之小白学习篇(二)
  10. 计算机代数与密码学,代数曲线与密码学
  11. 常见概率模型在市场中的应用
  12. 利用SPSS对数据转置和数据整理
  13. 新浪微博客户端开发之发布微博
  14. 搭建自己的网站(服务器羊毛篇)
  15. 用计算机术语写毕业寄语,毕业寄语唯美句子(精选55句)
  16. 用数据分析验证,王者荣耀完胜阴阳师,小学生才是最终的赢家
  17. Winform从入门到精通(17)——PictureBox(史上最全)
  18. 装虚拟机装Oracle数据库
  19. 使用了未经检查或不安全的操作
  20. 个人博客系统(Vue实现)的主页布局设计

热门文章

  1. 美团技术四面经历,作者已拿到Offer!
  2. Spring Cloud 微服务架构的五脏六腑!
  3. 京东到家基于netty与websocket的实践
  4. Mybatis:基于注解形式,传入List,返回List实体
  5. 1.深度好文:带缓冲I/O 和不带缓冲I/O的区别与联系
  6. MyEclipse 破解文件 run.bat闪退
  7. one or more of the ports are invalid. Open the server editor and correct the invalid ports
  8. Linux下按扇区读写块设备,Linux下按扇区读写块设备
  9. UPS不间断电源培训资料
  10. ups的空开、电缆及电池的配置计算