플러터 flutter_blue_plus (BLE) 사용방법 적용하기

dogbird·2024년 3월 28일
0

플러터 입문

목록 보기
2/3

플러터의 플러그인을 사용하여 블루투스를 연결하는 방법을 알아보자

-> 플러터 공식 자료
https://pub.dev/packages/flutter_blue_plus

FlutterBluePlus는 Flutter 용 Bluetooth Low Energy(BLE) 플러그인이다. 기존의 FlutterBlue라이브러리를 포크해 새로 만든 라이브러리이다. FlutterBluePlus에서는 블루투스 클래식을 지원하지 않고 BLE만 지원되니 참고 바란다. Bluetooth를 잘 알지 못한다면 아래 링크의 블루투스에 대한 글을 읽어 보는 것을 추천한다.
-> [BLE 전체 가이드](Bluetooth Low Energy (BLE): A Complete Guide)

  1. 패키지 추가
    먼저 flutter_blue_plus 패키지를 추가해준다.
    프로젝트에서 pubspec.yaml파일을 열고 dependencies: 아래에 flutter_blue_plus를 추가한다.
    현재 버전 : ^1.31.17

그 다음 터미널을 열고

flutter pub get

을 일력하면 아래 이미지와 같이 패키지가 설치될것이다.

  1. 안드로이드 권한 설정

여기서는 브루투스를 사용하기 위한 권한을 설정하는 곳이다. 자신의 필요와 안드로이드 버전에 따라 선택해서 추가하면 된다.권한 설정에 관한 더 자세한 내용은 아래 링크를 참고하면 도움이 된다.
https://ddunnimlabs.tistory.com/m/142

--> 이 중에서 필요한건 골라쓰시길

<!-- Tell Google Play Store that your app uses Bluetooth LE
     Set android:required="true" if bluetooth is necessary -->
<uses-feature android:name="android.hardware.bluetooth_le" android:required="false" />

<!-- New Bluetooth permissions in Android 12
https://developer.android.com/about/versions/12/features/bluetooth-permissions -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

<!-- legacy for Android 11 or lower -->
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30"/>

<!-- legacy for Android 9 or lower -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="28" />
  • 기본 설정

flutter_blue_plus 패키지는 flutter_blue를 확장한 패키지이므로, 대부분의 경우 flutter_blue와 비슷하게 설정해주면 된다.

Bluetooth 기능을 사용하는 경우에는 AndroidManifest.xml 파일에 Bluetooth 권한을 추가해야 한다. android/app/src/main/AndroidManifest.xml 파일에서 블루투스 권한을 추가해준다.(위치 없음)

 package="com.example.my_flutter_app">
    ...
   <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    ...

my_flutter_app부분에는 pubspec.yaml 파일에서 맨위에 있는 name부분에 적힌 이름을 적어주면 된다.
ex) name: flutter_p 이면 flutter_p적어주면 됨.

아래 코드 처럼 manifest 태그와 application 태그사이에 넣어주면된다.

flutter_blue_plus 패키지도 안드로이드의 최소 SDK 버전을 요구하지 않는다. flutter_blue_plus를 사용하는 경우에도 안드로이드의 최소 SDK 버전을 지정할 필요가 없다. flutter_blue_plus 또한 Flutter 프레임워크에 의존하고 있으며, Flutter가 안드로이드의 최소 SDK 버전을 관리하므로 개발자가 따로 지정할 필요가 없다. 대신에 Flutter 프로젝트의android/app/build.gradle 파일에서 필요한 경우 안드로이드 앱의 최소 SDK 버전을 변경할 수 있다.

profile
개발세발 개발자. 멋쟁이가 될 때 까지

0개의 댓글