Como configurar o ESP8266 nos modos: Station (STA) e Access Point (AP)!!!

Como configurar o ESP8266 nos modos: Station (STA) e Access Point (AP)!!!

Olá a Todos!!!

Hoje nós iremos abordar um assunto de suma importância para quem  é
apaixonado por IoT, automação, quem programa, monta projetos, 
trabalha ou por Hobby, e ainda não entendeu em detalhes ou deseja entender
melhor as funções para o funcionamento nos modos STA e o modo AP nos módulos ESP8266. 

Os ESPs funcionam em dois modos de configurações destintos: 

  • STA “Station” – “Estação”.
  • AP “Access Point” – “Ponto de Acesso”.

No modo STA – permite que o ESP8266 se conecte a uma
rede Wi-Fi (uma criada pelo seu roteador wireless).
Assim, uma característica importante sobre o ESP8266 é
que ele pode funcionar como um Client “cliente” ou
como AP “ponto de acesso” ou até mesmo
em ambas as configurações programadas.

No modo AP – ele permite que você crie sua própria rede e
tenha outros dispositivos conectados a ele como por exemplo:
Um ESP, um Smartphone, um Notebook,
entre outros dispositivos que se conecte a uma rede Wireless.

Para a realização deste procedimento, é necessário você já ter as
bibliotecas do ESP instalada
na IDE Arduíno.

Se você ainda não instalou, veja o nosso Post:

Modo Station (STA)

O modo STA é usado para conectar o módulo ESP a uma rede
Wi-Fi estabelecida por um ponto de acesso.

A classe Station possui vários recursos para facilitar o
gerenciamento da conexão Wi-Fi. Caso a conexão seja perdida, o
ESP8266 será reconectado automaticamente ao último ponto de
acesso utilizado, uma vez que esteja novamente disponível. 

O mesmo acontece na reinicialização do módulo. Isso é possível, pois o
ESP salva as credenciais do último ponto do acesso usado
na memória flash (não volátil). Usando os dados salvos 

A mudança do módulo para o modo Station é feita com a função
begin. Os parâmetros típicos passados para iniciar incluem
SSID e senha, de modo que o módulo possa se conectar a um
AP específico.

WiFi.begin (ssid, password)

Por padrão, o ESP tentará se reconectar à rede Wi-Fi sempre
que estiver desconectado. Não há necessidade de lidar com isso por código
separado. Uma boa maneira de simular a desconexão seria redefinir o ponto de
acesso. O ESP relatará a desconexão e tentará se reconectar
automaticamente.

Função begin()

Existem várias versões (chamadas de função overload em C ++) da
função begin. Uma delas foi apresentada logo acima:
WiFi.begin (ssid, password). A função Overload fornecem flexibilidade em número ou tipo de
parâmetros aceitos. A função Overload mais simples e
corriqueiras do begin são:

WiFi.begin ()

A chamada dessa função instruirá o módulo a mudar para o modo de
STA e conectar-se ao último ponto de acesso usado com base
memória flash.

Abaixo está a sintaxe de outra  função Overload que
começar com todos os parâmetros possíveis:

WiFi.begin(ssid, password, channel, bssid, connect)

Significado de cada parâmetros existente dentro da Função:

  • ssid – uma cadeia de caracteres que contém o SSID do
    Access Point ao qual gostaríamos de nos conectar, podendo conter
    no máximo 32 caracteres.
  • password – esse parâmetro é onde contém a senha do AP, uma
    cadeia de caracteres que deve ter no mínimo 8 caracteres e no máximo 64
    caracteres.
  • channel – utilizamos esse parâmetro quando queremos
    determinar um canal de trabalho específico, caso contrário este
    parâmetro pode ser omitido.
  • bssid – retornar o endereço MAC do AP para o qual o
    módulo ESP foi direcionado para se conectar, este parâmetro
    também é opcional.
  • connect – um parâmetro booleano que, se definido como
    false, instruirá o módulo apenas para salvar os outros parâmetros
    sem realmente estabelecer conexão com o AP.

  • config – Desativar o cliente DHCP (Dynamic Host Configuration Protocol) é definir a configuração de IP da interface STA para
    valores arbitrários definidos pelo usuário. A interface será uma
    configuração de IP estático em vez de valores fornecidos
    pelo DHCP.

WiFi.config(local_ip, gateway, subnet, dns1, dns2)

Essa função retornará true se a alteração da configuração for
aplicada com sucesso. Se a configuração não puder ser aplicada,
por exemplo, módulo não está no modo STA ou
STA + softAP, então a função retornará falso.

A seguinte configuração de IP pode ser fornecida:

  • local_ip – insira aqui o endereço IP que você deseja
    atribuir à interface STA do ESP.
  • gateway – deve conter o endereço IP do gateway (de um
    roteador) para acessar redes externas.
  • sub-net– esta é uma máscara que define o intervalo de endereços
    IP da rede local

dns1, dns2 – parâmetros opcionais que definem endereços IP de
DNS (Domain Name Servers) que mantêm um diretório de nomes de
domínio (como, por exemplo, www.google.com) e os traduzem para
endereços IP.

Código de exemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <ESP8266WiFi.h>

const char* ssid = "********";
const char* password = "********";

IPAddress staticIP(192,168,1,200);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);

void setup(void)
{
  Serial.begin(115200);
  Serial.println();

  Serial.printf("Connecting to %sn", ssid);
  WiFi.config(staticIP, gateway, subnet);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.print("Connected, IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {}

Modo Soft Access Point

O modo Access Point (AP) é um dispositivo que
fornece acesso à rede Wi-Fi para outros dispositivos
Station (STA) e os conecta a mais a uma rede externa com fio. 

O ESP8266 pode fornecer funcionalidade semelhante, exceto por não ter
interface com uma rede com fio “cabeada”. Esse modo de operação é chamado de
ponto de acesso flexível (soft-AP). A máxima quantidade de estações
conectadas ao soft-AP, são cinco.

Configurar um ponto de acesso suave para uma rede Wi-Fi.

A versão mais simples desta função requer apenas um parâmetro e é usada para
configurar uma rede Wi-Fi aberta.

WiFi.softAP (ssid)

Para configurar uma rede protegida por senha ou para configurar
parâmetros de rede adicionais, use a seguinte função Overload:

WiFi.softAP(ssid, password, channel, hidden)

O primeiro parâmetro desta função é obrigatório, os restantes três são
opcionais. Significado de cada parâmetros existente dentro da Função:

  • ssid – uma cadeia de caracteres que contém
    o SSID do Access Point ao qual
    gostaríamos de nos conectar, podendo conter no máximo 63 caracteres.
  • password – esse parâmetro é onde contém um cadeia de
    caracteres opcional com uma senha. Para a rede
    WPA2-PSK, que deve ter no mínimo 8 caracteres. Se não for
    especificado, o ponto de acesso estará aberto para qualquer pessoa se
    conectar.
  • channel – utilizamos esse parâmetro para definir o canal
    Wi-Fi, de 1 a 13. Canal padrão é 1, esse parâmetro é
    opcional e ser omitido.
  • hidden – parâmetro opcional, se definido como
    true “verdadeiro”, ocultará o SSID. A função retornará true ou
    false dependendo do resultado da configuração do soft-AP.

softAPConfig

Configure a interface de rede do soft-AP.

softAPConfig (local_ip, gateway, sub-rede)

Todos os parâmetros são o tipo de endereço IP e são definidos da
seguinte maneira:

  • local_ip – endereço IP do soft-AP.
  • gateway – endereço IP do gateway
  • sub-net – máscara de sub-rede

A função retornará true ou false, dependendo do resultado da
alteração da configuração.

Exemplo de código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <ESP8266WiFi.h>

void setup(void)
{
  Serial.begin(115200);
  Serial.printf("Connection status: %dn", WiFi.status());
  Serial.printf("Connecting to %sn", ssid);
  WiFi.begin(ssid, password);
  Serial.printf("Connection status: %dn", WiFi.status());
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.printf("nConnection status: %dn", WiFi.status());
  Serial.print("Connected, IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {}

Você pode se interessar por este super interessante post de:

E por hoje é só, espero que tenhamos alcançado suas expectativas!

Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por
aqui em breve. Não deixe de conferir nossos outros conteúdos sobre
tecnologia e assuntos variados.

Se inscreva no nosso Blog! Clique Aqui — FVM Learning!

Nos ajude a divulgar nosso trabalho, compartilha nas redes
sociais, 
Facebook, Instagram, nos grupos de WhatsAppuma simples atitude sua, faz com que cresçamos juntos e melhoremos o nosso trabalho!

Forte abraço!
Deus vos Abençoe!
Shalom.

Compartilhar

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *