ruuvi / ruuvi.gateway_esp.c

Ruuvi Gateway ESP32 code
BSD 3-Clause "New" or "Revised" License
24 stars 15 forks source link

Edge computing features #50

Open laurijamsa opened 4 years ago

laurijamsa commented 4 years ago

Save bandwidth:

"don't transmit to server if any of the sensor values haven't changed compared to the last transmitted values"

or make reaction time faster with

"if unexpected sensor value changes (for example appended movement counter or a big temperature change), transmit instantly and don't wait until the next scheduled transmit window"

ojousima commented 4 years ago

This requires parsing sensor data from transmissions and probably pretty big UI changes. Marking as 2.0 feature and wontfix for now.

laurijamsa commented 3 years ago

If we'll implement this at some point, it's important to still refresh data every now ant then so that it wouldn't look like that a sensor just died if no new data in a long time.

markoaamunkajo commented 1 year ago

Idea: algorithm that estimates final value

We know RuuviTag mass and response time, value changing with certain velocity, gateway would understand this and send second value that would be estimated end value, which could trigger alert from cloud even though real value was not reached yet

ojousima commented 1 year ago

Idea: algorithm that estimates final value

We know RuuviTag mass and response time, value changing with certain velocity, gateway would understand this and send second value that would be estimated end value, which could trigger alert from cloud even though real value was not reached yet

I would rather implement this on RuuviTag since Gateway does not know what exactly the transmitting device is.

Kalman filtering would be my first idea, but that's not so simple either. Kalman filtering requires some level of understanding of environment to be effective, and we cannot know beforehand if tag is e.g. outdoors, in a sauna, in a freezer, etc.

The filtering would essentially improve on one use-case and make other worse. e.g. if we add detection for tag put in a freezer, the model estimates that environment can change from +20 to -20 in a step. This is not a valid assumption for a tag outside in the balcony, and balcony tag would get really noisy measurements.