Tutorial de Bluetooth del mini programa WeChat: versión completa Pro
# Durante el proceso de conexión Bluetooth, la parte API necesita agregar un temporizador para retrasar la ejecución durante aproximadamente 1 a 2 segundos La razón es que no lo sé, el mini programa tiene ese requisito
# 1. Lo primero que debe hacer es inicializar Bluetooth: openBluetoothAdapter()
`. `js
if ( wx.openBluetoothAdapter) {
wx.openBluetoothAdapter()
2.openBluetoothAdapter({
éxito: función (res) {
/* Obtener el estado nativo de Bluetooth */
setTimeout(() =gt; {
getBluetoothAdapterState()
}, 1000)
},
falla: función(err) {
// La inicialización falló
} p>
})
} else {
}
#2 Detectar si el Bluetooth local está disponible:
#. ? Se llamará en la devolución de llamada anterior después de que la inicialización de Bluetooth sea exitosa
```js
getBluetoothAdapterState() {
var that= this; p>
that.toastTitle= 'Comprobando el estado de Bluetooth '
wx.getBluetoothAdapterState({
éxito: función(res) {
startBluetoothDevicesDiscovery( )
},
falla(res) {
console.log(res)
}
})
}
``
#3 Comience a buscar dispositivos Bluetooth:
```js
.startBluetoothDevicesDiscovery() {
var that= this;
setTimeout(() =gt; {
wx.startBluetoothDevicesDiscovery({
éxito: función(res) {
/* Obtener la lista de dispositivos Bluetooth */<
that.getBluetoothDevices()
},
falla(res) {
}
})
}, 1000)
}
``
#4 .Obtener la lista de dispositivos Bluetooth buscados<
# /* that.deviceName es el nombre del dispositivo Bluetooth buscado porque las direcciones Bluetooth. mostrados por los dispositivos Bluetooth en los teléfonos Android y Apple son diferentes, se debe determinar según el dispositivo Name Match Bluetooth*
`.
`js
getBluetoothDevices() {
var that= this
setTimeout(() =gt; {
wx.getBluetoothDevices ({
servicios: [allowDuplicatesKey: false,
intervalo: 0,
éxito: función(res) {
if ( res.devices.lengthgt; 0) {
if (JSON.stringify(res.devices).indexOf(that. nombreDeDispositivo) ! == -1) {
for (let i = 0; i lt; res.dispositivos.longitud; i ) {
if (ese.nombredeldispositivo === res.dispositivos[i].nombre) {
/* Haga coincidir el nombre del dispositivo Bluetooth con el ID del dispositivo especificado*/
that.deviceId = that.devices[i].deviceId;
setTimeout(() =gt; {
eso.connectTO();
}, 2000
}; };
} más {
}
} más {
}
},
fail(res) {
console.log(res, 'Error al obtener la lista de dispositivos Bluetooth =====')
}
})
}, 2000)
},
`
#5. Conexión a Bluetooth
# Haga coincidir la ID del dispositivo Bluetooth y envíe una solicitud para conectarse a Bluetooth. Después de que la conexión sea exitosa, debe desconectar la API de búsqueda de Bluetooth y luego obtener el servicio del dispositivo Bluetooth conectado
```. js
connectTO() {
wx.createBLEConnection({
dispositivoId: dispositivoId,
éxito: función(res) {
that.connectedDeviceId = deviceId;
/* 4. Obtener los servicios del dispositivo conectado*/
that.getBLEDeviceServices(); p> wx.stopBluetoothDevicesDiscovery ({
éxito: función(res) {
console.log(res, 'Búsqueda detenida')
}, p>
falla (res) {
}
})
},
función (res) {.
}
})
}
``
#6.p>
>
``js
getBLEDeviceServices() {
setTimeout(() =gt; {
wx.getBLEDeviceServices({
ID del dispositivo: that.getBLEDeviceCharacteristics()
},
falla: (res) =gt; )
}, 2000)
},
```
#7.
# Obtener Hay varios valores de característica. Finalmente, el valor uuid que se puede leer, escribir y monitorear se usa como la identificación del valor de característica
```js
getBLEDeviceCharacteristics(. ) {
setTimeout(() =gt; {
wx.getBLEDeviceCharacteristics({
ID de dispositivo: ID de dispositivo conectado,
ID de servicio: servicios [2 ].uuid,
éxito: función(res) {
for (var i = 0; i lt; res.characteristics.length; i) {
if ((res.characteristics[i].properties.notify || res.characteristics[ i].properties.indicate) amp; amp;
(res.characteristics[i].properties. leer amp ;amp; res.characteristics[i].properties.write)))){
console.log(res.characteristics[i].uuid, 'Valor de características de Bluetooth ====== == ==')
/* Obtener el valor de las características de Bluetooth */
that.notifyCharacteristicsId = res.uuid
// Habilitar la característica del dispositivo Bluetooth de baja energía value Función de notificación al cambiar
that.notifyBLECharacteristicValueChange()
}
}
}, <
falla: función(res) {
}
})
}, 1000)
},
```
#8. Inicie la función de notificación de escucha Bluetooth y luego use wx.notifyBLECharacteristicValueChange para monitorear el dispositivo Bluetooth
#Los datos recibidos y los datos enviados deben ser secundarios. datos, deben convertirse para mostrar la página
```js
notifyBLECharacteristicValueChange() { // Habilitar la notificación de cambio de valor característico del dispositivo Bluetooth de bajo consumo
> var that= this;
console.log('6. Habilitar la notificación de cambio de valor de característica del dispositivo Bluetooth Low Energy.
wx.notifyBLECharacteristicValueChange({
estado : verdadero,
ID del dispositivo: that.connectedDeviceId,
serviceId: that.notifyServicweId,
featureId: that.notifyCharacteristicsId.notifyCharacteristicsId,
complete(res) {
/* Se utiliza para escuchar cambios en los datos del dispositivo Bluetooth del teléfono móvil*/
wx.hexstr = that.receiveData(res.value)
})
},
fail(res) {
console.log(res, 'Error al habilitar la escucha del dispositivo Bluetooth de bajo consumo ')
that.measurementTip(res) {
Registro de la consola (res, 'Error al habilitar la escucha del dispositivo Bluetooth de bajo consumo')