본문 바로가기

[ST_MICRO]/STM32WB

STM32WB55 SSM - STM32CubeIDE BLE Custom 데이터 송수신 테스트

STM32W 시리즈는 두개의 STM32 MCU로 구성되어 있고 Core2에 무선 관련 바이너리 파일을 Write 할 수 있다. BLE 바이너리를 이용해서 BLE 통신 테스트를 해 보자

 

STM32WB55 Zigbee 테스트에서와 같이 BLE Wireless Coprocessor Binary 파일(stm32wb5x_BLE_Stack_full_fw.bin)을 다운로드 해야 한다.

 

 

ST에서 제공하는 STM32CubeIDE용 예제의 구조는 Zigbee예제와 비슷하게 \STM32_WPAN\APP 폴더에 있다. 각 어플리케이션 별로 코드를 작성해서 테스트 하면된다.

우선 간단한 BLE Custom 데이터 송수신 예제를 테스트 해 보자

 

 

void Custom_Switch_c_Send_Notification(void) /* Property Notification */
{
  uint8_t updateflag = 0;
  /* USER CODE BEGIN Switch_c_NS_1*/
  if (Custom_App_Context.Switch_c_Notification_Status == TOGGLE_ON)
  {
    updateflag = 1;
    
    if (Custom_App_Context.SW1_Status == 0)
    {
      Custom_App_Context.SW1_Status = 1;
      NotifyCharData[0] = 0x00;
      NotifyCharData[1] = 0x01;
    }
    else
    {
      Custom_App_Context.SW1_Status = 0;
      NotifyCharData[0] = 0x00;
      NotifyCharData[1] = 0x00;
    }
    APP_DBG_MSG("-- CUSTOM APPLICATION SERVER  : INFORM CLIENT BUTTON 1 PUSHED \n");
  }
  else
  {
    APP_DBG_MSG("-- CUSTOM APPLICATION : CAN'T INFORM CLIENT -  NOTIFICATION DISABLED\n");
  }     
  /* USER CODE END Switch_c_NS_1*/
  if (updateflag != 0)
  {
    Custom_STM_App_Update_Char(CUSTOM_STM_SWITCH_C, (uint8_t *)NotifyCharData);
  }
  /* USER CODE BEGIN Switch_c_NS_Last*/
  /* USER CODE END Switch_c_NS_Last*/
  return;
}
/* My_Heart_Rate */
void Custom_Hrs_m_Update_Char(void) /* Property Read */
{
  uint8_t updateflag = 0;
  /* USER CODE BEGIN Hrs_m_UC_1*/
  /* USER CODE END Hrs_m_UC_1*/
  if (updateflag != 0)
  {
    Custom_STM_App_Update_Char(CUSTOM_STM_HRS_M, (uint8_t *)UpdateCharData);
  }
  /* USER CODE BEGIN Hrs_m_UC_Last*/
  /* USER CODE END Hrs_m_UC_Last*/
  return;
}
void Custom_Hrs_m_Send_Notification(void) /* Property Notification */
{
  uint8_t updateflag = 0;
  /* USER CODE BEGIN Hrs_m_NS_1*/
  /* USER CODE END Hrs_m_NS_1*/
  if (updateflag != 0)
  {
    Custom_STM_App_Update_Char(CUSTOM_STM_HRS_M, (uint8_t *)NotifyCharData);
  }
  /* USER CODE BEGIN Hrs_m_NS_Last*/
  /* USER CODE END Hrs_m_NS_Last*/
  return;
}

 

 

 

프로그램 구동 후 nRF Connect 프로그램으로 확인해 보면 접속되는 것을 확인 할 수 있다.

 

 

 

ST에서도 비슷한 앱을 제공한다. ST BLE ToolBox로 접속하면 인식된다.

 

 

접속후 등록한 커스텀 서비스에 데이터를 읽고 쓸 수 있다.

반응형