Menu
Sites
Language

how to scan and connect to Bluetooth LE device

This describe how to scan and connect to Bluetooth LE device on Gear S2. CSR Bluetooth LE device is used for testing here.
config.xml
     <tizen:privilege name="http://tizen.org/privilege/bluetooth.admin"/>
         
index.html
<div class="ui-page ui-page-active" id="main">
		<header class="ui-header">
			<h2 class="ui-title">Ble test/h2>
		</header>
		<div class="ui-content content-padding">
				<button id="BLEconnect" type="button">Bluetooth</button>
				<button id="BLEstopscan" type="button">stopscan</button>
				<button id="BLEdisconnect" type="button">disconnect</button>
		</div>
	</div>
	
	

<script>

var BLEconnect = document.getElementById("BLEconnect");
var BLEstopscan = document.getElementById("BLEstopscan");
var BLEdisconnect = document.getElementById("BLEdisconnect");
var remoteDevice = null;
var adapter = tizen.bluetooth.getLEAdapter();

var myhandler1 = function () {

	function connectFail(error) 
	{
	   console.log("Failed to connect to device: " + e.message);
	}

	function connectSuccess() 
	{
	//	   console.log("Connected to device");    
	}


	function showGATTService(service, indent)
	{
	   if (indent === undefined) 
	   {
	      indent = "";
	   }

		   console.log(indent + "Service " + service.uuid + ". Has " + service.characteristics.length 
		               + " characteristics and " + service.services.length + " sub-services.");

	   for (var i = 0; i < service.services.length; i++) 
	   {
	      showGATTService(service.services[i], indent + "   ");
	   }
	} 	
	


	function onDeviceFound(device)
	{
	   if (remoteDevice === null) 
	   {
	      remoteDevice = device;
	      console.log("Found device name: " + device.name + " txpowerlevel: " + device.txpowerlevel + "  . Connecting...");

	      device.connect(function connectSuccess() 
	       { 		      
		        console.log("Connected to device"); 
		        
		        var i = 0, service = null;
		        var serviceUUIDs = remoteDevice.uuids;
		        console.log("remoteDevice.uuids: "+ serviceUUIDs); 
		        console.log("remoteDevice.uuids.length :"+ serviceUUIDs.length); 
		        for (i; i < serviceUUIDs.length; i++) 
		        {
		           service = remoteDevice.getService(serviceUUIDs[i]);
		           showGATTService(service);
		        }		        
			      
	       }  , connectFail);	      	     
	   }

	   adapter.stopScan();
	}

	adapter.startScan(onDeviceFound);
	
}

var myhandler2 = function () {
	remoteDevice.disconnect();
}


var myhandler3 = function () {
	adapter.stopScan()
}

BLEconnect.addEventListener("click", myhandler1, false);
BLEdisconnect.addEventListener("click", myhandler2, false);
BLEstopscan.addEventListener("click", myhandler3, false);
</script>

Responses

1 Replies
mohammed buallay

hello
I tested this code but it didn't work on my gear s2 please can you help me ?