一、背景

蓝牙接收信号强度 RSSI 的直接影响因素就是蓝牙信号的发射功率。发射功率就是你所使用的设备(开发板、手机)所发射出来给主机或从机设备的信号强度。同时在实际应用当中,时常也需要修改蓝牙的发射功率,以达到省电的目的。

1.1 发射功率范围

(最大)4dB、(默认)0dB、-4dB、-8dB、-12dB、-16dB、-20dB、-30dB、(最小)-40dB
nRF51系列最小值-30dB
nRF52系列最小值-40dB

1.2 发射功率作用

发射功率越大,信号越强,距离越远,功耗越大。
发射功率越小,信号越弱,距离越近,功耗越小。

发射功率只是影响通信距离的因素之一,通信距离还与环境、天线选型、天线电路匹配等因素有关。

二、修改实际发射功率

2.1 相关函数

/**@brief Set the radio's transmit power.** @param[in] role The role to set the transmit power for, see @ref BLE_GAP_TX_POWER_ROLES for*                 possible roles.* @param[in] handle   The handle parameter is interpreted depending on role:*                     - If role is @ref BLE_GAP_TX_POWER_ROLE_CONN, this value is the specific connection handle.*                     - If role is @ref BLE_GAP_TX_POWER_ROLE_ADV, the advertising set identified with the advertising handle,*                       will use the specified transmit power, and include it in the advertising packet headers if*                       @ref ble_gap_adv_properties_t::include_tx_power set.*                     - For all other roles handle is ignored.* @param[in] tx_power Radio transmit power in dBm (see note for accepted values).** @note Supported tx_power values: -40dBm, -20dBm, -16dBm, -12dBm, -8dBm, -4dBm, 0dBm, +3dBm and +4dBm.* @note The initiator will have the same transmit power as the scanner.* @note When a connection is created it will inherit the transmit power from the initiator or*       advertiser leading to the connection.** @retval ::NRF_SUCCESS Successfully changed the transmit power.* @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.* @retval ::BLE_ERROR_INVALID_ADV_HANDLE Advertising handle not found.* @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.*/
SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(uint8_t role, uint16_t handle, int8_t tx_power));
  • 第一个参数设置对应角色的功耗:
    BLE_GAP_TX_POWER_ROLE_ADV:广播发射功率
    BLE_GAP_TX_POWER_ROLE_SCAN_INIT:扫描或发起者功率
    BLE_GAP_TX_POWER_ROLE_CONN:连接时的功率
    对于主机(BLE Central)来说,connect的功率是继承scan的发射功率;对于从机(BLE Peripheral)来说,connect的功率是继承advertising功率。

  • 第二个参数设置为广播的连接句柄:BLE_ADVERTISING_DEF(m_advertising); 定义实体

  • 第三个参数设置功率的层级:-40dBm, -20dBm, -16dBm, -12dBm, -8dBm, -4dBm, 0dBm, +3dBm and +4dBm

2.2 添加代码

在 GAP 初始化或广播初始化的时候,通过 sd_ble_gap_tx_power_set() 设置发射功率。

2.3 最大档和最小档发射功率比较

-35dB是最大档发射功率,-76dB是最小档发射功率。

2.4 其他SDK版本

或者,根据SDK版本不同,可能是以下情况:

/**@brief Set the radio's transmit power.** @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).** @note The -30dBm setting is only available on nRF51 series ICs.* @note The -40dBm setting is only available on nRF52 series ICs.** @retval ::NRF_SUCCESS Successfully changed the transmit power.* @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.*/
SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));

三、修改广播中显示的发射功率


查看广播:


0x0A 就是 广播中AD Type:BLE_GAP_AD_TYPE_TX_POWER_LEVEL


• 由 Leung 写于 2021 年 8 月 24 日

• 参考:nrf52832学习笔记(3)设置发射功率
    nRF52832 ------增强广播功率为4db

NRF52832学习笔记(38)——修改发射功率相关推荐

  1. nrf52832学习笔记(3)设置发射功率

    只要调用下面api就可以设置发射功率 /** @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30 ...

  2. nrf52832 学习笔记(三)蓝牙从机广播

    nrf52832 学习笔记(三)蓝牙从机广播 蓝牙从机要想被主机连接,首先需要发送广播信息,周围主机通过扫描广播信号,根据从机的广播信息,判断是否连接. 蓝牙协议栈初始化 不管是主机还是从机,要想使用 ...

  3. nrf52832 学习笔记(七)蓝牙协议层级理解

    nrf52832 学习笔记(七)蓝牙协议层级理解 本文主要由一下几篇文档摘录汇总而成 ,如有错误欢迎斧正 da14531 蓝牙协议文档 深入浅出低功耗蓝牙(BLE)协议栈 低功耗蓝牙ATT/GATT/ ...

  4. nrf52832 学习笔记(五)蓝牙主从机连接和连接参数更新

    nrf52832 学习笔记(五)蓝牙主从机连接和连接参数更新 主机连接 nrf52832 SDK中主机连接从机需要使用 sd_ble_gap_connect(ble_gap_addr_t const ...

  5. nrf52832 学习笔记(六)配对和绑定

    nrf52832 学习笔记(六)配对和绑定 配对绑定推荐博客低功耗蓝牙配对绑定解读和实践 蓝牙在配对之前都是明文通信的,也就是说主从机之间传输的数据包可以被第三方抓取分析逆向,而且如果没有配对,谁都可 ...

  6. NRF52832学习笔记(40)——RFID RC522使用

    一.简介 MF RC522 是应用于 13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员.是 NXP 公司针对"三表"应用推出的一款低电压.低成本.体积小的非接触式读写 ...

  7. nrf52832 学习笔记(一)开发资料汇总

    nrf52832 学习笔记(一)开发资料汇总 协议栈和SDK下载地址 nordic官方的sdk分为ncs(nRF Connect SDK)和sdk17(nRF5 SDK)两种,区别是: sdk17不会 ...

  8. nrf52832 学习笔记(二)SDK框架分析

    nrf52832 学习笔记(二)SDK框架分析 个人对SDK框架的一些理解,如有错误欢迎斧正. flash 分区 在不包含DFU的情况下,nrf52832 flash划分为: MBR 0x000000 ...

  9. nrf52832 学习笔记(四)蓝牙主机扫描

    nrf52832 学习笔记(四)蓝牙主机扫描 从机发出广播后就需要主机进行扫描了,主机扫描之前和从机一样,也需要协议栈初始化.GAP初始化.GATT初始化,这些和从机类似,参考 nrf52832 学习 ...

最新文章

  1. [转]DotNet for Symbian平台 (Nokia,Sony,Motorola等手机)
  2. System.Threading.Timer类的TimerCallback 委托
  3. Mysql雨松工具类使用
  4. Android中解析XML---数据存储
  5. 微信小程序图片上传(文字识别)
  6. mongodb检查点_Mongodb 日志原理和操作
  7. 软件“美不美”,UI测试一下就知道
  8. 【Android】再来一篇Fragment懒加载(只加载一次哦)
  9. 一只青蛙跳向三个台阶_9. 变态跳台阶
  10. JUC与JVM并发编程学习笔记04
  11. 不知如何走的立交桥(西直门交警一文背景)
  12. python收益风险点图_AAVE当前风险与收益是否有偏差?如何评估DeFi投资组合?
  13. 6. 抹平差异,统一类型转换服务ConversionService
  14. 2006年十二生肖开运大预言
  15. TCPDF 解决中文乱码的问题
  16. 做好异常处理,防止无故翻车
  17. 知物由学 | 再造巴别塔,我们如何进行NLP跨语言知识迁移?
  18. 计算机考研专业课考研真题,计算机考研专业课真题.docx
  19. Roson的Qt之旅 #129 QNetworkProxyFactory(网络代理工厂)
  20. 还在手动测试?那是那还不知道Python自动化测试的强大之处

热门文章

  1. java生成二维码图片、转base64
  2. Cesium雨雪雾天气效果
  3. XP系统测试显示器软件在哪,WinXP系统下如何检测显示器白点
  4. 在AWS上部署一个网站
  5. 非制冷式红外探测器原理研究(课题总结论文)
  6. 无线数字平板探测器维修Mars1717XU-VSI故障分析
  7. 当前市场主流蓝牙音频SOC
  8. 决策过程并举例_David Silver 增强学习——Lecture 2 马尔可夫决策过程(一)
  9. java 12306 证书_java加载证书,访问12306的https链接
  10. 如何两步完成网页到Android App转换