三轴角度校准
This commit is contained in:
parent
0fc800276e
commit
b354dad951
@ -29,6 +29,9 @@ namespace MonitoringTechnology.Ble
|
|||||||
{
|
{
|
||||||
public class BleDevice : ObservableObject
|
public class BleDevice : ObservableObject
|
||||||
{
|
{
|
||||||
|
//获取当前程序运行路径
|
||||||
|
private string Save_Path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"数据记录\";
|
||||||
|
|
||||||
private readonly DeviceInformation _deviceInfo;
|
private readonly DeviceInformation _deviceInfo;
|
||||||
private BluetoothLEDevice _device;
|
private BluetoothLEDevice _device;
|
||||||
private GattCharacteristic CharacteristicWrite;
|
private GattCharacteristic CharacteristicWrite;
|
||||||
@ -341,7 +344,9 @@ namespace MonitoringTechnology.Ble
|
|||||||
//string _message = tools.HexStringToString(rec_16, Encoding.Default).Replace("\r\n", "");
|
//string _message = tools.HexStringToString(rec_16, Encoding.Default).Replace("\r\n", "");
|
||||||
|
|
||||||
//以txt文档的形式存储接收到的数据
|
//以txt文档的形式存储接收到的数据
|
||||||
tools.AddLgoToTXT(FileModel.File_Name + FileModel.File_Time.ToString("yyyy-MM-dd") + ".txt", FileModel.File_Path + FileModel.File_Time.ToString("yyyy-MM-dd") + @"\", _localtime + ": " + rec_16 + "\r\n");
|
//tools.AddLgoToTXT(FileModel.File_Name + FileModel.File_Time.ToString("yyyy-MM-dd") + ".txt", FileModel.File_Path + FileModel.File_Time.ToString("yyyy-MM-dd") + @"\", _localtime + ": " + rec_16 + "\r\n");
|
||||||
|
tools.AddLgoToTXT("原始报文.txt", Save_Path + System.DateTime.Now.ToString("yyyy_MM_dd") + @"\", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " ---- " + rec_16 + "\r\n");
|
||||||
|
|
||||||
|
|
||||||
//获取当前系统时间
|
//获取当前系统时间
|
||||||
DateTime time_DataBase = DateTime.Now;
|
DateTime time_DataBase = DateTime.Now;
|
||||||
@ -447,13 +452,77 @@ namespace MonitoringTechnology.Ble
|
|||||||
monitoringSensorModel._angularVelocity_Z = tools.bytetofloat(byteList, 44);
|
monitoringSensorModel._angularVelocity_Z = tools.bytetofloat(byteList, 44);
|
||||||
|
|
||||||
//角度X 48,49,50,51
|
//角度X 48,49,50,51
|
||||||
monitoringSensorModel.degrees_x = tools.bytetofloat(byteList, 48);
|
float X = tools.bytetofloat(byteList, 48);
|
||||||
|
if (X > 0)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_x = X * 1.035F;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_x = X * 1.088F;
|
||||||
|
}
|
||||||
|
//monitoringSensorModel.degrees_x = tools.bytetofloat(byteList, 48) * 1.02F;
|
||||||
|
|
||||||
//角度Y 52,53,54,55
|
//角度Y 52,53,54,55
|
||||||
monitoringSensorModel.degrees_y = tools.bytetofloat(byteList, 52);
|
float Y = tools.bytetofloat(byteList, 52);
|
||||||
|
if (Y > 92)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = Y * 1.0172F;
|
||||||
|
|
||||||
|
if (monitoringSensorModel.degrees_y > 180F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = 180F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (Y < -91)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = Y * 0.9829F;
|
||||||
|
if (monitoringSensorModel.degrees_y < -175F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = Y * 1.0172F;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (monitoringSensorModel.degrees_y < -180F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = -180F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = Y;
|
||||||
|
}
|
||||||
|
|
||||||
|
// monitoringSensorModel.degrees_y = tools.bytetofloat(byteList, 52) * 1.0172F;
|
||||||
|
|
||||||
|
|
||||||
//角度Z 56,57,58,59
|
//角度Z 56,57,58,59
|
||||||
monitoringSensorModel.degrees_z = tools.bytetofloat(byteList, 56);
|
//monitoringSensorModel.degrees_z = tools.bytetofloat(byteList, 56);
|
||||||
|
|
||||||
|
float Z = tools.bytetofloat(byteList, 56);
|
||||||
|
if ((Z > 0 && Z < 2) || (Z > -2F && Z < 0F))
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = 0F;
|
||||||
|
}
|
||||||
|
else if (Z > 88F && Z < 92F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = 90F;
|
||||||
|
}
|
||||||
|
else if (Z > 178F && Z < 182F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = 180F;
|
||||||
|
}
|
||||||
|
else if (Z > -92F && Z < -88F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = -90F;
|
||||||
|
}
|
||||||
|
else if (Z > -182F && Z < -178F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = -180F;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = Z;
|
||||||
|
}
|
||||||
|
|
||||||
//电池电压 60,61,62,63
|
//电池电压 60,61,62,63
|
||||||
monitoringSensorModel._batteryVoltage = tools.bytetofloat(byteList, 60);
|
monitoringSensorModel._batteryVoltage = tools.bytetofloat(byteList, 60);
|
||||||
@ -538,7 +607,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 + "');");
|
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 + " 蓝牙速率:" + LYSpeed +" Mbps";
|
_message = "状态数据获取成功: 数据上传时间: " + monitoringSensorModel._datetime_Sensor + " 温度:" + monitoringSensorModel._Tem + "℃ 湿度:" + monitoringSensorModel._Hum + "% 气压:" + monitoringSensorModel._pressure + "KPa 加速度X:" + monitoringSensorModel._acceleration_X + "rad/s 加速度Y:" + monitoringSensorModel._acceleration_Y + "rad/s 加速度Z:" + monitoringSensorModel._acceleration_Z + "rad/s 角速度X:" + monitoringSensorModel._angularVelocity_X + "m/s² 角速度Y:" + monitoringSensorModel._angularVelocity_Y + "m/s² 角速度Z:" + monitoringSensorModel._angularVelocity_Z + "m/s² 俯仰角:" + monitoringSensorModel.degrees_x + "° 横滚角:" + monitoringSensorModel.degrees_y + "° 偏航角:" + monitoringSensorModel.degrees_z + "° 电池电压:" + monitoringSensorModel._batteryVoltage + "V 充电电流:" + monitoringSensorModel._ChargingCurrent + "A 充电状态:" + monitoringSensorModel._State + " 蓝牙速率:" + LYSpeed + " Mbps";
|
||||||
ReceiveValueChangedChanged(null, _message);
|
ReceiveValueChangedChanged(null, _message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -795,13 +864,80 @@ namespace MonitoringTechnology.Ble
|
|||||||
monitoringSensorModel._angularVelocity_Z = tools.bytetofloat(byteList, 42);
|
monitoringSensorModel._angularVelocity_Z = tools.bytetofloat(byteList, 42);
|
||||||
|
|
||||||
//角度X 46,47,48,49
|
//角度X 46,47,48,49
|
||||||
monitoringSensorModel.degrees_x = tools.bytetofloat(byteList, 46);
|
//monitoringSensorModel.degrees_x = tools.bytetofloat(byteList, 46);
|
||||||
|
|
||||||
//角度Y 50,51,52,53
|
//角度Y 50,51,52,53
|
||||||
monitoringSensorModel.degrees_y = tools.bytetofloat(byteList, 50);
|
// monitoringSensorModel.degrees_y = tools.bytetofloat(byteList, 50);
|
||||||
|
|
||||||
|
//角度X 48,49,50,51
|
||||||
|
float X_History = tools.bytetofloat(byteList, 46);
|
||||||
|
if (X_History > 0)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_x = X_History * 1.035F;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_x = X_History * 1.088F;
|
||||||
|
}
|
||||||
|
//monitoringSensorModel.degrees_x = tools.bytetofloat(byteList, 48) * 1.02F;
|
||||||
|
|
||||||
|
//角度Y 52,53,54,55
|
||||||
|
float Y_History = tools.bytetofloat(byteList, 50);
|
||||||
|
if (Y_History > 92)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = Y_History * 1.0172F;
|
||||||
|
|
||||||
|
if (monitoringSensorModel.degrees_y > 180F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = 180F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (Y_History < -91)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = Y_History * 0.9829F;
|
||||||
|
if (monitoringSensorModel.degrees_y < -175F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = Y_History * 1.0172F;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (monitoringSensorModel.degrees_y < -180F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = -180F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_y = Y_History;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//角度Z 54,55,56,57
|
//角度Z 54,55,56,57
|
||||||
monitoringSensorModel.degrees_z = tools.bytetofloat(byteList, 54);
|
//monitoringSensorModel.degrees_z = tools.bytetofloat(byteList, 54);
|
||||||
|
float Z_History = tools.bytetofloat(byteList, 56);
|
||||||
|
if ((Z_History > 0 && Z_History < 2) || (Z_History > -2F && Z_History < 0F))
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = 0F;
|
||||||
|
}
|
||||||
|
else if (Z_History > 88F && Z_History < 92F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = 90F;
|
||||||
|
}
|
||||||
|
else if (Z_History > 178F && Z_History < 182F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = 180F;
|
||||||
|
}
|
||||||
|
else if (Z_History > -92F && Z_History < -88F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = -90F;
|
||||||
|
}
|
||||||
|
else if (Z_History > -182F && Z_History < -178F)
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = -180F;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
monitoringSensorModel.degrees_z = Z_History;
|
||||||
|
}
|
||||||
|
|
||||||
//电池电压 58,59.60,61
|
//电池电压 58,59.60,61
|
||||||
monitoringSensorModel._batteryVoltage = tools.bytetofloat(byteList, 58);
|
monitoringSensorModel._batteryVoltage = tools.bytetofloat(byteList, 58);
|
||||||
@ -909,12 +1045,14 @@ namespace MonitoringTechnology.Ble
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
_message = "日期:" + monitoringSensorModel._datetime_Sensor + "\r\n" + " 温度:" + monitoringSensorModel._Tem + "℃ 湿度:" + monitoringSensorModel._Hum + "% 气压:" + monitoringSensorModel._pressure + "KPa " + "\r\n" + " 俯仰角:" + monitoringSensorModel._acceleration_X + "° 横滚角:" + monitoringSensorModel._acceleration_Y + "° 偏航角:" + monitoringSensorModel._acceleration_Z + "°" + "\r\n" + " 角速度X:" + monitoringSensorModel._angularVelocity_X + "m/s² 角速度Y:" + monitoringSensorModel._angularVelocity_Y + "m/s² 角速度Z:" + monitoringSensorModel._angularVelocity_Z + "m/s² " + "\r\n" + " 角度X:" + monitoringSensorModel.degrees_x + "rad/s 角度Y:" + monitoringSensorModel.degrees_y + "rad/s 角度Z:" + monitoringSensorModel.degrees_z + "rad/s " + "\r\n" + " 电池电压:" + monitoringSensorModel._batteryVoltage + "V 充电电流:" + monitoringSensorModel._ChargingCurrent + "A 充电状态:" + monitoringSensorModel._State + "\r\n" + " 温度-主系统:" + monitoringSensorModel.tem + "℃ 湿度-主系统:" + monitoringSensorModel.hum + "% 气压 -主系统 :" + monitoringSensorModel.preeure + "KPa" + "\r\n" + " 电压1 -主系统:" + monitoringSensorModel.voltage1 + "V 电压2 -主系统:" + monitoringSensorModel.voltage2 + "V 电压3 -主系统:" + monitoringSensorModel.voltage3 + "V" + "\r\n" + " 电压4 -主系统:" + monitoringSensorModel.voltage4 + "V 电压5 -主系统:" + monitoringSensorModel.voltage5 + "V 电压6 -主系统:" + monitoringSensorModel.voltage6 + "V" + "\r\n" + " 电压7 -主系统:" + monitoringSensorModel.voltage7 + "V 电压8 -主系统:" + monitoringSensorModel.voltage8 + "V 电压9 -主系统:" + monitoringSensorModel.voltage9 + "V" + "\r\n" + " 电压10 -主系统:" + monitoringSensorModel.voltage10 + "V" + "\r\n" + " 电流1 -主系统:" + monitoringSensorModel.current1 + "A 电流2 -主系统:" + monitoringSensorModel.current2 + "A 电流3 -主系统:" + monitoringSensorModel.current3 + "A" + "\r\n" + " 电流4 -主系统:" + monitoringSensorModel.current4 + "A 电流5 -主系统:" + monitoringSensorModel.current5 + "A 电流6 -主系统:" + monitoringSensorModel.current6 + "A" + "\r\n" + " 电流7 -主系统:" + monitoringSensorModel.current7 + "A 电流8 -主系统:" + monitoringSensorModel.current8 + "A 电流9 -主系统:" + monitoringSensorModel.current9 + "A" + "\r\n" + " 电流10 -主系统:" + monitoringSensorModel.current10 + "A" + "\r\n";
|
_message = "日期:" + monitoringSensorModel._datetime_Sensor + "\r\n" + " 温度:" + monitoringSensorModel._Tem + "℃ 湿度:" + monitoringSensorModel._Hum + "% 气压:" + monitoringSensorModel._pressure + "KPa " + "\r\n" + " 加速度X:" + monitoringSensorModel._acceleration_X + "rad/s 加速度Y:" + monitoringSensorModel._acceleration_Y + "rad/s 加速度Z:" + monitoringSensorModel._acceleration_Z + "rad/s" + "\r\n" + " 角速度X:" + monitoringSensorModel._angularVelocity_X + "m/s² 角速度Y:" + monitoringSensorModel._angularVelocity_Y + "m/s² 角速度Z:" + monitoringSensorModel._angularVelocity_Z + "m/s² " + "\r\n" + " 俯仰角:" + monitoringSensorModel.degrees_x + "° 横滚角:" + monitoringSensorModel.degrees_y + "° 偏航角:" + monitoringSensorModel.degrees_z + "° " + "\r\n" + " 电池电压:" + monitoringSensorModel._batteryVoltage + "V 充电电流:" + monitoringSensorModel._ChargingCurrent + "A 充电状态:" + monitoringSensorModel._State + "\r\n" + " 温度-主系统:" + monitoringSensorModel.tem + "℃ 湿度-主系统:" + monitoringSensorModel.hum + "% 气压 -主系统 :" + monitoringSensorModel.preeure + "KPa" + "\r\n" + " 电压1 -主系统:" + monitoringSensorModel.voltage1 + "V 电压2 -主系统:" + monitoringSensorModel.voltage2 + "V 电压3 -主系统:" + monitoringSensorModel.voltage3 + "V" + "\r\n" + " 电压4 -主系统:" + monitoringSensorModel.voltage4 + "V 电压5 -主系统:" + monitoringSensorModel.voltage5 + "V 电压6 -主系统:" + monitoringSensorModel.voltage6 + "V" + "\r\n" + " 电压7 -主系统:" + monitoringSensorModel.voltage7 + "V 电压8 -主系统:" + monitoringSensorModel.voltage8 + "V 电压9 -主系统:" + monitoringSensorModel.voltage9 + "V" + "\r\n" + " 电压10 -主系统:" + monitoringSensorModel.voltage10 + "V" + "\r\n" + " 电流1 -主系统:" + monitoringSensorModel.current1 + "A 电流2 -主系统:" + monitoringSensorModel.current2 + "A 电流3 -主系统:" + monitoringSensorModel.current3 + "A" + "\r\n" + " 电流4 -主系统:" + monitoringSensorModel.current4 + "A 电流5 -主系统:" + monitoringSensorModel.current5 + "A 电流6 -主系统:" + monitoringSensorModel.current6 + "A" + "\r\n" + " 电流7 -主系统:" + monitoringSensorModel.current7 + "A 电流8 -主系统:" + monitoringSensorModel.current8 + "A 电流9 -主系统:" + monitoringSensorModel.current9 + "A" + "\r\n" + " 电流10 -主系统:" + monitoringSensorModel.current10 + "A" + "\r\n";
|
||||||
|
|
||||||
//以txt文档的形式存储接收到的数据
|
//以txt文档的形式存储接收到的数据---默认D盘
|
||||||
tools.AddLgoToTXT(FileModel.File_Name + FileModel.File_Time.ToString("yyyy-MM-dd") + " 历史数据查询记录" + ".txt", FileModel.File_Path + FileModel.File_Time.ToString("yyyy-MM-dd") + @"\", _localtime + ": " + _message + "\r\n");
|
//tools.AddLgoToTXT(FileModel.File_Name + FileModel.File_Time.ToString("yyyy-MM-dd") + " 历史数据查询记录" + ".txt", FileModel.File_Path + FileModel.File_Time.ToString("yyyy-MM-dd") + @"\", _localtime + ": " + _message + "\r\n");
|
||||||
|
|
||||||
_data = "收到历史数据,请查看文件:" + FileModel.File_Name + FileModel.File_Time.ToString("yyyy-MM-dd") + " 历史数据查询记录" + ".txt";
|
tools.AddLgoToTXT("历史数据查询记录.txt", Save_Path + System.DateTime.Now.ToString("yyyy_MM_dd") + @"\", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " ---- " + _message + "\r\n");
|
||||||
|
|
||||||
|
_data = "收到历史数据,请查看文件:" + Save_Path + FileModel.File_Time.ToString("yyyy-MM-dd") + " 历史数据查询记录" + ".txt";
|
||||||
ReceiveValueChangedChanged(null, _data);
|
ReceiveValueChangedChanged(null, _data);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
2663
monitoringtechnology.sql
Normal file
2663
monitoringtechnology.sql
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user