【经验】芯科科技EFR32BG22系列蓝牙SOC修改自定义广播包的思路与具体实例

2023-03-16 世强
蓝牙SOC,EFR32BG22,SILICON LABS 蓝牙SOC,EFR32BG22,SILICON LABS 蓝牙SOC,EFR32BG22,SILICON LABS 蓝牙SOC,EFR32BG22,SILICON LABS

SILICON LABSEFR32BG22系列蓝牙SOC是一款性能卓越的芯片,其不仅低功耗、低成本,还有极高的灵敏度与安全性;应用在智能家居、医疗设备、智能照明等多个领域。在蓝牙的实际应用中,往往需要自定义的蓝牙广播包来适应不同的应用环境,本文主要介绍基于芯科科技的EFR32BG22蓝牙SOC实现自定义广播数据包的方法。

硬件环境:Simplicity Studio;

GSDK版泵:4.2.1;

芯片:EFR32BG22C224F512GM32;

首先我们要新建基于蓝牙SOC的空工程,在空工程的基础上修改app.c文件;如下图:


修改代码如下:

#include "em_common.h"

#include "app_assert.h"

#include "sl_bluetooth.h"

#include "app.h"

头文件这一部分不需要做修改。

static uint8_t advertising_set_handle = 0xff;


/**************************************************************************//**

 * Application Init.

 *****************************************************************************/

SL_WEAK void app_init(void)

{

  /////////////////////////////////////////////////////////////////////////////

  // Put your additional application init code here!                         //

  // This is called once during start-up.                                    //

  /////////////////////////////////////////////////////////////////////////////

}


/**************************************************************************//**

 * Application Process Action.

 *****************************************************************************/

SL_WEAK void app_process_action(void)

{

  /////////////////////////////////////////////////////////////////////////////

  // Put your additional application code here!                              //

  // This is called infinitely.                                              //

  // Do not call blocking functions from here!                               //

  /////////////////////////////////////////////////////////////////////////////

}

首先定义广播数据包的值,如下,这个可以根据自己的需求修改;最高支持31位。

uint8_t u8Adv_data[31]={0x02,0x01,0x06,

                0x05,0x04,0x12, 0x34, 0x56, 0x78,

                0x15, 0x09, 0x42, 0x47, 0x4d, 0x31, 0x31, 0x33, 0x31, 0x31, 0x33, 0x31,0x31,0x33,0x31,0x31,0x33,0x31,0x31,0x33,0x31,0x31};

/**************************************************************************//**

接下来进入蓝牙事件函数;

 *****************************************************************************/

void sl_bt_on_event(sl_bt_msg_t *evt)

{

  sl_status_t sc;


  switch (SL_BT_MSG_ID(evt->header)) {

    // -------------------------------

  

    case sl_bt_evt_system_boot_id:

      // 首先传出广播的handle,分配给蓝牙协议栈用来识别;

      sc = sl_bt_advertiser_create_set(&advertising_set_handle);

      app_assert_status(sc);

//然后设置广播间隔

      sc = sl_bt_advertiser_set_timing(

        advertising_set_handle,

        160, // min. adv. interval (milliseconds * 1.6)

        160, // max. adv. interval (milliseconds * 1.6)

        0,   // adv. duration

        0);  // max. num. adv. events

      app_assert_status(sc);


      //   //然后调用广播设置函数,传入对应参数

      sc = sl_bt_legacy_advertiser_set_data(advertising_set_handle,

                                            0,

                                            31,

                                            (u8Adv_data));

      app_assert_status(sc);

      //设置好广播参数之后,开启广播

      sc = sl_bt_legacy_advertiser_start(advertising_set_handle,

                                         sl_bt_advertiser_connectable_scannable);

      app_assert_status(sc);

      break;

//建立连接

    case sl_bt_evt_connection_opened_id:

      break;

//连接断开后,继续广播自定义数据包

    case sl_bt_evt_connection_closed_id:

      sc = sl_bt_legacy_advertiser_start(advertising_set_handle,

                                         sl_bt_advertiser_connectable_scannable);

      app_assert_status(sc);

      break;

    default:

      break;

  }

}


以上就是自定义广播数据包的方法,然后将修改后的编译下载到芯片中,蓝牙就会广播自定义的数据包了。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 3

本文由小飞侠提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(3

  • 用户10047085 Lv3 高级工程师 2024-01-24
    哈喽,想问下如果想接收这个adv的广播包是在哪个接口的?
    • layne_liu_世强回复: 你好,sl_bt_evt_scanner_legacy_advertisement_report是扫描到广播返回事件。可以参阅API文档:https://docs.silabs.com/bluetooth/7.0.0/bluetooth-stack-api/sl-bt-evt-scanner-legacy-advertisement-report描述摘要如下:Reports an advertising data or scan response packet from an advertising device that uses legacy advertising PDUs.This event is used to report advertisements only if the application includes the bluetooth_feature_legacy_scanner or bluetooth_feature_extended_scanner component

      查看全部1条回复

  • 用户10047085 Lv3. 高级工程师 2024-01-23
    哈喽,想问下如果想接收这个adv的广播包是在哪个接口的?
  • 用户_4811 Lv6 2023-04-07
    学习
没有更多评论了

相关推荐

【经验】STUDIO V5中蓝牙SoC EFR32BG22添加串口LOG打印的方法

在调试Silicon Labs蓝牙SoC EFR32BG22时,一般需要添加LOG打印信息,通过串口的方式来判断代码运行是否正常。由于使用RTT功能在打印信息时无法再次在线调试和代码下载,所以直接采用串口的方式更加便捷。

设计经验    发布时间 : 2021-06-30

【经验】Silicon Labs的蓝牙SoC EFR32BG22如何进行在线的OTA升级?

Silicon Labs的蓝牙SOC EFR32BG目前已经能够支持到蓝牙5.2,工艺升级后的EFR32BG22的功耗能够达到接收4.1mA,0dbm发射功耗3.6mA,休眠功耗低至1.4uA,如此低的功耗,能够大幅延长蓝牙设备的电池续航时间。本文介绍蓝牙SoC EFR32BG22如何进行在线的OTA升级。

设计经验    发布时间 : 2020-06-07

【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法

EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。

设计经验    发布时间 : 2020-11-28

【应用】EFR32BG22蓝牙SoC用做CGM连续血糖仪主控,单芯片集成MCU和蓝牙5.2

CGM连续血糖仪为了用户体验更好,要做到小而轻,续航时间长,可以通过手机蓝牙连接获取血糖测量数据。Silicon Labs的蓝牙SoC EFR32BG22在单芯片中集成了MCU和蓝牙5.2,可以作为CGM的主控芯片并实现蓝牙数据收发,有丰富的外设。

应用方案    发布时间 : 2021-07-20

基于芯科科技BG2x SoC的蓝牙信道探测和能量收集参考设计演示 – 尽在芯科科技/深圳物联网展

Silicon Labs(亦称“芯科科技”)在8月28至30日举办的“2024年深圳物联网展(IOTE Shenzhen)”展出现下最火的蓝牙信道探测(Channel Sounding)和能量收集(Energy Harvesting)参考设计,从而推动更多物联网创新应用。芯科科技的现场全面展示其BG2x低功耗蓝牙SoC和模块系列在蓝牙信道探测和能量收集技术方面的最新进展。

厂牌及品类    发布时间 : 2024-09-03

最新Matter智能家居参考设计打破生态藩篱—尽在深圳物联网展

随着智能家居市场的兴起,消费者对设备间的无缝互联与高效协同提出了更高要求。在这一情形下,Matter标准应运而生。连接标准联盟推出的Matter是一项全新的智能家居互联标准,旨在打破不同品牌、不同协议间的壁垒,实现智能家居设备的统一管理和互操作。自Matter标准发布以来得到了国内外众多厂商的支持,其功能不断增强,认证产品数量快速增长,覆盖品类更加多样化。本文介绍Matter 1.3带来哪些更新。

厂牌及品类    发布时间 : 2024-08-16

【经验】蓝牙SoC EFR32BG22的高精度ADC配置步骤与注意事项

Silicon Labs的EFR32BG22系列蓝牙SoC内部集成高精度ADC功能,采用内部1.21V作为Vref,ADC真实有效位数可达13.5bit,使用外部1.25V基准源作为Vref,精度可达14.3bit。本文介绍ADC配置相关步骤以及注意项目。

设计经验    发布时间 : 2020-11-04

【经验】基于studio v5蓝牙SOC EFR32BG22添加OTA的注意事项

本文主要讲解Silicon Labs的基于studio v5蓝牙SOC EFR32BG22添加OTA的注意事项,适用于内部Flash或者外部SPI Flash的OTA升级。

设计经验    发布时间 : 2021-09-20

芯科科技支援新的蓝牙®网状网络功能增强和网络照明控制标准化配置文件

中国,北京 - 2023年9月21日 – 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB),今日宣布其支持蓝牙技术联盟(Bluetooth SIG)针对蓝牙网状网络(Bluetooth Mesh)实现的新功能增强,以及他们新的网络照明控制(NLC)标准,该标准旨在为使用蓝牙网状网络的商业和工业照明提供一种统一标准。

厂牌及品类    发布时间 : 2024-07-25

【应用】芯科车规级蓝牙SOC EFR32BG22用于汽车数字钥匙,工作频率高达76.8MHz

某客户的数字钥匙上需要用到两款LDO,目前有蓝牙SOC的需求,要求满足车规级,能够兼容手机蓝牙,给客户推荐了芯科的蓝牙SOC EFR32BG22,最高工作频率达到76.8MHz,非常符合客户的实际应该需求。

应用方案    发布时间 : 2022-11-10

【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导

很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。

设计经验    发布时间 : 2020-02-20

完美结合无线连接、人工智能和安全性的智能家居解决方案

智能家居应用正在快速发展,其中推动智能设备的发展关键因素在于易于使用,而实现这一目标的最佳方法,便是让设备通过人工智能和机器学习技术进行自我思考。本文将为您介绍人工智能将如何强化智能家居设备的功能,以及由芯科科技(Silicon Labs)所推出的解决方案,将如何增强智能家居设备的功能性与安全性。

应用方案    发布时间 : 2024-06-23

silicon labs EFR32BG22蓝牙固件OTA升级流程解析

介绍EFR32BG22蓝牙程序在非备份方式OTA时的详细操作流程,应用代码会跳转到AppLoader 中运行蓝牙功能,实现新固件的传输和写入。

设计经验    发布时间 : 2023-11-08

【经验】Silicon Labs 蓝牙SOC EFR32BG22的Jlink接口连接问题解析

EFR32BG22是Silicon Labs公司推出的低功耗、低成本蓝牙SOC。EFR32BG22采用Cortex-M33内核,使用Jlink进行仿真调试、程序下载。出现错误提示,并且多次连接后可以正常连接,本文介绍其错误原因及其解决办法。

设计经验    发布时间 : 2021-10-19

BG24蓝牙SoC具备低功耗、小型化等特性,为CoreHW提供蓝牙RTLS的先进解决方案

Silicon Labs(亦称“芯科科技”)的BG24蓝牙SoC具备低功耗、小型化等特性,并支持蓝牙定位技术包括蓝牙到达角(AoA)和蓝牙信道探测(Channel Sounding),为CoreHW公司提供了最先进的实时定位服务(RTLS) 解决方案,以开发出创新的CoreTag和CoreLocator定位应用产品。

应用方案    发布时间 : 2024-06-21

展开更多

电子商城

查看更多

只看有货

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 111,630

品牌:SILICON LABS

品类:评估工具

价格:¥111.8652

现货: 1

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:开发工具

价格:¥331.7858

现货: 0

品牌:芯海

品类:蓝牙芯片

价格:¥3.3334

现货: 77,830

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥3.5334

现货: 7,470

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥6.1334

现货: 5,951

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:Switch Hall Effect Magnetic Position Sensor

价格:¥2.2924

现货:150,000

品牌:SILICON LABS

品类:Light Sensor

价格:¥20.3400

现货:28,003

品牌:SILICON LABS

品类:Position Sensor

价格:¥3.0897

现货:12,568

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:Gecko MCU

价格:¥15.6000

现货:5,353

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:SILICON LABS

品类:Wireless SoC

价格:¥15.1400

现货:1,455

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

蓝牙射频及通信协议测试

根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。

实验室地址: 深圳 提交需求>

语音/录音芯片定制

提供语音芯片、MP3芯片、录音芯片、音频蓝牙芯片等IC定制,语音时长:40秒~3小时(外挂flash),可以外挂TF卡或U盘扩容。

最小起订量: 1pcs 提交需求>

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面