Nos últimos tempos, o tópico Internet das Coisas ficou em alta. E quem é entusiasmado com o assunto, provavelmente, tem muita vontade de ligar sua casa à internet por conta própria. Dessa forma, existem muitos dispositivos ou plaquinhas para facilitar a comunicação de circuitos com a internet.

E existe uma placa muito boa e barata chamada NodeMCU. Portanto, ao longo desse curso, pretendo mostrar como começar a usar o NodeMcu para ligar seus projetos à internet e acionar tudo à distancia.

Confira também a Aula 1 do curso do Arduino, que lá eu explico alguns conceitos importantes sobre plaquinhas programáveis.


O que é

Mas o que de fato é o NodeMcu? De certa forma, ele pode ser separado no hardware e no software.

Hardware

Em relação ao hardware, o NodeMcu é uma placa semelhante as placas do Arduino: existe um microcontrolador com vários outros componentes para facilitar sua utilização. A principal diferença é que ele é capaz de se comunicar com a internet. Veja na imagem abaixo a 2ª versão da placa:

NodeMcu
Fonte: Wikipedia

De acordo com a imagem acima, é possível perceber que sob a placa, existe uma outra placa conectada, com um escrito “wi fi”. Essa outra placa é chamada de ESP8266. Ela é basicamente uma placa independente com funcionalidades wi-fi que possui um microcontrolador internamente.

O ESP8266 dá 3 capacidades à plaquinha em relação a comunicação sem fio:

  • Criar um webserver
    • Simplificadamente, é um site que você pode acessar para enviar e receber informação da placa
  • Acessar a internet
    • Você pode enviar e extrair dados de sites da internet
  • Criar um Access Point
    • Cria um ponto de acesso para comunicações locais. Principalmente entre duas placas NodeMcu

É possível utilizar apenas a próprio placa ESP8266 para fazer as aplicações de IOT. É preferível utilizar o NodeMcu, porque, além da ESP8266, ele inclui circuitos que facilitam a comunicação e utilização da placa. Por exemplo o conector usb para fazer a programação. Ele possui também componentes para regular a tensão que a placa recebe, CI para comunicar facilmente com o computador, botões para resetar a placa e entre outros.

Características

A configuração dos pinos está mostrada abaixo:

Pinos do NodeMcu
Fonte: Instructables

Usando como base a imagem acima, a placa tem as seguintes características:

  • Há apenas 1 pino analógico (ADC0) que possui precisão de 10 bits (0 a 1023) igual ao Arduino.
  • Há 13 pinos digitais para entrada e saída.
  • Há vários pinos para comunicação
    • Os pinos GPI01 e GPI03 são os mesmo que o computador utiliza para enviar e receber os dados da placa. Portanto, é bom evitar de utilizá-los. Eles são iguais aos pinos 0 e 1 do Arduino.
  • Os pinos de 3.3V e GND podem ser utilizados para alimentar componentes.
  • Os pinos Vin, 3.3V e GND podem ser utilizados também para alimentar a placa.
    • Ligue uma fonte de até 20V em Vin ou uma fonte de 3.3V em qualquer pino de 3.3V.
    • O terra da fonte deve ser ligado no GND.
  • Memoria de gravação: 4MB
  • Velocidade: 80 MHz (Capaz de dobrar)
  • Tamanho: 48×25 mm

Esses três últimos atributos do NodeMcu comprovam que ele é bem poderoso para seu tamanho (compare com o Arduino Uno para ter ideia). Ele se torna ainda mais interessante quando consideramos seu preço.

Software

Além do hardware, o NodeMcu é um firmware de código aberto. Isto é, existem códigos e bibliotecas que facilitam bastante a criação de programas. É a mesma ideia do Arduino, os comandos que damos a ele são bem fáceis e diretos.

Mas para programá-lo existem duas formas: usando a IDE do Arduino ou utilizando outro software para programar em Lua. Você pode estar acostumado com a IDE do Arduino, mas um software chamado ESPlorer permite uma interação bem mais completa com a placa.

[Atualização de alguns anos após escrever este post] Eu preferia a programação no ESPlorer do que na IDE do Arduino, mas acabei mudando de ideia, pois no Arduino é mais fácil de desenvolver os códigos.

A programação padrão, sem ser com a IDE do Arduino, é em Lua. Lua é uma linguagem de programação bem interessante, fácil de aprender e, por curiosidade, é brasileira. O software ESPlorer é muito bom, porque ele permite que você veja e manipule os arquivos que estão dentro do NodeMcu. Com ele, é simplesmente muito fácil ter controle: da comunicação entre o computador e a placa, do arquivo que você quer rodar, dos arquivos que estão dentro da placa e de outras configurações úteis.

Veja a imagem do programa abaixo:

ESPlorer IDE NodeMcu

No canto esquerdo eu edito meus códigos. Na parte da direita é um terminal que mostra o que está saindo e entrando na comunicação serial. Na direita desse terminal, estão os arquivos dentro da minha placa: index.html e script1.lua. Repare que eu gravei um arquivo HTML dentro da placa. Portanto, é possível gravar arquivos que não sejam do tipo .lua dentro da placa.

De qualquer forma, na próxima aula, vou explicar como fazer toda a configuração do NodeMcu, desde a instalação do firmware até a comunicação da placa com o software.

Como começar a programar NodeMcu – Aula 2 – NB