Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

leimota

Registo de Estados

Mensagens Recomendadas

leimota

Boa Noite,

Estou neste momento a entrar um pouco em desespero para finalizar o meu projeto fim de curso, este projeto consiste na monitorizaçao de consumos e estados de uma casa automatizada, e a parte que falta acabar neste projeto é a monitorização de estados dos equipamentos, pois o meu curso é de electrónica e nunca tive base de dados nem programação em php, mas ultimamente tenho "partido pedra" nesta área e já consegui fazer toda a parte de monitorização de consumos assim como carregar todos os dados que preciso para uma base de dados, agora o meu problema prende-se aqui:

Eu tenho registo numa base de dados de 1 em 1segundo do estado de equipamento em que regista a data e hora do mesmo, por exemplo :

2013-08-22 11:47:39
2013-08-22 11:47:40
2013-08-22 11:47:41
2013-08-22 11:47:42
2013-08-22 11:47:43
2013-08-22 11:47:44
2013-08-22 11:47:48
2013-08-22 11:47:49
2013-08-22 11:47:50
2013-08-22 11:47:51
2013-08-22 11:47:52
2013-08-22 11:47:53
2013-08-22 11:47:54
2013-08-22 11:47:55

Esta tabela mostra quando o estado do equipamento é 1 se repararem do segundo 44 até o 48 ele não mostra porque está desliga, agora o que eu gostava de fazer e não sei bem se dá para fazer isso pois tenho falta de conhecimento, era mostrar por exemplo:

o equipamento ligou ás:11:47:39 e desligou ás: 11:47:45

o equipamento ligou ás:11:47:48 e desligou ás: 11:47:55

Agora a minha outra duvida que tenho é se consigo fazer este tratamento de dados com o mysql ou com php, também deixo aqui o codigo em php :

<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');
date_default_timezone_set('Europe/London');
require_once("ligar_bd.php");														
$skl="SELECT * FROM `t_registos2013` where `estado4`=1" ;
$result = mysqli_query($con,$skl);
echo "<table border='1'>
<tr>
<th> Data </th>
<th>Hora </th>
</tr>";
while($dados = mysqli_fetch_array($result)){


echo "<tr>";
echo "<td>" . $dados['data'] . "</td>";
echo "<td>" . $dados['hora'] ."</td>";
echo "</tr>";

}
echo "</table>";

require_once("desligar_bd.php");
?>

Desculpem o tópico longo, e deixo aqui, desde já, o agradecimento por este grupo fantástico, que já me ajudou várias vezes mesmo sem ter pedido ajuda. :)

Editado por leimota

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

faz isso com o php.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
leimota

Pois eu já tentei, algumas ideias em php, mas como o meu conhecimento em php ainda é pior do que mysql, não consigo mesmo desbloquear esta parte, por exemplo eu já tentei fazer um ciclo em que corria os dados que retirava da base dados e tentei fazer o seguinte, ele detectava 1 no estado então pegava na hora e ia varrendo os segundos se o proximo 1 fosse igual ao tempo actual mais 1 segundo quer dizer que estava ligava se houvesse uma interrupção neste tempo é porque ele tinha desligado e mostrava o tempo desligado. Mas depois alem de nem conseguir fazer este passo que nao deve ser muito complicado ainda tem a questão dos segundos e minutos e se tiver muito tempo ligado horas e dias e não sei mesmo como fazer.

Mas como eu disse o meu conhecimento é muito pouco e ainda não consegui fazer um script que funcionasse sequer para mostrar alguma coisa parecida com o que quero, o unico que fiz e que mostra algo é este, por isso se tiver alguma disponibilidade e se interessar em me ajudar, eu agradecia muito.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

Acho que resolver este problema com SQL so' sera' uma perda de tempo, ja' que o MySQL nao e' propriamente uma linguagem de programacao.

Se optares por PHP, e' melhor criares um topico novo na seccao de PHP, assim mais gente podera' ajudar-te.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Convidado
Este tópico está fechado a novas respostas.

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.