Ejemplo n.º 1
0
    private void Parse(string data)
    {
        if (data.Contains("bioMetrics"))
        {
            HeartRate heartRate = JsonUtility.FromJson <HeartRate>(data);
            try
            {
                var span = DateTime.Now - start;
                heartRate.time = span.Minutes + "m:" + span.Seconds + "s";
                Debug.Log($"heart rate time = {heartRate.time}");
            }
            catch (Exception ex)
            {
                Debug.LogError(ex.Message);
            }

            datas.Add(heartRate);

            Debug.Log($"heart rate = {heartRate.heartRate}");
        }
        else
        {
            //Debug.Log($"心拍データではありません!");
        }
    }
Ejemplo n.º 2
0
 private void OnReadyForSync(BleDevice device)
 {
     m_state = MenuState.CONNECTED;
     BluetoothLEPlugin.BleDeviceConnectEvent -= OnDeviceConnected;
     if (b_Loggin)
     {
         Debug.Log("HeartRateScene: BleDeviceConnectEvent unsubscribed");
     }
     HeartRate.OnHRMDataReceived -= On_DataReceived;
     HeartRate.OnHRMDataReceived += On_DataReceived;
     if (b_Loggin)
     {
         Debug.Log("HeartRateScene: OnHRMDataReceived un-/resubscribed");
     }
     if (device.GetType().Equals(typeof(HeartRate)))
     {
         m_heartrate = (HeartRate)device;
         m_heartrate.Sync(b_Loggin);
     }
     m_status = "syncing...";
     if (b_Loggin)
     {
         Debug.Log("HeartRateScene: Device successfully connected, syncing");
     }
 }
Ejemplo n.º 3
0
 private void MsBandAndroidBridge_HeartRateUpdateEvent(HeartRate heartRate, MsBand band)
 {
     if (HeartRateDisplay != null)
     {
         HeartRateDisplay.text = heartRate.Rate.ToString();
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Starts the training
        /// </summary>
        /// <param name="enduranceDataService">Service to communicate with the peripheral.</param>
        /// <param name="gpsService">Service to get GPS coordinates from the environment.</param>
        public void Start(EnduranceDataService enduranceDataService, IGpsService gpsService)
        {
            cancellation = new CancellationTokenSource();
            Task.Factory.StartNew(() =>
            {
                laps      = new List <Lap>();
                heartRate = new HeartRate();

                enduranceDataService.StartActivitiy();
                gpsService.StartTracking();

                while (!cancellation.Token.IsCancellationRequested)
                {
                    Thread.Sleep(trainingsReadIntervalMs);

                    var nextLapDto    = enduranceDataService.GetNextRawLap();
                    var nextHeartRate = enduranceDataService.GetHeartRate();

                    var lap = new Lap(nextLapDto.LapDistance, nextLapDto.LapTime);

                    laps.Add(lap);
                    heartRate = heartRate.AddPulses(nextHeartRate.Select(h => (h.Item1, h.Item2.Pulse)).ToList());
                }

                enduranceDataService.StopActivity();
                gpsService.StopTracking();

                gpsCoordinates = gpsService.GetCoordinates().Select(c => new GpsCoordinate(c.Item1, c.Item2)).ToList();
            }
                                  );
        }
Ejemplo n.º 5
0
 public ResultsPage()
 {
     InitializeComponent();
     var sign1 = new DIA()
     {
         Value = 80
     };
     var sign2 = new SYS()
     {
         Value = 120
     };
     var sign3 = new HeartRate()
     {
         Value = 120
     };
     var state = new HeartAndPressureHealthState()
     {
         MeasurementTime = DateTime.Now,
         Signs           = new List <Sign <Guid, ushort> >()
         {
             sign1,
             sign2,
             sign3
         }
     };
     //this.BindingContext = new HealthMeasurementsViewModel()
     //{
     //    HM = new ObservableCollection<HeartAndPressureHealthState>()
     //    {
     //        state
     //    }
     //};
 }
Ejemplo n.º 6
0
        public ActionResult Create([Bind(Include = "Id,DateTime,SportsmanId,HeartRateValue")] HeartRate heartRate)
        {
            if (ModelState.IsValid)
            {
                if (heartRate.Id == null)
                {
                    heartRate.Id = Guid.NewGuid().ToString();
                }

                TimeZoneInfo moscowTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time");
                DateTime     moscowDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, moscowTimeZone);
                heartRate.DateTime = moscowDateTime;

                //currentSportsman = db.Sportsmen.Find("eb75903d-b05d-42d6-b531-0031ff283bf2");

                //heartRate.SportsmanId = currentSportsman.Id;
                //heartRate.FirstName = currentSportsman.FirstName;
                //heartRate.LastName = currentSportsman.LastName;

                db.HeartRates.Add(heartRate);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(heartRate));
        }
 void checkSources()
 {
     heartRate = HeartRate.None;
     //Logic here
     //Loop through each thingy we are scared of, and take the one that scares us the most, and set our heart rate.
     //If there is nothing in the scene to scare us, then set the heart rate to be off.
     //But, if there is something in the scene that does scare us, anything at all, then heartrate should be slow.
     foreach ( FearSource source in fearSources) {
         if (!source.t.gameObject.activeInHierarchy) {
             continue;
         }
         HeartRate tempHeartRate = HeartRate.None;
         Vector3 offset = source.t.position - player.transform.position;
         float sqrLen = offset.sqrMagnitude;
         if (sqrLen < source.near * source.near) {
             //Debug.Log ("Making Heart Rate Go");
             tempHeartRate = HeartBeat_ControlScript.HeartRate.Fast;
         } else if (sqrLen < source.medium * source.medium) {
             //Debug.Log ("Making Heart Rate Go");
             tempHeartRate = HeartBeat_ControlScript.HeartRate.Mid;
         } else {
             tempHeartRate = HeartRate.Slow;
         }
         int result = (int)(Mathf.Max ((float)tempHeartRate, (float)heartRate));
         heartRate = (HeartRate)result;
     }
 }
Ejemplo n.º 8
0
        public async Task <IHttpActionResult> PutHeartRate(int id, HeartRate heartRate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != heartRate.Id)
            {
                return(BadRequest());
            }

            db.Entry(heartRate).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HeartRateExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 9
0
    // Read serial input
    void SerialRead()
    {
        stream.Open();
        streamRunning = true;
        //stream.ReadTimeout = 1;

        while (stream.IsOpen)
        {
            //Debug.Log("Stream is OPEN");

            try
            {
                if (streamRunning == false)
                {
                    break;
                }

                // Read line from port
                input = stream.ReadLine();
                hr    = JsonUtility.FromJson <HeartRate>(input);
                //Debug.Log(input);
            }

            catch (System.Exception e)
            {
                Debug.LogException(e, this);
                break;
            }
        }

        Debug.Log("Stream is CLOSED");
    }
Ejemplo n.º 10
0
        public ActionResult DeleteConfirmed(string id)
        {
            HeartRate heartRate = db.HeartRates.Find(id);

            db.HeartRates.Remove(heartRate);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public Task Handle(HeartRateCreateCommand heartRateCreateCommand, CancellationToken cancellationToken)
        {
            var newHeartRate = new HeartRate(heartRateCreateCommand.Person,
                                             heartRateCreateCommand.HeartRateValue);

            _heartRateRepository.Create(newHeartRate);

            return(Task.CompletedTask);
        }
Ejemplo n.º 12
0
        public void Create(HeartRate person)
        {
            var client   = new MongoClient(IotMongoDb.Connection);
            var database = client.GetDatabase(IotMongoDb.DataBase);

            var collection = database.GetCollection <HeartRate>("HeartRates");

            collection.InsertOne(person);
        }
Ejemplo n.º 13
0
        static void Main(string[] args)
        {
            HeartRate me = new HeartRate();

            System.Windows.Forms.MessageBox.Show("Maximum Heart Rate is {0}. ", me.MaxRate());
            Console.WriteLine("Minimum Heart Rate is {0}. ", me.MinRate());
            Console.WriteLine("Your Name is: {0} ", me.FirstName + me.LastName);
            Console.WriteLine("You are {0} years old", me.GetAge());
        }
Ejemplo n.º 14
0
 public ActionResult Edit([Bind(Include = "Id,DateTime,SportsmanId,HeartRateValue")] HeartRate heartRate)
 {
     if (ModelState.IsValid)
     {
         db.Entry(heartRate).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(heartRate));
 }
Ejemplo n.º 15
0
        public async Task <IHttpActionResult> GetHeartRate(int id)
        {
            HeartRate heartRate = await db.HeartRates.FindAsync(id);

            if (heartRate == null)
            {
                return(NotFound());
            }

            return(Ok(heartRate));
        }
Ejemplo n.º 16
0
 public MiBand3()
 {
     Identity      = new Identity();
     Battery       = new Battery();
     Device        = new Device();
     Display       = new Display();
     Activity      = new Activity();
     HeartRate     = new HeartRate();
     WearLocation  = new WearLocation();
     Notifications = new Notification();
 }
Ejemplo n.º 17
0
        public async Task <IHttpActionResult> PostHeartRate(HeartRate heartRate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.HeartRates.Add(heartRate);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = heartRate.Id }, heartRate));
        }
Ejemplo n.º 18
0
 public void  Add(HeartRate heartRate)
 {
     if (dataList.Contains(heartRate))
     {
         return;
     }
     dataList.Add(heartRate);
     if (title != null && heartRate.heartRate < title.heartRate * 1.05f)
     {
         overListener?.Invoke();
     }
 }
Ejemplo n.º 19
0
 //Checkbox Not Working
 #region Heart Rate Checkbox Changed
 private void HeartRate_CheckedChanged(object sender, EventArgs e)
 {
     if (HeartRate.Checked == false)
     {
         myCurve.IsVisible = false;
         HeartRate.Invalidate();
     }
     else
     {
         myCurve.IsVisible = true;
         HeartRate.Invalidate();
     }
 }
Ejemplo n.º 20
0
        public async Task <IHttpActionResult> DeleteHeartRate(int id)
        {
            HeartRate heartRate = await db.HeartRates.FindAsync(id);

            if (heartRate == null)
            {
                return(NotFound());
            }

            db.HeartRates.Remove(heartRate);
            await db.SaveChangesAsync();

            return(Ok(heartRate));
        }
Ejemplo n.º 21
0
        // GET: HeartRates/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HeartRate heartRate = db.HeartRates.Find(id);

            if (heartRate == null)
            {
                return(HttpNotFound());
            }
            return(View(heartRate));
        }
        internal static Observation ToFhirInternal(HeartRate heartRate, Observation observation)
        {
            observation.Category = new List <CodeableConcept> {
                FhirCategories.VitalSigns
            };
            observation.Code = HealthVaultVocabularies.HeartRate;

            var quantity = new Quantity(heartRate.Value, UnitAbbreviations.PerMinute);

            observation.Value     = quantity;
            observation.Effective = new FhirDateTime(heartRate.When.ToLocalDateTime().ToDateTimeUnspecified());

            return(observation);
        }
Ejemplo n.º 23
0
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (HeartRate != null)
         {
             hashCode = hashCode * 59 + HeartRate.GetHashCode();
         }
         if (Power != null)
         {
             hashCode = hashCode * 59 + Power.GetHashCode();
         }
         return(hashCode);
     }
 }
Ejemplo n.º 24
0
        public void WhenHealthVaultHeartRateTransformedToFhir_ThenCodeAndValuesEqual()
        {
            // ToDo, once deserialization is fixed on SDK, use Deserialize

            var heartRate = new HeartRate(new HealthServiceDateTime(), 65);

            var observation = heartRate.ToFhir() as Observation;

            Assert.IsNotNull(observation);
            Assert.AreEqual(HealthVaultVocabularies.HeartRate, observation.Code);

            var value = observation.Value as Quantity;

            Assert.IsNotNull(value);
            Assert.AreEqual(65, value.Value);
            Assert.AreEqual(UnitAbbreviations.PerMinute, value.Unit);
        }
Ejemplo n.º 25
0
        public string CreateHeartRateValue(string SportsmanId, string FirstName, string LastName, string TeamNumber, string value)
        {
            Sportsman sportsman    = new Sportsman();
            bool      firstConnect = false;

            if (SportsmanId == null)
            {
                // Это первое обращение, сначала создадим Спортмена и запишем в базу
                sportsman.FirstName  = FirstName;
                sportsman.LastName   = LastName;
                sportsman.TeamNumber = TeamNumber;

                SportsmenController sportsmenController = new SportsmenController();
                sportsmenController.Create(sportsman);

                firstConnect = true;
            }
            else
            {
                sportsman = db.Sportsmen.Find(SportsmanId);
            }

            HeartRate heartRate = new HeartRate();

            heartRate.Id             = Guid.NewGuid().ToString();
            heartRate.SportsmanId    = sportsman.Id;
            heartRate.FirstName      = sportsman.FirstName;
            heartRate.LastName       = sportsman.LastName;
            heartRate.HeartRateValue = value;

            TimeZoneInfo moscowTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time");
            DateTime     moscowDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, moscowTimeZone);

            heartRate.DateTime = moscowDateTime;

            db.HeartRates.Add(heartRate);
            db.SaveChanges();

            if (firstConnect)
            {
                return(sportsman.Id);
            }

            return("Success");
        }
Ejemplo n.º 26
0
        public MainPage()
        {
            this.sensor           = KinectSensor.GetDefault();
            this.multiFrameReader = this.sensor.OpenMultiSourceFrameReader(FrameSourceTypes.Color | FrameSourceTypes.Body | FrameSourceTypes.Depth | FrameSourceTypes.Infrared | FrameSourceTypes.BodyIndex);
            this.multiFrameReader.MultiSourceFrameArrived += this.AllFrameAvailable;

            FrameDescription colorFrameDescription = this.sensor.ColorFrameSource.CreateFrameDescription(ColorImageFormat.Rgba);

            this.bytesPerPixel = colorFrameDescription.BytesPerPixel;
            this.colorPixels   = new byte[colorFrameDescription.Width * colorFrameDescription.Height * this.bytesPerPixel];
            this.wBitmap       = new WriteableBitmap(colorFrameDescription.Width, colorFrameDescription.Height);
            this.stream        = this.wBitmap.PixelBuffer.AsStream();

            this.bodies           = new Body[this.sensor.BodyFrameSource.BodyCount];
            this.coordinateMapper = this.sensor.CoordinateMapper;
            FrameDescription frameDescription = this.sensor.DepthFrameSource.FrameDescription;

            FrameDescription irFrameDescription = this.sensor.InfraredFrameSource.FrameDescription;

            this.irData = new ushort[irFrameDescription.Width * irFrameDescription.Height];

            this.sensor.Open();


            this.DataContext = this;
            this.InitializeComponent();

            m_heartRate     = new HeartRate();
            this.matrices   = new IRMatrix[maxSeconds, 7];
            this.irAverages = new float[maxSeconds, 7];
            //this. .Children.Add(this.drawingCanvas);

            // grab the audio stream
            IReadOnlyList <AudioBeam> audioBeamList = this.sensor.AudioSource.AudioBeams;

            this.audioStream = audioBeamList[0].OpenInputStream();

            // create the convert stream
            this.convertStream = new KinectAudioStream(audioStream);

            Window.Current.Activated += Window_Activated;
        }
Ejemplo n.º 27
0
        /********************************************
         * 函数名称:run()
         * 功能:患者组件执行函数
         * 参数:无
         * 返回值:无
         * *****************************************/
        public void run()
        {
            while (true)
            {
                if (Form1.stop)
                {
                    this.EmptyingQueue();
                    return;
                }

                BloodPressure bp = (BloodPressure)(this.bloodPressureComponent);
                ////启动血压组件执行线程
                //Thread bp_thread = new Thread(new ParameterizedThreadStart(bp.run)); //带1个参数传递的线程创建
                //bp_thread.Start(1);
                bp.GeneratingBloodPressureData();       //生成血压数据
                //bp.Component_send_queue.Enqueue(bp.BloodPressureData);
                bp.ComponentDataTransfer(bp);           //传输血压数据
                PortDataTransfer(this.output_ports[0]); //患者组件output端口继续将数据传输至另一组件input端口

                Temperature temp = (Temperature)(this.temperatureComponent);
                ////启动体温组件执行线程
                //Thread temp_thread = new Thread(new ParameterizedThreadStart(temp.run)); //带1个参数传递的线程创建
                //temp_thread.Start(1);
                temp.GeneratingTemperatureData();       //生成体温数据
                //temp.Component_send_queue.Enqueue(temp.TemperatureData);
                temp.ComponentDataTransfer(temp);       //传输体温数据
                PortDataTransfer(this.output_ports[1]); //患者组件output端口继续将数据传输至另一组件input端口

                HeartRate hr = (HeartRate)(this.heartRateComponent);
                ////启动心率组件执行线程
                //Thread hr_thread = new Thread(new ParameterizedThreadStart(hr.run)); //带1个参数传递的线程创建
                //hr_thread.Start(1);
                hr.GeneratingHartRateData();            //生成心率数据
                //hr.Component_send_queue.Enqueue(hr.HeartRateData);
                hr.ComponentDataTransfer(hr);           //传输心率数据
                PortDataTransfer(this.output_ports[2]); //患者组件output端口继续将数据传输至另一组件input端口
            }
        }// public void run()
Ejemplo n.º 28
0
        /// <summary>
        /// Returns true if Zones instances are equal
        /// </summary>
        /// <param name="other">Instance of Zones to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(Zones other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     HeartRate == other.HeartRate ||
                     HeartRate != null &&
                     HeartRate.Equals(other.HeartRate)
                     ) &&
                 (
                     Power == other.Power ||
                     Power != null &&
                     Power.Equals(other.Power)
                 ));
        }
        private List <HeartRate> GetHeartRates()
        {
            Console.WriteLine($"Started HeartRate {ParserName}");

            var hrs = new List <HeartRate>();

            if (!IsParsed)
            {
                return(hrs);
            }

            var items = RecordedHistory.History.Where(h => h.DataType == RecordedHistory.DataType.HR);

            foreach (var item in items)
            {
                var bodyData = item.Response?.Body?.Data();
                if (bodyData == null || bodyData.Body.Series.Count == 0)
                {
                    continue;
                }

                var data = bodyData.Body.Series[0];
                for (var i = 0; i < data.Dates.Length; i++)
                {
                    var hr = new HeartRate
                    {
                        TimeStamp = FromUnixTime(data.Dates[i]),
                        Value     = (int)data.Vasistas[i][0]
                    };
                    hrs.Add(hr);
                }
            }

            Console.WriteLine($"Finished HeartRate {ParserName}");

            return(hrs);
        }
        private void OnEnable()
        {
            _gazeTracker          = gameObject.GetComponent <GazeTracking>();
            _gazeAttention        = gameObject.GetComponent <GazeAttention>();
            _heartRate            = gameObject.GetComponent <HeartRate>();
            _galvanicSkinResponse =
                gameObject.GetComponent <GalvanicSkinResponse>();
            _emotionClassification =
                gameObject.GetComponent <EmotionClassification>();

            _dataTable = new DataTable();
            _dataTable.Columns.Add("participant_id");
            _dataTable.Columns.Add("mission_number");
            _dataTable.Columns.Add("mission_time");
            _dataTable.Columns.Add("heart_rate");
            _dataTable.Columns.Add("galvanic_skin_response");
            _dataTable.Columns.Add("emotion");
            _dataTable.Columns.Add("gaze_x");
            _dataTable.Columns.Add("gaze_y");
            _dataTable.Columns.Add("attention_id");

            Mission.Lifecycle.EventManager.Started   += BeginLogging;
            Mission.Lifecycle.EventManager.Completed += EndLogging;
        }
Ejemplo n.º 31
0
    public void ReportMacAdressFound(string s_DeviceMACAdress)
    {
        #endif
        if (b_Loggin)
        {
            Debug.Log("BluetoothLEPlugin.cs; ReportMacadressFound called with s_DeviceMACAdress: " + s_DeviceMACAdress);
        }
        string[] splitString    = s_DeviceMACAdress.Split(',');
        string   deviceservuuid = splitString[3];
        string   name           = splitString[2];
        string   adress         = splitString[0];
        int      devicetype     = Int32.Parse(splitString[1]);
        if (b_Loggin)
        {
            Debug.Log("BluetoothLEPlugin.cs; deviceservuuid: " + deviceservuuid + ", name: " + name + ", adress: " + adress + ", devicetype: " + devicetype);
        }
        BleDevice device;
        switch ((DeviceType)devicetype)
        {
        case DeviceType.HeartRateSensor:        //1
            device = new HeartRate(name, adress, deviceservuuid, b_Loggin);
            break;

        default:
            device = new BleDevice(name, adress, deviceservuuid, b_Loggin);
            break;
        }
        if (b_Loggin)
        {
            Debug.Log("BluetoothLEPlugin.cs; got MAC-Adress, sending BleDeviceFoundEvent(" + s_DeviceMACAdress + ")");
        }
        if (BleDeviceFoundEvent != null)
        {
            BleDeviceFoundEvent(device);
        }
    }
    // Update is called once per frame
    void Update()
    {
        checkSources ();
        if (heartRate != currentlyPlaying) {
            switch(heartRate) {
                case HeartRate.None:
                    source.Stop();
                    break;
                case HeartRate.Slow:
                    loadAudio(slowBeat);
                    break;
                case HeartRate.Mid:
                    loadAudio(midBeat);
                    break;
                case HeartRate.Fast:
                    loadAudio(fastBeat);
                    break;
            }
            currentlyPlaying = heartRate;

        }
    }