wpa wifi controller


Keywords
wpa, wifi, control
License
ISC
Install
npm install wpa-wifi@0.4.1

Documentation

Wpa-wifi

WpaCli to control wpa_supplicant

This only works on linux, tested on ubuntu 14.4 and debian jesse. you need to have wpa_supplicant installed , run using sudo and running with wpa_spplicant having config : ctrl_interface=/var/run/wpa_supplicant

Reference: http://w1.fi/wpa_supplicant/devel/ctrl_iface_page.html

Example

  'use strict';
  const WpaCli = require('./');
  var wpa = new WpaCli('wlan0');
  wpa.on('ready', function() {
      console.log('ready');
      wpa.listNetworks();
      wpa.addNetwork();
      wpa.setSSID(0, 'ssid');
      wpa.setPassword(0, 'password');
      wpa.enableNetwork(0);
      wpa.selectNetwork(0);
  });

  wpa.connect();


  wpa.on('status', function(status) {
      console.log(status);
  });
  wpa.on('scan_results', function(scanResults) {
      console.log(scanResults);
  });
  wpa.on('list_network', function(networks) {
      console.log(networks);
  });
  wpa.on('raw_msg', function(msg) {
      console.log(msg);
  });

API Documention:

WpaCli

WpaCli to control wpa_supplicant

Kind: global class

new WpaCli(ifName)

constructs WpaCli

Param Type Description
ifName String interface name eg. wlan0

wpaCli.connect()

connect to wpa control interface

Kind: instance method of WpaCli

wpaCli._onConnect()

connect event handler

Kind: instance method of WpaCli

wpaCli._onMessage(msg)

message event handler

Kind: instance method of WpaCli

Param Type Description
msg Buffer message recieved from wpa_ctrl

wpaCli._onCtrlEvent(msg)

control event handler

Kind: instance method of WpaCli

Param Type Description
msg String control event messages

wpaCli._onError(err)

error event handler

Kind: instance method of WpaCli

Param Type Description
err String error message

wpaCli._onCongestion(err)

congestion event handler

Kind: instance method of WpaCli

Param Type Description
err String congestion error message

wpaCli._onListening()

listening event handler

Kind: instance method of WpaCli

wpaCli.sendCmd(msg)

send request to wpa_cli

Kind: instance method of WpaCli

Param Type Description
msg String wpa_cli commands

wpaCli.scan()

scan for wifi AP

Kind: instance method of WpaCli

wpaCli.scanResults()

request for wifi scan results

Kind: instance method of WpaCli

wpaCli._onScanResult(msg)

scan results handler

Kind: instance method of WpaCli

Param Type Description
msg String scan results message

wpaCli._onRawMsg(msg)

raw message handler from wpa_cli, captures all messages by default for debuging purposes

Kind: instance method of WpaCli

Param Type Description
msg String wpa messages

wpaCli._onListNetwork(msg)

list network handler, list all configured networks or devices

Kind: instance method of WpaCli

Param Type Description
msg String network or devices list

wpaCli.addNetwork()

add new network

Kind: instance method of WpaCli

wpaCli.listNetworks()

request to list networks

Kind: instance method of WpaCli

wpaCli.status()

request for status

Kind: instance method of WpaCli

wpaCli._onStatus(msg)

status handler, parses status messages and emits status event

Kind: instance method of WpaCli

Param Type Description
msg String status message

wpaCli.setSSID(networkId, add)

set network ssid

Kind: instance method of WpaCli

Param Type Description
networkId String network id recieved from list networks
add String ssid to network

wpaCli.setPassword(networkId, password)

set network password

Kind: instance method of WpaCli

Param Type Description
networkId String networkId network id recieved from list networks
password String add ssid to network

wpaCli.enableNetwork(networkId)

enable configured network

Kind: instance method of WpaCli

Param Type Description
networkId string networkId network id recieved from list networks

wpaCli.selectNetwork(networkId)

select network to connect

Kind: instance method of WpaCli

Param Type Description
networkId String networkId network id recieved from list networks

wpaCli._onApConnected()

AP connected event handler

Kind: instance method of WpaCli

wpaCli._onApDisconnected()

AP disconnect event handler

Kind: instance method of WpaCli

wpaCli.startDhclient()

start dhclient for interface

Kind: instance method of WpaCli

wpaCli.stopDhclient()

stop dhclient for interface

Kind: instance method of WpaCli

wpaCli.disconnectAP()

disconnect from AP

Kind: instance method of WpaCli