Question for a experienced IoT person.
What is the best practice for dealing with spurious readings from censors?
I’ve been experimenting with Pi and ESP8266 using AM2302, TSL2561, BMP180, and DS18B20.
The DS18B20 (1-wire) is near perfect (less than 1 bad reading on 5760 15 second samples per day), but AM2302 (modified 1-wire) and BMP (i2c) seem to produce dozens of bad reading per day (out of 5760).
So I have tried to the
- read censor twice, and check that they are within 1%
- keep a moving average of last 10 reading and drop any reading outside of 10%, but include it in moving average, in case it is actually correct
So is there another technique or best practice?
I notice the cayenne software that reads the device automatically does not contain bad readings, so they must to located and dropped, or averaged away to keep a smooth curve.