白名单的使用

白名单的使用
客户提出这样的一个需求:SYD8811作为从机,只能够给指定的主机连接(只能够给制定mac地址设备连接)但是扫描功能不受限制,并且改功能还可以开关。
这个需求使用到了白名单的概念,经过研究之后发现SYD8811只有一个白名单,不能够做白名单列表,并且白名单还不能够单独对扫描请求和连接请求。
经过沟通,这里决定使用白名单,但是需要切换普通模式和白名单模式!
代码上使用到了KEY1和KEY2两个按键的中断:
在这里插入图片描述

因为White_List_Enable默认为0,所以上电后白名单是被关闭的,任何设备都能够扫描和连接8811.按下KEY1后白名单打开,只有指定的设备才能够连接和扫描。
在这里插入图片描述

这里修改了StartAdv函数的参数从void变成传入一个uint8_T的变量,该变量为0白名单失效,为一将会过滤掉非白名单的设备,白名单用gap_set_White_List来传入一个地址及其类型,为了方便测试,这里在连接上填充该地址结构体:
在这里插入图片描述

把上面的三个部分套起来后可得到如下的测试流程:

  1. 上电后先使用测试手机来连接一次SYD8811,然后断线,这时候地址就已经记录下来了
  2. 按下KEY1,等待GAP_EVT_ADV_END事件上报,注意:只有该事件上报重新广播后白名单的设置才能够生效。
  3. 这时候就可以看到只有刚才连接的手机才能够连接SYD8811,其他手机将不能够连接
    在这里插入图片描述

注意:如果用手机来测试,要确保蓝牙的连接地址不变,首先不能够退出连接界面,并且测量时间不要太长,如果可以请用非手机设备来测试:
在这里插入图片描述

这时候可以看到只有之前连接的设备(在白名单的设备)才能够扫描成功:
在这里插入图片描述

本文源代码如下:
https://download.csdn.net/download/chengdong1314/33471958

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue路由中,可以使用路由守卫配合白名单来实现权限控制。白名单是一个包含需要放行的路由路径的数组。通过使用前置路由守卫(beforeEach),可以在路由切换之前进行权限验证。具体使用方法如下: 1. 定义白名单使用const关键字定义一个变量,并赋值为一个包含需要放行的路由路径的数组。例如:const whitelist = ['/login', '/register']。 2. 在前置路由守卫(beforeEach)中使用白名单:在前置路由守卫的回调函数中,使用includes方法判断当前路径是否在白名单中,如果在白名单中,则放行。例如: ```javascript 基地址变量名.beforeEach((to, from, next) => { // 使用白名单 if (whitelist.includes(to.path)) { next(); } }) ``` 其中,参数to表示要跳转的目标路由对象,from表示当前准备离开的路由对象,next是一个函数,用于确定是否放行。 3. 后置路由守卫(afterEach):后置路由守卫在路由跳转完成后被调用,可以在该守卫中执行一些操作,但没有next()回调函数。例如: ```javascript 基地址变量名.afterEach((to, from) => { // 在路由跳转完成后执行操作 }) ``` 注意:白名单和前置路由守卫可以结合使用,用于控制某些路由是否需要进行权限验证。而后置路由守卫主要用于执行一些与路由跳转相关的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue/ Vue 全局路由守卫 前置路由守卫 (beforeEach) 后置路由守卫(afterEach)、搭配白名单使用方法](https://blog.csdn.net/m0_64494670/article/details/128010677)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值