[SOLVED] How can I send my sensors data from Feather MO Wifi faster?


#1

Hi everyone, I just started to use Ubidots for my school project. My program needs to output a voltage ramp signal and read sensors signal coming in at the same time. It will need to read 510 points of data and send it to Ubidots. However, it takes way too long (about 30 minutes) for the MCU (Feather) to complete one test. I’m not sure if it’s my code or it is because of the speed limits on Education account?

Here is the basic of my program:
Is there a better way to send 510 points faster?

//Create upper ramp voltage reference
      while (vref<255){
        analogWrite(5,vref);
        Serial.print(vref);
        Serial.print("\t");
        
        //Read Voltage sensor values
        sensorValue = analogRead(A0);
        voltage = sensorValue * (5.0/1023.0);
        client.add(VOLTAGE, voltage);
        Serial.print(voltage);
        
        //Read Current sensor values
        currentValue = analogRead(A2);
        current = currentValue * (5.0 / 1023.0);
        client.add(CURRENT, current);
        
        //print out the values you read:
        Serial.print("\t");
        Serial.println(current);
  
        client.sendAll();
        vref++;
        delay(50);


#2

Dear @huanng,

Firstly, I recommend you take a look of all the features that offers the Business License instead of the Educational.

The Educational users can upload 60 dots per minute for all of their devices, that’s means a dot per second. If you desire send multiple data points at the time, you can include the timestamp in the value to be sent increasing it every second. For more information about how to build the request including the timestamp, please reference to the Ubidots REST API Reference.

All the best,
Maria C.