SismoYUN in questo caso alimentata da un comune PowerBank da 1000 mA |
Il suggerimento mi e' venuto leggendo questo post. In pratica Linux puo' leggere i dati di Arduino, Arduino li puo' spedire sulla Serial1 e Linux li puo' leggere su /dev/ttyATH0.
Per fare cio' si deve pero' modificare il file /etc/inittab commentando la linea che setta questa porta seriale e riavviando
questo e' lo sketch Arduino
e' fondamentale la riga in giallo. Se Arduino inizi a sparare dati sulla seriale a Linux mentre questo e' in fase di boot, il boot stesso si blocca in modo irrecuperabile (limite di 50 secondi prima di iniziare ad inviare dati)!!!!
--------------------------------------------
void setup() {
delay(50000);
Serial1.begin(115200);
}
void loop() {
Serial1.print(millis());
Serial1.print(",");
Serial1.print(analogRead(A3));
Serial1.print(",");
delay(10);
Serial1.print(analogRead(A4));
Serial1.print(",");
delay(10);
Serial1.println(analogRead(A5));
delay(10);
}
--------------------------------------------
per la parte Linux i dati sulla seriale li ho letti con Python. Per fare cio' ho usato la libreria Python Serial che non e' disponibile mediante opkg ma deve essere installata manualmente con il setup normale di Python
i dati passati sono il tempo in millisecondi e poi i tre valori di accelerazione. Questi vengono salvati sulla sdcard
--------------------------------------------
#!/usr/bin/python
import serial
ser = serial.Serial('/dev/ttyATH0',115200)
out_file = open("/mnt/sda1/dati_veloci.txt","w")
while True:
lettura = ser.readline()
out_file.write(lettura)
--------------------------------------------
Con queste impostazioni i dati vengono registrati e salvati alla velocita' di circa 30 Hz. Forse passando ad una SdCard di classe 10 (o piu' veloci) le cose possono ancora migliorare ma gia' cosi' il miglioramento e' significativo
Per la presentazione dei dati a Web e' stato utilizzato il sistema precedente modificando leggermente gli script
Con queste impostazioni i dati vengono registrati e salvati alla velocita' di circa 30 Hz. Forse passando ad una SdCard di classe 10 (o piu' veloci) le cose possono ancora migliorare ma gia' cosi' il miglioramento e' significativo
Per la presentazione dei dati a Web e' stato utilizzato il sistema precedente modificando leggermente gli script
Nessun commento:
Posta un commento