|
const WebSocket = require('ws') |
|
const mom = require('moment') |
|
|
|
function getRandomValue(min, max) { |
|
return Math.floor(Math.random() * (max - min + 1) + min) |
|
} |
|
|
|
function getPayload() { |
|
let payload = {} |
|
|
|
let ts = mom().format('DD-MM-YYYYTHH:mm:ss.SSS') |
|
let data = [] |
|
let alarms1 = [] |
|
let alarms2 = [] |
|
let alarms3 = [] |
|
let pData = "" |
|
|
|
pData = getRandomValue(0, 200) |
|
data.push({ |
|
paramName: "param1", |
|
paramData: pData |
|
}) |
|
pData = getRandomValue(0, 20) |
|
data.push({ |
|
paramName: "param2", |
|
paramData: pData |
|
}) |
|
pData = getRandomValue(0, 5000) |
|
data.push({ |
|
paramName: "param3", |
|
paramData: pData |
|
}) |
|
|
|
alarms1.push( |
|
{paramName : "param4", paramState : "HIGH"} |
|
) |
|
alarms1.push( |
|
{paramName : "param5", paramState : "LOW"} |
|
) |
|
alarms1.push( |
|
{paramName : "param6", paramState : "MED"} |
|
) |
|
|
|
pData = getRandomValue(0, 5000), |
|
alarms2.push( |
|
{ |
|
paramName: "param7", |
|
paramData: pData, |
|
paramState: "HIGH"} |
|
) |
|
pData = getRandomValue(0, 20), |
|
alarms2.push( |
|
{ |
|
paramName: "param8", |
|
paramData: pData, |
|
paramState: "HIGH"} |
|
) |
|
pData = getRandomValue(0, 1000), |
|
alarms2.push( |
|
{ |
|
paramName: "param9", |
|
paramData: pData, |
|
paramState: "HIGH"} |
|
) |
|
|
|
pData = getRandomValue(0, 5000) |
|
alarms3.push( |
|
{paramName : "param10", paramData : pData} |
|
) |
|
pData = getRandomValue(0, 20) |
|
alarms3.push( |
|
{paramName : "param11", paramData : pData} |
|
) |
|
pData = getRandomValue(0, 1000) |
|
alarms3.push( |
|
{paramName : "param12", paramData : pData} |
|
) |
|
|
|
payload = { |
|
ts: ts, |
|
data: data, |
|
alarms1: alarms1, |
|
alarms2: alarms2, |
|
alarms3: alarms3 |
|
} |
|
return payload |
|
} |
|
|
|
function startClient(wsServer, frequency) { |
|
const ws = new WebSocket(wsServer) |
|
ws.on('open', function open() { |
|
setInterval(function() { |
|
ws.send(JSON.toString(getPayload())) |
|
}, frequency) |
|
}) |
|
} |
|
|
|
if (process.argv.length < 4) { |
|
console.log(`USAGE: node index.js wsServer frequency`) |
|
process.exit(1) |
|
} |
|
|
|
startClient(process.argv[2], process.argv[3]) |