Sobre
Introdução
Entre elas irei destacar a ESP12-E, que é uma das últimas versões, e que pode ser programada utilizando-se o NodeMCU, um firmware open-sourse que permite programar o ESP8266 usando a linguagem de programação Lua. Essa placa também pode ser programada diretamente pelo Arduino IDE, como a Wemos D1, mas esse não será o tema DESSE artigo.
Wemos D1
Características da Wemos D1:
Microcontroller | ESP-8266EX |
Operating Voltage | 3.3V |
---|---|
Digital I/O Pins | 11 |
Analog Input Pins | 1 (3.3V max) |
Clock Speed | 80MHz/160MHz |
Além de:
- uma conexão Micro USB
- um conector de energia do tipo "power jack", que aceita entre 9-24V de alimentação
Maiores detalhes podem ser vistos no site do fabricante: http://www.wemos.cc/wiki/doku.php?id=en:d1
E não é apenas o formato, ela também pode ser programada utilizando-se a IDE do Arduino! [https://github.com/esp8266/Arduino]
A seguir o passo-a-passo de como você poderá configurar a IDE do Arduino para funcionar com a Wemos D1.
Instalação
Antes de mais nada, a Wemos D1 possui o chip Ch340G, que é um conversor USB/UART. Para poder usar uma placa com esse chip, um driver de dispositivo será necessário, e deverá ser baixado em http://www.wemos.cc/wiki/doku.php?id=en:ch340g. Faça o download do driver indicado para o seu sistema operacional e o instale em seguida.
No Mac OS X
No meu caso eu utilizei o driver para o MacOSX. Ainda não testei a placa em um computador com Windows ou Linux. Talvez seja necessário reiniciar o computador após a instalação do driver.
Bom, o método acima funcionou no OS X Maverick, mas não no El Captain. Para este último tive que fazer mais algumas mudanças, como pode ser visto em http://tzapu.com/making-ch340-ch341-serial-adapters-work-under-el-capitan-os-x/
Resumidamente:
- Reiniciar o computador e pressionar COMMAND + R imediatamente após ouvir o som de início do sistema, para poder entrar no Modo Recovery
- Abrir o Terminal dentro do Recovery Mode
- Rodar o seguinte comando: csrutil enable --without kext
- Reiniciar
Feito isso, a placa finalmente aparecerá listada lá em Porta, no Arduino.
Configuração do ambiente
Na parte de preferências do sistema do IDE Arduino, procure por Additional Boards Manager URLs, e adicione a seguinte linha: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Feito isso o IDE irá baixar os arquivos necessários e você poderá utilizar diversas placas com o chip ESP8266, dentre elas, a Wemos D1.
Selecione a porta correta de onde a placa está conectada, e altere a velocidade da placa para 115200 bps.
Nesse ponto eu já consegui gravar a placa e tudo estava aparentemente normal. Mas, se não estou enganado, tive que instalar o pySerial quando estava usando Maverick. No meu caso, #sudo pip install pyserial
“Hello World”
------------------------------------------------------------------------------
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize BUILTIN_LED as an output.
pinMode(BUILTIN_LED, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(BUILTIN_LED, HIGH); // turn the LED on (HIGH is the voltage level)
delay(5000); // wait for a second
digitalWrite(BUILTIN_LED, LOW); // turn the LED off by making the voltage LOW
delay(5000); // wait for a second
}
------------------------------------------------------------------------------
Diversos códigos de exemplo de como utilizar a placa estão disponíveis no IDE do Arduino, após você ter configurado para utilizar a Wemos D1. Vale MESMO a pena dar uma olhada.
Conclusão
O código apresentado não é nada útil, ainda mais com essa placa, cujo principal uso é conectar algo a internet. Na parte dois desse artigo iremos conecta-la à sua rede wifi local e receber/enviar alguns comandos via browser. Até lá! =D
P.S.: enquanto eu ainda estava escrevendo esse artigo uma atualização dessa placa foi lançado, sendo denominada Wemos D1 R2. Mais detalhes em http://www.wemos.cc/wiki/doku.php?id=en:d1_r2
Links:
- Drivers:
- http://www.wemos.cc/wiki/doku.php?id=en:ch340g
- http://javacolors.blogspot.com.br/2014/08/dccduino-usb-drivers-ch340-ch341-chipset.html
- Sobre o chip CH340/CH341: http://0xcf.com/2015/03/13/chinese-arduinos-with-ch340-ch341-serial-usb-chip-on-os-x-yosemite/
Referências:
- Apresentando o módulo ESP8266: http://www.embarcados.com.br/modulo-esp8266/
- ESP8266 com Arduino: http://www.embarcados.com.br/esp8266-com-arduino/
- How to Install the ESP8266 Board in Arduino IDE: http://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/
- ESP8266 core for Arduino: https://github.com/esp8266/Arduino
Parabéns, Maurício, pelo ótimo blog e excelente post!
ResponderExcluirEstou iniciando com a placa D1 Wemos e gostaria de saber mais sobre as opções de webserver que a placa possibilita.
Poderia abordar este ponto na parte 2 deste post?
Aguardando a parte 2 deste assunto, muito bom este primeiro!
ResponderExcluirAguardando a parte 2 deste assunto, muito bom este primeiro!
ResponderExcluir