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:

  1. Arduino lê a temperatura do sensor
  2. Arduino envia os dados via HTTP
  3. 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

By muchoa

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *