JavaScriptで定期的にWi-FiをOFF➜ONする
僕は普段はSwiftを書いているのですがインスタントな雑スクリプトはJavaScriptで書きます。
カフェでドヤマックしてたのですがWifiの調子が悪くて定期的にon/offしていたので、それを自動化したいと思い雑なnodeJSを書きなぐりました。
Wifiを「切」にして3秒後に「入」にする`を60秒ごとに行うスクリプトです。 Shell Commandをタイマー実行しているだけですが。
toggleWifi.js
const exec = require('child_process').exec; var intervalSec = 60; function main() { console.log("start to toggle wifi"); setInterval(function() { toggleWifi(); }, 1000 * intervalSec) toggleWifi(); } function toggleWifi() { console.log("toggle..."); changeWifiPower(false); setTimeout(function() { changeWifiPower(true); }, 1000 * 3); } function changeWifiPower(isOn) { var nextState = isOn ? "on" : "off"; var command = "networksetup -setairportpower en0 " + nextState; doShellCommand(command); console.log("wifi turn " + nextState); } function doShellCommand(command) { exec(command, (err, stdout, stderr) => { if (err) { console.log(err); } console.log(stdout); }); } main();
使い方
$ node toggleWifi.js