Messages per second - Limit

Hello, friends.
I´m working on a project with accelerometer and gyroscope to measure vibrations on motors. I would like to set sampling rate to 100Hz and 200Hz and send data aac x, acc y acc z, gyr x, gyr y, gyr z and temp to Blynk.
What is the limit of messages to Blynk Cloud Server?
Is that feasible?
Thanks in advance for sharing.

The current limit is ~100 req/sec (will be reduced soon based on the user plan). However, usually, devices are not capable of managing this high throughput, so it’s better to use batch updates via HTTP API.

Thanks, @Dmitriy.
Can you send an example of batch update via HTTP API?

Hi, you can find information on the link
https://docs.blynk.io/en/blynk.cloud/batch-update-values

@DimitryPB
How can I do this from hardware side?

You need to form an HTTPS Request. It’s not a part of blynk library.

If you want my opinion, I guess a vibration sensor is better and easier to use.

@Dmitriy , is there a way (function) to get the device auth token?
For WiFi IP I current use:

WiFi.localIP().toString()

I expect to build the http request using Blynk cloud server address + device auth token + pin + value.

May I ask you why would you like to get the auth token using a function ?

I´m using Blynk.Edgent, so I need to get auth token to form the HTTPS GET request from hardware side and update datastreams values.

You can find the auth token in the device info, you don’t need any function.

Indeed, @John93.
But I´m considering mass deployment. I have to build a function to get device auth token after provisioning.

A vibration sensor will only indicate an issue with the motor. Accelerometers can indicate which motor bearing is actually faulty. e.g. a failing thrust bearing will provide different acceleration signature than an axial bearing.

Take a look at the BlynkEdhent.h tab
It prints out some info, including the token…

DEBUG_PRINT(String("Token: ...") + (be configStore.cloudToken+28));

Pete.

@BuildInnovation have you found a solution ?

Hello, Friends.
@PeteKnight , I followed your idea and found a solution.

String url = "https://blynk.cloud/external/api/batch/update?token=";
String serverPath = url + (configStore.cloudToken) + "&v1=" + value1 + "&v2=" + value2 + "&v3=" + value3;

This function (configStore.cloudToken) returns the auth token on Blynk.Edgent structure.
Many thanks.

2 Likes

@Dmitriy ,
I succeeded in send HTTP requests to Blynk Cloud directly from hardware.
Using HTTPS connection I just can send one request every 2sec. I tested HTTP connection and was able to send around 3 requests per sec.
Considering the limitiation, is possible send multiple readings (in sequence) per request for same datastream?
Is there another way to send high frequence readings to Cloud Server?
Thanks.

Can you give example please ?

Yes. But this API is not yet documented. I’ll update the docs when I have time.

@Dmitriy , any chance of share instructions here?
I would like to move forward.
Regards.