If I understand correctly, I can only send 10 request per second on single virtual pin.
But I can send 100 request per second to my device, as long as request number on same pin doesn’t exceed 10 request per second.
So, if I reduce interval of timer handler to 100ms, my device should send 30 request per second. (10 request per second on three virtual pin)
But when I run the code, I couldn’t send 30 request per second because timer doesn’t working correctly due to virtualWrite delay.
As you can see the timestamp in the serial, I can only send 15 request per second.(5 request per second on three virtual pin)
#define BLYNK_TEMPLATE_ID "***"
#define BLYNK_TEMPLATE_NAME "***"
#define BLYNK_FIRMWARE_VERSION "0.1.0"
#define BLYNK_PRINT Serial
#define APP_DEBUG
#include "BlynkEdgent.h"
BlynkTimer timer;
void doVirtualWrite(){
unsigned long start, end;
start = millis();
Blynk.beginGroup();
Blynk.virtualWrite(V0, 1);
Blynk.virtualWrite(V1, 1);
Blynk.virtualWrite(V2, 1);
Blynk.endGroup();
end = millis();
Serial.printf("3 virtualWrite Time - Group: %d\n", end - start);
}
void setup()
{
Serial.begin(115200);
delay(100);
timer.setInterval(100L, doVirtualWrite);
BlynkEdgent.begin();
}
void loop() {
timer.run();
BlynkEdgent.run();
}
19:19:15.981 -> [192]
19:19:15.981 -> ___ __ __
19:19:15.981 -> / _ )/ /_ _____ / /__
19:19:15.981 -> / _ / / // / _ \/ '_/
19:19:15.981 -> /____/_/\_, /_//_/_/\_\
19:19:15.981 -> /___/ v1.3.2 on ESP32
19:19:15.981 ->
19:19:15.981 -> #StandWithUkraine https://bit.ly/swua
19:19:15.981 ->
19:19:16.013 ->
19:19:16.013 -> ----------------------------------------------------
19:19:16.013 -> Device: ***
19:19:16.013 -> Firmware: 0.1.0 (build Nov 23 2023 19:16:41)
19:19:16.013 -> Token: *** - •••• - •••• - ••••
19:19:16.013 -> Platform: ESP32 @ 240MHz
19:19:16.013 -> Chip rev: 3
19:19:16.013 -> SDK: v4.4.6-dirty
19:19:16.013 -> Flash: 4096K
19:19:16.013 -> Free mem: 243212
19:19:16.013 -> ----------------------------------------------------
19:19:16.013 ->
19:19:16.013 -> >[235] INIT => CONNECTING_NET
19:19:16.056 -> 3 virtualWrite Time - Group: 0
19:19:16.056 -> [245] Connecting to WiFi: ***
19:19:17.368 -> [1592] Using Dynamic IP: ***
19:19:17.368 -> [1593] CONNECTING_NET => CONNECTING_CLOUD
19:19:17.414 -> 3 virtualWrite Time - Group: 0
19:19:17.414 -> [1603] Connecting to blynk.cloud:443
19:19:19.264 -> [3451] Certificate OK
19:19:19.669 -> [3864] Ready (ping: 411ms).
19:19:19.747 -> [3933] CONNECTING_CLOUD => RUNNING
19:19:19.951 -> 3 virtualWrite Time - Group: 207
19:19:20.152 -> 3 virtualWrite Time - Group: 209
19:19:20.355 -> 3 virtualWrite Time - Group: 207
19:19:20.574 -> 3 virtualWrite Time - Group: 206
19:19:20.761 -> 3 virtualWrite Time - Group: 207
19:19:20.978 -> 3 virtualWrite Time - Group: 206
19:19:21.197 -> 3 virtualWrite Time - Group: 207
19:19:21.382 -> 3 virtualWrite Time - Group: 207
19:19:21.600 -> 3 virtualWrite Time - Group: 210
19:19:21.818 -> 3 virtualWrite Time - Group: 207
19:19:22.035 -> 3 virtualWrite Time - Group: 209
19:19:22.220 -> 3 virtualWrite Time - Group: 207
19:19:22.436 -> 3 virtualWrite Time - Group: 209
19:19:22.654 -> 3 virtualWrite Time - Group: 207
19:19:22.856 -> 3 virtualWrite Time - Group: 208
19:19:23.058 -> 3 virtualWrite Time - Group: 207
19:19:23.264 -> 3 virtualWrite Time - Group: 206
19:19:23.483 -> 3 virtualWrite Time - Group: 207
19:19:23.653 -> 3 virtualWrite Time - Group: 206
19:19:23.897 -> 3 virtualWrite Time - Group: 208
19:19:24.084 -> 3 virtualWrite Time - Group: 208
19:19:24.304 -> 3 virtualWrite Time - Group: 207
19:19:24.508 -> 3 virtualWrite Time - Group: 207
19:19:24.726 -> 3 virtualWrite Time - Group: 207
19:19:24.929 -> 3 virtualWrite Time - Group: 208
19:19:25.145 -> 3 virtualWrite Time - Group: 205
19:19:25.331 -> 3 virtualWrite Time - Group: 210
19:19:25.561 -> 3 virtualWrite Time - Group: 209
19:19:25.748 -> 3 virtualWrite Time - Group: 207
19:19:25.966 -> 3 virtualWrite Time - Group: 207