À esquerda um WeMos D1 Mini. No alto um ESP-07 e embaixo um ESP-12 |
Hardware
O ESP8266 é um circuito integrado criado pela ExpressIf contendo:- Uma CPU 32 bits (Tensilica Xtensa LX106), rodando a 80MHz (com possibilidade de overclocking para 160MHz em alguns dispositivos)
- Suporte a WiFi b/n/g, operando tanto como dispositivo como ponto de acesso
- 16 pinos de GPIO
- Interfaces SPI, I2C e UART
- ADC de 10 bits
Com tudo isto, um microcontrolador com comunicação WiFi pode ser construído acrescentando basicamente cristal, flash e antena. Diversos módulos utilizando o ESP8266 estão disponíveis. Os primeiros (e talvez os mais conhecidos) são os ESP-nn da AI-Thinker. A variação entre os modelos está na quantidade de pinos disponibilizados, no espaçamento dos conectores e no tipo de antena. Infelizmente a maioria não é adequada para espetar em uma protoboard; os modelos mais comuns usam um espaçamento entre pinos de 2mm ao invés de 0,1" (2,54mm). O ESP 8266 opera a 3.3V e os módulos da AI-Thinker não possuem nenhum regulador ou conversor de nível.
O hardware do NodeMCU é um exemplo de módulo com elementos adicionais de hardware: um regulador de tensão e um conversor USB serial, permitindo alimentar e comunicar através de um conector micro USB. Um hardware semelhante é o WeMos D1 Mini, que vou usar no meu projeto com o sinalizador. Ambos usam o espaçamento padrão de 0,1" (o D1 Mini vem com três conjuntos de conectores: macho, fêmea e duplo; você solda o que for melhor para a sua aplicação).
Estes módulos costumam custar no exterior em torno de US$5.
Software
Inicialmente o ESP8266 era utilizado somente com o seu firmware padrão, que reconhece na serial comandos do tipo AT para executar tarefas como configurar o WiFi e estabelecer uma conexão TCP ou UDP. Neste modo o ESP8266 é tipicamente ligado a um outro microcontrolador, sendo usado "apenas" para efetuar a conexão WiFi. A ligação é simples, desde que o microcontrolador também opere a 3.3V: alimentação, terra, rx e tx. Se você quiser fazer um teste dos comandos AT a partir de um PC, use um conversor serial USB que suporte operação a 3.3V (o que não é muito comum).Posteriormente a ExpressIf liberou um SDK que permite gerar aplicações a serem executadas diretamente no ESP8266. Nesta configuração a comunicação serial é usada para carregar a aplicação. Alguns exemplos de projetos feitos com este SDK:
- NodeMCU: um interpretador Lua rodando no ESP
- Micro Python: um interpretador Micro Python rodando no ESP
- ESP8266 BASIC: um interpretador BASIC rodando no ESP
- Arduino: permite a programação do ESP8266 usando a IDE do Arduino
Atualização (27/09/16):
O WeMos D1 mini não está mais disponível, em seu lugar tem o WeMos D1 mini Pro.
O link para o tutorial de uso do Arduino também mudou e o novo tutorial não fala mais em como usar o Boards Manager da IDE. Veja direto no github.
6 comentários:
Eu tenho usado o PlatformIO para programar o esp8266. Ele compila muito mais rápido e também é na linguagem do Arduino.
Coloquei na lista experimentar o PlataformIO. Gostei que ele suporta também as várias Launchpads da Texas.
Daniel não consegui assistir o seu talk na bsides.
Pelo que me falaram foi bem legal.
gostaria de mais informações sobre ele.
obrigado
meu email
kfarias@gmail.com
A palestra "Hackeando WiFi com o ESP8266" pode ser vista aqui: https://drive.google.com/open?id=0BxAzQY17Vad0cVRwZ3BfWE9DUms
tem vários genéricos até com chip esp32 neste padrão, e o site da Wemos, agora tem 3 versões dessa plaquinha, ja comprei uma dezena delas, mas programa-las é um desafio, pois quase tudo é novo e esta em adaptação, mas como é muito barata e pratica elas estão em ascensão.
Postar um comentário