Criação de banco de dados, porta digital, ethernet.

Bom dia a todos.

Meu problema é seguinte:
Meu projeto é a elaboração de um detector de raios, os sensores ja estão prontos e fuincionando, cada vez que ocorre um raio o sensor gera um pulso de 5V em uma porta digital.

Gostaria de criar um arquivo .txt ou um banco de dados para gravar o instante exato de cada detecção.

Data, Hora, Minuto, Segundo, se possível até milésimos pois o evento é rápido.

Paralelamente a isto estou desenvolvendo em HTML uma pagina pra me disponibilizar um contador de raios.
Essa parte do contador ja esta OK. Somente nao sei por onde começar pra fazer esse banco de dados com essas informaçoes.

Quem puder me ajudar agradeço.

Onde está a tua página web??

Num servidor Web?
Podes sempre tentar usar um cartão SD com o Arduino para gravar o ficheiro...

Bom dia.
A pagina esta em uma rede local mesmo. Usei o webserver do arduino.
Gostaria de salvar os dados do instante da detecção (data.hora.min e seg) no Pc. Para que outros usuarios da rede pudessem visualizar.

Mas ainda nao sei como disponibilizar isso a cada momento que um pino digital mudar the low para high. E como ir salvando isso em um txt ou em um banco de dados.

Desde ja obrigado.

Primeiro acho que tens de clarificar as fronteiras de cada um dos sistemas...

O Arduino pode usar um cartão SD para guardar ficheiros. Da mesma forma será possível através do módulo Ethernet mandar esses ficheiros para um computador.

O arduino pode mandar esses dados por porta série sempre que acontecer essa mudança, mas não pode mandar isso por ethernet uma vez que necessita de ter o computador ligado a ele para isso acontecer.

Se tiveres um servidor externo, podes sim comunicar com o servidor e ele é que coloca os dados na base de dados do servidor e/ou num ficheiro .txt.

A "fronteira" do meu projeto, a priori é uma rede LAN, sem conexão a internet.

E como eu faço por "porta serial mesmo" para salvar em um .txt com o instante (data, hora, min, seg) de cada ocorrencia de raio?
Sendo que cada ocorrencia é caracterizada por uma mudança de estado de um pino dital de low para High.

Obrigado.

fazes um programa no computador que guarda o que recebe da porta série num ficheiro... :\

Qual programa vc indica pra eu fazer esse programa? o Processing? Phyton?
E vc conhece algum comando para pegar a (data, hora, min e seg) do computador?

Que linguagens de programação sabes?

Eu sei basicamente a linguagem C, que eu uso no arduino.

Ou seja não sabes nenhuma...

Experimenta procurar por um programa de processing que faça isso já que me parece ser a maneira mais simples para o que pretendes.

Ola. Estou programanda no Python. ja dei alguns avanços, como por exemplo ja consegui gerar arquivos com data, hora,min e seg.
Mas ainda nao consegui gerar esses arquivos sincronizados com a porta digital do arduino.
Amanha posto os codigos.

Ola. o Código do Arduino é esse abaixo.

int ledpin = 13;
int inpin = 2;
int val = 0;

void setup()
{
  Serial.begin(9600);
  pinMode(inpin,INPUT);
  pinMode(ledpin,OUTPUT);
}

void loop()
{
  val = digitalRead(inpin);
  if(val == HIGH)
  {
    digitalWrite(ledpin, HIGH);
    Serial.println(1); 
  }
  else 
  {
    digitalWrite(ledpin, LOW);
  }
}

A cada momento que o pino digital 2 for acionado ira piscar O Led na porta 13 e enviar 1 na porta serial.

O codigo em Python é o seguinte

#Banco de dados de Raios em Belém

from datetime import datetime
import serial

porta = "COM9"
velocidade = 9600
conexao = serial.Serial(porta, velocidade);

c = 0

arquivo = open("raios.txt", "a+")

while TRUE:

        
        raio = conexao.read();

        if raio == 1:


            c = c + 1;
     
            data_hora = datetime.today()

            dia = str(data_hora.day)
            mes = str(data_hora.month)
            ano = str(data_hora.year)
            hora = str(data_hora.hour)
            minuto = str(data_hora.minute)
            segundo = str(data_hora.second)
            microseg = str(data_hora.microsecond)
            a = str(c)

#Escreve os dados de HORA, DATA e NR no arquivo

            arquivo.write("DATA: ")
            arquivo.write(dia)
            arquivo.write(" / ")
            arquivo.write(mes)
            arquivo.write(" / ")
            arquivo.write(ano)
            arquivo.write("  ")
            arquivo.write("HORA: ")
            arquivo.write(hora)
            arquivo.write(":")
            arquivo.write(minuto)
            arquivo.write(":")
            arquivo.write(segundo)
            arquivo.write(":")
            arquivo.write(microseg)
            arquivo.write("  ")
            arquivo.write(a)

            arquivo.write("\n-------------------------------\n")


arquivo.close()
conexao.close()

Bem, tenho a variavel c que será meu contador.
A ideia é que a cada momento que for recebido pela serial o 1 o programa ira ler a data e hora atual, incrementar o contador e gravar no .txt.

E o que é que não funciona?

Obviamente que o teu programa precisa dum ciclo qualquer para não teres de andar sempre a iniciá-lo... mas tirando isso, que é que falta?

Ola o problema é que o arquivo .txt ta ficando em branco. ja testei so o arduino e esta funcionando tudo ok.
Creio que o problema seja com o programa no Python

Já experimentaste assim:

  if raio == '1':

??