Scalable IoT solution for real-time body position data
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
979 B

4 years ago
const io = require('socket.io-client');
const chalk = require('chalk')
const {server_url} = require('../config/keys');
const getMAC = require('getmac').default
4 years ago
const socket = io(server_url);
const mac = getMAC();
4 years ago
console.log(chalk.green(`
ID: ${mac}
Use this ID, to adopt the athlete on the user dashboard.
`))
socket.on('connect', () => {
console.log(chalk.green('Connected to server!'));
socket.emit('subscribe', JSON.stringify({subscribe: 'clients', mac}));
});
socket.on('disconnect', (reason) => {
console.log(chalk.red('Lost connection!'));
if (reason === 'io server disconnect') socket.connect();
if (reason === 'io client disconnect') {
console.log(chalk.red('Server kicked you!'));
exit(1);
}
console.log(chalk.yellow('Reconnecting...'));
});
socket.on('closeConn', () => {
closeConn();
});
setInterval(() => {
socket.emit('data', {measurement: 5, mac, pointName: 'leg-measurement'});
}, 3 * 1000);