Este artigo tem como objetivo principal a construção de uma aplicação utilizando um módulo ESP-01 e o Firebase. O ESP-01 é um módulo wireless, de baixo custo, desenvolvido para conectar, de forma fácil e eficaz, um microcontrolador a uma rede WiFi .
O Firebase é plataforma de desenvolvimento mobile e web desenvolvida pela Firebase, Inc. e posteriormente adquirida pela Google. Através da combinação entre o módulo e a plataforma que serão utilizados, é possível fazer uma série de aplicações de Internet das Coisas, como a que vai ser apresentada a seguir.
Passo 1 – Instalar Arduino IDE
Caso você não tenha a IDE instalada em seu computador é só seguir os passos neste artigo do Fábio Souza.
Passo 2 – Configuração da IDE do Arduino para o ESP- 01
Entre na IDE do Arduino e clique em Arquivo -> Preferências:
Na tela seguinte, digite o seguinte link no campo URLs adicionais de Gerenciadores de Placas:
A sua tela ficará assim:
Clique em OK para retornar à tela principal da IDE. Agora clique em Ferramentas -> Placa -> Gerenciador de Placas:
Utilize a barra de rolagem para encontrar o ESP8266 by ESP8266 Community e clique em INSTALAR.
Após alguns minutos as placas da linha ESP8266 já estarão disponíveis na lista de placas da IDE do Arduino.
Passo 3 – Montagem do circuito
Observe na Figura 2 um esquema do circuito que deve ser montado, faça as ligações entre o módulo ESP-01, um led e um conversor USB/UART. É importante lembrar de configurar o conversor para 3,3 V, exemplificado na Figura 3.
Passo 4 – Blink
Para realizar um teste inicial utilizou-se o seguinte código:
void setup() {
// Iniciar o pino GPIO2
pinMode(2, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(2, HIGH); // Ligar Led
delay(1000); // Esperar 1 segundo
digitalWrite(2, LOW); // Desligar Led
delay(1000); // Esperar 1 segundo
}
Faça o upload para o Arduino e depois de completar o upload, retire o GND do pino GPIO0. Se caso você utilizar Windows faça o download do driver CH340, que pode ser encontrado aqui.
Passo 5 – Firebase
O primeiro passo para utilizar o Firebase é criar uma conta em firebase.google.com.
Depois de criar conta vá ao console. Em seguida, clique em adicionar projeto.
Configure, leia e aceite os termos e depois clique em criar.
Vá até Database e crie o Real Time Database clicando em criar banco de dados, definas as regras como modo teste e clique em ativar.
Passo 6 – Configurando a IDE Arduino para uso do Firebase
Baixe a biblioteca firebase-arduino em github.com/FirebaseExtended/firebase-arduino, e a biblioteca arduinojson vá em Skecth > Gerenciar biblioteca e pesquise arduinojson. Selecione a versão 5.13.1 e clique em instalar.
Agora vamos adicionar a biblioteca. Clique em Skecth > Incluir Biblioteca > Adicionar biblioteca ZIP e escolha o arquivo do download.
Passo 7 – Blink Firebase
Vamos agora fazer o primeiro teste usando o Firebase. Crie a variável “led” no firebase com o valor true, como nas figuras a seguir.
Para utilizar o real Time database do Firebase na ESP, vá até a configuração do projeto.
Depois em conta em serviço e anote seu databaseUrl sem o https.
Depois vá em chaves secretas de banco de dados > clique em mostrar e anote sua secret key.
Programe o ESP-01, utilizando o seguinte código.
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
// Configure com suas credenciais
// Credencial está em configuração do projeto, contas e serviços.
#define FIREBASE_HOST "seu host exemplo.firebaseio.com"
#define FIREBASE_AUTH "Sua Secret key"
#define WIFI_SSID "Nome do seu wifi"
#define WIFI_PASSWORD "senha do seu wifi"
int led;
void setup() {
//Define GPIO2 como saída
pinMode (2, OUTPUT);
//Inicia o monitor serial
Serial.begin(9600);
//Rotina pra conectar ao wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("conectando");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("conectado: ");
Serial.println(WiFi.localIP());
//Iniciar Firebase
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}
void loop() {
//Receber a variavel led do firebase
led = Firebase.getBool("led");
Serial.print("led: ");
Serial.println(led);
if(led == 1){
digitalWrite(2 ,HIGH);
}
else if(led == 0){
digitalWrite(2 ,LOW);
}
}
Alterne a variável led no firebase entre true para ligar o led e false para desligar.
Pronto, você aprendeu o básico de como fazer uma aplicação de IoT utilizando um módulo ESP-01 e o Firebase. Uma dica que eu deixo é a leitura da documentação da API firebase-arduino e posteriormente faça um teste, envie dados de algum sensor para o Firebase e tente desenvolver uma aplicação web ou mobile para ler os dados no database e controlar o led.
Saiba mais
Configurando GPIO do ESP8266-01
Gravando o ESP8266-01 na IDE Arduino
Configurando o ambiente de desenvolvimento do ESP32 no Windows





















Olá vi seu posto sobre plataforma firebase achei ótimo, parece fácil, gostaria de saber se surgir alguma dúvida posso recorrer a você obrigado….
É preciso autenticar o código após os 30 dias que é o prazo que encerra as regras “true” do firebase?
Olá,parabéns por este trabalho!
Estou tentando fazer a mesma coisa que você fez, mas estou tendo problema com a biblioteca FirebaseArduino.h, não fica “colorida” que nem as outras biblioteca, e eu fiz passo a passo que nem você mostra, baixar, add…etc, na hora de compila o codigo da erro, sabe me dizer oque devo fazer?
Tem como fazer uma comunicação do arduino com o ESP-01 e então com a Firebase? Por exemplo, tenho 6 sensores ligados ao arduino nano, e desejo passar os dados que os sensores leem para a Firebase, tem como?
Muito bom exemplo. Simples, mas demonstra muito bem a capacidade de integração entre as plataformas. Obrigado por compartilhar.
Nada, estamos aqui para ajudar e passa o conhecimento a todos.
Olá, muito bem explicado,
me tire uma dúvida, preciso fazer um projeto com uns 100 ESP-01, onde a cada pulso individual do ESP-01, eu conte quantos pulsos cada ESP deu. É possível fazer isso pelo firebase? como você me recomenda fazer. Obrigado e continuem assim.
Opa, muito obrigado. Cara teria que ver direito mas creio que da sim só, usar o google clound functions.
muito massa 🙂
Obrigado!
Alguém consegue me dizer as vantagens e desvantagens em relação ao node-red? 🙂
Depende do seu projeto Pedro, mas com o firebase tu tem acesso as ferramentas de IoT do Google que são muito boas, mas analise o seu projeto e as soluções do mercado.
Muito bom..obrigado!!!!
Nada se precisar estamos aqui.