Arduino Yun: Storing Data in Mysql installed on Linino


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(reading);//valor da leitura na porta série
        Serial.print(tensao);//valor da tensão na porta série
  delay(1000); //espera 1000 ms e executa novamente a função loop
  //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/");// adiciona à linha de comando "/mnt/sda1/" resultado root@Arduino:~# /usr/bin/python /mnt/sda1/
  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;//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?


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
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 
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

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?


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