57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
const args = process.argv.slice(2);
|
|
var host = args[0];
|
|
if (!host) host = 'http://localhost:8080';
|
|
console.log(
|
|
"connecting to the host... : \n" +
|
|
"\t --> " + host + "\n"
|
|
);
|
|
|
|
var socket = require('socket.io-client')(host);
|
|
var osc = require("osc");
|
|
var udp = new osc.UDPPort({
|
|
localAddress: '0.0.0.0',
|
|
//NOTE: '127.0.0.1' doesn't work!! for comm. between different machines
|
|
localPort: 57001,
|
|
remoteAddress: '0.0.0.0',
|
|
remotePort: 57000,
|
|
metadata: true
|
|
});
|
|
|
|
Promise.all([
|
|
new Promise(function(resolve, reject) {
|
|
udp.on("ready", function() {
|
|
resolve(0);
|
|
console.log('udp ready..');
|
|
});
|
|
})
|
|
]).then(function(results) {
|
|
|
|
socket.on('connect', () => console.log("[osc-receiver] i'm connected."));
|
|
socket.on('disconnect', () => console.log("[osc-receiver] i'm disconnected."));
|
|
|
|
socket.on('rover', function(rover) {
|
|
udp.send({
|
|
address: "/rover",
|
|
args: [
|
|
{ type: "f", value: rover.px },
|
|
{ type: "f", value: rover.py },
|
|
{ type: "f", value: rover.pz },
|
|
{ type: "f", value: rover.pan },
|
|
{ type: "f", value: rover.tilt },
|
|
{ type: "f", value: rover.rot },
|
|
{ type: "f", value: rover.grounded }
|
|
]
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
udp.open();
|
|
udp.on("ready", function() {
|
|
console.log(
|
|
"[udp] ready (udp) : \n" +
|
|
"\tlistening on --> " + udp.options.localAddress + ":" + udp.options.localPort + "\n" +
|
|
"\tspeaking to -> " + udp.options.remoteAddress + ":" + udp.options.remotePort + "\n"
|
|
);
|
|
});
|