In case it is not possible to send data to Blynk claud via WiFi, I use SigFox. It’s great communication.
Data from my device is sent to https://backend.sigfox.com and then by Callback to blynk-cloud.com Everything works correctly. Well, there’s one problem. Data to Blynk is sent in hexadecimal format, max. 12 bytes. That’s why I use Payload and save every bit!
For example: a temperature of -10.5 ° C cannot be sent directly, but I have to recalculate it to a new range. The sensor scans in the range of -40 to 80 ° C and an accuracy of 0.5 is sufficient. The new range will be (80 + 40) /0.5 = 240. So -40 ° C = 0 and 80 ° C = 240. Then the value -10.5 ° C = 59.
(-10.5 + 40) / 0,05 = 59. This way I only occupy 4 bits.
But there is a problem!
This value in BLYNK Widgets cannot be recalculated back to ° C.
Here it is possible to map input 0 - 1023 only to 0-100%.
A mapping function with a resolution of at least two decimal places would be useful here:
map (value, fromLow, fromHigh, toLow, toHigh)
Is there anything you can do about it?