안녕하세요
디바이스 2개에 대해 BLE 통신을 하려합니다.
연결이 되기 전에 Advertise하는 쪽에서 어떠한 상태값을 Scan 하는 디바이스에 보내고 싶습니다.
그래서 AvertiseData Class의 addServiceUuid 메소드를 이용하여 UUID 까지 전달하는데 성공하였는데요.
후에 addServiceData()옵션을 이용하여 Data를 Setting 한뒤에 Advertise를 하려고 하면 Data가 초과 되었다는 ErrorCode:1->ADVERTISE_FAILED_DATA_TOO_LARGE이 Call되면서 Advertise가되지 않습니다.
그래서 addServiceUuid속성을 제거 한뒤에 addServiceData()만 Setting한뒤에 Advertise한뒤에 Scan 하면 Scan이되지만 Data를 제대로 받아오지 못합니다.
혹AvertiseData의 addServiceUuid와addServiceData의 속성을 같이 보낼수있는 방법이 없나요 ?ㅜ
부탁드립니다
그리고 이질문은 개인적으로 궁금한것입니다 ㅠ ble 통신은 Client(Master(Scan))에서 데이터를 요청 후 ->Server(Slave(Advertise))에서 보내주는 방식으로 구현되어 있는데 보통 Device와 BLE Mouse 간의 통신을 할때도 Device에서 먼저 CHARACERISTIC요청 후 기다린뒤에 Ble Mouse에서 Event가 발생시에 Device에다 값을 보내주는 식으로 되어있는것인가요 ?
저의 짧은 생각엔 BLE Mouse에서 그냥 Event발생시에만 Device에 Callback을 날려줘 Event를 처리하는 방식이 더 좋을것같은데 왜 Device에서 먼저 Event(Request)를 요청하고 후에 BleMouse이벤트 발생시에 처리(Response)가되는 이유가 궁금합니다.ㅠ