Este tópico contém 10 respostas, possui 2 vozes e foi atualizado pela última vez por  Diogo Zimmermann 11 meses .

Visualizando 11 posts - 1 até 11 (de 11 do total)
  • Autor
    Posts
  • #175042

    Reginaldo
    Participante

    Ao tentar usar a qualquer função da biblioteca esp8266.h a mesma apresenta um erro ” wifi’ was not declared in this scope”. Alguém já viu esse erro e poderia me ajudar?

    #175161

    Adicione a biblioteca ESP8266WiFi.h também, pode resolver.

    #175924

    Reginaldo
    Participante

    Diogo, bom dia e obrigado pelo retorno.

    Já tentei usar com a biblioteca sugerida (ESP8266WiFi.h). O problema com esta biblioteca e que não conseguir funcionar um acess point como múltiplos usuários.

    Segue código conseguido conseguido na net, que estou usando para teste:

    #ifdef ESP8266//Se estiver usando ESP8266, automáticamente irá adicionar as bibliotecas do ESP8266.
    #include <ESP8266WiFi.h>
    #include <WiFiServer.h>
    #elif defined ESP32//Se estiver usando ESP32, fara a mesma operaçao.
    #include <WiFi.h>
    #endif

    WiFiServer sv(555);//Cria o objeto servidor na porta 555
    WiFiClient cl;//Cria o objeto cliente.

    void setup()
    {
        Serial.begin(115200);//Habilita a comm serial.

        WiFi.mode(WIFI_AP);//Define o WiFi como Acess_Point.
        WiFi.softAP(“NodeMCU”, “”);//Cria a rede de Acess_Point.

        sv.begin();//Inicia o servidor TCP na porta declarada no começo.
    }

    void loop()
    {
        tcp();//Funçao que gerencia os pacotes e clientes TCP.
    }

    void tcp()
    {
        if (cl.connected())//Detecta se há clientes conectados no servidor.
        {
            if (cl.available() > 0)//Verifica se o cliente conectado tem dados para serem lidos.
            {
                String req = “”;
                while (cl.available() > 0)//Armazena cada Byte (letra/char) na String para formar a mensagem recebida.
                {
                    char z = cl.read();
                    req += z;
                }

                //Mostra a mensagem recebida do cliente no Serial Monitor.
                Serial.print(“\nUm cliente enviou uma mensagem”);
                Serial.print(“\n…IP do cliente: “);
                Serial.print(cl.remoteIP());
                Serial.print(“\n…IP do servidor: “);
                Serial.print(WiFi.softAPIP());
                Serial.print(“\n…Mensagem do cliente: ” + req + “\n”);

        //Envia uma resposta para o cliente
                cl.print(“\nO servidor recebeu sua mensagem”);
                cl.print(“\n…Seu IP: “);
                cl.print(cl.remoteIP());
                cl.print(“\n…IP do Servidor: “);
                cl.print(WiFi.softAPIP());
                cl.print(“\n…Sua mensagem: ” + req + “\n”);

            }
        }
        else//Se nao houver cliente conectado,
        {
            cl = sv.available();//Disponabiliza o servidor para o cliente se conectar.
            delay(1);
        }
    }

    #176013

    Só uma dúvida, você já configurou a Placa na IDE como sendo ESP8266?

     

    #176329

    Reginaldo
    Participante

    Sim. Como Esp8266 genérico.

    #176366

    Reginaldo
    Participante

    #176514

    Tente executar algum dos exemplos que existem no arduino em relação a wifi. Se compilar, experimente colocar o seu código por cima desse.

     

    #176581

    Reginaldo
    Participante

    Não compila nem exemplo com biblioteca esp8266.h

    Com a biblioteca esp8266wifi.h compila todos, porem nao sei com habilitar para um acess point um multiplos clientes.
    Caso tenha um exemplo que funcione me envie

    Obrigado pela. Ajuda.

    #176582
    #178461

    Reginaldo
    Participante

    Diogo, bom dia.
    Após muitos testes conseguir implementar webserver com a biblioteca esp8266wifi.h;
    Porém a minha necessidade e ter varios cliente acessando a pagina e que todos sejam atualizados, assim que qualquer modificar a pagina.
    Na aplicação que eu testei isso não acontece. Somente o cliente que deu comando e atualizado.
    Você saber como fazer isso ou tem algum exemplo sobre isso?

    Desde já agradeço.

    Obrigado.

    #178805

    Você teria que mandar o comando do cliente para o servidor (que seria o mestre) e então o mestre replicar o comando para os escravos (cliente).

     

    Ao menos em tese seria isso haha!

Visualizando 11 posts - 1 até 11 (de 11 do total)

Você deve fazer login para responder a este tópico.