-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwifi-test.js
94 lines (83 loc) · 2.3 KB
/
wifi-test.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
var tessel = require('tessel'),
needle = require('needle');
var wiFiSsid = process.argv[2];
var wiFiPassword = process.argv[3];
var requestBinUrl = process.argv[4];
console.log({ args: process.argv, wiFiSsid, wiFiPassword, requestBinUrl })
const connectionSettings = {
ssid: wiFiSsid,
password: wiFiPassword,
security: 'wpa2'
}
var leds = {
green: tessel.led[0],
blue: tessel.led[1]
};
var blink = function(led, numberOfTimes) {
var intervalId;
numberOfTimes = numberOfTimes * 2;
intervalId = setInterval(function() {
led.toggle();
--numberOfTimes;
if (numberOfTimes === 0) {
clearInterval(intervalId);
}
}, 200);
};
// Blink the blue LED 5 times
blink(leds.blue, 5);
// Try to connect to WiFi after 7 seconds
setTimeout(function() {
tessel.network.wifi.connect(connectionSettings);
}, 7 * 1000);
var numRequestsAttempted = 0;
setInterval(function() {
++numRequestsAttempted;
console.log("Attempting to send heartbeat message #" + numRequestsAttempted + "...");
tessel.network.wifi.connection((err, settings) => {
console.log(err)
console.log(settings)
if (false) {
needle.post(
requestBinUrl,
{
message: "WiFi is still connected!",
numRequestsAttempted: numRequestsAttempted
},
function(err, response) {
if (err) {
console.log("Error: " + err);
} else {
console.log("Response: " + response.body);
}
}
);
} else {
console.log("WiFi is not connected right now. Cannot send heartbeat message :(");
}
})
}, 20 * 1000);
var numWiFiConnects = 0;
tessel.network.wifi.on('connect', function(res) {
++numWiFiConnects;
blink(leds.green, 3);
console.log("WiFi is connected. IP address = " + res.ip);
needle.post(
requestBinUrl,
{
message: "WiFi just (re)connected",
numWiFiConnects: numWiFiConnects
},
function(err, response) {
if (err) {
console.log("Error: " + err);
} else {
console.log("Response: " + response.body);
}
}
);
});
tessel.network.wifi.on('disconnect', function() {
console.log("WiFi is disconnected :( Retrying to connect...");
tessel.network.wifi.connect(connectionSettings);
});