학문
React Native BLE 통신 오류하드웨어에서 블루투스를 사용해 보낸 데이터가 앱에서 깨져 나옵니다
현재 React Native 앱(Android 전용)을 개발 중이고, react-native-ble-plx 라이브러리를 사용하여 블루투스로 기기 데이터 값 받오는 것을 구현하고 있습니다. BLE 연동은 성공해서 값은 도착하는데, 앱에서 디코딩된 데이터가 깨져서 출력됩니다. 혹시 이게 하드와 방식이 달라서 생기는 문제일 수도 있나요? 하드는 시리얼 방식입니다 만약 방식 다름 문제라면 하드에서는 어떻게 바꿔야 하나요? 라즈베리파이 사용 중입니다
55글자 더 채워주세요.
2개의 답변이 있어요!
안녕하세요. 강세훈 전문가입니다.
BLE 통신에서 데이터가 깨지는 문제는 주로 인코딩 방식 차이에서 발생하며 하드웨어와 앱 간에 사용하는 데이터 포맷이 일치하지 않기 때문에 생길 수 있습니다. 하드에서는 시리얼 방식이기 때문에 데이터를 전송할 때 문자열 인코딩을 명확히 지정하거나 바이너리 포맷으로 전송하는 것이 중요하며, 예를 들어 UTF-8 또는 ASCII로 인코딩된 데이터를 보내거나 바이너리 데이터를 그대로 보내도록 하드와 앱 양쪽에서 일치시키는 방법이 있습니다. 이렇게 하면 데이터 손상 없이 정확하게 전달될 수 있으니 참고하시고, 하드에서는 데이터 인코딩 방식을 변경하거나 전송 방식을 조정하는 것도 좋습니다.
안녕하세요. 조일현 전문가입니다.
앱에서 Base64 디코딩이 정확한지 확인이 필요해 보이며, 라즈베이파이에서 BLE패킷 크기 20바이트 이하로 구성하며 인코딩 방식을 맞춰서 전송해볼 필요가 있습니다.