71 lines
2.1 KiB
JavaScript
71 lines
2.1 KiB
JavaScript
|
|
const { SensorData } = require('./models');
|
|||
|
|
const { sequelize } = require('./config/database-simple');
|
|||
|
|
|
|||
|
|
(async () => {
|
|||
|
|
try {
|
|||
|
|
console.log('开始创建测试传感器数据...');
|
|||
|
|
|
|||
|
|
// 清除现有数据
|
|||
|
|
await SensorData.destroy({ where: {} });
|
|||
|
|
console.log('已清除现有传感器数据');
|
|||
|
|
|
|||
|
|
// 创建过去24小时的测试数据
|
|||
|
|
const testData = [];
|
|||
|
|
const now = new Date();
|
|||
|
|
|
|||
|
|
// 生成24小时的数据,每小时一个数据点
|
|||
|
|
for (let i = 23; i >= 0; i--) {
|
|||
|
|
const time = new Date(now.getTime() - i * 60 * 60 * 1000);
|
|||
|
|
|
|||
|
|
// 温度数据 (20-30度之间波动)
|
|||
|
|
testData.push({
|
|||
|
|
device_id: 2,
|
|||
|
|
farm_id: 1,
|
|||
|
|
sensor_type: 'temperature',
|
|||
|
|
value: 20 + Math.random() * 10,
|
|||
|
|
unit: '°C',
|
|||
|
|
status: 'normal',
|
|||
|
|
recorded_at: time
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 湿度数据 (50-80%之间波动)
|
|||
|
|
testData.push({
|
|||
|
|
device_id: 3,
|
|||
|
|
farm_id: 1,
|
|||
|
|
sensor_type: 'humidity',
|
|||
|
|
value: 50 + Math.random() * 30,
|
|||
|
|
unit: '%',
|
|||
|
|
status: 'normal',
|
|||
|
|
recorded_at: time
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 批量插入数据
|
|||
|
|
await SensorData.bulkCreate(testData);
|
|||
|
|
console.log(`成功创建 ${testData.length} 条测试传感器数据`);
|
|||
|
|
|
|||
|
|
// 验证数据
|
|||
|
|
const temperatureCount = await SensorData.count({ where: { sensor_type: 'temperature' } });
|
|||
|
|
const humidityCount = await SensorData.count({ where: { sensor_type: 'humidity' } });
|
|||
|
|
|
|||
|
|
console.log(`温度数据条数: ${temperatureCount}`);
|
|||
|
|
console.log(`湿度数据条数: ${humidityCount}`);
|
|||
|
|
|
|||
|
|
// 显示最新的几条数据
|
|||
|
|
const latestData = await SensorData.findAll({
|
|||
|
|
limit: 5,
|
|||
|
|
order: [['recorded_at', 'DESC']],
|
|||
|
|
attributes: ['sensor_type', 'value', 'unit', 'recorded_at']
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
console.log('\n最新的5条数据:');
|
|||
|
|
latestData.forEach(data => {
|
|||
|
|
console.log(`${data.sensor_type}: ${data.value}${data.unit} at ${data.recorded_at}`);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
} catch (error) {
|
|||
|
|
console.error('创建测试数据时出错:', error);
|
|||
|
|
} finally {
|
|||
|
|
process.exit();
|
|||
|
|
}
|
|||
|
|
})();
|