Página 1 de 1

4 Arduinos Salvando dados num Raspberry pi

MensagemEnviado: 20 Nov 2015 17:11
por marcelo campos
Olhem só meu problema:
Tenho num mesmo gabinete 4 Arduinos e 1 Raspberry pi

Estes Arduinos ficam lendo dados de sensores e processando, em seguida geram arquivos pequenos que tem de ser salvos na Raspberry

Minha questão: qual forma prática de enviar dados destes 4 Arduinos pra Rasp. ?
detalhe que não há controle de tempos nem a placa pode esperar: cada arquivo quando pronto deve imediatamente ser enviado; então é o caos, as placas enviando quase que direto em tempos aleatórios.

Alguns requisitos:
- Os Arduinos não podem ser trocados por outra plataforma, te que ser os 4 mesmo
- O Raspberry não pode ler diretamente os sensores

valeu

marcelo


...

Re: 4 Arduinos Salvando dados num Raspberry pi

MensagemEnviado: 20 Nov 2015 19:07
por andre_luis
Seria importante saber se o protocolo possui controle de fluxo para negociar um novo envio do dado perdido, bem como um identificador sequencial do pacote enviado por cada placa. De qualquer modo, eu sugeriria uma multiplexação por divisão de tempo (MDT), onde cada placa só poderia enviar dentro dessa "janela" de tempo arbitrado e obviamente o Raspberry (RB) saberia de quem veio. O preço disso é que teria que ter um sinal adicional físico do RB para regularmente sincronizar os Arduinos com uma fase precisa do Timer atravez de uma interrupção externa.

Re: 4 Arduinos Salvando dados num Raspberry pi

MensagemEnviado: 20 Nov 2015 22:38
por marcelo campos
Nao dá pra fazer Tdma com slots de tempo:quando o Arduino for enviar ele tem de faze-lo naquele momento, no máximo podemos ter um ack, por soft talvez, mas se der Nack e for enviar novamente ele simples e deixara de coletar os próximos dados

Eu estava pensando em cada um ter sua serial por Usb (chip FT232 mesmo) ligado no RPi, se não tiver um jeito melhor

Re: 4 Arduinos Salvando dados num Raspberry pi

MensagemEnviado: 21 Nov 2015 13:09
por andre_luis
Realmente, essa parece ser a melhor solução mesmo, e o mais legal é que cada dado recebido iria gerar instantaneamente uma interrupçao pra tratar imediatamente.

Re: 4 Arduinos Salvando dados num Raspberry pi

MensagemEnviado: 21 Nov 2015 21:14
por cfreund
Um quinto arduino, com 4 portas SPI ou I2C comunicando com os outros arduinos e uma serial ou USB comunicando com a Rasp.

Calcule o clock de forma que seja possível receber dos 4 "slaves" simultaneamente.

Re: 4 Arduinos Salvando dados num Raspberry pi

MensagemEnviado: 22 Nov 2015 07:53
por EDSONCAN
Sugestão:
Usa W5100 em cada arduino.
Abre 4 sockets no raspberry , assim não fica brigando com slot, interrupções e etc.
Fiz uma maquina e tive que fazer isso com 32 sockets e não tive problemas.

Re: 4 Arduinos Salvando dados num Raspberry pi

MensagemEnviado: 22 Nov 2015 08:06
por andre_luis
Confesso que não sei muito no Linux, mas no Windows ao menos o SO permite implementar uma pilha no recebimento, garantindo que não haverá perda dos dados recebidos ainda não tratados.

Re: 4 Arduinos Salvando dados num Raspberry pi

MensagemEnviado: 22 Nov 2015 10:06
por xultz
Que tal conectar todo mundo em RS485 e deixar o Raspi fazendo pooling nos Arduinos? O tempo de pooling é muito grande para os Arduinos esperarem para enviar seus dados? Caso eles possam esperar esse tiquinho de tempo, essa é uma forma muito simples de implementar essa bagaça.