public BluetoothDataLayer() { timer = new Timer { Interval = 15000 }; timer.Elapsed += OnTimerTick; timer.Start(); ble = CrossBluetoothLE.Current; adapter = ble.Adapter; deviceList = new List <MyDeviceView>(); MinRssi = -100; adapter.DeviceDiscovered += (s, a) => { Console.WriteLine("DeviceFound"); if (a.Device.Rssi >= MinRssi) { if (deviceList.Exists(d => d.id == a.Device.Id)) { var dev = deviceList.Find(d => d.id == a.Device.Id); dev.UpdateCountdown(); dev.RSSI = a.Device.Rssi; } else { deviceList.Add(new MyDeviceView(a.Device)); } } }; }
public BluetoothDataLayer() { timer = new Timer { Interval = 15000 }; timer.Elapsed += OnTimerTick; timer.Start(); ble = CrossBluetoothLE.Current; adapter = ble.Adapter; deviceList = new List <MyDeviceView>(); adapter.DeviceDiscovered += (s, a) => { if (a.Device.Name != null && a.Device.Name.Contains("Beacon")) { if (deviceList.Exists(d => d.id == a.Device.Id)) { var dev = deviceList.Find(d => d.id == a.Device.Id); dev.UpdateCountdown(); } else { deviceList.Add(new MyDeviceView(a.Device)); } } }; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_main); Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); FloatingActionButton fab = FindViewById<FloatingActionButton>(Resource.Id.fab); fab.Click += FabOnClick; if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, Manifest.Permission.AccessFineLocation) == (int)Android.Content.PM.Permission.Granted) { Android.Util.Log.Debug("BLE", "PERMIT OF LOCATION ALEADY SUTISFIED"); } else { ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.AccessFineLocation }, 1); } var ble = CrossBluetoothLE.Current; adapter = CrossBluetoothLE.Current.Adapter; var state = ble.State; Android.Util.Log.Debug("BLE", state.ToString()); bleScan(); }
public HeartRateAndroidBLE(string deviceName) { _deviceName = deviceName; _adapter = CrossBluetoothLE.Current.Adapter; _ble = CrossBluetoothLE.Current; _adapter.DeviceDiscovered += _adapter_DeviceDiscovered; _adapter.ScanTimeoutElapsed += _adapter_ScanTimeoutElapsed; _adapter.DeviceConnectionLost += _adapter_DeviceConnectionLost; _status = Status.STATUS_DEAD; }
public DeviceManager() { bluetoothLe = CrossBluetoothLE.Current; adapter = CrossBluetoothLE.Current.Adapter; devices = new List <DeviceListViewItem>(); userDialogs = UserDialogs.Instance; bluetoothLe.StateChanged += OnStateChanged; Adapter.DeviceDiscovered += OnDeviceDiscovered; Adapter.ScanTimeoutElapsed += Adapter_ScanTimeoutElapsed; Adapter.DeviceDisconnected += OnDeviceDisconnected; Adapter.DeviceConnectionLost += OnDeviceConnectionLost; permissions = CrossPermissions.Current; }
public BluetoothService() { Bluetooth = CrossBluetoothLE.Current; Adapter = CrossBluetoothLE.Current.Adapter; Adapter.DeviceDiscovered += (s, e) => { OnDeviceLoaded?.Invoke(this, new BluetoothEventArgs(e.Device)); }; Bluetooth.StateChanged += (s, e) => { OnStatusChanged?.Invoke(this, new StatusBluetoothEventArgs(e.NewState)); }; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main); _bluetooth = CrossBluetoothLE.Current; _bleAdapter = CrossBluetoothLE.Current.Adapter; _bleAdapter.ScanTimeout = 10000; InitializeButtons(); _bleAdapter.DeviceDiscovered += _bleAdapter_DeviceDiscovered; _heartService = new Intent(this, typeof(HeartService)); _acceleroService = new Intent(this, typeof(AcceleroService)); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.layoutble); ble = CrossBluetoothLE.Current; adapter = CrossBluetoothLE.Current.Adapter; deviseList = new ObservableCollection <IDevice>(); deviseHashCodeList = new ObservableCollection <string>(); if (Build.VERSION.SdkInt >= Build.VERSION_CODES.M) { RequestPermissions(new System.String[] { Manifest.Permission.AccessCoarseLocation }, PERMISSION_REQUEST_COARSE_LOCATION); } btnStatus_Clicked = (Button)FindViewById(Resource.Id.btnStatus_Clicked); btnStatus_Clicked.Click += BtnStatusClicked; btnScan_Clicked = (Button)FindViewById(Resource.Id.btnScan_Clicked); btnScan_Clicked.Click += BtnScanClicked; btnConnect_Clicked = (Button)FindViewById(Resource.Id.btnConnect_Clicked); btnConnect_Clicked.Click += BtnConnectClicked; btnGetServices_Clicked = (Button)FindViewById(Resource.Id.btnGetServices_Clicked); btnGetServices_Clicked.Click += BtnGetServicesClicked; btnGetcharacters_Clicked = (Button)FindViewById(Resource.Id.btnGetcharacters_Clicked); btnGetcharacters_Clicked.Click += BtnGetCharactersClicked; btnGetRW_Clicked = (Button)FindViewById(Resource.Id.btnGetRW_Clicked); btnGetRW_Clicked.Click += BtnGetRWClicked; lv = (ListView)FindViewById(Resource.Id.lv); adapter_lv = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, deviseHashCodeList); lv.ItemClick += OnDeviceClicked; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_main); Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); // Use this check to determine whether BLE is supported on the device. Then // you can selectively disable BLE-related features. if (!PackageManager.HasSystemFeature(Android.Content.PM.PackageManager.FeatureBluetoothLe)) { Toast.MakeText(this, "Not supported", ToastLength.Short).Show(); Finish(); } _bluetoothLE = CrossBluetoothLE.Current; _adapter = CrossBluetoothLE.Current.Adapter; _adapter.DeviceDiscovered += DeviceDiscovered; var scanBtn = FindViewById <Button>(Resource.Id.buttonScan); scanBtn.Click += ScanBtn_Click; var connectBtn = FindViewById <Button>(Resource.Id.buttonConnect); connectBtn.Click += ConnectBtn_Click; var getDataBtn = FindViewById <Button>(Resource.Id.buttonGetData); getDataBtn.Click += GetDataBtn_Click; Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, savedInstanceState); _listView = FindViewById <RecyclerView>(Resource.Id.listView); _listView.HasFixedSize = true; var layoutManager = new LinearLayoutManager(this); _listView.SetLayoutManager(layoutManager); _listViewAdapter = new BleDevicesAdapter(); _listView.SetAdapter(_listViewAdapter); }
public bool StartDeviceScan() { _adapter = CrossBluetoothLE.Current.Adapter; _devices = new List <IDevice>(); _cancellationTokenSource = new CancellationTokenSource(); _adapter.DeviceDiscovered += _adapter_DeviceDiscovered; _adapter.ScanTimeoutElapsed += _adapter_ScanTimeoutElapsed; _adapter.ScanTimeout = 15000; // millisecondi foreach (var dev in _adapter.ConnectedDevices) { _adapter_DeviceDiscovered(dev); } _adapter.StartScanningForDevicesAsync(serviceUuids: null, deviceFilter: null, cancellationToken: _cancellationTokenSource.Token); return(true); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main); databaseAddress = createAddress(); connection = new SqlConnection(databaseAddress.ConnectionString); // Create your application here TextView scanview = FindViewById <TextView>(Resource.Id.scanview); TextView txt = FindViewById <TextView>(Resource.Id.txtdata); listView = FindViewById <ListView>(Resource.Id.listView1); txt.Text += clientId; ble = CrossBluetoothLE.Current; adapter = CrossBluetoothLE.Current.Adapter; deviceList = new ObservableCollection <IDevice>(); Button Test = FindViewById <Button>(Resource.Id.btnTest); Test.Click += delegate { var state = ble.State; var info = ble.State.ToString(); new AlertDialog.Builder(this) .SetMessage(info) .SetTitle("Bluetooth State") .Show(); }; Button button = FindViewById <Button>(Resource.Id.dbbutton); button.Click += delegate { //var db = new SQLiteConnection(dbPath); ////set up table //db.CreateTable<Contact>(); ////create new contact obj Contact myContact = new Contact(clientId, prevLocation); ////store obj into table //db.Insert(myContact); connection.Open(); StringBuilder query = new StringBuilder(); query.Append("INSERT INTO UsersTable(Username, Location)VALUES('" + myContact.Name + "', '" + myContact.Location + "')"); string sqlquery = query.ToString(); SqlCommand command = new SqlCommand(sqlquery, connection); command.ExecuteNonQuery(); connection.Close(); }; Button showbutton = FindViewById <Button>(Resource.Id.showbtn); showbutton.Click += delegate { //set up db connection var db = new SQLiteConnection(dbPath); //connect to table var table = db.Table <Contact>(); foreach (var item in table) { Contact myContact = new Contact(item.Name, item.Location); txt.Text += myContact + "\n"; } }; Button BLEscan = FindViewById <Button>(Resource.Id.scanner); BLEscan.Click += async delegate { scanview.Text = ""; deviceList.Clear(); adapter.DeviceDiscovered += (s, a) => { deviceList.Add(a.Device); }; await adapter.StartScanningForDevicesAsync(); scanview.Text += "Device count:" + deviceList.Count; List <IDevice> x = deviceList .Where(device => device.Name != null) //&& device.Rssi > -30) .ToList(); scanview.Text += "Var X:" + x.Count; CreateList(x); prevLocation = x.ElementAt(0).Name; }; }
public void CheckMyAdapter(IAdapter adapter) { adapter.StartScanningForDevicesAsync(); }