【经验】EFR32无线通信模块AN110——蓝牙BLE(建立蓝牙连接)
EFR32标准模块,是世强独立研发,供用户学习、使用的射频模块。这个模块搭载SILICON LABS 多频段多协议的EFR32MG系列无线SOC芯片EFR32MG12P433F1024GM48,7*7mm QFN48封装,1MB Flash,256KB RAM,集成PA和巴伦,最大支持20dBm输出功率。支持Sub-GHz 和 2.4GHZ。支Zigbee,Thread,BLE 4.2和BT5.0以及蓝牙 MESH,以及私有协议。广泛用于智能门锁,门禁系统,照明系统,智能家居,智能电表等领域。
我们在开发蓝牙产品的时候,作为master主设备,执行的蓝牙操作有设备扫描,蓝牙连接建立,发现服务,发现特征字,数据通信,连接断开等一系列的操作,本文将通过代码操作演示,详细说明Silicon Labs蓝牙SoC作为master主设备的时候,如何建立蓝牙连接。本文使用的蓝牙SDK版本是2.13.1.0. 搭配EFR32BG21系列评估板,如果有EFR32标准模块或者其他型号的蓝牙评估板也是同样的操作。
本例程依然使用soc-empty参考代码,建立蓝牙连接之前,我们应该已经操作过了蓝牙设备扫描的操作,已经搜索到了希望连接的蓝牙设备,如果没有的话,请参考《【经验】EFR32无线通信模块AN109——蓝牙BLE(主设备扫描)》
如果已经扫描到了期望的蓝牙设备。在扫描返回事件中停止蓝牙扫描,再调用蓝牙连接API命令,具体操作如下:
/* discovery response */
case gecko_evt_le_gap_scan_response_id:
scanned_slave_device.rssi = evt->data.evt_le_gap_scan_response.rssi;
scanned_slave_device.packet_type = evt->data.evt_le_gap_scan_response.packet_type;
scanned_slave_device.address = evt->data.evt_le_gap_scan_response.address;
scanned_slave_device.address_type = evt->data.evt_le_gap_scan_response.address_type;
scanned_slave_device.bonding = evt->data.evt_le_gap_scan_response.bonding;
/* read the data from the scan response, the response include the device name */
for(i=0;i<evt->data.evt_le_gap_scan_response.data.len;i++)
{
scan_date_from_slave_device[i] = evt->data.evt_le_gap_scan_response.data.data[i];
}
r = memcmp(slave_address_example,scanned_slave_device.address.addr,6);
if(r == 0)
{
gecko_cmd_le_gap_end_procedure();/* stop scan */
/* initiating_phy: le_gap_phy_1m = 0x1, le_gap_phy_2m = 0x2,le_gap_phy_coded = 0x4
* (bd_addr address, uint8 address_type, uint8 initiating_phy);
* gecko_cmd_le_gap_connect API to connect the BLE slave device*/
gecko_cmd_le_gap_connect(scanned_slave_device.address, scanned_slave_device.address_type, le_gap_phy_1m);//建立蓝牙连接API命令
}
break;
蓝牙连接建立成功以后,会返回gecko_evt_le_connection_opened_id事件,从这个事件中,可以读取回来连接设备的各种信息状态,其中蓝牙连接的connection (Handle for new connection)参数非常重要,在蓝牙数据通信的时候会用到,每个蓝牙连接都会有一个connection Handle。
case gecko_evt_le_connection_opened_id:
connection_slave_device.address = evt->data.evt_le_connection_opened.address;
connection_slave_device.address_type = evt->data.evt_le_connection_opened.address_type;
connection_slave_device.master = evt->data.evt_le_connection_opened.master;
connection_slave_device.connection = evt->data.evt_le_connection_opened.connection;
connection_slave_device.bonding = evt->data.evt_le_connection_opened.bonding;
connection_slave_device.advertiser = evt->data.evt_le_connection_opened.advertiser;
break;
本参考例程,使用到的变量定义如下:
struct gecko_msg_le_connection_opened_evt_t connection_slave_device;
如果我们成功扫描到了期望的蓝牙设备,下一步的操作就是发现服务和特征字。
下图是本例程仿真运行结果:
- |
- +1 赞 0
- 收藏
- 评论 0
本文由紫云提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
EFR32无线通信模块AN310——Zigbee(利用Host升级NCP固件)
EFR32无线通信模块是世强基于Silicon Labs EFR32MG平台自主设计的无线模块,Silicon Labs的ZigBee网关采用Host+NCP模式,即Host运行Application,EFR32MG内部运行Ember stack。网关中会遇到需要NCP固件的情况,本篇文章基于EFR32无线通信模块指导大家利用Host升级NCP的固件。
如何用EFR32FG23无线SoC芯片读取平均RSSI?
本文以Silicon Labs的EFR32FG23无线SoC芯片的rail_soc_simple_trx工程为例,介绍EFR32FG23芯片读取某个信道的平均RSSI的方法。
【经验】EFR32无线通信模块通过CLI命令搭建ZigBee网络并和Z3Light、Z3Switch设备通讯
EFR32无线通信模块是世强基于EFR32MG12P433F1024GM48无线SOC自主研发的无线模块,可以支持ZigBee、BLE、Thread、Proprietary等多种无线协议,并且可以支持2.4GHz和434MHz两种频段。本文指导大家如果使用CLI命令搭建ZigBee网络,并将Z3Light和Z3Switch设备加入到ZigBee网络中来进行ZCL通讯。
SILICON LABS ZIGBEE 无线 Gecko SoC选型表
EFR32MG无线 Gecko SoC 是在 IoT 设备上实现节能多协议连网的理想之选。芯片解决方案结合了 76.8MHz ARM和高性能 2.4GHz 无线电,旨在为 IoT连接应用提供行业领先的节无线 SoC。
产品型号
|
品类
|
Protocol Stack
|
Frequency Band @ Max TX Power(GHz@dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG12P433F1024GL125-C
|
Gecko Multi-Protocol Wireless SoC
|
Bluetooth LE Zigbee Thread Proprietary, Wi-SUN
|
2.4GHz @ 19dBm, Sub-GHz @ 20dBm
|
1024kB
|
256kB
|
65
|
-40℃~85℃
|
-50℃~150℃
|
BGA125
|
1.8V~3.8V
|
选型表 - SILICON LABS 立即选型
EFR32无线通信模块AN003——RailTest (使用操作)
本文介绍下Silicon Labs EFR32无线通信模块Railtest几个常用的指令,及通用的测试方法。
EFR32FG23无线SoC芯片读取数据包实时RSSI值的方法
本文以Silicon Labs的EFR32FG23无线SoC芯片的rail_soc_simple_trx工程为例,介绍EFR32FG23芯片读取数据包的实时RSSI值的方法。
SILICON LABS Matter 无线SoC选型表
EFR32MG24 无线 SoC 是使用 Matter、OpenThread 和 Zigbee 进行网状物联网无线连接的理想选择
产品型号
|
品类
|
Protocol Stack
|
MAX TX Power (dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Secure Vault
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
Max CPU Speed(MHz)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG24B310F1536IM48-B
|
Wireless SoC
|
Matter,Zigbee,Thread,Bluetooth 5.3
|
10dBm
|
1536kB
|
256kB
|
28
|
High
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
78.0MHz
|
-40℃~125℃
|
-50℃~150℃
|
QFN48
|
1.71V~3.8V
|
选型表 - SILICON LABS 立即选型
【经验】基于Silicon Labs无线SoC芯片MG24开发套件的Matter入门指导文章汇总
本文主要介绍基于Silicon Labs MG24开发套件的Matter入门指导文章汇总。
【经验】无线SoC芯片EFR32MG21程序中MFG_SECURITY_CONFIG参数的设置与功能
在无线SoC芯片EFR32MG21的ZigBee默认Z3Light程序运行时我们可以通过keys print这个CLI命令打印NWK key与TC Link Key等密钥参数,打印的效果如下,那我们是否可以隐藏这些密钥无法打印呢?
【经验】使用Simplicity Commander工具读写EFR32无线SoC芯片EUI和install code方法
本文以Silicon Labs EFR32FG23 Sub-G无线SoC芯片为例,介绍如何读写EFR32无线SoC芯片的EUI和install code的方法。
【经验】使用串口来升级EFR32FG23无线SoC芯片固件的方法
本文主要介绍如何使用BootLoader——NCP UART XMODEM工程实现使用串口升级Silicon Labs EFR32FG23无线SoC芯片固件的方法。
【经验】无线SoC芯片EFR32MG21手动生成OTA文件的方法与注意事项
在使用SILICON LABS无线SoC芯片EFR32MG21芯片设计ZigBee产品时,我们会用到OTA功能,这就要产生OTA文件。EmberZNet 6.x版本的项目中会自动为启用了OTA客户端插件的项目创建OTA文件,需要我们手动去创建OTA文件。
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
【经验】ZigBee程序中NVM3基地址的重新定义
我们在使用无线SoC芯片EFR32MG21做ZigBee程序时,程序中会用到NVM3保存一些参数,但NVM3的存储地址我们在程序中很难找到设置的地方,如果想修改NVM3的存储地址要如何处理?
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,878
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥15.1445
现货: 14,989
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥38.3724
现货: 6,500
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制高压电源模块的输入电压100VDC-2000VDC、功率范围5W-500W/4W-60W; 高压输出电源模块的输出电压100VDC-2000VDC。功率范围:4W-60W。
提交需求>
提供电子电气产品的辐射骚扰测试、辐射抗干扰测试,以及RFID,SRD,2G,3G,4G等无线产品的辐射骚扰测试、辐射杂散测试、辐射功率测试以及辐射抗干扰测试。测试频率可覆盖9KHz-26.5GHz。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论