pessoal, estou com duvida, é possivel que o arduino se conecte com um banco de dados sql?
o meu projeto seria de o arduino se conectar ao banco de dados e inserir dados em uma tabela ou editar, para que a minha pagina php leia esses dados e prescreva-os no pagina.
meu bando de dados por enquanto sera local.
Tags:
Olá thiago, é o seguinte eu fiz um sketch que envia uma solicitação para um arquivo PHP do servidor e salva dados no mysql, vou deixar o código para teste através da serial abaixo:
// Código Arduino:
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// endereço de ip do arduino
IPAddress ip(192,168,137,225);
// endereço do servidor onde vai estar instalado o wampserver
byte server[] = {192,168,137,175};
// cliente para se conectar com o servidor
EthernetClient client;
void setup() {
// omunicação serial, somente para depuração
Serial.begin(9600);
if (Ethernet.begin(mac) == 0) {
Serial.println("falha ao configurar Ethernet usando DHCP");
Ethernet.begin(mac, ip);
}
}
void loop() {
// dentro de onde está comentado "=" é comose fosse o eveto do sensor
//======================================
char letra = Serial.read();
if (letra == 'a') {
// se o sensor 1 for acionado, vc deve entrar na fução "enventoSensor1"
enventoSensor1();
}
if (letra == 'b') {
// se o sensor 2 for acionado, vc deve entrar na fução "enventoSensor2"
enventoSensor2();
}
delay(100);
//====================================
}
void enventoSensor1() {
// se conecta com o servidor wamp
if (client.connect(server, 80)) {
// se for conectado, vai mostrar uma msg na serial dizendo que a solicitação foi enviada
Serial.println("Solicitação Enviada");
// parametro GET que vai guardar os dados no banco, deve mudar o Ip de acordo com o servidor que está o banco
client.println("GET http://192.168.137.175/insere.php?sensor=Sensor1");
// finaliza a conexao com o servidor
client.stop();
} else {
// caso não haja conexão mostra uma msg na serial
Serial.println("Falha na conexão com o servidor");
// finaliza a conexao com o servidor
client.stop();
}
}
void enventoSensor2() {
if (client.connect(server, 80)) {
Serial.println("Solicitação Enviada");
client.println("GET http://192.168.137.175/insere.php?sensor=Sensor2");
client.stop();
} else {
Serial.println("Falha na conexão com o servidor");
client.stop();
}
}
// código php que salva no mysql:
<?php
$sensor =$_GET['sensor'];
$conexao = mysql_connect('localhost','root',''); // se conecta ao servidor onde está o banco de dados
mysql_select_db('bancoteste',$conexao); // seleciona o banco de dados de acordo com a conexão
$sql = "insert into eventos (sensor) values ('$sensor')"; // adiciona os campos no banco de dados
$resultado = mysql_query($sql) or die ("Erro .:" . mysql_error()); // se for armazenado com sucesso irá retornar com "1"
if($resultado)
echo "1";
else // se ocorrer um erro vai retornar com "0"
echo "0";
?>
Espero que lhe ajude, abraço!
cara vlw, vou analisar o codigo, a logica dele ta legal aparentemente, acho que vai servir sim! vlw
cara tem como o arduino ler o banco de dado?
Eduardo, é possível fazer com que o arduino receba dados de uma select? se sim, teria algum exemplo?
obrigado desde ja
Olá Eduardo, usei este seu código, mais ele não envia o get para o endereço php, já testei minha url e está tudo certo, é o arduino mesmo que não está enviando, vc sabe o pode estar acontecendo?
Olá amigo, segue esse tutorial no meu canal
https://www.youtube.com/playlist?list=PLssIKrX2yyQHtYuzGaB-7d85hppD...
espero que consiga
abraços
Muito obrigado Eduardo, já consegui, era porque estava colocando junto o display de lcd, quando eu retirei funcionou muito bem.
Consegui colocar o arduino como cliente e servidor web ao mesmo tempo, aí eu consigo receber os sensores e também acionar leds e etc...
Gostaria de te perguntar mais uma coisa, como faço para receber POST no arduino, enviado pelo PHP?
Muito obrigado pela atenção e até breve!
Cara eu ainda não usei POST mais em relação ao arduino e php o método não vai fazer diferença, pois de qualquer forma os dados não vão ser vistos.
Pode fazer gravar ou editar direto (sem precisar do php como intermediário) usando "mysql connector for arduino".
Testei ano passado e funciona mesmo. Testado com arduino uno + ethernet shield w5100.
cara, achei um artigo sobre isso, mais vc tem alguma referencia pra ajudar ?
Quando eu testei eu usei o:
www.angeloluput.com/mysql-planet/introducing-mysql-connector-arduino
Mas vi que não está funcionando agora.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por