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);
});
WpaCli
WpaCli to control wpa_supplicant
Kind: global class
-
WpaCli
- new WpaCli(ifName)
- .connect()
- ._onConnect()
- ._onMessage(msg)
- ._onCtrlEvent(msg)
- ._onError(err)
- ._onCongestion(err)
- ._onListening()
- .sendCmd(msg)
- .scan()
- .scanResults()
- ._onScanResult(msg)
- ._onRawMsg(msg)
- ._onListNetwork(msg)
- .addNetwork()
- .listNetworks()
- .status()
- ._onStatus(msg)
- .setSSID(networkId, add)
- .setPassword(networkId, password)
- .enableNetwork(networkId)
- .selectNetwork(networkId)
- ._onApConnected()
- ._onApDisconnected()
- .startDhclient()
- .stopDhclient()
- .disconnectAP()
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