private void DataReceiveHandler(object sender, SerialDataReceivedEventArgs e) { string indata = sp.ReadLine(); string[] s = indata.Split(' '); if (s[0].Trim() == "0") { temp = int.Parse(s[1]); humidity = int.Parse(s[2]); light = int.Parse(s[3]) * 100 / 1024; this.Dispatcher.Invoke(() => { TempValues.Add(new ObservableValue(temp)); HumiValues.Add(new ObservableValue(humidity)); LightValues.Add(new ObservableValue(light)); Labels.Append(DateTime.Now.ToString()); nhiet_do.Text = temp.ToString(); do_am.Text = humidity.ToString(); anh_sang.Text = light.ToString(); }); } Console.Write("Data:"); Console.WriteLine(indata); }
/* Data format : * [0 a a1 b b1 c] * 0: success * a: int part of temp * a1: after floating point part of temp * b: int part of humi * b1: after floating point part of humi * c: light value (0-1023) */ private void DataReceiveHandler(object sender, SerialDataReceivedEventArgs e) { try { string indata = sp.ReadLine(); string[] s = indata.Split(' '); if (s[0].Trim() == "0") { temp = int.Parse(s[1]); i_temp = int.Parse(s[2]); humidity = int.Parse(s[3]); i_humidity = int.Parse(s[4]); light = int.Parse(s[5]); time = DateTime.Now; this.Dispatcher.Invoke(() => { TempValues.Add(new ObservableValue(Math.Round(float.Parse(temp.ToString() + "." + i_temp.ToString()), 1))); HumiValues.Add(new ObservableValue(Math.Round(float.Parse(humidity.ToString() + "." + i_humidity.ToString()), 1))); LightValues.Add(new ObservableValue(Math.Round(light * 100.0 / 1024, 2))); Labels.Append(DateTime.Now.ToString()); nhiet_do.Text = temp.ToString() + "." + i_temp.ToString() + "°C"; do_am.Text = humidity.ToString() + "." + i_humidity.ToString() + "%"; anh_sang.Text = Math.Round(light * 100.0 / 1024, 2).ToString() + "%"; // insert to firebase var data = new Data { id = time.ToString("yyyy/MM/dd"), fb_time = time.ToString("h:mm:ss tt"), fb_temp = temp, fb_humi = humidity, fb_light = Math.Round(light * 100.0 / 1024, 2) }; insertToFireBase(data); // write log using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"log.txt", true)) { file.WriteLine(time.ToString("yyyy/MM/dd h:mm:ss tt") + " - Temp: " + temp + "°C, Humidity: " + humidity + "%, Light: " + Math.Round(light * 100.0 / 1024, 2) + "%"); } }); } else if (s[0].Trim() == "1") { temp_thres = int.Parse(s[1]); humidity_thres = int.Parse(s[2]); light_thres = int.Parse(s[3]); this.Dispatcher.Invoke(() => { ON.IsEnabled = true; nguong_nhiet_do.Text = temp_thres.ToString(); nguong_do_am.Text = humidity_thres.ToString(); nguong_anh_sang.Text = light_thres.ToString(); }); } //Console.Write("Data:"); //Console.WriteLine(indata); } catch (Exception) { }; }