<?php
$user=""; //aqui o user correcto
$password=""; //aqui a pass correcta
$server="localhost";
$database="meteo";
mysql_connect($server,$user,$password);
@mysql_select_db($database) or die( "Base de Dados inválida...");
$temp=$_GET['temp'];
$hum=$_GET['hum'];
$dew=$_GET['dew'];
$tstamp=date("Y-m-d H:m:s", time());
$query = "INSERT INTO `dados`(`Temp`, `Hum`, `Dew`) VALUES (round($temp,2),round($hum,2),round($dew,2))";
mysql_query($query);
mysql_close();
echo "Dados Guardados";
?>
Agora surgiu o seguinte problema: quando abro o serial monitor a informação é enviada para o PHP e registada apenas 1 vez - aparentemente o loop só é executado uma vez.
Sei que o problema não é do PHP, pois a informação é registada durante a 1ª execução do sketch e se correr o PHP directamente no browser.
Se tirasses esse delay de um minuto do código é que fazias bem...
O teu problema deve estar na ligação que abres com o servidor para correr o php. Abres a ligação no setup, mas corres uma vez o sketch, o servidor onde o php corre fecha a ligação no fim do script, mas o arduino não sabe disso e continua a tentar ligar apesar da socket estar fechada.
Ora vê aqui:
Tenta colocar o código da ligação no loop e desliga a ligação por lá também.
Depois arranjar outra maneira de temporizar um minuto (dica, millis() ), e de minuto a minuto ligas ao servidor, corres o php, desligas do servidor.
Eu já por várias vezes falei aqui dos problemas do delay... Se pretendes apenas fazer isto com o Arduino, então podes deixar o delay porque não terá muita influência no que pretendes fazer.
Mas utilizar o delay só porque não se sabe outro método para temporizar é que é mau porque isso impede o progresso. Podes tentar usar o millis para isso e ainda ficas com processamento de sobra para fazer mais coisas no programa... tipo escrever para um LCD e interagir com teclas, etc, etc...