Ruuvi Gateway Data Volume?

Dear All, in a followup to my “Gateway without internet” thread, I’m wondering about the data volume a gateway with 4 Sensors will use to send to the could over any set period of time? This is kind of important in a low data volume setting - if it’s low enough, I might just be able to keep the data going to the cloud the whole time…

Hunted around here on the forums but couldn’t find a lead.

Cheers,

Randall

Hi @RandallWatson,

The format of data sent to the cloud is described here: HTTP: Time-stamped data from Bluetooth-sensors - docs
Thus, each packet contains 164 bytes of JSON header and 180 bytes of data per sensor. Data is sent to the cloud once per minute.
Also, we can include HTTP overhead in the calculation. HTTP “POST” requests with HTTP headers require 229 bytes, and the HTTP response header is 192 bytes.
Thus, the size of the transmitted data for four sensors:

  • 229 bytes - HTTP POST request
  • 192 bytes - HTTP POST response
  • 164 bytes - JSON header
  • 180 bytes * 4 sensors = 720 bytes - sensors data
    Total: 1305 bytes per minutes = 78 KiB per hour = 1.8 MiB per day
    This calculation does not include the overhead of establishing an HTTPS connection.

Best regards,
Alexey

1 Like

Hi Alexey, thanks that’s a fantastic answer. I had tried a self calculation but had not accounted correctly for request/response steps.

Cheers

R

This is a user statistic of 6 sensors in Gateway range, the SSL / HTTPS connections are biggest part of traffic. The measured traffic was about 12 MB / day.

HI Otso,

Thanks for this. I think this level (esp. with 4 sensors) will still (just) fit inside the limited data volume I have available, so it might yet be more reliable to go this way for regular data transfers. Still need to sftp other data over, but this way I can concentrate on the other parts of the project during the limited remaining time on the ground.

Thanks for your help.

R

I also split() and then slice the Ruuvi data package and only use the parts I need (i.e. temperature) to make the json data as small as possible (and to remove extraneous data).