티스토리 뷰
현재 만들고 있는 앱은 Bluetooth를 이용해서 근전도 측정 장치와 통신을 한다. 앱을 Flutter로 제작하고 있기 때문에 Bluetooth와 연결을 위한 라이브러리를 써야한다.
장치와 통신하는 방식은 정확하게 말하면 Bluetooth low energy (BLE)이다. Bluetooth classic과는 다른 메커니즘을 사용하고 있다.
BLE를 위한 Flutter 라이브러리를 Pub.dev에서 찾아보면 3개이상이 있는 것을 확인 할 수 있다. 이 중에서 활발히 업데이트되고 있는 라이브러리가 2개이다.
하나는 필립스 휴에서 조명(LED)을 컨트롤하기위해 제작한 flutter_reactive_ble 이고, 다른 하나는 flutter_blue_plus 이다. flutter_blue_plus는 이전에 많이 사용되던 flutter_blue 라이브러리의 개발자가 손을 때서 업데이트가 멈추자 다른 개발자가 이 코드를 포크해서 새로 만든 라이브러리다. 현재 유지/보수를 책임지는 개발자는 따로 없고 관심이 있거나 필요한 사람들이 수정하여 업데이트를 하는 중이다.
특정 회시가 개발을 주도하는 곳보다, 관심있는 사람들이 모여서 문제를 해결하면서 업데이트하는 flutter_blue_plus가 은근히 끌려서 나도 이 라이브러리를 사용해 보려고 한다.
혹시나 BLE가 무엇인지 그리고, BLE 라이브러리에서 볼 수 있는 용어인 service, UUID, characterisitic, GATT 등이 뭔지 모른다면 BLE에 대한 스펙, 혹은 잘 요약 정리한 글을 읽어보면서 BLE가 어떻게 동작하는지 그리고 사용되는 용어의 의미는 무엇인지 정도는 꼭 알아볼 필요가 있다. 하나의 글로 이해가 안된다면 여러 글들을 봐야한다. 누군가는 내가 이해하기 쉽게 잘 정리한 것이 있을 테니.
참고자료 1
아래 제목에서 처럼 Overview다. BLE가 무엇인며 Bluetooth classic과는 뭐가 다른지, Flutter에서 BLE로 동작하여 사용할 수 있는 라이브러리는 뭐가 있는지 언급하고 있다. 22년 3월에 올라온 글인데 라이브러리 리스트에 flutter_blue_plus는 없다. 자료 조사를 제대로 안했거나 예전에 써봣던 것을 떠올리며 썼나보다. 그 밖에 몇몇 용어와 동작에 대해서 설명하는데 깊이는 없으니 대충 훓어보자.
https://medium.com/flutter-community/bluetooth-low-energy-in-flutter-an-overview-937d0a68bc41
참고자료 2
Bluetooth에서 사용하는 용어들의 의미, Bluetooth classic과 Bluetooth low energy의 차이 등 Bluetooth에 대한 설명에서 부터 안드로이드에서 bluetooth 관련 함수, 사용 방법과 구현 팁들, 주의사항에까지 친절하게 설명하고 있다. 정말 제목처럼 궁극의 가이드이다. Flutter기반이 아니라 아쉽긴하지만 안드로이드에서 bluetooth 동작과 코드 흐름을 이해하면 Flutter에서 Bluetooth를 이용하는데 매우 도움이 될듯하다.
https://punchthrough.com/android-ble-guide/
2022년 7월 7일 현재....
Flutter blue plus 는 이슈가 많아서 현재는 flutter reactive ble 를 사용하고 있다.
구글에서도 BLE 플러그인을 만들어 줄 계획은 없으며, flutter reactive ble를 추천하고 있다.
누군가가 ble 패키지로 뭐가 좋냐고 글을 올려놓았다. 답글을 보면 도움이 된다.
혹시나 궁금한 점이나 질문이 있을 경우 남겨주시면,
제가 아는 범위 내에서 답변 드리겠습니다. 😁😁
'Dart & Flutter > 궁금했던 것, 몰랐던 것' 카테고리의 다른 글
UI 또는 위젯을 이미지 파일로 저장하기 (0) | 2022.06.24 |
---|---|
Singletone Pattern (0) | 2022.05.27 |
initState 에서 context 사용 방법 (0) | 2022.05.03 |
List를 하나의 string으로 변환하기 (Serialization) (0) | 2022.04.20 |
Flutter 에서 사용 되는 Size의 단위 (0) | 2022.03.30 |
- Total
- Today
- Yesterday
- TextFormField
- position
- 이미지
- TextField
- 크롬
- 에러
- plugin
- UI
- Syncfusion
- 앱 프로그래밍
- firebase
- Flutter
- Bluetooth
- DART
- 다트
- 앱
- 인사이트
- IOS
- SizedBox
- 문제 해결
- 한빛미디어
- error
- 플러터
- Chrome
- hide
- 디자인
- BLE
- 앱개발
- addPostFrameCallback
- UX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |