【经验】芯科科技EFR32BG22系列蓝牙SOC修改自定义广播包的思路与具体实例
SILICON LABS的EFR32BG22系列蓝牙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;
}
}
以上就是自定义广播数据包的方法,然后将修改后的编译下载到芯片中,蓝牙就会广播自定义的数据包了。
- |
- +1 赞 0
- 收藏
- 评论 4
本文由小飞侠提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】STUDIO V5中蓝牙SoC EFR32BG22添加串口LOG打印的方法
在调试Silicon Labs蓝牙SoC EFR32BG22时,一般需要添加LOG打印信息,通过串口的方式来判断代码运行是否正常。由于使用RTT功能在打印信息时无法再次在线调试和代码下载,所以直接采用串口的方式更加便捷。
【经验】Silicon Labs的蓝牙SoC EFR32BG22如何进行在线的OTA升级?
Silicon Labs的蓝牙SOC EFR32BG目前已经能够支持到蓝牙5.2,工艺升级后的EFR32BG22的功耗能够达到接收4.1mA,0dbm发射功耗3.6mA,休眠功耗低至1.4uA,如此低的功耗,能够大幅延长蓝牙设备的电池续航时间。本文介绍蓝牙SoC EFR32BG22如何进行在线的OTA升级。
【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法
EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。
【应用】EFR32BG22蓝牙SoC用做CGM连续血糖仪主控,单芯片集成MCU和蓝牙5.2
CGM连续血糖仪为了用户体验更好,要做到小而轻,续航时间长,可以通过手机蓝牙连接获取血糖测量数据。Silicon Labs的蓝牙SoC EFR32BG22在单芯片中集成了MCU和蓝牙5.2,可以作为CGM的主控芯片并实现蓝牙数据收发,有丰富的外设。
基于芯科科技BG2x SoC的蓝牙信道探测和能量收集参考设计演示 – 尽在芯科科技/深圳物联网展
Silicon Labs(亦称“芯科科技”)在8月28至30日举办的“2024年深圳物联网展(IOTE Shenzhen)”展出现下最火的蓝牙信道探测(Channel Sounding)和能量收集(Energy Harvesting)参考设计,从而推动更多物联网创新应用。芯科科技的现场全面展示其BG2x低功耗蓝牙SoC和模块系列在蓝牙信道探测和能量收集技术方面的最新进展。
低功耗、高性能:探究流行蓝牙SOC的成功秘诀
随着无线技术的飞速发展,蓝牙SOC已成为当今市场上极为流行的无线通信解决方案。蓝牙SOC集成了蓝牙通信功能以及微处理器等其他功能,为现代智能设备提供了高效、稳定的连接体验。
【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导
很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。
【经验】芯科科技EFR32BG22系列蓝牙SOC低功耗优化的相关配置
本文主要介绍Silicon Labs(芯科科技)EFR32BG22系列蓝牙SOC目前所有的低功耗优化的相关配置,实现目标: VDD=3V,VSCALE0=0.9V,温度25℃,EM2模式下深度休眠为1.4μA。
AIoT与蓝牙SOC:智能生活的无缝连接
未来,随着5G、云计算、边缘计算等技术的不断发展,蓝牙SOC将会在AIoT领域发挥更加重要的作用。它不仅能够实现设备之间的无缝连接和数据交换,还能够为AI算法提供更加丰富的数据源,推动人工智能技术的不断创新和发展。
【经验】蓝牙SoC EFR32BG22增加Button功能并发送Notify数据包的方法
本文以Silicon Labs蓝牙SoC EFR32BG22的Thunderboard模块为例,介绍如何使用Simplicity Studio v5软件在蓝牙soc_empty工程中添加Button功能,并向手机发送Notify数据包的方法。
【应用】Silicon Labs车规级蓝牙SOC EFR32BG22用于汽车数字钥匙,工作频率高达76.8MHz
某客户的数字钥匙上需要用到两款LDO,目前有蓝牙SOC的需求,要求满足车规级,能够兼容手机蓝牙,给客户推荐了芯科的蓝牙SOC EFR32BG22,最高工作频率达到76.8MHz,非常符合客户的实际应该需求。
蓝牙SOC:高度集成的无线通信解决方案
蓝牙SOC(System on a Chip,系统级芯片)技术,作为现代无线通信领域的一项重要技术,正日益受到人们的关注和追捧。SOC,即将多个功能集成到单一芯片上,它大大提升了设备的集成度和性能,同时也降低了功耗和成本。在蓝牙技术中,SOC的应用使得蓝牙设备的制造更为简便,功能更为强大。
silicon labs EFR32BG22蓝牙固件OTA升级流程解析
介绍EFR32BG22蓝牙程序在非备份方式OTA时的详细操作流程,应用代码会跳转到AppLoader 中运行蓝牙功能,实现新固件的传输和写入。
Silicon labs 蓝牙SOC选型表
Cortex-M4/M33内核,支持蓝牙5,待机功耗1.2μA;实测网络节点100+,工作温度高达125℃,提供芯片和模块。其最新的1.4μA超低功耗蓝牙SoC EFR32BG22具有主频高达76.8MHz Cortex-M33内核,16位ADC,支持蓝牙5.2与AoX定位和蓝牙Mesh协议。
产品型号
|
品类
|
MCU Core
|
Core Frequency (MHz)
|
Flash
|
RAM
|
Secure Vault
|
Bluetooth
|
Bluetooth 5
|
Bluetooth Mesh
|
Cryptography
|
Output Power Range (dBm)
|
GPIO
|
I²C
|
SPI
|
I²S
|
Receive Sensitivity
|
ADC
|
Comparators
|
Temperature Range (ºC)
|
Package Type
|
Package Size(mm)
|
EFR32BG24B110F1536IM48-B
|
Bluetooth®Wireless SoC
|
ARM Cortex-M33
|
78
|
1536
|
256
|
High
|
5.3
|
Bluetooth 5
|
Bluetooth Mesh
|
AES-128;AES-256;ECC;SHA-1;SHA-2
|
-20 to 10
|
28
|
2
|
3
|
1
|
-97.6DBM(1Mbit/s GFSK)
|
12-bit,SAR,1Msps
|
2
|
-40 to 125
|
QFN48
|
6x6
|
选型表 - SILICON LABS 立即选型
蓝牙SOC天梯榜:选购蓝牙设备的必备指南
在无线通信技术中,蓝牙技术占据着重要的地位,特别是在短距离无线通信领域。随着蓝牙技术的不断发展,各种蓝牙芯片也层出不穷。为了帮助消费者和开发者更好地了解和选择蓝牙芯片,一些权威机构和技术网站会定期发布蓝牙SOC天梯榜。蓝牙SOC天梯榜是一个根据蓝牙芯片的性能、功耗、集成度、兼容性等多个维度进行综合评价的排名榜单。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,878
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
支持Bluetooth SIG最新的测试规范,支持2.0(EDR), 2.1(EDR), 3.0(HS), 4.0(LE)规范, 并且能完整覆盖BR/EDR/HS/BLE的所有射频测试项目。测试标准:RF.TS/4.03 ;RF-PHYTS/40.3。
实验室地址: 深圳 提交需求>
可定制内置FPC天线的频率尺寸等参数,频率范围315MHz、433MHz、470MHz、868MHz、915MHz,2.4GHz、5.8GHz、2G(GSM)、3G、4G、5G、WIFI、蓝牙、LoRa、NB-IoT多频段可选。
最小起订量: 1000 提交需求>
查看全部1条回复