【经验】SiliconLabs EFR32BG22芯片如何实现BLE连接并进行数据收发
不少首次接触BLE的开发者不太清楚如何实现BLE数据的交互,本文以SiliconLabs的EFR32BG22芯片平台为例,指导如何通过建立BLE连接并进行数据交互。
硬件:SLTB010A开发板
软件:Simplicity Studio V5,GSDK v4.2.1
APP:EFR Conncet,获取链接:https://github.com/SiliconLabs/EFRConnect-android/tree/master/build
1、SLTB010A连接上电脑,通过Simplicity Studio V5创建SoC Empty工程。
2、打开工程的GATT Configurator,新增自定义Service并在该Service下创建一个Characteristic。
3、配置新创建的Characteristic,将ID选项勾选,设置名称为read_wirte(代码中需要用到),数据长度限制修改为50字节并勾选可变长度(不修改默认只能收发单字节),同时将write和notify权限开启。
4、在app.c中,加入定义和处理代码。
#include "gatt_db.h"
#include <stdio.h>
uint8_t _connection = 0;
char read_buf[50];
char write_buf[60];
memset(read_buf, 0, sizeof(read_buf));
memset(write_buf, 0, sizeof(read_buf));
_connection = evt->data.evt_connection_opened.connection;
//当收到连接对端发过来的数据时,会产生该事件
case sl_bt_evt_gatt_server_attribute_value_id:
// 将接收到的数据保存到read_buf
strncpy(read_buf, (char *)evt->data.evt_gatt_server_attribute_value.value.data, evt->data.evt_gatt_server_attribute_value.value.len);
// 将接收到的数据加上前缀Device:并保存到write_buf
sprintf(write_buf, "Device:%s\n", read_buf);
// 通过Notify的方式把数据发回给连接对端
sc = sl_bt_gatt_server_send_notification(_connection, gattdb_read_write, strlen(write_buf), (uint8_t *)write_buf);
app_assert_status(sc);
break;
5、编译工程并烧录,注意要同时烧录bootloader,bootloader的生成可以参考https://www.sekorm.com/news/55128086.html
6、手机打开EFR Connect APP,搜索连接对应的蓝牙设备,设备名称为Empty Example。
7、在对应的Characteristic下,点击Notify进行使能,然后再点击Write。
8、在发送窗口中填写需要发送的数据”1234”,点击send,然后可以看到设备端返回的数据”Device:1234”,至此,BLE的数据收发完成。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由xion提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
相关推荐
【经验】Silicon Labs蓝牙Soc芯片EFR32BG22的蓝牙广播功率设置及注意事项
用户在使用Silicon Labs的蓝牙Soc芯片EFR32BG22实现蓝牙广播功能时,在不同的应用场景中要设置广播的发射功率,有的是为了降低产品的功耗,有的是为了增加或缩短通信的距离。那要如何设置广播时的功耗以及在设置时有哪些需要注意的事项?
设计经验 发布时间 : 2021-12-24
【经验】Silicon Labs无线收发芯片Si4463如何区分芯片版本号?
Si4463是Silicon Labs设计的支持Sub-G频段的无线收发芯片。目前Si4463芯片有B1和C2两种版本,这两个版本芯片radio驱动代码的si446x_patch.h和radio_config.h文件有差别。本文主要介绍Si4463芯片区分芯片版本号的方法。
设计经验 发布时间 : 2021-01-12
【经验】使用Simplicity Commander工具读写EFR32无线SoC芯片EUI和install code方法
本文以Silicon Labs EFR32FG23 Sub-G无线SoC芯片为例,介绍如何读写EFR32无线SoC芯片的EUI和install code的方法。
设计经验 发布时间 : 2023-04-21
【应用】芯科小体积蓝牙SOC芯片EFR32BG22满足CGM便携式需求,唤醒模式下功耗只有0.17μA
芯科EFR32BG22芯片可以实现极低的功耗,休眠模式下平均功耗1.40 μA,唤醒模式下功耗只有0.17 μA ,适合CGM等要求长时间使用的设备。通过对芯片进行灵活的功耗管理和优化,可以尽量延长设备的使用寿命,从而提高糖尿病患者的使用体验。
应用方案 发布时间 : 2023-06-06
【经验】如何使用Simplicity Studio来抓取蓝牙芯片的广播数据包
Simplicity Studio是一款以Silicon Labs系列芯片为主的集成开发环境(IDE),它提供了全面的工具链和软件框架,可用于设计、开发和调试各种嵌入式系统。
设计经验 发布时间 : 2023-05-09
【经验】使用Simplicity Commander生成EFR32FG23芯片升级固件所需gbl文件的方法
当我们使用串口来升级EFR32FG23芯片的固件时,需要用到gbl格式的文件,本文以EFR32FG23的rail_soc_simple_trx工程为例,介绍使用Simplicity Commander工具将EFR32FG23的s37文件生成gbl文件的方法。
设计经验 发布时间 : 2022-09-13
【经验】芯科EFR32系列通过命令行读取芯片NVM3区域内容的方法
在开发芯科EFR32系列芯片有时候出现问题或者需要对比要读取NVM3区域的内容,不知道如何抓取数据,芯科的图形软件里面也没有这个功能,此时就需要通过命令行来进行读取数据,本文就是介绍芯科EFR32系列通过命令行读取芯片NVM3区域内容。
设计经验 发布时间 : 2023-02-03
Kudelski IoT加入芯科“芯伙伴”技术合作计划,扩展芯片硬件功能,联手强化物联网端到端安全
Silicon Labs热烈欢迎 Kudelski IoT成为“芯伙伴”技术合作计划的正式成员。Silicon Labs借由与Kudelski IoT携手,将能够全面强化物联网端到端安全技术的支持能力,以满足物联网开发人员的需求。
原厂动态 发布时间 : 2023-01-01
【经验】使用Commander工具合成EFR32FG23芯片的BootLoader和Application固件的方法
本文主要介绍使用Simplicity Commander工具合成Silicon Lab的EFR32FG23的BootLoader和Application固件的方法,方便一次性就能把这两个固件一起烧录到EFR32FG23芯片。
设计经验 发布时间 : 2022-09-14
【应用】高集成度SLIC芯片,单芯片解决CPE语音接口所有问题
Silicon Labs高集成度的专用语音芯片SI32176(单口)/SI32261(双口),其具有PCM语音接口输出,可兼容1.8与3.3V,低达50mW/CH的挂机功耗,可通过配置工具生成配置参数,以实现不同国家的标准要求。
应用方案 发布时间 : 2018-04-10
【经验】Silicon Labs通过命令行对芯片解除写保护的方法
开发过程中,芯片被设置了写保护导致了芯片进入了只读状态,能读取到芯片的所有信息但是不能编程,写入程序,当然也不能烧录,本文就是介绍如何解除Silicon Labs如何通过命令行来解除这种写保护状态的方法。
设计经验 发布时间 : 2022-11-27
【选型】Silicon Labs蓝牙SOC芯片EFR32BG22对比Dialog DA14585/14531
Silicon Labs主推的EFR32BG22蓝牙SOC芯片,跟dialog的DA14585和DA14531两款芯片相比,具有很多性能上的优势,本文就将对其主要性能做对比分析。
器件选型 发布时间 : 2020-09-01
mos驱动芯片,半桥,隔离的有哪些芯片能推荐一下呢! ?
推荐使用用SGMICRO(圣邦微)推出的MOS驱动芯片SGM48000,双通道正相输入,能够提供最大2A的峰值电流,并且工作温度范围可达-40℃~+125℃,采用TDFN-2×2-8L和SOIC8两款封装。可以参考文章:【应用】低成本高性能的MOS驱动芯片SGM48000助力电源双路MOSFET驱动。隔离驱动芯片推荐Silicon Labs的隔离驱动芯片SI8273,具有4A的峰值驱动电流,可以满足到MHz的开关频率,CMTI的典型值到200Kv/us,驱动侧供电电压支持到30V,可以用来驱动SIC MOS管驱动,相比其它的驱动芯片,可以提供高的可靠性。可以参考文章:【应用】高可靠性隔离驱动芯片SI8273助力驱动SIC MOS管。
技术问答 发布时间 : 2019-11-11
【应用】芯科蓝牙SOC芯片助力汽车的PKE系统设计,满足低功耗与车规认证要求,电池寿命可达5年以上
PKE应用场景中,智能钥匙的使用寿命很重要,需要智能钥匙锁使用的蓝牙芯片满足低功耗要求。既然是应用在汽车上,蓝牙芯片满足车规认证同样也是重要的一个指标。芯科的EFR32BG22C224蓝牙SOC芯片可作为一种高性价比、高性能、高安全的一种无线解决方案。
应用方案 发布时间 : 2022-11-25
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 104,128
现货市场
服务
世强深圳实验室提供Robei EDA软件免费使用服务,与VCS、NC-Verilog、Modelsim等EDA工具无缝衔接,将IC设计高度抽象化,并精简到三个基本元素:模块、引脚、连接线,自动生成代码。点击预约,支持到场/视频直播使用,资深专家全程指导。
实验室地址: 深圳 提交需求>
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
登录 | 立即注册
提交评论