problema para mandar informações do arduino para o servidor php

1. problema para mandar informações do arduino para o servidor php

joao
lourenco2233

(usa openSUSE)

Enviado em 05/12/2018 - 17:12h

estou com problemas para enviar os dados do arduino para um servidor php.

//bibliotecas
#include <SPI.h>
#include <Ethernet.h>
#include "EmonLib.h"

byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }; //endereço mac
byte servidor[] = { 192,168,1,10 }; //endereço IP
#define portaHTTP 80 //porta serial

EthernetClient cliente;
EnergyMonitor SCT013;
//===========================================================================
// codigo mesclado
//float potencia = 0;
//float agua = 2;
int pinSCT = A0; //Pino analógico conectado ao SCT-013
int tensao = 127;
int potencia; //variavel para medir a potencia
int contaPulso; //Variável para a quantidade de pulsos
int i=0; //Variável para contagem
float vazao; //Variável para armazenar o valor em L/min
float media=0; //Variável para tirar a média a cada 1 minuto
float Litros = 0; //Variavel para quantidade de agua
float MiliLitros = 0; //Variavel para conversão

//===========================================================================

void setup(){
Serial.begin(9600);
Ethernet.begin(mac);

if(Ethernet.begin(mac) == 0){
Serial.println("Falha ao conectar");
Ethernet.begin(mac);
}

Serial.print("Conectado a rede, no ip:");
Serial.println(Ethernet.localIP());

}

void loop() {
//===========================================================================
// codigo aqui
double Irms = SCT013.calcIrms(1480); // Calcula o valor da Corrente
potencia = Irms * tensao; // Calcula o valor da Potencia Instantanea

contaPulso = 0; //Zera a variável para contar os giros por segundos
sei(); //Habilita interrupção
delay (1000); //Aguarda 1 segundo
cli(); //Desabilita interrupção
vazao = contaPulso / 5.5; //Converte para L/min
media=media+vazao; //Soma a vazão para o calculo da media
MiliLitros = vazao / 60;
Litros = Litros + MiliLitros;
i++;
// energia = potencia;
// agua = media;
//===========================================================================

if(cliente.available()){
char c = cliente.read();
Serial.print(c);
}

if (!cliente.connected()){
cliente.stop();
}

char comando = Serial.read();

if(comando == '1'){
//potencia++; agua++;
Serial.println("Conectando ao servidor e dados: ");
Serial.print("Potencia/W: ");
Serial.println(potencia);
Serial.print("Agua/L: ");
Serial.println(Litros);


if(cliente.connect(servidor, portaHTTP)){
//http://localhost/arduino/teste.php?e=0&a=0

cliente.print("POST /arduino/teste.php");
cliente.print("?P=");
cliente.print(potencia);
cliente.print("&L=");
cliente.print(Litros);
cliente.println(" HTTP/1.0");

cliente.println("Host: 192.168.1.10");
cliente.println("Connection: close");
cliente.println();
}else{
Serial.println("Falha ao conectar ao servidor");
}

}
}

MONITOR SERIAL:
Conectado a rede, no ip: 192.168.1.2
Conectado ao servidor e dados:
Potencia/W: 0
Agua/L: 0.00
HTTP/1.1 200 ok
Date: Wed, 05 Dec 2018 18:58:09 GMT
Server: Apache/2.4.35 (Win32) OpenSSL/1. 1. 0


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts