123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- const manager = require('./manager');
- module.exports = {
- BleUtil
- }
- class BleUtil {
- static _instance = new BleUtil();
- static getInstance() {
- return BleUtil._instance;
- }
- constructor() {
- var that = this;
- that.manager = new manager();
- }
- ///获取比较的数据
- getCompareList() {
- var that = this;
- return that.manager.getCompareList();
- }
- getDissmissDevice() {
- var that = this;
- return that.manager.getDissmissDevice();
- }
- getCallBackConnect() {
- var that = this;
- return that.manager.getCallBackConnect();
- }
- ///初始化蓝牙适配器
- initBluetoothAdapter() {
- var that = this;
- that.manager.initBlueAdapter();
- }
- ///获取蓝牙设备 connect:true,去连接,false,去对比
- listenBlueDevices() {
- var that = this;
- that.manager.listenBlueDevices();
- }
- ///搜索蓝牙设备
- startScan(connectWillDevice, boolean, callBackConnect) {
- var that = this;
- that.manager.startScan(
- connectWillDevice,
- boolean,
- callBackConnect,
- );
- }
- ///停止搜索蓝牙设备
- async stopScan() {
- var that = this;
- await that.manager.stopScan();
- }
- ///开始连接设备
- async startConnect(device, onChanged) {
- var that = this;
- await that.stopScan();
- await that.disconnect(device);
- var res = await that.manager.startConnect(device);
- if (!res) {
- onChanged(false, device);
- return;
- }
- const strings = require('./../../utils/strings');
- var services = await that.manager.getNotifyServices(device);
- if (strings.isEmpty(services)) {
- onChanged(false, device);
- return;
- }
- that.manager.getCharacteristics(device, services, 0, false, false, false,
- async function (notifyServiceId, notifyCharaterId) {
- var isTrue = that.manager.monitorCharacteristicValueChange(device, notifyServiceId, notifyCharaterId);
- if (!isTrue) {
- onChanged(false, device);
- return;
- }
- const hex_util = require('./../../utils/hex_util');
- that.manager.onBLECharacteristicValueChange(function (value) {
- var receiveText = hex_util.buf2string(value);
- console.log('接收到数据文字:' + receiveText)
- });
- },
- function () {
- onChanged(false, device);
- return;
- });
- }
- ///发送数据
- async sendData(device, text) {
- var isTrue = await that.manager.sendData(device, text);
- ///发送数据成功
- if (isTrue) {
- }
- }
- ///断开设备连接
- async disconnect(device) {
- var that = this;
- await that.manager.disconnect(device);
- }
- }
|