diff --git a/MonitoringTechnology/Assets/Images/Logo.png b/MonitoringTechnology/Assets/Images/Logo.png
new file mode 100644
index 0000000..71cb5d3
Binary files /dev/null and b/MonitoringTechnology/Assets/Images/Logo.png differ
diff --git a/MonitoringTechnology/Ble/BleDevice.cs b/MonitoringTechnology/Ble/BleDevice.cs
index bafb5c6..5779b3a 100644
--- a/MonitoringTechnology/Ble/BleDevice.cs
+++ b/MonitoringTechnology/Ble/BleDevice.cs
@@ -222,6 +222,7 @@ namespace MonitoringTechnology.Ble
GattCharacteristics.Clear();
GattDeviceServicesResult servicesResult = await _device.GetGattServicesAsync().GetResultAsync();
+
if (servicesResult.Status == GattCommunicationStatus.Success)
{
foreach (GattDeviceService service in servicesResult.Services)
@@ -267,9 +268,15 @@ namespace MonitoringTechnology.Ble
{
Log.Info("订阅通知成功!" + CharacteristicNotify.Uuid);
}
+
}
ConnectionStateChanged?.Invoke(this, true);
}
+ else
+ {
+ string _message = "连接失败,请重新尝试连接!";
+ ReceiveValueChangedChanged(null, _message);
+ }
}
#endregion
@@ -470,37 +477,37 @@ namespace MonitoringTechnology.Ble
///定时去刷新首页电气数据和故障信息
ThreadPool.QueueUserWorkItem(delegate
{
- SynchronizationContext.SetSynchronizationContext(new
- DispatcherSynchronizationContext(System.Windows.Application.Current.Dispatcher));
- SynchronizationContext.Current.Post(pl =>
- {
- if (FirstPageView.firstPageView.ElectricalEnvironmentalList.Count >= 30)
- FirstPageView.firstPageView.ElectricalEnvironmentalList.RemoveAt(0);
- FirstPageView.firstPageView.ElectricalEnvironmentalList.Add(new ElectricalEnvironmentalModel()
- {
- F_CreateDate = (DateTime)monitoringSensorModel.f_CreateDate,
- F_DatetimeSensor = (DateTime)monitoringSensorModel._datetime_Sensor,
- F_Tem = (float)monitoringSensorModel._Tem,
- F_Hum = (float)monitoringSensorModel._Hum,
- F_Pressure = (float)monitoringSensorModel._pressure
- });
- for (int i = 0; i < FirstPageView.firstPageView.ElectricalEnvironmentalList.Count; i++)
- {
- FirstPageView.firstPageView.ElectricalEnvironmentalList[i].F_SerialNo = i + 1;
- }
+ SynchronizationContext.SetSynchronizationContext(new
+ DispatcherSynchronizationContext(System.Windows.Application.Current.Dispatcher));
+ SynchronizationContext.Current.Post(pl =>
+ {
+ if (FirstPageView.firstPageView.ElectricalEnvironmentalList.Count >= 30)
+ FirstPageView.firstPageView.ElectricalEnvironmentalList.RemoveAt(0);
+ FirstPageView.firstPageView.ElectricalEnvironmentalList.Add(new ElectricalEnvironmentalModel()
+ {
+ F_CreateDate = (DateTime)monitoringSensorModel.f_CreateDate,
+ F_DatetimeSensor = (DateTime)monitoringSensorModel._datetime_Sensor,
+ F_Tem = (float)monitoringSensorModel._Tem,
+ F_Hum = (float)monitoringSensorModel._Hum,
+ F_Pressure = (float)monitoringSensorModel._pressure
+ });
+ for (int i = 0; i < FirstPageView.firstPageView.ElectricalEnvironmentalList.Count; i++)
+ {
+ FirstPageView.firstPageView.ElectricalEnvironmentalList[i].F_SerialNo = i + 1;
+ }
- ////告警信息
- ////if (FirstPageView.firstPageView.AlarmItemModelList.Count >= 30)
- //// FirstPageView.firstPageView.AlarmItemModelList.RemoveAt(0);
+ ////告警信息
+ ////if (FirstPageView.firstPageView.AlarmItemModelList.Count >= 30)
+ //// FirstPageView.firstPageView.AlarmItemModelList.RemoveAt(0);
- ////FirstPageView.firstPageView.AlarmItemModelList.Add(new AlarmItemModel()
- ////{
- //// F_CreateDate =
- //// F_Time =
- //// F_Message =
- //// F_Len =
- ////});
- }, null);
+ ////FirstPageView.firstPageView.AlarmItemModelList.Add(new AlarmItemModel()
+ ////{
+ //// F_CreateDate =
+ //// F_Time =
+ //// F_Message =
+ //// F_Len =
+ ////});
+ }, null);
});
//姿态数据刷新
@@ -526,7 +533,7 @@ namespace MonitoringTechnology.Ble
localDataAccess.write("INSERT INTO monitoringsensormodel(F_CreateDate,F_DatetimeSensor,F_Tem,F_Hum,F_Pressure,F_AccelerationX,F_AccelerationY,F_AccelerationZ,F_AngularVelocityX,F_AngularVelocityY,F_AngularVelocityZ,F_DegreesX,F_DegreesY,F_DegreesZ,F_BatteryVoltage,F_ChargingCurrent,F_State) VALUES('" + monitoringSensorModel.f_CreateDate + "','" + monitoringSensorModel._datetime_Sensor + "','" + monitoringSensorModel._Tem + "','" + monitoringSensorModel._Hum + "','" + monitoringSensorModel._pressure + "','" + monitoringSensorModel._acceleration_X + "','" + monitoringSensorModel._acceleration_Y + "','" + monitoringSensorModel._acceleration_Z + "','" + monitoringSensorModel._angularVelocity_X + "','" + monitoringSensorModel._angularVelocity_Y + "','" + monitoringSensorModel._angularVelocity_Z + "','" + monitoringSensorModel.degrees_x + "','" + monitoringSensorModel.degrees_y + "','" + monitoringSensorModel.degrees_z + "','" + monitoringSensorModel._batteryVoltage + "','" + monitoringSensorModel._ChargingCurrent + "','" + monitoringSensorModel._State + "');");
- _message = "状态数据获取成功: 数据上传时间: " + monitoringSensorModel._datetime_Sensor + " 温度:" + monitoringSensorModel._Tem + "℃ 湿度:" + monitoringSensorModel._Hum + "% 气压:" + monitoringSensorModel._pressure + "KPa 俯仰角:" + monitoringSensorModel._acceleration_X + "° 横滚角:" + monitoringSensorModel._acceleration_Y + "° 偏航角:" + monitoringSensorModel._acceleration_Z + "° 角速度X:" + monitoringSensorModel._angularVelocity_X + "m/s² 角速度Y:" + monitoringSensorModel._angularVelocity_Y + "m/s² 角速度Z:" + monitoringSensorModel._angularVelocity_Z + "m/s² 角度X:" + monitoringSensorModel.degrees_x + "rad/s 角度Y:" + monitoringSensorModel.degrees_y + "rad/s 角度Z:" + monitoringSensorModel.degrees_z + "rad/s 电池电压:" + monitoringSensorModel._batteryVoltage +"V 充电电流:"+ monitoringSensorModel._ChargingCurrent +"A 充电状态:"+ monitoringSensorModel._State;
+ _message = "状态数据获取成功: 数据上传时间: " + monitoringSensorModel._datetime_Sensor + " 温度:" + monitoringSensorModel._Tem + "℃ 湿度:" + monitoringSensorModel._Hum + "% 气压:" + monitoringSensorModel._pressure + "KPa 俯仰角:" + monitoringSensorModel._acceleration_X + "° 横滚角:" + monitoringSensorModel._acceleration_Y + "° 偏航角:" + monitoringSensorModel._acceleration_Z + "° 角速度X:" + monitoringSensorModel._angularVelocity_X + "m/s² 角速度Y:" + monitoringSensorModel._angularVelocity_Y + "m/s² 角速度Z:" + monitoringSensorModel._angularVelocity_Z + "m/s² 角度X:" + monitoringSensorModel.degrees_x + "rad/s 角度Y:" + monitoringSensorModel.degrees_y + "rad/s 角度Z:" + monitoringSensorModel.degrees_z + "rad/s 电池电压:" + monitoringSensorModel._batteryVoltage + "V 充电电流:" + monitoringSensorModel._ChargingCurrent + "A 充电状态:" + monitoringSensorModel._State;
ReceiveValueChangedChanged(null, _message);
break;
diff --git a/MonitoringTechnology/Ble/BleManager.cs b/MonitoringTechnology/Ble/BleManager.cs
index bf33d3a..d6ab440 100644
--- a/MonitoringTechnology/Ble/BleManager.cs
+++ b/MonitoringTechnology/Ble/BleManager.cs
@@ -125,6 +125,9 @@ namespace MonitoringTechnology.Ble
}*/
}
+ ///
+ /// 开始扫描
+ ///
public async void StartScan()
{
if (advertisementWatcher.Status != BluetoothLEAdvertisementWatcherStatus.Started)
@@ -134,11 +137,15 @@ namespace MonitoringTechnology.Ble
advertisementWatcher.Start();
deviceWatcher.Start();
Started?.Invoke(this, null);
- await Task.Delay(5000);
- StopScan();
+ await Task.Delay(1000);
+ StartScan();
+
}
}
+ ///
+ /// 停止扫描
+ ///
public void StopScan()
{
//判断状态,防止 InvalidOperationException
@@ -149,7 +156,5 @@ namespace MonitoringTechnology.Ble
Log.Info("停止扫描");
}
}
-
- //
}
}
diff --git a/MonitoringTechnology/Views/SystemOperationView.xaml b/MonitoringTechnology/Views/SystemOperationView.xaml
index a53d8cc..3051b1a 100644
--- a/MonitoringTechnology/Views/SystemOperationView.xaml
+++ b/MonitoringTechnology/Views/SystemOperationView.xaml
@@ -95,6 +95,7 @@
+
@@ -113,6 +114,8 @@
Click="buttonRead_Click" Template="{StaticResource ButtonTemplate}"/>
+
diff --git a/MonitoringTechnology/Views/SystemOperationView.xaml.cs b/MonitoringTechnology/Views/SystemOperationView.xaml.cs
index e684fd1..035fcae 100644
--- a/MonitoringTechnology/Views/SystemOperationView.xaml.cs
+++ b/MonitoringTechnology/Views/SystemOperationView.xaml.cs
@@ -98,7 +98,7 @@ namespace MonitoringTechnology.Views
///
///
///
- private void buttonConnect_Click(object sender, RoutedEventArgs e)
+ private async void buttonConnect_Click(object sender, RoutedEventArgs e)
{
if (isSelect)
{
@@ -116,7 +116,12 @@ namespace MonitoringTechnology.Views
}
else
{
- systemOperationViewModel.BleDevice.Connect();
+ while (!isConnection)
+ {
+ systemOperationViewModel.BleDevice.Connect();
+ AddLog("正在尝试重新连接设备,请稍等!");
+ await Task.Delay(10000);
+ }
}
}
else
@@ -452,7 +457,7 @@ namespace MonitoringTechnology.Views
if (isConnection)
{
- if (systemOperationViewModel.StartDate > DateTime.Now|| systemOperationViewModel.EndDate > DateTime.Now)
+ if (systemOperationViewModel.StartDate > DateTime.Now || systemOperationViewModel.EndDate > DateTime.Now)
{
AddLog("查询历史数据-时间不能大于当前日期,请重试!");
}
@@ -555,6 +560,37 @@ namespace MonitoringTechnology.Views
AddLog("请搜索附近蓝牙设备并连接后重试!!!");
}
}
+
+ ///
+ /// Z轴校准
+ ///
+ ///
+ ///
+ private async void ZCheck_Click(object sender, RoutedEventArgs e)
+ {
+ if (isConnection)
+ {
+ byte[] _send = new byte[] { 0xFE, 0xEF, 0x00, 0x0E, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16 };
+ int a = 0;
+ for (int i = 0; i < _send.Length - 2; i++)
+ {
+ a += _send[i];
+ }
+ a = a & 0xFF;
+ _send[16] = (byte)a;
+ //调用发送的那个方法
+ bool success = await systemOperationViewModel.BleDevice.Write(_send);
+ if (success)
+ {
+ AddLog("已进行Z轴校准!");
+ PreservationData(_send.ToList(), "Z轴校准指令");
+ }
+ }
+ else
+ {
+ AddLog("请搜索附近蓝牙设备并连接后重试!!!");
+ }
+ }
#endregion
@@ -583,6 +619,7 @@ namespace MonitoringTechnology.Views
else
{
device.Connect();
+ AddLog("正在连接设备,请稍等!");
}
}
///
@@ -762,5 +799,6 @@ namespace MonitoringTechnology.Views
#endregion
+
}
}