๊ฐ์ธ ํ๋ก์ ํธ์ธ BLE ์ค๋ด ์ธก์ ์ฒซ ๊ธ์ด๋ค.
์ฐ์ , flutter์์ ble ๊ด๋ จ ํจํค์ง๋ฅผ ์ค์นํ๋ค. ๋ํ์ ์ผ๋ก ble ๊ด๋ จ ํจํค์ง๋ 3๊ฐ๊ฐ ์๋ค.
- flutter_ble_lib
- flutter_reactive_ble
- flutter_blue
flutter_ble_lib๋ ์
๋ฐ์ดํธ๊ฐ ๋๋ ค, 2๋ฒ๊ณผ 3๋ฒ ์ค ๊ณจ๋ผ์ผ ํ๋๋ฐ, ์ค๋ ์ ๊ธฐ์ค์ผ๋ก flutter_blue๊ฐ ์ต์ ๋ฒ์ ์ด ์์ด flutter_blue๋ฅผ ์ฌ์ฉํ๋ค.
flutter ํจํค์ง๋ pub.dev์์ ์ค์นํ ์ ์๋ค. ํน์ ์๋ ๋ช
๋ น์ด๋ฅผ ํตํด ์ค์นํ ์ ์๋ค.
$ flutter pub add flutter_blue
์ค์นํ๊ฒ ๋๋ฉด ์๋์ ์ผ๋ก pubspec.yaml ํ์ผ์ dependecies์ ์ถ๊ฐ๋๋ค.
ํ์ง๋ง, flutter_blue์ ๊ฒฝ์ฐ ์๋๋ก์ด๋ 12์์ ๊ถํ ์ด์๊ฐ ์๋ค. ์ํ๊น๊ฒ๋ ๋ด ์ค๋งํธํฐ๋ ์๋๋ก์ด๋ 12์๊ณ AndroidManifest.xml์ ๋ณ์ ๋ณ์ง์ ๋คํ์ง๋ง ๋์ง ์์๋ค. ๊ฒฐ๊ตญ ์๋ git์์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
https://github.com/pauldemarco/flutter_blue/issues/864
pubspec.yaml ํ์ผ์ ์๋์ ๊ฐ์ด ์์ ํ๋ค.
flutter_blue:
git: https://github.com/espresso3389/flutter_blue
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง, ๋ณ๋ก ๋ด๊ฐ ์ข์ํ์ง ์๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ค์ ๊ตฌ๊ธ๋งํด์ ์ฐพ์๋ณด๋ ๋ด๊ฐ ๋ฐ๋ณด ๊ฐ์ ์ง์ ํ๋ค.
flutter_blue๋ 0.8.0์์ ๊ฐ๋ฐ์ ๋ฉ์ถ ์ํ์ด๊ณ , flutter_blue_plus ์ต์ ๋ฒ์ ์ด ์๋ค๋ ๊ฒ์ ์ธ์ ์ผ ์๊ฒ ๋์๋ค.
https://pub.dev/packages/flutter_blue_plus
์๋ ๋ช ๋ น์ด๋ก flutter_blue_plus๋ฅผ ์ค์นํ ์ ์๋ค.
$ flutter pub add flutter_blue_plus
์๋์ ์ผ๋ก pubspec.yaml ํ์ผ์ depencies์ ์ถ๊ฐ๋๋ค.
dependencies:
flutter_blue_plus: ^1.1.3
plus๋ฅผ ์ฌ์ฉํ๋ ์๋๋ก์ด๋ 12 ๊ถํ ๋ฌธ์ ๋ ์๋์ผ๋ก ํด๊ฒฐ๋๋ค.
android/app/build.gradle ๋ฒ์
Android {
defaultConfig {
minSdkVersion: 19
android/app/src/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"/>
<application
flutter_blue_plus ๊ด๋ จ ์ด์๋ ์๋ ๋งํฌ์์ ์ฐธ๊ณ ํ์ฌ ํด๊ฒฐํ ์ ์๋ค.
https://flutterrepos.com/lib/boskokg-flutter_blue_plus
ํด๋น ํ๋ก์ ํธ๋ 2022๋ ์ ์งํํ ๊ฒ์ผ๋ก ๋ฒ์ ์ฐจ์ด๊ฐ ์กด์ฌํ ์ ์๋ค.