resin-wifivisor

a supervisor-like set of endpoints that enables wifi management under resin containers


Keywords
resin, wifi, supervisor
License
Apache-2.0
Install
npm install resin-wifivisor@0.0.4

Documentation

resin-wifivisor

a supervisor-like set of endpoints that enables wifi management under resin containers

Dependencies

  • 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

Installation

npm i resin-wifivisor --save

Usage

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");
    }
});

APIs

  • You can set the port on which to expose the webserver via WIFIVISOR_CONFIG_PORT env-var (defaults to 3000)
  • You can set the connections configuration path via WIFIVISOR_CONFIG_DIR env-var (defaults to /data/wifi/)
Get WiFi state
Endpoint Method Response Description
/v1/wifi/state GET empty 200 OK returns the current state of the Wifi chip
Set WiFi power mode to ON
Endpoint Method Response Description
/v1/wifi/state PUT empty 200 OK powers ON the WiFi chip
Set WiFi power mode to OFF
Endpoint Method Response Description
/v1/wifi/state DELETE empty 200 OK powers OFF the WiFi chip
Scan WiFi
Endpoint Method Response Description
/v1/wifi/ GET obj 200 OK scans for Wifi access points
Connect
Endpoint Method Response Description
/v1/wifi/<ssid>/<psk> POST obj 200 OK connects to a given Wifi access point with given SSID and PSK
Disconnect
Endpoint Method Response Description
/v1/wifi/ DELETE empty 200 OK disconnects to any current Wifi access point
Hotspot ON
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
Hotspot OFF
Endpoint Method Response Description
/v1/wifi/hotspot/ DELETE empty 200 OK disables the Hotspot mode
Get Configs
Endpoint Method Response Description
/v1/wifi/config/ GET obj 200 OK or 500 INTERNAL SERVER ERROR gets already configured connections
Save config
Endpoint Method Response Description
/v1/wifi/config/<ssid>/<psk> POST empty 200 OK or 500 INTERNAL SERVER ERROR save connection config
Delete config
Endpoint Method Response Description
/v1/wifi/config/<ssid> DELETE empty 200 OK or 500 INTERNAL SERVER ERROR delete connection config

License

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.