|
|
- import BLEHandler1 from "./bleHandler1"
-
- class BLE1 extends BLEHandler1 {
- constructor(blename, emitter) {
- super(blename, emitter)
- }
- listen(callback) {
- // 蓝牙事件注册,打开channel
- this.emitter.removeAllListeners("channel")
- this.emitter.on("channel", callback)
- }
- removeListen() {
- // 移除所有蓝牙事件
- this.emitter.removeAllListeners("channel")
- }
- async init() {
- let flow = false
- // 打开蓝牙适配器状态监听
- this.onBLEConnectionStateChange()
- // 蓝牙适配器初始化
- await this.openAdapter()
- // 搜索蓝牙设备
- await this.startSearch()
- // 获取设备ID
- flow = await this.onBluetoothFound()
-
- if (!flow) return
-
- // 停止搜索设备
- await this.stopSearchBluetooth()
-
- // 连接蓝牙
- await this.connectBlue();
-
- //安卓手机需要设置MTU Size
- await this.setBLEMTU();
-
- // 获取serviceId
- await this.getBLEServices()
- // 设置特征值
- await this.getCharacteristics();
- // 订阅特征值
- await this.notifyBLECharacteristicValueChange()
- // 打开传输监听,等待设备反馈数据
- this.onBLECharacteristicValueChange()
- }
- // 发送指令
- async send(cmd, payload) {
- let flow = await this.sentOrder(cmd, payload)
- return flow
- }
-
- async close() {
- await this.closeBLEConnection()
- await this.closeBLEAdapter()
- }
-
- }
-
- export { BLE1 };
|