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