You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I use the sensor only for presence detection, but had the problem that it always turned false positive because the positioning is not quite perfect. At the top of the image it is always 2 degrees colder than below. An upward setting of the detection temperature has led to the fact that people are no longer detected reliable. "grideye.setFramerate1FPS();" and "grideye.movingAverageEnable();"
helped a bit, but it still triggered from time to time
I was able to solve the whole thing via a one time calibration:
float pixels[total_pixels];
float offset[total_pixels];
bool set_offset=false;
...
void calibrate()
{
set_offset=true;
}
...
if (set_offset==true)
{
for (unsigned char i = 0; i < total_pixels; i++)
{
offset[i]=22-pixels[i];
}
set_offset=false;
}
for (unsigned char i = 0; i < total_pixels; i++)
{
pixel_temperature = pixels[i] + offset[i];
if (i == 0 || pixel_temperature > max)
...
void setup()
{
...
server.on("/calibrate", calibrate);
memset(offset,0,sizeof(offset));
...
With this I can set an offset by calling /calibrate which is then added to each temperature reading. I'm not a programmer and I've picked up my crappy code snippets online. The "22" can probably be replaced by a grideye.getDeviceTemperature().
Maybe someone can turn the stuff into proper code and include it? Since the modification I now get reliable presence detection for days.
This discussion was converted from issue #3 on November 23, 2022 03:57.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I use the sensor only for presence detection, but had the problem that it always turned false positive because the positioning is not quite perfect. At the top of the image it is always 2 degrees colder than below. An upward setting of the detection temperature has led to the fact that people are no longer detected reliable. "grideye.setFramerate1FPS();" and "grideye.movingAverageEnable();"
helped a bit, but it still triggered from time to time
I was able to solve the whole thing via a one time calibration:
With this I can set an offset by calling /calibrate which is then added to each temperature reading. I'm not a programmer and I've picked up my crappy code snippets online. The "22" can probably be replaced by a grideye.getDeviceTemperature().
Maybe someone can turn the stuff into proper code and include it? Since the modification I now get reliable presence detection for days.
Beta Was this translation helpful? Give feedback.
All reactions