Tabela de conteúdos 1. Introdução 2. NodeMCU i. Gravar do Linux ii. Gravar do Windows 3. ESplorer 4. Comandos AT i. Referência 5. Tutoriais i. Twitter ii. Servidor web iii. Cliente-servidor iv. Home Automation Server 6. Comprando hardware 7. Mais fontes
2
ESP8266 do Rui, em português
O que é este livro? O principal crédito é dado a Rui Santos: Exposição, em português, do básico sobre o módulo wifi ESP8266; Tradução de conteúdo do site randomnerdtutorials.com, de Rui Santos; Obra derivada de outra sob a licença CC BY-NC-SA 3.0; Obra liberada sob a licença CC BY-NC-SA 4.0, por compatibilidade de licença. Alexandre Magno é apenas um tradutor e organizador. Este livro é basicamente a tradução reformatada e simplificada do site de Rui. Também são usadas outras referências, indiretamente.
ATENÇÃO! USE POR SUA PRÓPRIA CONTA E RISCO. Autor e tradutor não garantem que todas as informações encontradas aqui estejam corretas.
Introdução
3
ESP8266 do Rui, em português
NodeMCU É um firmware alternativo para o ESP8266 que embute no chip um framework para programação de controle mediante scripts Lua. Pode ser gravado por Arduino ou programador FTDI de 3.3 volts.
Gravar o NodeMCU usando Windows O software gravador para Windows é um projeto no GitHub, com versões para 32 bits e 64 bits.
Talvez você precise realizar alguma configuração avançada. Mas, em geral, o uso do nodemcu-flasher é bem simples: basta pressionar o botão Flash e aguardar a conclusão (sinal verde).
Gravar do Windows
5
ESP8266 do Rui, em português
ESPlorer ‒ gerenciador para NodeMCU É como uma sofisticada interface gráfica Java para o Luatool. Possibilita o envio facilitado dos scripts LUA para o chip módulo ESP8266. Inclui LUA para NodeMCU e MicroPython. Suporta todos os comandos AT.
Sistemas operacionais suportados Windows (x86, x86-64) Linux (x86, x86-64, ARM soft & hard float) Solaris (x86, x86-64) Mac OS X (x86, x86-64, PPC, PPC64)
Lista de recursos Sintaxe colorida para LUA Sintaxe colorida para Python Temas para o editor de códigos: default , dark , Eclipse, IDEA, Visual Studio Desfazer/Refazer Auto-compleção de código ‒ Ctrl+Space Envio de dados ao ESP82266 com validação Exemplos de código Log detalhado E muito mais!
Instalação Atenção! Você precisará do Java (SE versão 7 ou superior). 1. 2. 3. 4.
Baixe o ESPlorer Descompacte o ZIP Acesse o diretório raiz Execute ESPlorer.jar
Envio de script LUA 1. 2. 3. 4. 5. 6. 7.
Conecte o programador FTDI ao computador Configure o baud raute para 9600 Selecione a porta do programador (COM3, por exemplo) Pressione Open/Close Selecione a aba NodeMCU+MicroPtyhon Copie seu script LUA dentro do ESPlorer Simplesmente clique o botão Send to ESP Você deverá ver uma mensagem " Posted Tweet "
Só é necessário atenção ao que está em vermelho na imagem a seguir:
ESplorer
6
ESP8266 do Rui, em português
ESplorer
7
ESP8266 do Rui, em português
Para usar ESP8266 com Arduino Controlando por comandos AT...
Certifique-se de ter um sketch em branco:
void setup() {} void loop() {}
Dica elétrica No projeto final, não alimente o módulo com os 3.3 V do Arduino. Use uma fonte ou bateria, ou divida a tensão para do pino RX.
Para gravar firmware O circuito acima deverá ser mudado:
Comandos AT
GPIO 0
ser conectado a
GND
.
8
ESP8266 do Rui, em português
Referência de comando AT para o ESP8266
Referência
9
ESP8266 do Rui, em português
Sobre os "tutoriais" Este livro não reúne muitas instruções discursivas. Cada "tutorial" é na realidade um conjunto de notas rápidas estruturado, contendo imagens, esquemas e referências. O objetivo maior é aprender com a prática, quando o leitor deverá estar aplicando os conhecimentos teóricos que já possui, para manter o hardware intacto.
Conteúdo interessante, mas externo SP8266 + 2 relay module + usb charger , por pawelka As simple as possible two channels switcher controlled from web
The Button - a WiFi connected push button
Tutoriais
10
ESP8266 do Rui, em português
Twitter a partir do ESP8266 A dica é usar o serviço gratuito IFTTT, um plataforma que viabiliza controle para uma variedade de serviços web e apps. Enviar uma requisição HTTP ao IFTTT pode significar disparar um gatinho para o envio de um e-mail ou a publicação de um tweet pré-configurados.
Criando a conta no IFTTT 1. Acesse ifttt.com 2. Clique o botão Sign Up no meio da página. 3. Preencha o(s) formulário(s) seguindo em frente
Configurando a ação ‒ exemplo Ou: criando o "recipiente". 1. Conecte sua conta ao Maker Channel 2. Conecte sua conta ao Twitter Channel O resultado deverá ser uma tela assim:
Twitter
11
ESP8266 do Rui, em português
Você deverá preencher o recipiente com informações suas: 1. Digite "post_tweet" para o nome do evento 2. Edite o texto desejado para o ESP8266 enviar como tweet 3. Pressione o botão "Add"
Twitter
12
ESP8266 do Rui, em português
Chave secreta Será necessária para a realização das requisições. 1. Acesse ifttt.com/maker 2. Copie a chave secreta e a guarde em local seguro No exemplo, a chave é: b6eDdHYblEv2Sy32qLwe
Twitter
13
ESP8266 do Rui, em português
A tela para o conhecimento da chave secreta é como na imagem abaixo:
Uso Substitua a chave secreta na URL de ação (requisição para o recipiente): https://maker.ifttt.com/trigger/post_tweet/with/key/YOUR_API_KEY
Exemplo: código LUA ‒ versão 1 O módulo deverá estar com NodeMCU Use o ESPlorer para fazer a transferência do arquivo Não esqueça de editar a linha 5 com suas credenciais de rede Não esqueça de editar a linha 13 com sua chave secreta
conn:on("receive" , function (client,request) local buf = ""; local _, _, method, path, vars = string .find(request, "([A-Z]+) (.+)?(.+) HTTP" ); if(method == nil)then _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP" ); end local _GET = {} if (vars ~= nil)then for k, v in string.gmatch(vars, "(%w+)=(%w+)&*" ) do _GET[k] = v end end buf = buf.. "