|
|
@ -1,51 +1,57 @@ |
|
|
|
const {getConnection, writeData} = require("./pav-client") |
|
|
|
const { getConnection, writeData } = require('./pav-client'); |
|
|
|
const {getCoordsFormBetweenCoord, dumyData} = require("./pav-utils") |
|
|
|
const { getCoordsFormBetweenCoord, dumyData } = require('./pav-utils'); |
|
|
|
|
|
|
|
|
|
|
|
// const host = "192.168.0.24"
|
|
|
|
// const host = "192.168.0.24"
|
|
|
|
// const host = "localhost"
|
|
|
|
// const host = "localhost"
|
|
|
|
const host = "211.253.38.218" |
|
|
|
const host = '192.168.0.34'; |
|
|
|
const port = 8082 |
|
|
|
const port = 8082; |
|
|
|
|
|
|
|
|
|
|
|
// 기본정보
|
|
|
|
// 기본정보
|
|
|
|
const prefix = 'TEST-DRON-W-' |
|
|
|
const prefix = 'PA'; |
|
|
|
|
|
|
|
|
|
|
|
const pathSampleCoord = [ |
|
|
|
const pathSampleCoord = [ |
|
|
|
[37.5215, 126.6050], |
|
|
|
[37.5215, 126.605], |
|
|
|
[37.5215, 126.6082], |
|
|
|
[37.5215, 126.61], |
|
|
|
[37.5210, 126.6082], |
|
|
|
// [37.5215, 126.6082],
|
|
|
|
[37.5210, 126.6057], |
|
|
|
[37.521, 126.6082], |
|
|
|
|
|
|
|
[37.521, 126.6057], |
|
|
|
[37.5205, 126.6057], |
|
|
|
[37.5205, 126.6057], |
|
|
|
[37.5205, 126.6082], |
|
|
|
[37.5205, 126.6082], |
|
|
|
[37.5200, 126.6082], |
|
|
|
[37.52, 126.6082], |
|
|
|
[37.5200, 126.6057], |
|
|
|
[37.52, 126.6057], |
|
|
|
[37.5195, 126.6057], |
|
|
|
[37.5195, 126.6057], |
|
|
|
[37.5195, 126.6082], |
|
|
|
[37.5195, 126.6082], |
|
|
|
[37.5190, 126.6082], |
|
|
|
[37.519, 126.6082], |
|
|
|
[37.5190, 126.6050] |
|
|
|
[37.519, 126.605] |
|
|
|
] |
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
const divDist = 10 // [m]
|
|
|
|
const divDist = 10; // [m]
|
|
|
|
|
|
|
|
|
|
|
|
// 특정거리에 따른 좌표 추출
|
|
|
|
// 특정거리에 따른 좌표 추출
|
|
|
|
const getCoords = (coords) => { |
|
|
|
const getCoords = coords => { |
|
|
|
if (!coords || coords.length < 1) return; |
|
|
|
if (!coords || coords.length < 1) return; |
|
|
|
const totalCoords = []; |
|
|
|
const totalCoords = []; |
|
|
|
for (let i = 1; i < coords.length; i++) { |
|
|
|
for (let i = 1; i < coords.length; i++) { |
|
|
|
const divCoords = getCoordsFormBetweenCoord(coords[i - 1], coords[i], divDist); |
|
|
|
const divCoords = getCoordsFormBetweenCoord( |
|
|
|
totalCoords.push(...divCoords) |
|
|
|
coords[i - 1], |
|
|
|
|
|
|
|
coords[i], |
|
|
|
|
|
|
|
divDist |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
totalCoords.push(...divCoords); |
|
|
|
} |
|
|
|
} |
|
|
|
return totalCoords; |
|
|
|
return totalCoords; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const getClient = () => { |
|
|
|
const getClient = () => { |
|
|
|
const dronName = prefix + '001'; |
|
|
|
const dronName = prefix + '003'; |
|
|
|
|
|
|
|
// const dronName = prefix + '0000001A';
|
|
|
|
|
|
|
|
|
|
|
|
const client = {}; |
|
|
|
const client = {}; |
|
|
|
client.dronName = dronName |
|
|
|
client.dronName = dronName; |
|
|
|
client.socket = getConnection(dronName, host, port); |
|
|
|
client.socket = getConnection(dronName, host, port); |
|
|
|
client.data = getCoords(pathSampleCoord); |
|
|
|
client.data = getCoords(pathSampleCoord); |
|
|
|
return client; |
|
|
|
return client; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const sendData = (client, cnt) => { |
|
|
|
const sendData = (client, cnt) => { |
|
|
|
const data = { |
|
|
|
const data = { |
|
|
@ -59,19 +65,19 @@ const sendData = (client, cnt) => { |
|
|
|
lon: client.data[cnt][1] |
|
|
|
lon: client.data[cnt][1] |
|
|
|
} |
|
|
|
} |
|
|
|
] |
|
|
|
] |
|
|
|
} |
|
|
|
}; |
|
|
|
writeData(client.socket, JSON.stringify(data)); |
|
|
|
writeData(client.socket, JSON.stringify(data)); |
|
|
|
iteratorSendData(++cnt); |
|
|
|
iteratorSendData(++cnt); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const client = getClient(); |
|
|
|
const client = getClient(); |
|
|
|
|
|
|
|
|
|
|
|
const iteratorSendData = (cnt = 0) => { |
|
|
|
const iteratorSendData = (cnt = 0) => { |
|
|
|
if (cnt >= client.data.length) { |
|
|
|
if (cnt >= client.data.length) { |
|
|
|
client.socket.destroy() |
|
|
|
client.socket.destroy(); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
setTimeout(() => sendData(client, cnt), 1000); |
|
|
|
setTimeout(() => sendData(client, cnt), 1000); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
iteratorSendData() |
|
|
|
iteratorSendData(); |
|
|
|