O que é o NodeMCU? - MAX dicas | Tech
Maxsuell Roger 11:01
Uma plataforma open source da Internet das Coisas
Placas de desenvolvimento, como Arduino e Raspberry Pi, são escolhas comuns ao prototipar novos dispositivos IoT (Internet of Things). Essas placas de desenvolvimento são essencialmente mini-computadores que podem ser conectados e programados por um PC. Depois de ter sido programado, as placas de desenvolvimento podem se conectar e controlar os sensores no campo.
Como o "I" em IoT significa internet (Leia mais em Afinal, o que é Internet das Coisas?), as placas de desenvolvimento precisam de uma maneira de se conectar à Internet. No campo, a melhor maneira de se conectar à internet é usando redes sem fio. No entanto, o Arduino e o Raspberry Pi não possuem suporte interno para redes sem fio. Os desenvolvedores terão que adicionar um módulo wifi ou celular à placa e escrever o código para acessar o módulo sem fio.
Neste artigo, vou apresentar uma placa de desenvolvimento de IoT de código aberto chamada NodeMCU. Um de seus recursos mais exclusivos é o suporte interno à conectividade Wi-Fi e, portanto, facilita muito o desenvolvimento de aplicativos IoT.
De acordo com Kolban (2016), o NodeMCU é um kit de desenvolvimento e firmware de código aberto, baseado no ESP8266, criado para ajudar na criação de protótipos e projetos IoT. Possui uma placa bastante amigável com interface usb-serial, um regulador de tensão 3.3V e uma grande variedades de GPIOs, como pode ser visto na Figura 1, porém possui apenas uma porta analógica, para que seja possível aumentar a quantidade de portas é necessário utilizar um multiplexador/demultiplexador. A programação pode ser feita conectando-o ao computador através de um cabo micro USB, utilizando então linhas de script Lua ou algumas linhas de comando no IDE do Arduino.
Figura 1 - Placa de desenvolvimento NodeMCU
Fonte: Webestufa
O mapeamento dos pinos neste dispositivo, pode ser visto na Figura 2, que possui 6 entradas GPIO extras. Todas elas podem ser programadas como PWM, I2C, 1-wire, com exceção da GPIO16 (D0).