Wifi

    Wifi


    Article summary


    title: Wifi

    version: 0.15.0
    layout: default
    sdk: manage

    # Wifi Module

    Version Wifi 0.15.0

    Table of Contents

    Usage

    To use the Wifi module, you can import it into your project from the Firebolt SDK:

    import { Wifi } from '@firebolt-js/manage-sdk'
    

    Overview

    A module for providing support for Wifi.

    Methods

    connect

    Connect the device to the specified SSID.

    function connect(ssid?: string, passphrase?: string, security?: WifiSecurityMode): Promise<AccessPoint>
    

    Parameters:

    ParamTypeRequiredDescription
    ssidstringfalse
    passphrasestringfalse
    securityWifiSecurityModefalse
    values: 'none' \| 'wep64' \| 'wep128' \| 'wpaPskTkip' \| 'wpaPskAes' \| 'wpa2PskTkip' \| 'wpa2PskAes' \| 'wpaEnterpriseTkip' \| 'wpaEnterpriseAes' \| 'wpa2EnterpriseTkip' \| 'wpa2EnterpriseAes' \| 'wpa2Psk' \| 'wpa2Enterprise' \| 'wpa3PskAes' \| 'wpa3Sae'

    Promise resolution:

    AccessPoint

    Capabilities:

    RoleCapability
    usesxrn:firebolt:capability:protocol:wifi

    Examples

    Connect to a wpa2Psk Wifi with password

    JavaScript:

    import { Wifi } from '@firebolt-js/manage-sdk'
    
    Wifi.connect("DND", "gargoyle", "wpa2Psk")
        .then(connectedWifi => {
            console.log(connectedWifi)
        })
    

    Value of connectedWifi:

    {
    	"ssid": "DND",
    	"security": "wpa2Psk",
    	"signalStrength": -70,
    	"frequency": 2.4
    }
    
    JSON-RPC:Request:
    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"method": "Wifi.connect",
    	"params": {
    		"ssid": "DND",
    		"passphrase": "gargoyle",
    		"security": "wpa2Psk"
    	}
    }
    

    Response:

    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"result": {
    		"ssid": "DND",
    		"security": "wpa2Psk",
    		"signalStrength": -70,
    		"frequency": 2.4
    	}
    }
    

    Connect to a WPA2 PSK Wifi with password

    JavaScript:

    import { Wifi } from '@firebolt-js/manage-sdk'
    
    Wifi.connect("Guardian WIFI", "", "none")
        .then(connectedWifi => {
            console.log(connectedWifi)
        })
    

    Value of connectedWifi:

    {
    	"ssid": "DND",
    	"security": "wpa2Psk",
    	"signalStrength": -70,
    	"frequency": 2.4
    }
    
    JSON-RPC:Request:
    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"method": "Wifi.connect",
    	"params": {
    		"ssid": "Guardian WIFI",
    		"passphrase": "",
    		"security": "none"
    	}
    }
    

    Response:

    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"result": {
    		"ssid": "Guardian WIFI",
    		"security": "none",
    		"signalStrength": -70,
    		"frequency": 2.4
    	}
    }
    

    disconnect

    Disconnect the device if connected via WIFI.

    function disconnect(): Promise<void>
    

    Promise resolution:

    void
    

    Capabilities:

    RoleCapability
    usesxrn:firebolt:capability:protocol:wifi

    Examples

    Disconnect

    JavaScript:

    import { Wifi } from '@firebolt-js/manage-sdk'
    
    Wifi.disconnect()
        .then(result => {
            console.log(result)
        })
    

    Value of result:

    null
    
    JSON-RPC:Request:
    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"method": "Wifi.disconnect",
    	"params": {}
    }
    

    Response:

    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"result": null
    }
    

    scan

    Scan available wifi networks in the location.

    function scan(timeout?: Timeout): Promise<AccessPointList>
    

    Parameters:

    ParamTypeRequiredDescription
    timeoutTimeoutfalse
    minumum: 0
    maximum: 9999

    Promise resolution:

    AccessPointList

    Capabilities:

    RoleCapability
    usesxrn:firebolt:capability:protocol:wifi

    Examples

    Successful Wifi List

    JavaScript:

    import { Wifi } from '@firebolt-js/manage-sdk'
    
    Wifi.scan(30)
        .then(list => {
            console.log(list)
        })
    

    Value of list:

    {
    	"list": [
    		{
    			"ssid": "DND",
    			"security": "wpa2Psk",
    			"signalStrength": -70,
    			"frequency": 2.4
    		},
    		{
    			"ssid": "Fortnite",
    			"security": "WPA2_ENTERPRISE_AES",
    			"signalStrength": -70,
    			"frequency": 5
    		},
    		{
    			"ssid": "Guardian",
    			"security": "none",
    			"signalStrength": -70,
    			"frequency": 2.4
    		}
    	]
    }
    
    JSON-RPC:Request:
    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"method": "Wifi.scan",
    	"params": {
    		"timeout": 30
    	}
    }
    

    Response:

    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"result": {
    		"list": [
    			{
    				"ssid": "DND",
    				"security": "wpa2Psk",
    				"signalStrength": -70,
    				"frequency": 2.4
    			},
    			{
    				"ssid": "Fortnite",
    				"security": "WPA2_ENTERPRISE_AES",
    				"signalStrength": -70,
    				"frequency": 5
    			},
    			{
    				"ssid": "Guardian",
    				"security": "none",
    				"signalStrength": -70,
    				"frequency": 2.4
    			}
    		]
    	}
    }
    

    wps

    Connect to WPS

    function wps(security?: WPSSecurityPin): Promise<AccessPoint>
    

    Parameters:

    ParamTypeRequiredDescription
    securityWPSSecurityPinfalse
    values: 'pushButton' \| 'pin' \| 'manufacturerPin'

    Promise resolution:

    AccessPoint

    Capabilities:

    RoleCapability
    usesxrn:firebolt:capability:protocol:wifi

    Examples

    Connect to a WPS Wifi router

    JavaScript:

    import { Wifi } from '@firebolt-js/manage-sdk'
    
    Wifi.wps("pushButton")
        .then(connectedWifi => {
            console.log(connectedWifi)
        })
    

    Value of connectedWifi:

    {
    	"ssid": "DND",
    	"security": "wpa2Psk",
    	"signalStrength": -70,
    	"frequency": 2.4
    }
    
    JSON-RPC:Request:
    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"method": "Wifi.wps",
    	"params": {
    		"security": "pushButton"
    	}
    }
    

    Response:

    {
    	"jsonrpc": "2.0",
    	"id": 1,
    	"result": {
    		"ssid": "DND",
    		"security": "wpa2Psk",
    		"signalStrength": -70,
    		"frequency": 2.4
    	}
    }
    

    Types

    AccessPointList

    List of scanned Wifi networks available near the device.

    type AccessPointList = {
      list?: AccessPoint[]
    }
    

    See also:

    AccessPoint


    WifiSecurityMode

    Security Mode supported for Wifi

    enum WifiSecurityMode {
    	NONE = 'none',
    	WEP_64 = 'wep64',
    	WEP_128 = 'wep128',
    	WPA_PSK_TKIP = 'wpaPskTkip',
    	WPA_PSK_AES = 'wpaPskAes',
    	WPA_2PSK_TKIP = 'wpa2PskTkip',
    	WPA_2PSK_AES = 'wpa2PskAes',
    	WPA_ENTERPRISE_TKIP = 'wpaEnterpriseTkip',
    	WPA_ENTERPRISE_AES = 'wpaEnterpriseAes',
    	WPA_2ENTERPRISE_TKIP = 'wpa2EnterpriseTkip',
    	WPA_2ENTERPRISE_AES = 'wpa2EnterpriseAes',
    	WPA_2PSK = 'wpa2Psk',
    	WPA_2ENTERPRISE = 'wpa2Enterprise',
    	WPA_3PSK_AES = 'wpa3PskAes',
    	WPA_3SAE = 'wpa3Sae'
    }
    
    

    AccessPoint

    Properties of a scanned wifi list item.

    type AccessPoint = {
      ssid?: string                        // Name of the wifi.
      securityMode?: WifiSecurityMode      // Security Mode supported for Wifi
      signalStrength?: WifiSignalStrength  // Strength of Wifi signal, value is negative based on RSSI specification.
      frequency?: WifiFrequency            // Wifi Frequency in Ghz, example 2.4Ghz and 5Ghz.
    }
    

    See also:

    'none' | 'wep64' | 'wep128' | 'wpaPskTkip' | 'wpaPskAes' | 'wpa2PskTkip' | 'wpa2PskAes' | 'wpaEnterpriseTkip' | 'wpaEnterpriseAes' | 'wpa2EnterpriseTkip' | 'wpa2EnterpriseAes' | 'wpa2Psk' | 'wpa2Enterprise' | 'wpa3PskAes' | 'wpa3Sae'
    number
    number


    WPSSecurityPin

    Security pin type for WPS(Wifi Protected Setup).

    enum WPSSecurityPin {
    	PUSH_BUTTON = 'pushButton',
    	PIN = 'pin',
    	MANUFACTURER_PIN = 'manufacturerPin'
    }
    
    

    WifiSignalStrength

    Strength of Wifi signal, value is negative based on RSSI specification.

    type WifiSignalStrength = number
    

    WifiFrequency

    Wifi Frequency in Ghz, example 2.4Ghz and 5Ghz.

    type WifiFrequency = number
    


    Was this article helpful?

    What's Next