A integração entre Arduino, PHP e MySQL permite criar sistemas completos de monitoramento e armazenamento de dados, muito utilizados em projetos de IoT, automação residencial, indústria e pesquisa.
Neste post, você vai aprender como criar um sistema completo onde o Arduino mede a temperatura e grava os dados em um banco MySQL, utilizando um script PHP como intermediário.
🎯 Objetivo do Projeto
Desenvolver um sistema capaz de:
- Medir temperatura usando sensor no Arduino
- Enviar os dados via rede
- Receber informações em um script PHP
- Armazenar leituras em um banco MySQL
- Permitir futuras consultas e gráficos
🧠 Arquitetura do Sistema
O funcionamento ocorre em três etapas:
- Arduino lê a temperatura do sensor
- Arduino envia os dados via HTTP
- PHP recebe e grava os dados no MySQL
Arduino → PHP → MySQL
🧰 Componentes Utilizados
Hardware
- Arduino Uno / Mega / ESP8266 / ESP32
- Sensor de temperatura (DHT11, DHT22 ou LM35)
- Módulo Ethernet ou Wi-Fi
- Cabos jumpers
Software
- Arduino IDE
- Servidor Web (Apache ou Nginx)
- PHP 7 ou superior
- MySQL ou MariaDB
🌡️ Leitura da Temperatura no Arduino
Exemplo usando sensor DHT11:
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float temperatura = dht.readTemperature();
Serial.println(temperatura);
delay(2000);
}
🌐 Enviando Dados do Arduino para o PHP
O Arduino envia os dados via requisição HTTP GET ou POST.
Exemplo de envio (simplificado):
http://servidor/salvar.php?temp=25.6
🧑💻 Script PHP para Receber os Dados
<?php
$temperatura = $_GET['temp'];
$conn = new mysqli("localhost", "usuario", "senha", "sensores");
if ($conn->connect_error) {
die("Erro de conexão");
}
$sql = "INSERT INTO temperatura (valor, data_hora) VALUES ('$temperatura', NOW())";
$conn->query($sql);
$conn->close();
?>
🗄️ Estrutura da Tabela MySQL
CREATE TABLE temperatura (
id INT AUTO_INCREMENT PRIMARY KEY,
valor FLOAT,
data_hora DATETIME
);
⚙️ Boas Práticas de Segurança
- Validar dados recebidos no PHP
- Utilizar POST ao invés de GET
- Criar usuário MySQL com permissões limitadas
- Usar HTTPS
- Adicionar token de autenticação
📊 Visualização dos Dados
Com os dados gravados no MySQL, é possível:
- Criar gráficos em PHP
- Integrar com dashboards
- Exportar dados para CSV
- Monitorar temperatura em tempo real
🚀 Possíveis Melhorias
- Gráficos com Chart.js
- Dashboard web responsivo
- Integração com ESP32
- Envio de alertas por e-mail
- Registro de múltiplos sensores
🏭 Aplicações Práticas
- Monitoramento ambiental
- Câmaras frias
- Estufas agrícolas
- Data centers
- Projetos acadêmicos
📌 Conclusão
A combinação de Arduino + PHP + MySQL cria uma solução robusta para coleta e armazenamento de dados de temperatura.
Esse projeto é uma excelente introdução ao IoT, banco de dados e desenvolvimento web, podendo evoluir facilmente para sistemas profissionais.
🌡️ Próximo passo: Dashboard web com gráficos em tempo real