| | |
| | | /// <summary>
|
| | | /// 控件
|
| | | /// </summary>
|
| | | private PMSensor pMSensor = null;
|
| | | private PMSensor pMSensor = null; |
| | | /// <summary>
|
| | | /// 状态控件
|
| | | /// </summary>
|
| | | private NormalViewControl btnStatu = null;
|
| | | private NormalViewControl btnStatu = null; |
| | | /// <summary>
|
| | | /// 当前的文本
|
| | | /// </summary>
|
| | | private string CurrentText = string.Empty;
|
| | |
|
| | | private string CurrentText = string.Empty; |
| | | |
| | | /// <summary>
|
| | | /// 设备名称控件
|
| | | /// </summary>
|
| | | private NormalViewControl btnDeviceName = null;
|
| | |
|
| | | private NormalViewControl btnDeviceName = null; |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 初始化_____________________________ |
| | | public override void InitMiddleFrameAfter(FrameLayout frameWhiteBack) |
| | | { |
| | | //左滑不能 |
| | | this.ScrollEnabled = true;
|
| | | this.ScrollEnabled = true; |
| | | this.pMSensor = (PMSensor)this.device; |
| | | //先清空 |
| | | this.listControl = new List<ButtonBase>(); |
| | |
| | | /// 初始化PM2.5传感器控件
|
| | | /// </summary>
|
| | | /// <param name="frameWhiteBack"></param>
|
| | | private void InitFreshAirControl(FrameLayout frameWhiteBack)
|
| | | private void InitFreshAirControl(FrameLayout frameWhiteBack) |
| | | { |
| | | //湿度容器 |
| | | var frameHumidityPic = new FrameLayout(); |
| | | frameHumidityPic.X = Application.GetMinRealAverage(138);
|
| | | frameHumidityPic.Y = Application.GetRealHeight(242);
|
| | | frameHumidityPic.Width = Application.GetMinRealAverage(311);
|
| | | frameHumidityPic.X = Application.GetMinRealAverage(138); |
| | | frameHumidityPic.Y = Application.GetRealHeight(242); |
| | | frameHumidityPic.Width = Application.GetMinRealAverage(311); |
| | | frameHumidityPic.Height = Application.GetMinRealAverage(351); |
| | | frameHumidityPic.BackgroundImagePath = "PM2.5Sensor/HumidityPic.png"; |
| | | frameWhiteBack.AddChidren(frameHumidityPic); |
| | | |
| | | //湿度文本 |
| | | var btnHumidityText = new NormalViewControl(311, 49, true);
|
| | | var btnHumidityText = new NormalViewControl(311, 49, true); |
| | | btnHumidityText.Y = Application.GetRealHeight(45); |
| | | btnHumidityText.TextID = R.MyInternationalizationString.Humidity; |
| | | btnHumidityText.TextSize = 12; |
| | |
| | | frameHumidityPic.AddChidren(btnHumidityText); |
| | | |
| | | //湿度数据(第1个,listControl【0】) |
| | | var btnHumidityStatus = new NormalViewControl(193, 92, true);
|
| | | var btnHumidityStatus = new NormalViewControl(193, 92, true); |
| | | btnHumidityStatus.Y = Application.GetRealHeight(181); |
| | | btnHumidityStatus.Text = "20"; |
| | | btnHumidityStatus.TextSize = 30; |
| | |
| | | this.listControl.Add(btnHumidityStatus); |
| | | |
| | | //湿度单位 |
| | | var btnHumidityUnit = new NormalViewControl(37 + 81, 40, true);
|
| | | var btnHumidityUnit = new NormalViewControl(37 + 81, 40, true); |
| | | btnHumidityUnit.Y = Application.GetRealHeight(181 + 46); |
| | | btnHumidityUnit.X = Application.GetRealWidth(190); |
| | | btnHumidityUnit.Text = "%"; |
| | |
| | | |
| | | //温度容器 |
| | | var frameTemperaturePic = new FrameLayout(); |
| | | frameTemperaturePic.X = Application.GetMinRealAverage(518);
|
| | | frameTemperaturePic.Y = Application.GetRealHeight(242);
|
| | | frameTemperaturePic.Width = Application.GetMinRealAverage(311);
|
| | | frameTemperaturePic.X = Application.GetMinRealAverage(518); |
| | | frameTemperaturePic.Y = Application.GetRealHeight(242); |
| | | frameTemperaturePic.Width = Application.GetMinRealAverage(311); |
| | | frameTemperaturePic.Height = Application.GetMinRealAverage(351); |
| | | frameTemperaturePic.BackgroundImagePath = "PM2.5Sensor/TemperaturePic.png"; |
| | | frameWhiteBack.AddChidren(frameTemperaturePic); |
| | | //温度文本 |
| | | var btnTemperatureText = new NormalViewControl(311, 49, true);
|
| | | var btnTemperatureText = new NormalViewControl(311, 49, true); |
| | | btnTemperatureText.Y = Application.GetRealHeight(45); |
| | | btnTemperatureText.TextID = R.MyInternationalizationString.Temperature; |
| | | btnTemperatureText.TextSize = 12; |
| | |
| | | frameTemperaturePic.AddChidren(btnTemperatureText); |
| | | |
| | | //温度数据(第2个,listControl【1】) |
| | | var btnTemperatureStatus = new NormalViewControl(193, 92, true);
|
| | | var btnTemperatureStatus = new NormalViewControl(193, 92, true); |
| | | btnTemperatureStatus.Y = Application.GetRealHeight(181); |
| | | btnTemperatureStatus.Text = "20"; |
| | | btnTemperatureStatus.TextSize = 30; |
| | |
| | | this.listControl.Add(btnTemperatureStatus); |
| | | |
| | | //温度单位 |
| | | var btnTemperatureUnit = new NormalViewControl(40 + 81, 40, true);
|
| | | var btnTemperatureUnit = new NormalViewControl(40 + 81, 40, true); |
| | | btnTemperatureUnit.Y = Application.GetRealHeight(181 + 46); |
| | | btnTemperatureUnit.X = Application.GetRealWidth(188); |
| | | btnTemperatureUnit.Text = "℃"; |
| | |
| | | |
| | | //PM2.5传感器的PM2.5容器 |
| | | var framePmPic = new FrameLayout(); |
| | | framePmPic.X = Application.GetMinRealAverage(138);
|
| | | framePmPic.Y = Application.GetRealHeight(662);
|
| | | framePmPic.Width = Application.GetMinRealAverage(311);
|
| | | framePmPic.X = Application.GetMinRealAverage(138); |
| | | framePmPic.Y = Application.GetRealHeight(662); |
| | | framePmPic.Width = Application.GetMinRealAverage(311); |
| | | framePmPic.Height = Application.GetMinRealAverage(351); |
| | | framePmPic.BackgroundImagePath = "PM2.5Sensor/PmPic.png"; |
| | | frameWhiteBack.AddChidren(framePmPic); |
| | | //PM2.5文本 |
| | | var btnPmText = new NormalViewControl(311, 49, true);
|
| | | var btnPmText = new NormalViewControl(311, 49, true); |
| | | btnPmText.Y = Application.GetRealHeight(45); |
| | | btnPmText.Text = "PM2.5"; |
| | | btnPmText.TextSize = 12; |
| | |
| | | framePmPic.AddChidren(btnPmText); |
| | | |
| | | //PM2.5数据(第3个,listControl【2】) |
| | | var btnPmStatus = new NormalViewControl(109 + 40, 92, true);
|
| | | var btnPmStatus = new NormalViewControl(109 + 40, 92, true); |
| | | btnPmStatus.Y = Application.GetRealHeight(181); |
| | | btnPmStatus.Text = "155"; |
| | | btnPmStatus.TextSize = 30; |
| | |
| | | this.listControl.Add(btnPmStatus); |
| | | |
| | | //PM2.5单位 |
| | | var btnPmUnit = new NormalViewControl(124 + 15, 43, true);
|
| | | var btnPmUnit = new NormalViewControl(124 + 15, 43, true); |
| | | btnPmUnit.Y = Application.GetRealHeight(181 + 46); |
| | | btnPmUnit.X = Application.GetRealWidth(150); |
| | | btnPmUnit.Text = "μg/m³"; |
| | |
| | | /// <param name="comandDiv">命令区分</param>
|
| | | /// <param name="report">上报数据</param>
|
| | | /// <returns></returns>
|
| | | public override bool CheckResponeResultStatu(ReceiveComandDiv comandDiv, CommonDevice report)
|
| | | {
|
| | | if (comandDiv == ReceiveComandDiv.A设备属性上报)
|
| | | {
|
| | | if (report.DeviceStatusReport.CluterID == 1026)
|
| | | {
|
| | | var attriButeList = report.DeviceStatusReport.AttriBute;
|
| | | foreach (var attList in attriButeList)
|
| | | {
|
| | | if (attList.AttributeId == 0)
|
| | | public override bool CheckResponeResultStatu(ReceiveComandDiv comandDiv, CommonDevice report) |
| | | { |
| | | if (comandDiv == ReceiveComandDiv.A设备属性上报) |
| | | { |
| | | if (report.DeviceStatusReport.CluterID == 1026) |
| | | { |
| | | var attriButeList = report.DeviceStatusReport.AttriBute; |
| | | foreach (var attList in attriButeList) |
| | | { |
| | | if (attList.AttributeId == 0) |
| | | { |
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | UpdateStatus(); |
| | | }); |
| | | |
| | | //已经接收到网关的反馈 |
| | | return true;
|
| | | return true; |
| | | } |
| | | }
|
| | | }
|
| | | if (report.DeviceStatusReport.CluterID == 1029)
|
| | | {
|
| | | var attriButeList = report.DeviceStatusReport.AttriBute;
|
| | | foreach (var attList in attriButeList)
|
| | | {
|
| | | if (attList.AttributeId == 0)
|
| | | } |
| | | } |
| | | if (report.DeviceStatusReport.CluterID == 1029) |
| | | { |
| | | var attriButeList = report.DeviceStatusReport.AttriBute; |
| | | foreach (var attList in attriButeList) |
| | | { |
| | | if (attList.AttributeId == 0) |
| | | { |
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | UpdateStatus(); |
| | | }); |
| | | |
| | | //已经接收到网关的反馈 |
| | | return true;
|
| | | return true; |
| | | } |
| | | }
|
| | | }
|
| | | if (report.DeviceStatusReport.CluterID == 1066)
|
| | | {
|
| | | var attriButeList = report.DeviceStatusReport.AttriBute;
|
| | | foreach (var attList in attriButeList)
|
| | | {
|
| | | if (attList.AttributeId == 0)
|
| | | } |
| | | } |
| | | if (report.DeviceStatusReport.CluterID == 1066) |
| | | { |
| | | var attriButeList = report.DeviceStatusReport.AttriBute; |
| | | foreach (var attList in attriButeList) |
| | | { |
| | | if (attList.AttributeId == 0) |
| | | { |
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | UpdateStatus(); |
| | | }); |
| | | |
| | | //已经接收到网关的反馈 |
| | | return true;
|
| | | return true; |
| | | } |
| | | }
|
| | | }
|
| | | }
|
| | | return false;
|
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | #endregion |
| | | |