Internet das Coisas (IoT, do inglês Internet of Things) é a ideia de conectar objetos físicos à internet para que eles coletem dados, se comuniquem e possam ser controlados à distância. A lâmpada que você liga pelo celular, o sensor que avisa quando a câmara fria esquentou, o medidor que manda o consumo de energia direto para a distribuidora: tudo isso é IoT.
A boa notícia para quem programa: começar custa pouco. Com uma placa ESP32, um cabo USB e uma tarde, você coloca um dispositivo na sua rede Wi-Fi e controla um LED pelo navegador. O código está mais abaixo.
Como a IoT funciona: as quatro camadas
Quase todo sistema de IoT, do mais simples ao industrial, tem as mesmas peças:
| Camada | O que faz | Exemplos |
|---|---|---|
| Dispositivo | Sensores medem o mundo; atuadores agem nele | Sensor de temperatura, relé, motor, LED, câmera |
| Conectividade | Leva os dados do dispositivo para fora | Wi-Fi, Bluetooth, Zigbee, LoRaWAN, 4G/5G, NB-IoT |
| Plataforma / back-end | Recebe, guarda e processa os dados | Servidores com MQTT, bancos de séries temporais, nuvem |
| Aplicação | Mostra os dados e permite agir | Painel web, app no celular, alertas, automações |
Repare que só a primeira camada é "eletrônica". As outras três são software, e boa parte é o mesmo back-end de sempre: APIs, banco de dados, autenticação. Por isso, muita gente de desenvolvimento entra em IoT pelo lado do software.
MQTT: o protocolo que você vai encontrar em todo lugar
Dispositivos IoT costumam ter pouca memória, pouca energia e conexão instável. Por isso, em vez de HTTP para tudo, é muito comum usar MQTT, um protocolo leve baseado em publicar e assinar:
- O sensor publica a temperatura no tópico
casa/sala/temperatura. - Um servidor central, o broker (como o Mosquitto), recebe a mensagem.
- Quem assinou aquele tópico (um painel, um banco de dados, outra placa) recebe o valor.
Se você for aprender só um conceito de IoT além da placa em si, aprenda MQTT.
Exemplos de IoT no dia a dia (e fora dele)
Em casa
- Lâmpadas, tomadas e fechaduras inteligentes.
- Assistentes de voz controlando aparelhos.
- Câmeras e campainhas com vídeo no celular.
- Sensores de vazamento de água ou de porta aberta.
Na indústria e nos negócios
- Manutenção preditiva: sensores de vibração em motores avisam que algo vai quebrar antes de quebrar.
- Agronegócio: sensores de umidade de solo, estações meteorológicas e monitoramento de silos. Uma área em que o Brasil tem muita aplicação prática, pelo tamanho do setor.
- Logística: rastreamento de cargas e controle de temperatura de alimentos e vacinas durante o transporte.
- Energia: medidores inteligentes e monitoramento de usinas solares.
- Cidades: iluminação pública que se ajusta, monitoramento de vagas e de qualidade do ar.
- Saúde: equipamentos de monitoramento de pacientes que enviam dados para a equipe médica.
Como começar com Arduino e ESP32
Qual placa comprar
| Placa | Prós | Contras | Indicação |
|---|---|---|---|
| Arduino Uno | Simples, robusta, mais tutoriais do mundo | Sem Wi-Fi, pouca memória | Aprender eletrônica e lógica do zero |
| ESP32 | Wi-Fi e Bluetooth integrados, barato, potente | Funciona em 3,3 V (cuidado com sensores de 5 V), modelos variam bastante | Melhor escolha para IoT |
| ESP8266 | Muito barato, Wi-Fi | Mais limitado que o ESP32, menos pinos | Projetos simples, se você já tiver um |
| Raspberry Pi | É um computador completo com Linux | Mais caro, consome mais energia, não é microcontrolador | Gateway, servidor local, câmera, visão computacional |
Nossa recomendação: comece com um ESP32 em formato de placa de desenvolvimento (as chamadas "DevKit"). Ela faz tudo que o Arduino Uno faz para iniciantes e ainda conecta na internet, que é o ponto da IoT. Kits iniciais com protoboard, jumpers, resistores, LEDs e alguns sensores são uma ótima compra e costumam ter preço acessível.
O que você vai precisar:
- Uma placa ESP32 DevKit e um cabo USB que transmita dados (muitos cabos só carregam e não funcionam, a causa número um de frustração no primeiro dia).
- Protoboard, jumpers, alguns LEDs e resistores (220 Ω a 330 Ω para LEDs).
- Um sensor simples, como um DHT22 (temperatura e umidade) ou um sensor de luz (LDR).
Configurando o ambiente
- Instale a Arduino IDE (versão 2) pelo site oficial arduino.cc.
- Em Preferências, adicione a URL de placas do ESP32 que está na documentação oficial da Espressif (o pacote "esp32 by Espressif Systems").
- No Gerenciador de Placas, instale o pacote do ESP32.
- Conecte a placa, escolha o modelo (por exemplo, "ESP32 Dev Module") e a porta correta em Ferramentas.
Atenção se a porta não aparecer, troque o cabo USB antes de qualquer outra coisa. Em alguns computadores também é preciso instalar o driver do chip USB da placa (CP210x ou CH340, dependendo do modelo).
Projeto 1: o "Olá, mundo" do hardware
Piscar um LED. Muitas placas ESP32 DevKit têm um LED integrado no pino 2 (confira a da sua; no Arduino Uno, use LED_BUILTIN, que é o pino 13).
const int LED = 2;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
Todo programa de Arduino tem essas duas funções: setup() roda uma vez quando a placa liga, e loop() roda para sempre. Se você já sabe o básico de programação, a lógica é a mesma; muda que agora o resultado acende no mundo real.
Projeto 2: controlar o LED pelo navegador via Wi-Fi
Aqui a IoT de fato começa. O ESP32 se conecta à sua rede e vira um pequeno servidor web:
#include <WiFi.h>
#include <WebServer.h>
const char* SSID = "NOME_DA_SUA_REDE";
const char* SENHA = "SENHA_DA_SUA_REDE";
const int LED = 2;
WebServer server(80);
void ligar() {
digitalWrite(LED, HIGH);
server.send(200, "text/plain", "LED ligado");
}
void desligar() {
digitalWrite(LED, LOW);
server.send(200, "text/plain", "LED desligado");
}
void setup() {
Serial.begin(115200);
pinMode(LED, OUTPUT);
WiFi.begin(SSID, SENHA);
Serial.print("Conectando");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Conectado! IP: ");
Serial.println(WiFi.localIP());
server.on("/ligar", ligar);
server.on("/desligar", desligar);
server.begin();
}
void loop() {
server.handleClient();
}
Envie o código, abra o Monitor Serial em 115200 baud e anote o IP que aparecer. Depois, no navegador de um celular ou computador na mesma rede, acesse http://SEU_IP/ligar e http://SEU_IP/desligar.
Dica o ESP32 só se conecta a redes de 2,4 GHz. Se seu roteador separa as redes de 2,4 GHz e 5 GHz, use o nome da de 2,4 GHz.
Prefere Python? Use MicroPython
O ESP32 também roda MicroPython, uma versão de Python para microcontroladores. O mesmo pisca-LED fica assim:
from machine import Pin
import time
led = Pin(2, Pin.OUT)
while True:
led.value(not led.value())
time.sleep(0.5)
Para isso, você grava o firmware do MicroPython na placa (instruções em micropython.org) e usa um editor como o Thonny. É uma ótima porta de entrada para quem já conhece Python, mas a maioria dos tutoriais e bibliotecas de sensores ainda é para o ambiente Arduino em C++.
Próximos projetos sugeridos
- Ler temperatura e umidade com um DHT22 e mostrar no Monitor Serial.
- Publicar essas leituras via MQTT num broker local (Mosquitto) ou público de testes.
- Montar um painel para ver os dados, com uma ferramenta pronta como Node-RED ou Home Assistant, ou criando a sua própria página.
- Disparar um alerta (e-mail ou mensagem) quando a temperatura passar de um limite.
- Fazer a placa funcionar a bateria usando o modo deep sleep.
Quando terminar o item 4, você terá montado um sistema de IoT completo, com as quatro camadas da tabela lá de cima.
Segurança: o ponto fraco da IoT
Muitos dispositivos IoT baratos saem de fábrica com senhas padrão, sem atualização e com comunicação sem criptografia. Isso já foi explorado em ataques de grande escala usando câmeras e roteadores invadidos. Em projetos pessoais e, principalmente, profissionais:
- Nunca deixe senhas no código que vai para um repositório público.
- Use TLS (MQTT sobre TLS, HTTPS) quando os dados saírem da sua rede local.
- Não exponha o dispositivo diretamente na internet abrindo portas no roteador; use um broker ou serviço intermediário.
- Planeje atualização de firmware remota (OTA) desde o início.
Quem entende de segurança em IoT é raro e muito valorizado.
Carreira em IoT
IoT não é exatamente um cargo, é um conjunto de áreas. As vagas costumam aparecer com outros nomes:
| Perfil | O que faz | Habilidades principais |
|---|---|---|
| Desenvolvedor de sistemas embarcados | Programa o firmware dos dispositivos | C/C++, microcontroladores, RTOS, eletrônica básica, protocolos (I2C, SPI, UART) |
| Engenheiro de hardware | Projeta as placas e circuitos | Eletrônica, desenho de PCB, normas |
| Desenvolvedor back-end / plataforma IoT | Recebe, processa e armazena dados dos dispositivos | MQTT, Python/Node/Go/Java, bancos de séries temporais, nuvem |
| Desenvolvedor de aplicação | Painéis e apps para os usuários | Front-end, mobile, visualização de dados |
| Automação industrial | Integra sensores e máquinas na fábrica | CLPs, redes industriais, protocolos como Modbus e OPC UA |
Como entrar na área
- Vindo de software: o caminho mais curto é o lado da plataforma. Aprenda MQTT, faça os projetos acima e monte um portfólio com dispositivos reais mandando dados para uma API sua.
- Vindo de engenharia (elétrica, eletrônica, mecatrônica, computação): aprofunde-se em C/C++ embarcado e em um RTOS como o FreeRTOS, que já vem integrado no ESP32.
- Setores que mais contratam: indústria, agronegócio, energia, utilities (água, gás, eletricidade), logística e saúde. Vale procurar empresas desses setores, não só "empresas de tecnologia".
Uma vantagem honesta da área: há bem menos concorrência que em desenvolvimento web, e projetos com hardware de verdade chamam muita atenção em entrevistas. A desvantagem: menos vagas no total e maior concentração em polos industriais e tecnológicos.
Para ver como IoT se encaixa entre as outras trilhas da profissão, leia nosso guia de carreira de desenvolvedor. E se você ainda está no começo da programação em geral, o plano de 6 meses para aprender a programar te dá a base de lógica que vai fazer toda a diferença na hora de escrever o firmware. Para fundamentos de computação que ajudam muito em embarcados, o CS50 gratuito começa justamente por C.
IoT tem uma graça que pouca área de software tem: o seu código sai da tela e mexe no mundo físico. Compre um ESP32, faça um LED piscar e veja se essa sensação te pega.
Perguntas frequentes
O que é Internet das Coisas em palavras simples?
É a conexão de objetos físicos à internet, como lâmpadas, sensores, máquinas e eletrodomésticos, para que eles enviem dados e possam ser controlados à distância. Uma tomada inteligente que você liga pelo celular é IoT.
Qual a diferença entre Arduino e ESP32?
Arduino Uno é uma placa simples, ótima para aprender eletrônica e programação básica, mas sem Wi-Fi. O ESP32 é uma placa barata com Wi-Fi e Bluetooth integrados, mais potente, e pode ser programada na própria IDE do Arduino. Para projetos de IoT, o ESP32 costuma ser a melhor escolha.
Preciso saber eletrônica para trabalhar com IoT?
Para começar, só o básico: o que é tensão, corrente, resistor e como usar uma protoboard. Isso se aprende nos primeiros projetos. Trabalhos com hardware próprio exigem mais eletrônica; trabalhos com plataformas e software de IoT exigem menos.
Qual linguagem de programação é usada em IoT?
Nos dispositivos, principalmente C e C++ (inclusive no Arduino) e, em placas como o ESP32, também MicroPython. No servidor e na nuvem, as linguagens comuns de back-end, como Python, Node.js, Go e Java.
IoT é uma boa área para trabalhar?
É uma área com demanda em indústria, agronegócio, energia, logística e saúde, e com menos concorrência que desenvolvimento web. Em contrapartida, há menos vagas com o título 'IoT', e muitas oportunidades aparecem como sistemas embarcados, automação ou back-end.
Leia também
Como programar: o que é programação e como começar do zero
Entenda o que é programar, aprenda lógica de programação com exemplos curtos em JavaScript e Python e escreva seu primeiro programa hoje, sem instalar nada.
CarreiraO que é back-end: linguagens, bancos de dados e roadmap 2026
Entenda o que é back-end, o que faz um dev back-end, quais linguagens e bancos de dados aprender em 2026, como funcionam APIs e a diferença para full stack.
AprenderComo aprender a programar sozinho em 2026: plano de 6 meses
Plano de estudos de 6 meses, semana a semana, para aprender a programar sozinho em 2026: qual linguagem escolher, recursos grátis e como usar IA sem dependência.