본문 바로가기

[Flutter] 플러터 블루투스 연결 구현 #2 플러터에서 사용할 블루투스 라이브러리 정리

I'm 영서 2023. 3. 2.
반응형

1. 블루투스를 연결하기 위해 필요한것.

   - 블루투스 용어정리

   - 블루투스 라이브러리 

2. 블루투스 연결

    - 아두이노 코드분석

    - 모바일(플러터)에서 확인

3. 데이터 송수신

 

블루투스의 용어 및 구성 형태에 대해서는 정리가 끝났다. 이젠 플러터 내에서 사용할 라이브러리를 정해야한다.

 

플러터에서 블루투스 라이브러리와 각 이슈사항과 각 라이브러리별 특이사항을 정리해보았다.

 

chatGPT 형님의 도움을 받아서 작성

 

1.flutter_ble

 Flutter에서 BLE 장치 검색 및 연결, 서비스 및 특성에 대한 읽기 및 쓰기 작업 등을 수행하기 위해 사용.

  • 이슈사항: 안드로이드에서 작동하지 않는 경우가 있습니다. AndroidManifest.xml에 사용 권한과 관련된 설정을 추가해야하는 이슈 잇음

2.flutter_reactive_ble

 RxDart를 사용하여 BLE 장치와 상호 작용하기 위해 사용.

  • 이슈사항: iOS 백그라운드에서 작동하지 않는 이슈 있음

3.flutter_bluetopoth_serial

Bluetooth Serial 프로필을 사용하여 Bluetooth 기기와 통신하기 위해 사용.

  • 이슈사항: 안드로이드에서 작동하지 않는 경우가 있습니다. AndroidManifest.xml에 사용 권한과 관련된 설정을 추가해야 합니다.

4.flutter_ble_lib

미리 정의된 서비스와 캐릭터리스틱을 사용하여 BLE 장치와 상호 작용하기 위해 사용

  • 이슈사항: iOS에서 백그라운드에서 작동하지 않는 경우 있음.

5.flutter_blue_plus

Flutter에서 BLE 장치 검색 및 연결, 서비스 및 특성에 대한 읽기 및 쓰기 작업 등을 수행하기 위해 사용됩니다. flutter_blue 라이브러리의 기능을 보완하기 위해 만들어진 라이브러리

  • 이슈사항: 없음.

 

이정도인데, 개인적으로는 flutter_blue_plus가 좋아보여 해당 라이브러리를 사용했다.

 

당연하게도 퍼미션과 디펜던시에 등록해줘야한다.

 

pubspec.yaml

  flutter_blue_plus: ^1.4.0
 

andriod\app\main\AndroidManifest.xml 

    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 
 
ios\Runner\info.plist
    <key>io.flutter.embedded_views_preview</key>
    <true/>
    <key>NSBluetoothAlwaysUsageDescription</key>  
    <string>Need BLE permission</string>  
    <key>NSBluetoothPeripheralUsageDescription</key>  
    <string>Need BLE permission</string>  
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>  
    <string>Need Location permission</string>  
    <key>NSLocationAlwaysUsageDescription</key>  
    <string>Need Location permission</string>  
    <key>NSLocationWhenInUseUsageDescription</key>  
    <string>Need Location permission</string>

 

 

 

반응형

댓글