-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
38 lines (29 loc) · 749 Bytes
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var five = require('johnny-five'),
exec = require('child_process').exec,
volume = -1;
function adjustVolume(newVolume, callback) {
if (volume != newVolume) {
callback = callback || function() {};
exec('osascript -e "set Volume ' + newVolume + '"', function(err) {
if (err) {
return callback(err);
}
volume = newVolume;
console.log('Adjusted volume to ' + newVolume);
callback();
});
}
};
/* START IT UP */
adjustVolume(0, function(err) {
console.log(err);
var board = new five.Board();
board.on('ready', function(err, data) {
var ping = new five.Ping(3), lastDistance = 0;
ping.on('read', function(err, data) {
if (this.inches < 21) {
adjustVolume(parseInt(this.inches / 2));
}
});
});
});