Arduino Yun: Storing Data in Mysql installed on Linino

Hey,

I have a new problem,

My code

#include <Process.h>
 
int sensorPin = 0; //seleciona o PIN analógico em que se mede a tensão


void setup() {//funcao de parameterização que corre uma vez, no inicio do script
  
  Serial.begin(9600);//inicia a comunicação série, para se visualizar os resultados no serial monitor
  Serial.println("Bit \t Tensao (V)");//define o layout de colunas para a comunicação série
  Bridge.begin();//inicia a comunicação bridge, por forma a ligar o processador linux com o atmega

}

void loop() {//funcao de rotina, que corre em loop perpétuamente
  
int reading = analogRead(sensorPin); //efectua a leitura do pin definido na linha 2 numa resolução de 10 bits 2^10=1024
    float tensao = reading * 4.88; //conversão do valor lido em tensão 1024 corresponde a 4.88 V
     tensao /= 1024.0;
     
int tempo = millis();
     
      // guarda o valor lido binario
 Serial.print(tempo);
 Serial.print("\t");
 Serial.print("\t");
 
        Serial.print(reading);//valor da leitura na porta série
         Serial.print("\t");
         Serial.print("\t");
 
        Serial.print(tensao);//valor da tensão na porta série
         Serial.print("\t");
         Serial.print("\n");
  //delayMicroseconds(50);
  delay(1000); //espera 1000 ms e executa novamente a função loop
  //delayMicroseconds(50);
  //insertdb(reading, tensao);//executa a função insertdb com os parametrosm reading e tensao
  Process p;            
    String pin1 = String(reading);//transforma as leituras efectuadas em strings
    String pin2 = String(tensao);//transforma as leituras efectuadas em strings
  
  p.begin("/usr/bin/python");//inicia um processo na linha de comandos linux com o codigo "/usr/bin/python"      
  p.addParameter("/mnt/sda1/mysql.py");// adiciona à linha de comando "/mnt/sda1/mysql.py" resultado root@Arduino:~# /usr/bin/python /mnt/sda1/mysql.py
  p.addParameter(pin1);  // adiciona o parametro 1 a inserir, que vai ser adquirido pela variável " + sys.argv[1] +" em Python
  p.addParameter(pin2); // adiciona o parametro 2 a inserir, que vai ser adquirido pela variável " + sys.argv[2] +" em Python
  p.run();//executa o comando linux
}

With this code, my arduino stores every second the values of reading and tensao in my db.

If i change the delay time to 1, it should store the values every millisecond.

unfortunately it keeps to store the values every second.

How can i solve that?

Best Regards

nlourenco: ... If i change the delay time to 1, it should store the values every millisecond. ...

The bottleneck is bridge speed, try to use 500 ms first, then test speed up?

Thanks.

I'm trying now, to read the values on the serial port.

here goes the code:

float potpin = 0;    //  variavel que define a porta do potenciometro.
int ROW = 0;         // variavel que se refere as linhas do excel
int LABEL = 1;   
int val = 0;               // variavel que guarda o valor lido do potenciometro
void setup(){
Serial.begin(9600);                     //  inicialização da comunicação serial
Serial.println("CLEARDATA");            // Reset da comunicação serial
Serial.println("LABEL,Time,val,tempo,ROW");   // Nomeia as colunas
//Serial.println("val,tempo,ROW");
}
void loop(){
//unsigned long tempo = millis();
unsigned long tempo = micros();
val = analogRead(potpin);   // faz a leitura do potenciometro e guarda o valor em val.
ROW++; // incrementa a linha do excel para que a leitura pule de linha em linha
Serial.print("DATA,TIME,"); //inicia a impressão de dados, sempre iniciando 
Serial.print(val); 
Serial.print(",");
Serial.print(tempo);
Serial.print(",");
Serial.println(ROW);
if (ROW > 512) //laço para limitar a quantidade de dados
{
ROW = 0;
Serial.println("ROW,SET,2"); // alimentação das linhas com os dados sempre iniciando
}
//delay(1);  // espera 200 milisegundos
delayMicroseconds(1);
}

An Example of samples:

tempo valor time id timesplit 18:23:48 1023.00 15324836 1 18:23:48 1023.00 15326028 2 1192 18:23:48 1023.00 15327220 3 1192 18:23:48 1023.00 15328428 4 1208

In time column, it's the time in microseconds.

So the gap between sample 1 and sample 2, is 1192 microseconds, 1.2 milliseconds.

There is any way to take that value down?

Thanks

im taking a chance here, but have gone through the whole forum, and when i run my python script in putty i get a NameError: name 'con' is not defined error, tired everything you mentioned in the comments but its not working

may you please help me out