Cache fd to avoid open and close system calls

This avoids context switches and shrinks the sensors struct.