修复雨量计数错误
This commit is contained in:
parent
f60077e4c2
commit
cf13a05796
@ -221,29 +221,29 @@ func (s *SensorComm) handleData(data []byte) *model.SensorData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 解析数据,从第4个字节开始是数据部分
|
// 解析数据,从第4个字节开始是数据部分
|
||||||
// 根据原始TCP服务器代码中的单位转换
|
|
||||||
windSpeed := int(binary.BigEndian.Uint16(data[3:5])) // 风速值*100
|
|
||||||
sensorData := &model.SensorData{
|
sensorData := &model.SensorData{
|
||||||
Timestamp: time.Now(),
|
Timestamp: time.Now(),
|
||||||
WindSpeed: windSpeed, // 原始值已经是*100的
|
WindSpeed: int(binary.BigEndian.Uint16(data[3:5])), // 风速值*100
|
||||||
WindForce: int(binary.BigEndian.Uint16(data[5:7])),
|
WindForce: int(binary.BigEndian.Uint16(data[5:7])), // 风力
|
||||||
WindDirection8: int(binary.BigEndian.Uint16(data[7:9])),
|
WindDirection8: int(binary.BigEndian.Uint16(data[7:9])), // 8方位风向
|
||||||
WindDirection360: int(binary.BigEndian.Uint16(data[9:11])),
|
WindDirection360: int(binary.BigEndian.Uint16(data[9:11])), // 360度风向
|
||||||
Humidity: int(binary.BigEndian.Uint16(data[11:13])), // 湿度*10
|
Humidity: int(binary.BigEndian.Uint16(data[11:13])), // 湿度*10
|
||||||
Temperature: int(binary.BigEndian.Uint16(data[13:15])), // 温度*10
|
Temperature: int(binary.BigEndian.Uint16(data[13:15])), // 温度*10
|
||||||
AtmPressure: int(binary.BigEndian.Uint16(data[21:23])), // 大气压*10
|
AtmPressure: int(binary.BigEndian.Uint16(data[21:23])), // 大气压*10
|
||||||
SolarRadiation: int(binary.BigEndian.Uint16(data[33:35])), // 太阳辐射原始值
|
SolarRadiation: int(binary.BigEndian.Uint16(data[33:35])), // 太阳辐射
|
||||||
|
Rainfall: int(binary.BigEndian.Uint16(data[15:17])), // 光学雨量*10
|
||||||
}
|
}
|
||||||
|
|
||||||
// 记录解析后的传感器数据,展示实际物理量
|
// 记录解析后的传感器数据,展示实际物理量
|
||||||
logger.Logger.Printf("传感器数据: 风速=%.2f m/s, 风力=%d级, 风向=%d°, 湿度=%.1f%%, 温度=%.1f℃, 大气压=%.1f kPa, 太阳辐射=%d W/m²",
|
logger.Logger.Printf("传感器数据: 风速=%.2f m/s, 风力=%d级, 风向=%d°, 湿度=%.1f%%, 温度=%.1f℃, 大气压=%.1f kPa, 太阳辐射=%d W/m², 光学雨量=%.1f mm",
|
||||||
float64(sensorData.WindSpeed)/100.0,
|
float64(sensorData.WindSpeed)/100.0,
|
||||||
sensorData.WindForce,
|
sensorData.WindForce,
|
||||||
sensorData.WindDirection360,
|
sensorData.WindDirection360,
|
||||||
float64(sensorData.Humidity)/10.0,
|
float64(sensorData.Humidity)/10.0,
|
||||||
float64(sensorData.Temperature)/10.0,
|
float64(sensorData.Temperature)/10.0,
|
||||||
float64(sensorData.AtmPressure)/10.0,
|
float64(sensorData.AtmPressure)/10.0,
|
||||||
sensorData.SolarRadiation)
|
sensorData.SolarRadiation,
|
||||||
|
float64(sensorData.Rainfall)/10.0)
|
||||||
|
|
||||||
// 保存数据到数据库
|
// 保存数据到数据库
|
||||||
if err := s.dao.Insert(sensorData); err != nil {
|
if err := s.dao.Insert(sensorData); err != nil {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user