CollisionAvoidance/tools/mock_server.py

57 lines
1.6 KiB
Python

from flask import Flask, jsonify
import math
import time
import random
app = Flask(__name__)
def generate_mock_data():
current_time = int(time.time() * 1000) # 毫秒时间戳
vehicles = []
# 生成3架飞机的数据
for i in range(3):
aircraft = {
"id": f"AIRCRAFT_{i+1}",
"type": "AIRCRAFT",
"position": {
"x": 1000 + math.sin(time.time() + i) * 500,
"y": 1000 + math.cos(time.time() + i) * 500
},
"velocity": {
"x": random.uniform(-10, 10),
"y": random.uniform(-10, 10)
},
"heading": random.uniform(0, 360),
"timestamp": current_time,
"altitude": random.uniform(100, 1000)
}
vehicles.append(aircraft)
# 生成5辆车的数据
for i in range(5):
vehicle = {
"id": f"VEHICLE_{i+1}",
"type": "VEHICLE",
"position": {
"x": 500 + math.sin(time.time() + i) * 200,
"y": 500 + math.cos(time.time() + i) * 200
},
"velocity": {
"x": random.uniform(-5, 5),
"y": random.uniform(-5, 5)
},
"heading": random.uniform(0, 360),
"timestamp": current_time,
"altitude": 0
}
vehicles.append(vehicle)
return {"vehicles": vehicles}
@app.route('/api/vehicles')
def get_vehicles():
return jsonify(generate_mock_data())
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)