wifi.setmode()
Description
Establece el modo de operación wifi.
- wifi.STATION es cuando el dispositivo se conecta a un AP (Access Point o punto de Acceso) o router en modo cliente para conectarse, por ejemplo, a internet
- wifi.SOFTAP es cuando el dispositivo se configura en modo Punto de Acceso (AP). En este modo tu puedes ver el dispositivo como una red wifi. Por defecto, a no ser que cambies los párámetros de fábrica, la dirección IP del dispositivo es la 192.168.4.1 y por DHCP asigna una dirección al dispositivo que se conecta a partir de la 192.168.4.2
- wifi.STATIONAP es una combinación de wifi.STATION and wifi.SOFTAP. Permite, por un lado, crear una red wifi y, por otro lado, conectarte a una red existente.
Sintaxis
wifi.setmode(mode)
Parámetros
mode: Los valores debes ser:
- wifi.STATION
- wifi.SOFTAP
- wifi.STATIONAP
Devuelve
modo actual
Ejemplo
wifi.setmode(wifi.STATION)
wifi.getmode()
Descripción
obtiene el modo en que está configurado el wifi.
Sintaxis
wifi.getmode()
Parámetros
ninguno
Devuelve
modo de wifi configurado
1 = STATION
2 = SOFTAP
3 = STATIONAP
Ejemplo
print(wifi.getmode())
wifi.getchannel()
Descripción
obtiene el actual canal wifi.
Sintaxis
wifi.getchannel()
Parámetros
ninguno
Devuelve
actual canal wifi
Ejemplo
print(wifi.getchannel())
wifi.setphymode()
Descripción
establece el protocolo del wifi.
- wifi.PHYMODE_B 802.11b, Mayor alcance, velocidad de transferencia baja, mas consumo de corriente
- wifi.PHYMODE_G 802.11g, Alcance medio, velocidad de transferencia media, consumo medio de corriente
- wifi.PHYMODE_N 802.11n, Bajo alcance, velocidad de transferencia rápida, bajo consumo de corriente (solo en modo STATION).
Para más información consultar la siguiente tabla:
Parámetro
|
Consumo
|
Tx 802.11b, CCK 11Mbps, P OUT=+17dBm
|
170 mA
|
Tx 802.11g, OFDM 54Mbps, P OUT =+15dBm
|
140 mA
|
Tx 802.11n, MCS7 65Mbps, P OUT =+13dBm
|
120 mA
|
Rx 802.11b, 1024 bytes packet length, -80dBm
|
50 mA
|
Rx 802.11g, 1024 bytes packet length, -70dBm
|
56 mA
|
Rx 802.11n, 1024 bytes packet length, -65dBm
|
56 mA
|
Sintaxis
wifi.setphymode(mode)
Parámetros
mode: el valor debe ser:
- wifi.PHYMODE_B
- wifi.PHYMODE_G
- wifi.PHYMODE_N
Devuelve
Modo actual
Ejemplo
--STATION
wifi.setphymode()
wifi.setphymode()
wifi.getphymode()
Descripción
obtiene el protocolo wifi.
Sintaxis
wifi.getmode()
Parámetros
ninguno
Devuelve
protocolo wifi
- 1: wifi.PHYMODE_B
- 2: wifi.PHYMODE_G
- 3: wifi.PHYMODE_N
Ejemplo
print(wifi.getphymode())
wifi.startsmart()
Descripción
Se utiliza en modo wifi.STATION
inicia la configuración automática, activando el ssid y el password automáticamente
Sintaxis
wifi.startsmart(type, function succeed_callback(ssid, password))
Parámetros
type: 0~1. 0 utiliza ESP_TOUCH, 1 utiliza AIR_KISS. Nota: dev096 solo soporta ESP Touch V021.
succeed_callback: con dos argumentos, ssid y password.
Devuelve
nil
Ejemplo
wifi.setmode(wifi.STATION)
wifi.startsmart(0,
function(ssid, password)
print(string.format("Success. SSID:%s ; PASSWORD:%s", ssid, password))
end
)
-- above sdk v120, can get phone ip, must use esptouch v034.
wifi.startsmart(0,function(ssid, password,phoneip) print(ssid) print(password) print(phoneip) end)
wifi.startsmart(0,
function(ssid, password)
print(string.format("Success. SSID:%s ; PASSWORD:%s", ssid, password))
end
)
-- above sdk v120, can get phone ip, must use esptouch v034.
wifi.startsmart(0,function(ssid, password,phoneip) print(ssid) print(password) print(phoneip) end)
wifi.stopsmart()
Descripción
para el proceso de configuración
Sintaxis
wifi.stopsmart()
Parámetros
ninguno
Devuelve
nil
Ejemplo
wifi.stopsmart()
wifi.sleeptype()
Descripción
configura el modo reposo del wifi y devuelve el modo sleep configurado
Sintaxis
type_actual = wifi.sleeptype(type_need)
Parámetros
type_need:
wifi.NONE_SLEEP, wifi.LIGHT_SLEEP, wifi.MODEM_SLEEP
Devuelve
type_actual:
wifi.NONE_SLEEP, wifi.LIGHT_SLEEP, wifi.MODEM_SLEEP
Ejemplo
-- El consumo baja después de ejecutar esta función:
realtype = wifi.sleeptype(wifi.MODEM_SLEEP)
-- Si queremos configurarlo en un modo determinado:
Submódulo wifi.sta
-- Si queremos configurarlo en un modo determinado:
wifi.sleeptype(type_need)
-- Si queremos saber en qué modo se encuentra:
print(wifi.sleeptype())
Cuando preguntamos en qué modo se encuentra, nos devuelve un valor numérico que corresponde a:
0: NONE_SLEEP
1: LIGHT_SLEEP
2: MODEM_SLEEP
Por tanto, también será válido la expresión:
wifi.sleeptype(0) -- modo NONE_SLEEP
wifi.sta.getconfig()
Description
Obtiene la configuración de la red wifi a la que estamos conectados.
Nota: Si bssid_set es igual a 0 entonces bssid es irrelevante
Sintaxis
ssid, password, bssid_set, bssid=wifi.sta.getconfig()
Parámetros
ninguno
Devuelve
ssid, password, bssid_set, bssid
Ejemplo
--Obitnene la configuración de la estación actual
ssid, password, bssid_set, bssid=wifi.sta.getconfig()
print("\nCurrent Station configuration:\nSSID : "..ssid
.."\nPassword : "..password
.."\nBSSID_set : "..bssid_set
.."\nBSSID: "..bssid.."\n")
ssid, password, bssid_set, bssid=nil, nil, nil, nil
ssid, password, bssid_set, bssid=wifi.sta.getconfig()
print("\nCurrent Station configuration:\nSSID : "..ssid
.."\nPassword : "..password
.."\nBSSID_set : "..bssid_set
.."\nBSSID: "..bssid.."\n")
ssid, password, bssid_set, bssid=nil, nil, nil, nil
wifi.sta.config()
Descripción
Establece la configuración del módulo para conectarnos a una red wifi determinada
Sintaxis
wifi.sta.config(ssid, password)
wifi.sta.config(ssid, password, auto)
wifi.sta.config(ssid, password, bssid)
wifi.sta.config(ssid, password, auto, bssid)
Parámetros
- ssid: string(cadena de texto) menor de 32 bytes
- password: string entre 8 y 64 bytes o vacía (0 bytes). Si es 0 significa que el punto de acceso es abierto.
- auto: valor de 0 o 1 (1 por defecto)
- 0: Desactiva la auto conexión y permanecerá desconectado del punto de acceso
- 1: Activa la auto conexión y conectará con el punto de acceso.
- bssid: String que contiene la dirección MAC del punto de acceso (opcional).
- Puede establecer el bssid si tiene varios puntos de Acceso con el mismo SSID.
- Note: if you set bssid for a specific SSID and would like to configure station to connect to the same ssid only without the bssid requirement, you MUST first configure to station to a different ssid first, then connect to the desired ssid
- Los siguientes formatos son válidos:
- "DE-C1-A5-51-F1-ED"
- "AC-1D-1C-B1-0B-22"
- "DE AD BE EF 7A C0"
Devuelve
nada
Ejemplo
--Conecta con un punto de acceso automáticamente
wifi.sta.config("myssid", "password")
--Conecta a un punto de acceso libre automáticamente
wifi.sta.config("myssid", "")
--Conecta a un punto de acceso de forma manual (el usuario decide cuando conectar/desconectar)
wifi.sta.config("myssid", "mypassword", 0)
wifi.sta.connect()
--introducir código cuando se conecta...
wifi.sta.disconnect()
--Conecta con un punto de acceso específico automáticamente
wifi.sta.config("myssid", "mypassword", "12:34:56:78:90:12")
--Conecta manualmente con un punto de acceso específico (el usuario decide cuando conectar/desconectar)
wifi.sta.config("myssid", "mypassword", 0, "12:34:56:78:90:12")
wifi.sta.connect()
--introducir código cuando se conecta…
wifi.sta.config("myssid", "password")
--Conecta a un punto de acceso libre automáticamente
wifi.sta.config("myssid", "")
--Conecta a un punto de acceso de forma manual (el usuario decide cuando conectar/desconectar)
wifi.sta.config("myssid", "mypassword", 0)
wifi.sta.connect()
--introducir código cuando se conecta...
wifi.sta.disconnect()
--Conecta con un punto de acceso específico automáticamente
wifi.sta.config("myssid", "mypassword", "12:34:56:78:90:12")
--Conecta manualmente con un punto de acceso específico (el usuario decide cuando conectar/desconectar)
wifi.sta.config("myssid", "mypassword", 0, "12:34:56:78:90:12")
wifi.sta.connect()
--introducir código cuando se conecta…
wifi.sta.disconnect()
wifi.sta.connect()
Descripción
Conecta a un punto de acceso.
Sintaxis
wifi.sta.connect()
Parámetros
ninguno
Devuelve
nada
Ejemplo
wifi.sta.connect()
wifi.sta.disconnect()
Descripción
Desconecta de un punto de acceso.
Sintaxis
wifi.sta.disconnect()
Parámetros
ninguno
Devuelve
nada
Ejemplo
wifi.sta.disconnect()
wifi.sta.autoconnect()
Descripción
Conecta automáticamente con un AP.
Sintaxis
wifi.sta.autoconnect(auto)
Parámetros
auto: 0 desactiva la autoconexión. 1 activa la autoconexión
Devuelve
nada
Ejemplo
wifi.sta.autoconnect()
wifi.sta.getip()
Descripción
Obtiene la IP, máscara y dirección del gateway (puerta de enlace).
Sintaxis
wifi.sta.getip()
Parámetros
ninguno
Devuelve
ip, máscara, dirección del gateway en formato string (por ejemplo: "192.168.0.111"
devuelve nulo si la ip = "0.0.0.0".
Ejemplo
-- print current ip, netmask, gateway
print(wifi.sta.getip())
-- 192.168.0.111 255.255.255.0 192.168.0.1
ip = wifi.sta.getip()
print(ip)
-- 192.168.0.111
ip, nm = wifi.sta.getip()
print(nm)
-- 255.255.255.0
wifi.sta.setip()
print(wifi.sta.getip())
-- 192.168.0.111 255.255.255.0 192.168.0.1
ip = wifi.sta.getip()
print(ip)
-- 192.168.0.111
ip, nm = wifi.sta.getip()
print(nm)
-- 255.255.255.0
wifi.sta.setip()
Descripción
Establece manualmente la dirección IP, máscara y dirección IP del gateway.
Sintaxis
wifi.sta.setip(cfg)
Parámetros
cfg: tabla que contiene la ip, máscara y gateway
{
ip="192.168.0.111",
netmask="255.255.255.0",
gateway="192.168.0.1"
}
ip="192.168.0.111",
netmask="255.255.255.0",
gateway="192.168.0.1"
}
Devuelve
true si sucede, false si falla.
Ejemplo
cfg =
{
ip="192.168.0.111",
netmask="255.255.255.0",
gateway="192.168.0.1"
}
wifi.sta.setip(cfg)
wifi.sta.getmac()
{
ip="192.168.0.111",
netmask="255.255.255.0",
gateway="192.168.0.1"
}
wifi.sta.setip(cfg)
wifi.sta.getmac()
Descripción
obtiene la dirección mac del módulo ESP8266.
Sintaxis
wifi.sta.getmac()
Parámetros
ninguno
Devuelve
dirección mac en formato string (por ejemplo:"18-33-44-FE-55-BB")
Ejemplo
-- print current mac address
print(wifi.sta.getmac())
print(wifi.sta.getmac())
wifi.sta.setmac()
Descripción
establece la dirección mac del módulo ESP8266.
Sintaxis
wifi.sta.setmac(mac)
Parámetros
mac: dirección como string (por ejemplo:"DE:AD:BE:EF:7A:C0")
Devuelve
true si sucede, false si falla.
Ejemplo
print(wifi.sta.setmac("DE:AD:BE:EF:7A:C0"))
wifi.sta.getap()
Descripción
escanea y obtiene la lista de APs devolviendo una tabla. Con dicha tabla, realizamos la llamada a una función que trata los elementos de dicha tabla.
Sintaxis
wifi.sta.getap(function(table))
wifi.sta.getap(cfg, function(table))
wifi.sta.getap(format, function(table))
wifi.sta.getap(cfg, format, function(table))
Parámetros
- cfg: tabla que contiene la configuración del escaneo
- ssid: ssid == nil, no filtra el ssid.
- bssid: bssid == nil, no filtra el bssid.
- channel: channel == 0, escanea todos los canales, de lo contrario, escanea solo el canal ajustado.(por defecto es 0)
- show_hidden: show_hidden == 1, obtiene información del router con el ssid oculto.(por defecto es 0)
- format: selecciona el formato de la tabla de salida, 0 o 1 es válido.(0 por defecto)
- 0: formato antiguo (SSID : Authmode, RSSI, BSSID, Channel)
- NOTA: Cuando usa el formato antiguo par la salida de tabla cualquier SSID duplicado se descarta.
- 1: Nuevo formato (BSSID : SSID, RSSI, Authmode, Channel)
- function(table): función que devuelve la tabla de AP cuando se ha realizado el escaneo
- Esta función recibe una tabla, cuyo índice (key) es el ssid, siendo el valor otra información en formato : authmode,rssi,bssid,channel
- Si usa el nuevo formato de salida, el índice es bssid, siendo el valor otra información en formato: ssid,rssi,authmode,channel
Devuelve
nada
Ejemplo
-- print ap list
function listap(t)
for k,v in pairs(t) do
print(k.." : "..v)
end
end
wifi.sta.getap(listap)
-- Print AP list that is easier to read
function listap(t) -- (SSID : Authmode, RSSI, BSSID, Channel)
print("\n"..string.format("%32s","SSID").."\tBSSID\t\t\t\t RSSI\t\tAUTHMODE\tCHANNEL")
for ssid,v in pairs(t) do
local authmode, rssi, bssid, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]+)")
print(string.format("%32s",ssid).."\t"..bssid.."\t "..rssi.."\t\t"..authmode.."\t\t\t"..channel)
end
end
wifi.sta.getap(listap)
--NOTE: The rest of the examples use the new style output format
-- print ap list
function listap(t)
for k,v in pairs(t) do
print(k.." : "..v)
end
end
wifi.sta.getap(1, listap)
-- Print AP list that is easier to read
function listap(t) -- (SSID : Authmode, RSSI, BSSID, Channel)
print("\n\t\t\tSSID\t\t\t\t\tBSSID\t\t\t RSSI\t\tAUTHMODE\t\tCHANNEL")
for bssid,v in pairs(t) do
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
print(string.format("%32.s",ssid).."\t"..bssid.."\t "..rssi.."\t\t"..authmode.."\t\t\t"..channel)
end
end
wifi.sta.getap(1, listap)
--check for specific AP
function listap(t)
print("\n\t\t\tSSID\t\t\t\t\tBSSID\t\t\t RSSI\t\tAUTHMODE\t\tCHANNEL")
for bssid,v in pairs(t) do
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
print(string.format("%32.s",ssid).."\t"..bssid.."\t "..rssi.."\t\t"..authmode.."\t\t\t"..channel)
end
end
scan_cfg={}
scan_cfg.ssid="myssid"
scan_cfg.bssid="AA:AA:AA:AA:AA:AA"
scan_cfg.channel=0
scan_cfg.show_hidden=1
wifi.sta.getap(scan_cfg, 1, listap)
--get RSSI for currently configured AP
function listap(t)
for bssid,v in pairs(t) do
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
print("CURRENT RSSI IS: "..rssi)
end
end
ssid, tmp, bssid_set, bssid=wifi.sta.getconfig()
scan_cfg={}
scan_cfg.ssid=ssid
if bssid_set==1 then scan_cfg.bssid=bssid else scan_cfg.bssid=nil end
scan_cfg.channel=wifi.getchannel()
scan_cfg.show_hidden=0
ssid, tmp, bssid_set, bssid=nil, nil, nil, nil
wifi.sta.getap(scan_cfg, 1, listap)
function listap(t)
for k,v in pairs(t) do
print(k.." : "..v)
end
end
wifi.sta.getap(listap)
-- Print AP list that is easier to read
function listap(t) -- (SSID : Authmode, RSSI, BSSID, Channel)
print("\n"..string.format("%32s","SSID").."\tBSSID\t\t\t\t RSSI\t\tAUTHMODE\tCHANNEL")
for ssid,v in pairs(t) do
local authmode, rssi, bssid, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]+)")
print(string.format("%32s",ssid).."\t"..bssid.."\t "..rssi.."\t\t"..authmode.."\t\t\t"..channel)
end
end
wifi.sta.getap(listap)
--NOTE: The rest of the examples use the new style output format
-- print ap list
function listap(t)
for k,v in pairs(t) do
print(k.." : "..v)
end
end
wifi.sta.getap(1, listap)
-- Print AP list that is easier to read
function listap(t) -- (SSID : Authmode, RSSI, BSSID, Channel)
print("\n\t\t\tSSID\t\t\t\t\tBSSID\t\t\t RSSI\t\tAUTHMODE\t\tCHANNEL")
for bssid,v in pairs(t) do
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
print(string.format("%32.s",ssid).."\t"..bssid.."\t "..rssi.."\t\t"..authmode.."\t\t\t"..channel)
end
end
wifi.sta.getap(1, listap)
--check for specific AP
function listap(t)
print("\n\t\t\tSSID\t\t\t\t\tBSSID\t\t\t RSSI\t\tAUTHMODE\t\tCHANNEL")
for bssid,v in pairs(t) do
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
print(string.format("%32.s",ssid).."\t"..bssid.."\t "..rssi.."\t\t"..authmode.."\t\t\t"..channel)
end
end
scan_cfg={}
scan_cfg.ssid="myssid"
scan_cfg.bssid="AA:AA:AA:AA:AA:AA"
scan_cfg.channel=0
scan_cfg.show_hidden=1
wifi.sta.getap(scan_cfg, 1, listap)
--get RSSI for currently configured AP
function listap(t)
for bssid,v in pairs(t) do
local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
print("CURRENT RSSI IS: "..rssi)
end
end
ssid, tmp, bssid_set, bssid=wifi.sta.getconfig()
scan_cfg={}
scan_cfg.ssid=ssid
if bssid_set==1 then scan_cfg.bssid=bssid else scan_cfg.bssid=nil end
scan_cfg.channel=wifi.getchannel()
scan_cfg.show_hidden=0
ssid, tmp, bssid_set, bssid=nil, nil, nil, nil
wifi.sta.getap(scan_cfg, 1, listap)
wifi.sta.status()
Descripción
obtiene el estado actual de la conexión.
Sintaxis
wifi.sta.status()
Parámetros
ninguno
Devuelve
número del 0 al 5
- 0: STATION_IDLE, (reposo)
- 1: STATION_CONNECTING, (conectada)
- 2: STATION_WRONG_PASSWORD, (contraseña incorrecta)
- 3: STATION_NO_AP_FOUND, (AP no encontrado)
- 4: STATION_CONNECT_FAIL, (fallo en la conexión)
- 5: STATION_GOT_IP. (IP obtenida)
wifi.sta.getbroadcast()
Descripción
obtiene la dirección IP de broadcast.
Sintaxis
wifi.sta.getbroadcast()
Parámetros
ninguno
Devuelve
dirección de broadcast en formato string (por ejemplo:"192.168.0.255")
return nil si la IP = "0.0.0.0".
Ejemplo
bc = wifi.sta.getbroadcast()
print(bc)
-- 192.168.0.255
wifi.sta.eventMonReg()
print(bc)
-- 192.168.0.255
wifi.sta.eventMonReg()
Descripción
Register callback for wifi station status event
Sintaxis
wifi.sta.eventMonReg(wifi_status, function)
wifi.sta.eventMonReg(wifi_status, function(Previous_state))
wifi.sta.eventMonReg(wifi.status, "unreg")
Parámetros
- wifi_status: wifi status you would like to set callback for
- Estados de wifi válidos:
- wifi.STA_IDLE (en reposo)
- wifi.STA_CONNECTING (conectado)
- wifi.STA_WRONGPWD
- wifi.STA_APNOTFOUND (AP no encontrado)
- wifi.STA_FAIL (fallo en la conexión)
- wifi.STA_GOTIP (IP obtenida)
- function: function que se lleva a cabo cuando se produce un evento
- "unreg": anula el registro de la llamada previa
- Previous_state: estado anterior del wifi(0 - 5)
Devuelve
nada.
Ejemplo
--register callback
wifi.sta.eventMonReg(wifi.STA_IDLE, function() print("STATION_IDLE") end)
wifi.sta.eventMonReg(wifi.STA_CONNECTING, function() print("STATION_CONNECTING") end)
wifi.sta.eventMonReg(wifi.STA_WRONGPWD, function() print("STATION_WRONG_PASSWORD") end)
wifi.sta.eventMonReg(wifi.STA_APNOTFOUND, function() print("STATION_NO_AP_FOUND") end)
wifi.sta.eventMonReg(wifi.STA_FAIL, function() print("STATION_CONNECT_FAIL") end)
wifi.sta.eventMonReg(wifi.STA_GOTIP, function() print("STATION_GOT_IP") end)
--register callback: use previous state
wifi.sta.eventMonReg(wifi.STA_CONNECTING, function(Previous_State)
if(Previous_State==wifi.STA_GOTIP) then
print("Station lost connection with Access Point\n\tAttempting to reconnect...")
else
print("STATION_CONNECTING")
end
end)
--unregister callback
wifi.sta.eventMonReg(wifi.STA_IDLE, "unreg")
wifi.sta.eventMonStart()
wifi.sta.eventMonReg(wifi.STA_IDLE, function() print("STATION_IDLE") end)
wifi.sta.eventMonReg(wifi.STA_CONNECTING, function() print("STATION_CONNECTING") end)
wifi.sta.eventMonReg(wifi.STA_WRONGPWD, function() print("STATION_WRONG_PASSWORD") end)
wifi.sta.eventMonReg(wifi.STA_APNOTFOUND, function() print("STATION_NO_AP_FOUND") end)
wifi.sta.eventMonReg(wifi.STA_FAIL, function() print("STATION_CONNECT_FAIL") end)
wifi.sta.eventMonReg(wifi.STA_GOTIP, function() print("STATION_GOT_IP") end)
--register callback: use previous state
wifi.sta.eventMonReg(wifi.STA_CONNECTING, function(Previous_State)
if(Previous_State==wifi.STA_GOTIP) then
print("Station lost connection with Access Point\n\tAttempting to reconnect...")
else
print("STATION_CONNECTING")
end
end)
--unregister callback
wifi.sta.eventMonReg(wifi.STA_IDLE, "unreg")
wifi.sta.eventMonStart()
Descripción
Comienza el monitor de eventos de la estación wifi
Sintaxis
wifi.sta.eventMonStart()
wifi.sta.eventMonStart(ms)
Parámetros
- ms: intervalo entre comprobaciones en milisegundos, 150 ms por defecto.
Devuelve
nada.
Ejemplo
--start wifi event monitor with default interval
wifi.sta.eventMonStart()
--start wifi event monitor with 100 ms interval
wifi.sta.eventMonStart(100)
wifi.sta.eventMonStart()
--start wifi event monitor with 100 ms interval
wifi.sta.eventMonStart(100)
wifi.sta.eventMonStop()
Descripción
Para el monitor de eventos de la estación wifi
Sintaxis
wifi.sta.eventMonStop()
wifi.sta.eventMonStop("unreg all")
Parámetros
- "unreg all": Anula los registros anteriores
Devuelve
nada.
Ejemplo
--stop wifi event monitor
wifi.sta.eventMonStop()
--stop wifi event monitor and unregister all callbacks
wifi.sta.eventMonStop("unreg all")
wifi.sta.eventMonStop()
--stop wifi event monitor and unregister all callbacks
wifi.sta.eventMonStop("unreg all")
Submódulo wifi.ap
wifi.ap.config()
Descripción
establece el ssid y el password en modo AP. Asegúrese de que el valor del password tiene al menos 8 caracteres!. Si no tiene al menos 8 caracteres, por defecto se establecerá sin contraseña y no se establecerá el valor de SSID. Funcionará como punto de acceso pero el nombre de la wifi será: ESP_9997C3
Sintaxis
wifi.ap.config(cfg)
Parámetros
cfg {
- string: SSID (1-32 caracteres)
- string: password (8-64 caracteres)
- int: Autenticación: AUTH_OPEN | AUTH_WPA_PSK | AUTH_WPA2_PSK | AUTH_WPA_WPA2_PSK default=Open
- int: número de canal. 1-13 por defecto=6
- int: oculto 0=no oculto 1=oculto por defecto=0
- int: máximo nº de conexiones 1-4 por defecto=4
- int beacon interval time of beacons value 100-60000 default=100
}
Devuelve
nada
Ejemplo:
cfg={
cfg.ssid="myssid"
cfg.pwd="mypassword"
wifi.ap.config(cfg)
cfg.ssid="myssid"
cfg.pwd="mypassword"
wifi.ap.config(cfg)
}
wifi.ap.getip()
Descripción
obtiene la IP, máscara y gateway (puerta de enlace) en modo AP.
Sintaxis
wifi.ap.getip()
Parámetros
ninguno
Devuelve
dirección IP, máscara y gateway en formato string (por ejemplo:"192.168.0.111")
devuelve nil si IP = "0.0.0.0".
Ejemplo
-- print current ip, netmask, gateway
print(wifi.ap.getip())
-- 192.168.4.1 255.255.255.0 192.168.4.1
ip = wifi.ap.getip()
print(ip)
-- 192.168.4.1
ip, nm = wifi.ap.getip()
print(nm)
-- 255.255.255.0
ip, nm, gw = wifi.ap.getip()
print(gw)
-- 192.168.4.1
print(wifi.ap.getip())
-- 192.168.4.1 255.255.255.0 192.168.4.1
ip = wifi.ap.getip()
print(ip)
-- 192.168.4.1
ip, nm = wifi.ap.getip()
print(nm)
-- 255.255.255.0
ip, nm, gw = wifi.ap.getip()
print(gw)
-- 192.168.4.1
wifi.ap.setip()
Descripción
establece la dirección IP, máscara y gateway en modo AP.
Sintaxis
wifi.ap.setip(cfg)
Parámetros
cfg: tabla que contiene la IP, máscara y gateway
{
ip="192.168.1.1",
netmask="255.255.255.0",
gateway="192.168.1.1"
}
ip="192.168.1.1",
netmask="255.255.255.0",
gateway="192.168.1.1"
}
Devuelve
true si se establece, false si falla.
Ejemplo
cfg =
{
ip="192.168.1.1",
netmask="255.255.255.0",
gateway="192.168.1.1"
}
wifi.ap.setip(cfg)
wifi.ap.getmac()
{
ip="192.168.1.1",
netmask="255.255.255.0",
gateway="192.168.1.1"
}
wifi.ap.setip(cfg)
wifi.ap.getmac()
Descripción
obtiene la dirección mac en modo AP.
Sintaxis
wifi.ap.getmac()
Parámetros
ninguno
Devuelve
dirección mac en formato string (por ejemplo:"1A-33-44-FE-55-BB")
Ejemplo
wifi.ap.getmac()
wifi.ap.setmac()
Descripción
establece la dirección mac en modo AP
Sintaxis
wifi.ap.setmac(mac)
Parámetros
dirección mac en formato byte string (por ejemplo:"AC-1D-1C-B1-0B-22")
Devuelve
true si se establece, false si falla.
Ejemplo
print(wifi.ap.setmac("AC-1D-1C-B1-0B-22"))
wifi.ap.getclient()
Descripción
obtiene la tabla de clientes conectados al módulo ESP en modo AP.
Sintaxis
table=wifi.ap.getclient()
Parámetros
ninguno
Devuelve
tabla que contiene los clientes
Ejemplo
table={}
table=wifi.ap.getclient()
for mac,ip in pairs(table) do
print(mac,ip)
end
-- or shorter
for mac,ip in pairs(wifi.ap.getclient()) do
print(mac,ip)
end
wifi.ap.getbroadcast()
table=wifi.ap.getclient()
for mac,ip in pairs(table) do
print(mac,ip)
end
-- or shorter
for mac,ip in pairs(wifi.ap.getclient()) do
print(mac,ip)
end
wifi.ap.getbroadcast()
Descripción
obtiene la dirección de broadcast en modo AP.
Sintaxis
wifi.ap.getbroadcast()
Parámetros
ninguno
Devuelve
dirección de broadcast en formato string (por ejemplo:"192.168.0.255")
devuelve nil si IP "0.0.0.0".
Ejemplo
bc = wifi.ap.getbroadcast()
print(bc)
-- 192.168.0.255
print(bc)
-- 192.168.0.255
Submódulo wifi.ap.dhcp
wifi.ap.dhcp.config()
Descripción
Configura el servicio dhcp. Actualmente solo es compatible con el establecimiento de la dirección de inicio del conjunto de direcciones DHCP
Sintaxis
wifi.ap.dhcp.config(dhcp_config)
Parámetros
dhcp_config: Tabla que contiene la dirección inicial del pool dhcp, por ejemplo: "192.168.1.100"
Devuelve
dirección de inicio del pool, dirección final del pool
Ejemplo
dhcp_config ={}
dhcp_config.start = "192.168.1.100"
wifi.ap.dhcp.config(dhcp_config)
dhcp_config.start = "192.168.1.100"
wifi.ap.dhcp.config(dhcp_config)
wifi.ap.dhcp.start()
Descripción
activa el servicio dhcp
Sintaxis
wifi.ap.dhcp.start()
Parámetros
boolean indicando si se ha activado
Devuelve
nada
wifi.ap.dhcp.stop()
Descripción
para el servicio dhcp
Sintaxis
wifi.ap.dhcp.stop()
Parámetros
ninguno
Devuelve
boolean indicando si se ha parado el servicio
Glosario de términos:
- BSSID: MAC del AP
- SSID: Nombre de la red Wifi
- RSSI: Potencia de la señal recibida (dBm)
- Authmode: Protocolo utilizado
- Channel: Canal Wifi.
Fuentes:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.