flutter의 플레이 블루투스 플러그인 flutterblue 0.6.0+1 - 1편
Flutter Blue는 블루투스 플러그인으로 두 플랫폼(iOS와 안드로이드)에서 가장 큰 기능을 제공하기 위한 플러그인이다.FlutterBlue 인스턴스를 사용하여 가까운 장치(BluetoothDevice)를 스캔하고 연결할 수 있습니다.장치에 연결되면 Bluetooth Device 대상은 서비스(Bluetooth Service), 특징(Bluetooth Characteristic)과 설명자(Bluetooth Descriptor)를 발견할 수 있습니다.그런 다음 BluetoothDevice 객체는 피쳐 및 설명자와 직접 상호 작용하는 데 사용됩니다.
기본용법
인스턴스 생성
FlutterBlue flutterBlue = FlutterBlue.instance;
장치 작업 스캔
/// scan(), listen() ,scanResult
var scanSubscription = flutterBlue.scan().listen((scanResult) {
// do something with scan result
device = scanResult.device;
print('${device.name} found! rssi: ${scanResult.rssi}');
});
/// ,
scanSubscription.cancel();
연결 장치
/// Connect to the device
await device.connect();
/// Disconnect from device
device.disconnect();
장치 검색
// , BluetoothService
List services = await device.discoverServices();
//
services.forEach((service) {
// do something with service
});
읽기 및 쓰기 특징값characteristics
characteristics ,BLE :
4.0 device Service,
Service Characteristic, Characteristic Value Descriptor,
Descriptor Value。
Characteristic ( 、 、 ),
[https://www.jianshu.com/p/d991f0fdec63]
// characteristics,
var characteristics = service.characteristics;
for(BluetoothCharacteristic c in characteristics) {
List<int> value = await c.read();
print(value);
}
// , characteristic
await c.write([0x12, 0x34])
descriptors 읽기 및 쓰기 설명자
// descriptors,
var descriptors = characteristic.descriptors;
for(BluetoothDescriptor d in descriptors) {
List<int> value = await d.read();
print(value);
}
// , descriptors
await d.write([0x12, 0x34])
알림과 감청 특징값characterisic의value 변화를 설정합니다
await characteristic.setNotifyValue(true);
characteristic.value.listen((value) {
// do something with new value
});
공통 API
FlutterBlue API
Android
iOS
Description
scan
:white_check_mark:
:white_check_mark:
Bluetooth 저전력 장치 검색 시작
state
:white_check_mark:
:white_check_mark:
Bluetooth 어댑터의 현재 상태 가져오기
onStateChanged
:white_check_mark:
:white_check_mark:
블루투스 어댑터의 상태 변화 흐름
BluetoothDevice API
Android
iOS
Description
connect
:white_check_mark:
:white_check_mark:
장치 연결 설정
disconnect
:white_check_mark:
:white_check_mark:
active를 활성화하거나 pending을 끊는 장치 device 연결을 취소합니다
discoverServices
:white_check_mark:
:white_check_mark:
제공된 원격 장치 device를 통해 가능한 한 검색 서비스 서비스와 특징값characteristics와 설명자 descriptors
services
:white_check_mark:
:white_check_mark:
장치 device 목록을 가져오려면 discoverServices()가 완료되어야 합니다.
state
:white_check_mark:
:white_check_mark:
디바이스의 현재 상태를 가져옵니다.
onStateChanged
:white_check_mark:
:white_check_mark:
장치 상태가 바뀐 리셋을 감청하다
BluetoothCharacteristic API
Android
iOS
Description
read
:white_check_mark:
:white_check_mark:
특징값characteristic의value 검색
write
:white_check_mark:
:white_check_mark:
수정된 특징값characteristic의value를 기록합니다.
setNotifyValue
:white_check_mark:
:white_check_mark:
특징값characteristic의 알림과 지시를 설정합니다.
value
:white_check_mark:
:white_check_mark:
변화가 발생하면 특징값characteristic의value 흐름입니다.
BluetoothDescriptor API
Android
iOS
Description
read
:white_check_mark:
:white_check_mark:
설명자 descriptor의value를 검색합니다.
write
:white_check_mark:
:white_check_mark:
수정된 설명자 descriptor의value를 기록합니다.
전재 대상:https://juejin.im/post/5d3167caf265da1b6b1d0f32
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.