:::: MENU ::::
Posts tagged with: NodeMCU

Programando a ESP8266 NodeMCU no Mac OS X

Olá pessoal,

Recentemente comprei um módulo WiFi ESP8266 NodeMcu ESP-12E para utilizar no projeto do meu termostato inteligente. O projeto antes era baseado em um Arduino Uno, mas como eu queria colocar algumas funcionalidades a mais, o Arduino começou a não me parecer uma arquitetura tão boa. Então, acabei optando pelo módulo ESP12-E.

Algumas características que me influenciaram a pelo menos testar essa arquitetura:

  • WiFi embutido.
  • Suporte a MQTT nativo.
  • Melhor arquitetura para programação (divisão em vários arquivos, módulos, callbacks e etc).
  • Programação em Lua (isso pode ser bom ou ruim, depende de você) e também com Arduino IDE.
  • Tamanho compacto e baixo consumo de energia.

Atenção, já há diversos posts na comunidade, inclusive em português (no blog do Pedro Minatel e também no Embarcados), explicando os tipos de módulos que utilizam o chip ESP8266, como o ESP12-E (o que estou utilizando), ESP-01, ESP-07 e outros. Seguem alguns artigos que eu li e recomendo para ajudar a entender:

Por isso, não vou entrar em detalhes de programação, API ou referência para o módulo e nem sobre a linguagem Lua. Em breve irei postar artigos específicos da construção e desenvolvimento do termostato inteligente, inclusive compartilhando códigos, esquemáticos e etc.

Nessa postagem, meu objetivo é sobre programar a ESP12-E no Mac OS, pois enfrentei problemas nas duas vezes e como não achei nada em português explicando, resolvi fazer esse post. Se você ainda está procurando como fazer upload do firmware do NodeMCU para a placa, recomendo ler o artigo Flashing the NodeMCU firmware on the ESP8266 (Linux) – Guide. Se você usa Windows ou ficou com alguma dúvida, uma busca rápida no Google por “flash esp8266 esp12-e” vai te trazer ótimos resultados.

E não se esqueça de gerar o build com componentes que você deseja para a sua plataforma. No meu caso, usei 12 módulos que precisarei para o termostato (bit, cjson, file, gpio, http, i2c, mqtt, net, node, ow, tmr, uart, wifi). Esse build é gerado automaticamente pela ferramenta NodeMCU custom builds e depois de fazer o download, é só seguir as informações do tutorial que indiquei acima (ou outro que você encontre).

Preparação do ambiente

A ferramenta mais usada para subir códigos Lua para a placa é o ESPlorer. É uma mistura de “IDE” com software de comunicação. Ele é programado em Java e funciona em qualquer plataforma. Através dele, você será capaz de programar e enviar o código diretamente do ESPlorer, monitorar a saída serial e também, selecionar arquivos para envio. No meu caso, eu prefiro usar um editor externo (VIM e Sublime 2 são os que tenho utilizado) e usar o ESPlorer pra subir o código.

Mas, no Mac OS X é bem provável que você encontre problemas para que o SO detecte a placa. Para resolver isso, siga os passos:

  1. Faça o download do ch341ser_mac.zip que tem o driver CH34X USB-Serial.
  2. Descompacte e execute o CH34x_Install.pkg
  3. Reinicie o computador e o driver deve reconhecer a placa. Para verificar, clique vá em: About This Mac -> System Report -> No lado esquerdo (Hardware), procure por USB.
  4. Será possível ver a entrada para USB Serial
System Report Mac OS

System Report Mac OS

Pelo terminal também é possível entrar o dispositivo listado:

Terminal USB Serial

Terminal USB Serial

Depois que a placa for detectada pelo sistema operacional, será possível usar o ESPlorer e conectar a placa para enviar arquivos e trabalhar no seu projeto. Abaixo a tela do ESPlorer já conectado à placa ESP12-E:

ESPlorer contectado a ESP12-E

ESPlorer contectado a ESP12-E

E depois disso, é “correr para o abraço” e enviar seus códigos para a placa. Nos próximos posts vou compartilhar um pouco do que tenho feito para programar o termostato para controlar o processo de fermentação das minhas cervejas.

Qualquer dúvida, crítica, correção, sugestão ou detalhe que eu tenha deixado passar, fique a vontade para comentar e farei o máximo para responder o mais rápido possível.

Abraços!