模拟两台无人机飞行的数据
const WebSocketServer = require('ws').Server
const wss = new WebSocketServer({ port: 8181 }) // 服务端口8181
wss.on('connection', ws => {
console.log('服务端:客户端已连接')
ws.on('message', message => {
//打印客户端监听的消息
console.log(message)
})
})
let data1 = {type: 4, payload: {
displacement: 0,
droneBattery: {charge: 64, current: -1542, temperature: 0, voltage: 15600},
droneId: 2,
droneName: "精灵4P V2",
pilotId: 2,
fc: {attitude: {pitch: 0, roll: 0, yaw: 0}, velocity: 0},
gps: {latitude: 24.434655268, longitude: 118.1150297251551, height: 1},
rc: {signal: 5, charge: 38, gps:{latitude:24.434656,longitude:118.115023,height:10}}
}}
let data2 = {type: 4, payload: {
displacement: 379,
droneBattery: {charge: 64, current: -1542, temperature: 0, voltage: 15600},
droneId: 3,
droneName: "御2 行业版",
pilotId: 3,
fc: {attitude: {pitch: 0, roll: 0, yaw: 0}, velocity: 0},
gps: {latitude: 24.434985268, longitude: 118.1150497251551, height: 1},
rc: {signal: 5, charge: 38, gps:{latitude:24.430618,longitude:118.115174,height:10}}
}}
let data3 = {type: 4, payload: {
displacement: 379,
droneBattery: {charge: 64, current: -1542, temperature: 0, voltage: 15600},
droneId: 4,
droneName: "御3 企业版",
pilotId: 4,
fc: {attitude: {pitch: 0, roll: 0, yaw: 0}, velocity: 0},
gps: {latitude: 24.434985268, longitude: 118.1150497251551, height: 1},
rc: {signal: 5, charge: 38, gps:{latitude:24.43498413,longitude:118.1150443,height:10}}
}}
wss.on('connection', ws => {
let sendClientData = ws => {
data1.payload.gps.latitude += 0.00004
data1.payload.gps.longitude += 0.00004
data1.payload.gps.height += 1
data1.payload.rc.signal += 1
data1.payload.displacement += 1
data1.payload.droneBattery.charge += 1
// data3.payload.gps.latitude -= 0.00005
ws.send(JSON.stringify(data1))
// ws.send(JSON.stringify(data3))
}
let sendClientData1 = ws => {
data2.payload.gps.longitude += 0.00003
data2.payload.rc.gps.longitude += 0.000008
data2.payload.rc.gps.latitude += 0.000008
ws.send(JSON.stringify(data2))
}
let timer = setInterval(() => {
sendClientData(ws)
}, 3000)
let timer1 = setInterval(() => {
sendClientData1(ws)
}, 3000)
let data4 = {type: 10, payload: {id: 2, name: '御2 行业版'}}//3
let closeData = ws => {
ws.send(JSON.stringify(data4))
}
setTimeout(() => {
closeData(ws)
clearInterval(timer)
}, 30000)
})
const ws = new WebSocket('ws://localhost:8181')
ws.onmessage = e => {
this.localOnMessage(JSON.parse(e.data))
}
localOnMessage (data) {
console.log(data)
}