Sem categoria

Automação com Wemos

Um dos melhores tutoriais para iniciantes como eu. Este cara explica muiiiito bem, dá exemplo e deferente de outros não complica tanto. Vale visitar, vale entrar em contato.

SISTEMA SIMPLES PARA CONTROLE DE 2 LEDS UTILIZANDO O ESP12 COMO SERVIDOR

CONTRIBUIÇÃO DE: MARCELO RODRIGUES ALVES (MARCELOALVES_AC@HOTMAIL.COM)

Após a nossa introdução ao WeMos D1 Mini, temos aqui mais um excelente exemplo enviado por Marcelo Alves.

O intuito do projeto é controlar dois leds ligados ao WeMos D1 Mini diretamente pela rede usando uma pagina Web, para isso foi necessário o uso de biblioteca <ESP8266WiFi.h>, na qual  é criado um WebServer pelo próprio ESP.

APP

COMO FUNCIONA:

Observe o trecho de código abaixo, ao se clicar no botão Ligar o navegador irá adicionar “/LED2=ON” ao final da URL indicando que o botão foi pressionado.

  1. client.println(“<a class=’btn btn-success btn-lg center-block’ href=\”/LED2=ON\”> Ligar </a>”);

Após clicado será requisitada uma nova página, mas o D1 Mini irá identificar a requisição (Request) e ao invés de entregar uma página ele irá reconhecer o GET Request e entregar a mesma página ao usuário, mas ao reconhecer o request ele irá acionar o Led correspondente, ou seja, LED2=ON -> Led 2 Aceso, LED2=OFF, Led 2 Apagado.

COMPONENTES:

  • 1x – WeMos D1 Mini
  • 2x – Resistor 220 ohms
  • 2x – Led 5mm
  • Protoboard e jumpers

ESQUEMA:

Esquema

CÓDIGO:

no site: ZONA MAKER

——————————————-
Outros lugares legais de pesquisa.

fonte: http://www.instructables.com/id/Programming-a-HTTP-Server-on-ESP-8266-12E/

 

O WeMos-D1R2 é uma unidade de microprocessador habilitada para WiFi ESP8266-12 em uma pegada Arduino-UNO. Isso significa que o quadro parece e funciona (na maioria dos casos) como um UNO. Aparentemente, vários escudos, sensores e dispositivos de saída que são fabricados para a plataforma Arduino funcionarão no WeMos-D1R2 com a vantagem adicional de Wi-Fi..

Passo 1: Diferenças entre os pinos de E / S.

Embora o Arduino UNO e o WeMos-D1R2 sejam semelhantes, há algumas diferenças na atribuição de seus pinos. A ilustração acima fornece o mapeamento dos pinos. Em algumas situações, os programas escritos para o UNO precisarão ser modificados um pouco para as atribuições apropriadas dos pinos do WeMos-D1R2. Mais sobre isso quando escrevemos nosso primeiro esboço.
A placa WeMos-D1R2 vem sem um cabo USB. Certifique-se de ter um cabo de dados e não um cabo de carga comum. Um cabo de dados faz com que o sistema operacional Windows reaja. Anuncia o anexo de um novo hardware e tenta instalar os drivers USB. Ou encontra o driver no seu sistema ou não. Se não, então, você precisará baixar os drivers USB. O chip de interface USB é o CH340G. Você precisará instalar os drivers para este chip.

Uma pesquisa do Google para os “drivers CH340G” encontra vários sites. Você pode baixar os drivers do Windows 7 a partir daqui ou o Windows 8 a partir daqui . Embora eu não tenha experimentado, outros sistemas operacionais podem ser baixados a partir daqui . Alguns sabores do sistema operacional Windows vêm com os drivers.

Passo 3: O WeMos-D1R2 felizmente se comunica com o seu computador?

Vamos descobrir se o WeMos-D1R2 e seu computador estão se comunicando entre si. Conseguir este passo certo é importante para qualquer outra ação. Abra o Gerenciador de dispositivos via Painel de controle | Hardware e som .

Contar com Arduino Onde encontrar a biblioteca Wemos-D1R2

A placa WeMos-D1R2 pode ser adicionada ao software Arduino / IDE instalando as bibliotecas necessárias. Esta comunidade apoiou a página Github: A lista não oficial de suporte de placas de terceiros possui as informações necessárias para obter o seu software Arduino para suportar o WeMos-D1R2. Procure / procure ” ESP8266 ” nesta página. Procure o URL mostrado na imagem acima. Copie e cole esse URL em sua caixa de diálogo Preferências e selecione OK . Caso contrário, você pode copiar o seguinte e colar na sua caixa de diálogo Preferências e selecione OK: http://arduino.esp8266.com/stable/package_esp8266com_index.json Caso contrário, não clique no URL.

Passo 8: Instalando a placa WeMos-D1R2 através do gerente da placa

Ferramentas abertas | Conselho : | Caixa de diálogo Gerenciador de placas . Em algum lugar lá você verá a entrada ” esp8266 da ESP8266 Community version 2.1.0 “, selecione isso. O botão Instalar aparecerá, clique no botão Instalar. Espere um pouco … Esse processo levará algum tempo para baixar e completar. Após a instalação, é uma boa idéia fechar o programa Arduino e reiniciá-lo.

Etapa 9: Determinando a porta COM WeMos-D1R2 mostra-se para cima

Determinando a porta COM WeMos-D1R2 mostra-se para cima
Se não estiver conectado, conecte a placa Wemos-D1R2 ao seu computador. Dê alguns minutos para conhecer o computador. Vá para o Painel de controle | Hardware e som | Gerenciador de dispositivos e clique em Portas (COM e LPT) . Lá você encontrará o número da porta em que seu Wemos-D1R2 está conectado. No meu caso, é COM12 . Anote isso, precisamos dessa informação mais tarde.

Etapa 10: Selecionando a placa WeMos-D1R2

Vá para Ferramentas | Placa: … deslize para baixo e selecione WeMos D1 R2 & mini . O menu Ferramentas muda para a segunda imagem mostrada acima.

Etapa 11: Configurando a porta COM

Numa etapa 9, determinávamos a porta COM que WeMos-D1R2 aparece. Para selecionar a porta COM, vá para Ferramentas | Porta : e selecione a porta COM , no meu caso foi COM12 .

Etapa 12: Configurando a velocidade da porta COM

Para selecionar a velocidade de comunicação entre o WeMos-D1R2 e o computador. Vá para Ferramentas | Velocidade de upload: e selecione 115200 . Estamos prontos para carregar nosso primeiro esboço.

Passo 13: Teste a unidade de instalação

Teste a configuração completa usando o esboço da placa da caldeira.
Para carregar o esboço da placa da caldeira, vá para Esboço | Carregar ou usar a tecla de atalho Crtl + U ou clicar no botão de seta para a direita ao lado da marca de seleção. Uma compilação e upload bem-sucedidos significa que todos os sistemas estão funcionando e estamos prontos para chegar às coisas reais.
Carregue o exemplo do pacote Blink . Para encontrá-lo, vá para Arquivo | Exemplos | 01.Basics | Piscar. Compile e faça o upload conforme indicado na etapa anterior.

 

 

Programação de um servidor HTTP no ESP-8266-12E

 

Passo 1: abrindo a janela “Ligar a uma rede”
No seu ambiente Windows, abra o Centro de Rede e Compartilhamento . Você acessa o Centro de Rede e Compartilhamento através do Painel de Controle .

Clique em Conectar-se a uma rede para abrir a janela Conectar-se a uma rede . Deixe-o aberto, nos referiremos frequentemente a esta janela. Você pode fechar o Centro de Rede e Compartilhamento

Escrevendo o Sketch SimpleWebServer
Conecte seu ESP8266-12E ao seu computador.

Abra o seu programa Arduino / IDE e cole o seguinte código:

#include <ESP8266WiFi.h>

WiFiServer server(80); //Initialize the server on Port 80

void setup() {

WiFi.mode(WIFI_AP); //Our ESP8266-12E is an AccessPoint
WiFi.softAP(“Hello_IoT”, “12345678”); // Provide the (SSID, password); .
server.begin(); // Start the HTTP Server

}

void loop() { }

Este código da placa de caldeira será uma parte de cada esboço ESP8266 que escrevemos. Este código faz o seguinte:

– Inclui a ESP8266 biblioteca ESP8266WiFi.h .
– Cria a instância ” servidor ” da classe ” WiFiServer ” ouvindo na porta 80 . Aviso ” servidor ” é uma instância global.
– Defina o modo do nosso ESP8266 como um ponto de acesso (AP).
– Forneça o SSID e a senha. A senha / passphrase deve ter no mínimo 8 caracteres .

– Ative o nosso servidor chamando o método begin () .

Salve como esboço do SimpleWebServer . Compile e faça o upload do esboço para o seu ESP8266-12E.

Passo 3: Verificar o nosso servidor

Abra a janela ” Conectar-se à rede “. Você deve ver nosso servidor com SSID ” Hello_IoT ” na lista. Selecione a rede Hello_IoT , forneça a senha / senha e salve-a.

Hurray nosso ESP8266-12E está funcionando como um servidor HTTP ouvindo na porta 80.

Passo 4: Olhando resultados

Inicie as Ferramentas do Monitor Serial | Serial Monitor ou com as teclas de atalho Crtl-Shift-M .

Etapa 5: Obter informações do servidor HTTP do ESP8266-12E
Adicione o seguinte código ao final da função de configuração ():

//Looking under the hood
Serial.begin(115200); //Start communication between the ESP8266-12E and the monitor window
IPAddress HTTPS_ServerIP= WiFi.softAPIP(); // Obtain the IP of the Server
Serial.print(“Server IP is: “); // Print the IP to the monitor window
Serial.println(HTTPS_ServerIP)

Compile e carregue o esboço e assista a janela Monitor. Você deve ver o endereço IP padrão do ESP8266-12E como 192.168.4 . 1 .

Passo 6: o Navegador da Web Conecta / Conversa  Servidor

É hora de um navegador web se conectar ao nosso servidor HTTP.

Digite o seguinte código dentro da função loop ():

WiFiClient client = server.available();
if (!client) {
return;
}
//Looking under the hood
Serial.println(“Somebody has connected :)”);

Compile e carregue no ESP8266-E12.

Abra uma janela do navegador e digite http://192.168.4.1 e pressione Enter.

Observe sua janela do monitor para verificar se há conexão.

Etapa 7: Ouça o que o navegador está enviando para o servidor HTTP

O navegador da Web se conecta ao servidor HTTP e envia a solicitação. O servidor recebe o pedido e faz algo com ele. Em vez disso, pode fazer muitas coisas diferentes.

Digite o seguinte código na função loop ().

//Read what the browser has sent into a String class and print the request to the monitor
String request = client.readString();
//Looking under the hood
Serial.println(request);

Compile e faça o upload para o ESP8266-E12. Digite o seguinte no campo de endereço do seu navegador http://192.168.4.1/PARAM .

O navegador envia uma solicitação GET para o servidor. Aviso “/ PARAM” após o pedido GET. Todo o texto enviado apenas nos interessa pela primeira linha do pedido. Assim, substituímos o código
String request = client.readString ();
com
String request = client.readStringUntil (‘\ r’);

Etapa 8: Ligar / desligar o LED através do navegador da Web
Estamos prontos para ligar o LED no GPIO16 ON / OFF através de comandos fornecidos através do navegador da Web.

Primeiro, inicialize a porta digital GPIO16 como uma porta de saída e mantenha o estado inicial do LED ligado.
Na parte inferior da função setup () , adicione as seguintes linhas de código:

PinMode (LED_PIN, OUTPUT); // GPIO16 é um pino OUTPUT;
DigitalWrite (LED_PIN, LOW); // O estado inicial é ON

Na parte inferior da função loop () , adicione as seguintes linhas de código:

pinMode(LED_PIN, OUTPUT); //GPIO16 is an OUTPUT pin;
digitalWrite(LED_PIN, LOW); //Initial state is ON

At the bottom of loop() function add the following lines of code:

// Handle the Request

if (request.indexOf(“/OFF”) != -1){
digitalWrite(LED_PIN, HIGH); }
else if (request.indexOf(“/ON”) != -1){
digitalWrite(LED_PIN, LOW);
}

Na barra de endereços do seu tipo de pesquisa, digite o seguinte URL:
http://192.168.4.1/OFF

O LED no ESP8266-E12 desliga-se.

Em seguida, digite o seguinte URL:
http://192.168.4.1/ON

O LED no ESP8266-E12 liga-se.

Passo 9:

É complicado alterar o URL sempre que precisamos ligar ou desligar o LED. Deixe-nos adicionar algum código HTML e alguns botões.

Copie este código e adicione-o na parte inferior da função Loop ():

// Prepare o documento HTML para responder e adicionar botões:

INSTRUCTABLES GANHA O CÓDIGO HTML

//Serve the HTML document to the browser.

client.flush(); //clear previous info in the stream
client.print(s); // Send the response to the client
delay(1);
Serial.println(“Client disonnected”); //Looking under the hood

Compile e carregue.

fonte:https://www.instructables.com/id/Programming-a-HTTP-Server-on-ESP-8266-12E/