當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript ionic-native.BLE類代碼示例

本文整理匯總了TypeScript中ionic-native.BLE的典型用法代碼示例。如果您正苦於以下問題:TypeScript BLE類的具體用法?TypeScript BLE怎麽用?TypeScript BLE使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了BLE類的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: bleToggleMobileBLE

 bleToggleMobileBLE(value) {
   if (value) {
     if (this.bledevice) {
       BLE.disconnect(this.bledevice).then(() => {
         this.datastream.push('Disconnected');
         console.log('Disconnected');
       });
     }
     BLE.startScan([]).subscribe(
       device => {
         console.log(device.json());
         this.datastream.push("subscribe ok:" + JSON.stringify(device.json()));
         this.devices.push(device.json());
       },
       err => {
         this.datastream.push("subscribe err:" + JSON.stringify(err));
         console.error(err);
       }
     );
     setTimeout(() => {
       BLE.stopScan().then(() => { 
         this.blescan = false;
         this.datastream.push('scan stopped');
         console.log('scan stopped'); 
       });
     }, 60000);
   } else {
     BLE.stopScan().then(() => { 
       this.datastream.push('scan stopped');
       console.log('scan stopped'); 
     });
   }
 }
開發者ID:maxamillion32,項目名稱:fleetany-mobile,代碼行數:33,代碼來源:bluetooth.ts

示例2: checkExistingBluetooth

    /* On page load, we want the status to reflect if the device is connected already */
    checkExistingBluetooth() {
	if (this.peripheral) {
            return BLE.isConnected(this.peripheral.id);
	}
	/* Should always be a rejected Promise */
	else return BLE.isConnected(null);
    }
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:8,代碼來源:blservice.ts

示例3: alert

	    BLE.isConnected(periphID).then(() => {

		/* Reset subscriptions so if anything requests them they are null */
		this.HRSubscription = this.EKGSubscription = this.HRBundleSubscription =
		    this.dateCheckSubscription = this.stepSubscription = null;
		
		BLE.stopNotification(periphID, this.scanInfo.service, this.scanInfo.heartrate).then();
		BLE.stopNotification(periphID, this.scanInfo.service, this.scanInfo.ekg).then();
		BLE.stopNotification(periphID, this.scanInfo.service, this.scanInfo.heartratebundle).then();

		BLE.disconnect(periphID).then(() => {
		}, () => {
		    /* Never seems to fire with current version of BLE... */
		    alert("Unsuccessful disconnect");
		});
	    }, () => {
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:16,代碼來源:blservice.ts

示例4: setTimeout

 setTimeout(() => {
   BLE.stopScan().then(() => { 
     this.blescan = false;
     this.datastream.push('scan stopped');
     console.log('scan stopped'); 
   });
 }, 60000);
開發者ID:maxamillion32,項目名稱:fleetany-mobile,代碼行數:7,代碼來源:bluetooth.ts

示例5: connect

    /* Connect to the given device, and set the peripheral for later */
    connect(peripheral) {
	Vibration.vibrate(100);
	let connectSub = BLE.connect(peripheral.id).subscribe(result => {
	    this.storage.storePeripheral(peripheral.id);
	    this.peripheral = peripheral;
            this.connected(peripheral);
        }, error => {
	    console.log("Peripheral was disconnected.");
	    this.disconnect();
	});
    }
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:12,代碼來源:blservice.ts

示例6: sendDate

    /* Inform the peripheral of the current date */
    sendDate(peripheral) {

	/* Data must be sent through the BLE plugin as an ArrayBuffer */
	let uint8 = new Uint8Array(4);

	/* Grab the current time without milliseconds */
	let time = Math.floor((new Date).getTime() / 1000);

	/* Store the time in 4 byte increments */
	uint8[0] = time & 0xFF;
	uint8[1] = (time & 0xFF00) >>> 8;
	uint8[2] = (time & 0xFF0000) >>> 16;
	uint8[3] = (time & 0xFF000000) >>> 24;

	//console.log("Time sent: " + uint8);
	
	/* Write the data to the peripheral */
	BLE.write(peripheral.id, this.scanInfo.service, this.scanInfo.datecheck, uint8.buffer).then(
	    succ => console.log("Time written successfully"),
	    fail => console.log("Time not written successfully")
	);

    }
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:24,代碼來源:blservice.ts

示例7: Uint8Array

	this.dateCheckSubscription.subscribe(buffer => {
	    let data = new Uint8Array(buffer);
	    
	    let curDate = this.calcDate(data[3],data[2],data[1],data[0]);
	    if (!this.lastDate)
		return;
	    
	    let uint8 = new Uint8Array(4);

	    let caughtUp = 0;
	    if (this.lastDate >= curDate)
		caughtUp = 1;

	    /* Send back an array of the boolean result */
	    for (let i = 0; i < 4; i++) {
		uint8[i] = caughtUp;
	    }

	    BLE.write(peripheral.id, this.scanInfo.service, this.scanInfo.datecheck, uint8.buffer).then(
		succ => {console.log("wrote back: " + uint8);},
		fail => {console.log("did not write back");}
	    );
	});
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:23,代碼來源:blservice.ts

示例8: connected

    /* Record incoming data in storage */
    connected(peripheral) {

	/* Inform the peripheral of the current date */
	this.sendDate(peripheral);
	/* Subscription for the heart rate (BPM) */
	this.HRSubscription = BLE.startNotification(peripheral.id, this.scanInfo.service, this.scanInfo.heartrate);
	/* Subscription for the EKG data */
	this.EKGSubscription = BLE.startNotification(peripheral.id, this.scanInfo.service, this.scanInfo.ekg);
	/* Subscription for the bundle data */
	this.HRBundleSubscription = BLE.startNotification(peripheral.id, this.scanInfo.service, this.scanInfo.heartratebundle);
	/* Subscription for date verification */
	this.dateCheckSubscription = BLE.startNotification(peripheral.id, this.scanInfo.service, this.scanInfo.datecheck);
	/* Subscription for step count packages */
	this.stepSubscription = BLE.startNotification(peripheral.id, this.scanInfo.service, this.scanInfo.steps);
	/* Subscription for live step count */
	this.liveStepSubscription = BLE.startNotification(peripheral.id, this.scanInfo.service, this.scanInfo.livesteps);

	
	/* Subscribe to the BPM */
	this.HRSubscription.subscribe(buffer => {
	    let data = new Uint8Array(buffer);
	    
	    /* The bytes are in reverse order, so we bit shift them to form the date */
	    let date = this.calcDate(data[3],data[2],data[1],data[0]);

	    /* Record the last timestamp for data checking with peripheral */
	    this.lastDate = date;

	    console.log("Received a bpm package: " + date);

	    /* Store data (date * 1000 to account for milliseconds) */
	    this.storage.storeBPM(new Date(date * 1000),data[4]);
	    
	    /* Republish the data for the home page */
	    this.events.publish('bpm',data[4]);
	    
	    /* Post the data to the server */
	    //this.httpservice.makePostRequest(data[0],new Date(data[1] * 1000));
        });

	/* Subscribe to the EKG */
	this.EKGSubscription.subscribe(buffer => {
	    let data = new Uint8Array(buffer);
	    
	    /* Republish the data for the home page */
	    this.events.publish('ekg',data);
	});

	this.HRBundleSubscription.subscribe(buffer => {
	    let data = new Uint8Array(buffer);

	    /* BPMs are located every 5 indices */
	    let bpmArray = [data[4],data[9],data[14],data[19]];

	    /* Dates must be calculated in reverse order */
	    let dateArray = [
		this.calcDate(data[3],data[2],data[1],data[0]),
		this.calcDate(data[8],data[7],data[6],data[5]),
		this.calcDate(data[13],data[12],data[11],data[10]),
		this.calcDate(data[18],data[17],data[16],data[15])
	    ];

	    //console.log("Received a group data package: " + dateArray[0]);

	    /* Push all data points to storage 
	       (dates * 1000 for ms format ) */
	    for (let i=0; i < bpmArray.length; i++) {
		this.storage.storeBPM(new Date(dateArray[i] * 1000),bpmArray[i]);
	    }
	});

	/* Periodically, the peripheral may request a comparison from the last date
	   received to the current date to check if all data has arrived */
	this.dateCheckSubscription.subscribe(buffer => {
	    let data = new Uint8Array(buffer);
	    
	    let curDate = this.calcDate(data[3],data[2],data[1],data[0]);
	    if (!this.lastDate)
		return;
	    
	    let uint8 = new Uint8Array(4);

	    let caughtUp = 0;
	    if (this.lastDate >= curDate)
		caughtUp = 1;

	    /* Send back an array of the boolean result */
	    for (let i = 0; i < 4; i++) {
		uint8[i] = caughtUp;
	    }

	    BLE.write(peripheral.id, this.scanInfo.service, this.scanInfo.datecheck, uint8.buffer).then(
		succ => {console.log("wrote back: " + uint8);},
		fail => {console.log("did not write back");}
	    );
	});

	/* Step subscription contains a date, a time offset, and a number of steps */
	this.stepSubscription.subscribe(buffer => {
//.........這裏部分代碼省略.........
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:101,代碼來源:blservice.ts

示例9: stopScan

    /* Stop scanning */
    stopScan() {
	BLE.stopScan().then(() => {});
    }
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:4,代碼來源:blservice.ts

示例10: startScan

 /* Return the scan subscription */
 startScan() {
     return BLE.startScan([this.scanInfo.service]);
 }
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:4,代碼來源:blservice.ts

示例11: enable

    /* Return a Promise for if Bluetooth was enabled or not */
    enable() {
	return BLE.enable();
    }
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:4,代碼來源:blservice.ts

示例12: isEnabled

    /* Return a Promise for if Bluetooth is enabled or not */
    isEnabled() {
	return BLE.isEnabled();
    }
開發者ID:mdash-ursi2016,項目名稱:ionic_code_typescript,代碼行數:4,代碼來源:blservice.ts

示例13: connectDevice

 public static connectDevice(deviceAddress:string):Observable<BLE> {
   alert("Connecting to device address: " + deviceAddress);
   return BLE.connect(deviceAddress);
 }
開發者ID:asyncsrc,項目名稱:BLEChild,代碼行數:4,代碼來源:bluetooth.ts

示例14: scanDevices

 public static scanDevices() {
   return BLE.scan([], 1);
 }
開發者ID:asyncsrc,項目名稱:BLEChild,代碼行數:3,代碼來源:bluetooth.ts


注:本文中的ionic-native.BLE類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。