Introdução ao NodeMCU Esp32

Neste artigo iremos introduzir ao NodeMCU Esp32 desenvolvendo uma simples página web. Para acompanhar este tutorial irá necessitar dos seguintes artigos:

Lista de Material

Sobre o NodeMCU Esp32

NodeMcu Esp32

Este controlador de desenvolvimento NodeMCU baseado no ESP32, possui conectividade WiFi + Bluetooth. Além disso, todos os pinos de I/O do módulo ESP-WROOM-32 são acessíveis através dos pinos de extensão.

  • Módulo ESP-WROOM-32 integrado
  • CP2102 integrado, conversor de USB para UART
  • Porta USB para entrada de energia, programação de firmware ou depuração UART
  • 2x botões, usadas como reset ou definidas pelo usuário
Pinout NodeMCU Esp32

Preparar Arduino IDE

Sendo que o NodeMCU é uma placa não nativa ao Arduino IDE necessitamos de efetuar a sua instalação manualmente, para isso:

  1. Aba Ficheiro > Preferências e adicione o seguinte endereço ao “URL Adicionais do Gestor de Placas”:
    • https://dl.espressif.com/dl/package_esp32_index.json
  2. Aba de Ferramentas > Placas > Gestor de Placas e pesquise por “Esp32” deverá instalar a versão fornecida pela Espressif.

Com estes passos efetuados o seu IDE já se encontra preparado para suportar o seu NodeMCU esp32.

Exemplo

De seguida, iremos efetuar um Scan as redes Wifi nas nossas proximidades usando o nosso NodeMCU, para isso:

  1. Ficheiro > Exemplos > Wifi > WifiScan
  2. Ferramentas > Placa > Esp32 Arduino > Esp32 Wrover Module

Código Utilizado

#include "WiFi.h"

void setup()
{
Serial.begin(115200);

// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);

Serial.println("Setup done");
}

void loop()
{
Serial.println("scan start");

// WiFi.scanNetworks will return the number of networks found
int n = WiFi.scanNetworks();
Serial.println("scan done");
if (n == 0) {
Serial.println("no networks found");
} else {
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i) {
// Print SSID and RSSI for each network found
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(")");
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*");
delay(10);
}
}
Serial.println("");

// Wait a bit before scanning again
delay(5000);
}

Para mais projetos, percorram o nosso blog, onde podem encontrar vários artigos interessantes relacionados com eletrónica, robótica e muito mais! Visitem também o nosso site, onde encontram tudo para eletrónica e robótica!