private void AuthBLE() { // 기기 인증 device = new MiBand(_deviceManager); device.Authenticate(OnAuth); button3.Enabled = false; }
// delegate 처리 함수 void OnHeartrateChange(MiBand d, UInt16 v) { if (InvokeRequired) { OnHeartrateChangeHandler c = new OnHeartrateChangeHandler(OnHeartrateChange); Invoke(c, new object[] { d, v }); } else { listBox3.Items.Add(String.Format("{0} bpm", v)); nowBPM = v; nowTime = 17; timer1.Enabled = true; timer2.Enabled = true; ServerBPMData serverPostData = new ServerBPMData(); serverPostData.nowBPM = (int)v; serverPostData.packet_Type = (int)ServerPacketType.BPMData; AsynchronousSocketServer.Send(asyncServer.getSocket(), Packet.Serialize(serverPostData)); //asyncServer.SendPacket(v, asyncServer.GetSocket); } }
// delegate 처리 함수 void OnAuth(MiBand d, bool s) { if (InvokeRequired) { OnAuthHandler c = new OnAuthHandler(OnAuth); Invoke(c, new object[] { d, s }); } else { if (s) { // 연결에 성공 했을시 button4.Enabled = true; publicPostData serverPostData = new publicPostData(); serverPostData.data = (int)ServerStatus.BLEAuthComplete; serverPostData.packet_Type = (int)ServerPacketType.SendPacket; AsynchronousSocketServer.Send(asyncServer.getSocket(), Packet.Serialize(serverPostData)); } else { MessageBox.Show("Auth failed !", "Device error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private async void initialSetup() { var loader = new Windows.ApplicationModel.Resources.ResourceLoader(); // guardo la pulsera en un singleton global MiBand.Band = await MiBand.FirstMatch(); // pero la asigno localmente para que no de tanto por culo band = MiBand.Band; if (band != null) { ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; if (localSettings.Containers.ContainsKey("MiBand")) { var miBandSettings = localSettings.Containers["MiBand"]; string savedMAC = (string)miBandSettings.Values["MAC"]; string currentMAC = await band.getAddress(); if (savedMAC.Equals(currentMAC)) { // misma pulsera Debug.WriteLine("[mainpage] misma pulsera"); band.Settings = miBandSettings; } else { // diferente pulsera Debug.WriteLine("[mainpage] diferente pulsera"); properties.MACAddress = currentMAC; bool ret = await band.ConfigureAsSettings(); if (ret) { Debug.WriteLine("[mainpage] error al configurar como en los ajustes"); } } } else { MessageDialog dialog = new MessageDialog(loader.GetString("GreetingText"), loader.GetString("GreetingTitle")); await dialog.ShowAsync(); // la aplicacion esta recien instalada? // ir a pagina de configuracion inicial Debug.WriteLine("[mainpage] no hay datos de pulsera"); if (await band.CreateSettings()) { string currentMAC = await band.getAddress(); properties.MACAddress = currentMAC; properties.LoadingV = Visibility.Collapsed; properties.Loading = false; this.Frame.Navigate(typeof(Pages.SetUserInfo), "InitialSetup"); return; } } updateInfoFromSettings(); properties.LoadingV = Visibility.Collapsed; properties.Loading = false; Task.Factory.StartNew(() => { finishSetup(); }); } else { // si no detectamos la pulsera se cierra la aplicacion y fuera MessageDialog dialog = new MessageDialog(loader.GetString("MiBandNotFoundText"), loader.GetString("MiBandNotFoundTitle")); await dialog.ShowAsync(); updateInfoFromSettings(); properties.LoadingV = Visibility.Collapsed; properties.Loading = false; //Application.Current.Exit(); } }
internal HeartRateService(MiBand band) { this.band = band; }
private async void OnConnectClicked(object sender, RoutedEventArgs e) { //var serviceUIID = new Guid("F000AA20-0451-4000-B000-000000000000"); //Find the devices that expose the service try { DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(); DeviceInformation device = devices.FirstOrDefault(x => x.Name == "MI1S"); if (device == null) { return; } Output(device); GattDeviceService service = await GattDeviceService.FromIdAsync(device.Id); if (service == null) { return; } /* * IReadOnlyList<GattCharacteristic> features = service.GetAllCharacteristics(); * Output(features); * IReadOnlyList<GattDeviceService> includedServices = service.GetAllIncludedServices(); * Output(includedServices); * // */ BluetoothLEDevice bleDevice = service.Device; _band = new MiBand(bleDevice); //await band.PairAsync(); //string name = await band.ReadNameAsync(); //Debug.WriteLine("Got a name ! : " + name); /* * GattDeviceService batteryService = bleDevice.GetGattService(new Guid("0000fee0-0000-1000-8000-00805f9b34fb")); * Debug.WriteLine("Battery service"); * Output(batteryService); */ } catch (Exception ex) { Debug.WriteLine($"Exception : {ex.Message}"); Debug.WriteLine($"Trace : {ex.StackTrace}"); } /* * var device = devices.FirstOrDefault(d => d.Name == "TI BLE Sensor Tag"); * * if (device != null) * { * //Connect to the service * var service = await GattDeviceService.FromIdAsync(device.Id); * } */ }
internal VibrationService(MiBand band) { this.band = band; }
internal ActivityService(MiBand band) { this.band = band; }