STM32WB55_蓝牙开发(1)——设置广播数据

使用NUCLEO开发板,通过STM32CubeMX 生成的简单 BLE 应用程序可实现通过手机APP连接,如果需要不借助手机APP,在系统蓝牙列表中发现并连接蓝牙设备,需要在广播数据中填入必要的信息,以让手机系统蓝牙可以发现该设备。

1、在app_ble.c

Adv_Request函数添加:

在广播中增加AD类型

  // 修改广播数据中的设备名称和服务
  uint8_t adv_data[] = {
	  0x02, 0x01, 0x06, 	  // Flags
	  0x09, 0x09, 'M','y','_','D','r','i','v','e' ,// 设备名称(必须与GAP配置一致) My_Drive
	  0x03, 0x03, 0x12, 0x18     // 服务UUID字段(4字节)HID服务 兼容IOS 设备发现 
		
  };

  uint8_t scan_rsp_data[] = {
    //0x03, 0x19, 0xC1, 0x03  // Appearance: Generic Tag  设备外观 兼容安卓
	  0x03, 0x19, 0x0F, 0x01  // Appearance: Access Control Device  
		  
	};

在aci_gap_set_discoverable函数后添加aci_gap_update_adv_data:

ret = aci_gap_update_adv_data(sizeof(adv_data), (uint8_t*) adv_data);

  
  if (ret != BLE_STATUS_SUCCESS)
  {
      APP_DBG_MSG("==>> update_adv_data Failed , result: %d \n\r", ret);
  }
  else
  {
      APP_DBG_MSG("==>> Success: update_adv_data \n\r");
  }
	
	
ret = aci_gap_update_adv_data(sizeof(scan_rsp_data), (uint8_t*) scan_rsp_data);

  
  if (ret != BLE_STATUS_SUCCESS)
  {
      APP_DBG_MSG("==>> update scan_rsp_data Failed , result: %d \n\r", ret);
  }
  else
  {
      APP_DBG_MSG("==>> Success: update scan_rsp_data \n\r");
  }

同时检查app_confi.h

/**
 * Device name configuration for Generic Access Service
 */
#define CFG_GAP_DEVICE_NAME             "My_Drive"
#define CFG_GAP_DEVICE_NAME_LENGTH      (8)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值