a supervisor-like set of endpoints that enables wifi management under resin containers
connman
libdbus-1-dev
libglib2.0-dev
on Debian/Ubuntu :
sudo apt-get update && sudo apt-get install connman libdbus-1 libglib2.0-dev -y
npm i resin-wifivisor --save
const Wifi = require('resin-wifivisor');
Wifi.init();
Wifi.on('error', function(err) {
console.error(err)
});
Wifi.on('start', function(port) {
console.log("wifi manager listening on port " + port);
});
Wifi.on('connect', function(ssid) {
console.log('connected to ' + ssid);
});
Wifi.on('disconnect', function() {
console.log("disconnected");
});
Wifi.on('hotspot', function(data) {
if (data.active) {
console.log("hotspot enabled with SSID: " + data.ssid + " and passphrase: " + data.psk);
} else {
console.log("hotspot disabled");
}
});
Wifi.on('powered', function(status) {
if (status) {
console.log("Wifi enabled");
} else {
console.log("Wifi disabled");
}
});
- You can set the port on which to expose the webserver via
WIFIVISOR_CONFIG_PORT
env-var (defaults to3000
) - You can set the connections configuration path via
WIFIVISOR_CONFIG_DIR
env-var (defaults to/data/wifi/
)
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/state |
GET |
empty 200 OK |
returns the current state of the Wifi chip |
curl -X GET 127.0.0.1:3000/v1/wifi/state
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/state |
PUT |
empty 200 OK |
powers ON the WiFi chip |
curl -X PUT 127.0.0.1:3000/v1/wifi/state
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/state |
DELETE |
empty 200 OK |
powers OFF the WiFi chip |
curl -X DELETE 127.0.0.1:3000/v1/wifi/state
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/ |
GET |
obj 200 OK |
scans for Wifi access points |
curl -X GET 127.0.0.1:3000/v1/wifi
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/<ssid>/<psk> |
POST |
obj 200 OK |
connects to a given Wifi access point with given SSID and PSK |
curl -X POST 127.0.0.1:3000/v1/wifi/<ssid>/<psk>
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/ |
DELETE |
empty 200 OK |
disconnects to any current Wifi access point |
curl -X DELETE 127.0.0.1:3000/v1/wifi
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/hotspot/<ssid>/<psk> |
POST |
obj 200 OK or 500 INTERNAL SERVER ERROR |
enables the Hotspot mode with given SSID and PSK |
curl -X POST 127.0.0.1:3000/v1/wifi/hotspot/<ssid>/<psk>
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/hotspot/ |
DELETE |
empty 200 OK |
disables the Hotspot mode |
curl -X DELETE 127.0.0.1:3000/v1/wifi/hotspot
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/config/ |
GET |
obj 200 OK or 500 INTERNAL SERVER ERROR |
gets already configured connections |
curl -X GET 127.0.0.1:3000/v1/wifi/config
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/config/<ssid>/<psk> |
POST |
empty 200 OK or 500 INTERNAL SERVER ERROR |
save connection config |
curl -X POST 127.0.0.1:3000/v1/wifi/config/<ssid>/<psk>
Endpoint | Method | Response | Description |
---|---|---|---|
/v1/wifi/config/<ssid> |
DELETE |
empty 200 OK or 500 INTERNAL SERVER ERROR |
delete connection config |
curl -X DELETE 127.0.0.1:3000/v1/wifi/config/<ssid>
Copyright 2016 Rulemotion Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.