Many small embedded systems exist to collect data from sensors, analyze the data, and either take appropriate action or send that sensor data to another system for processing. One of the many challenges of embedded systems design is the fact that parts you used today may be out of production tomorrow, or system requirements may change and you may need to choose a different sensor down the road. Creating new drivers is a relatively easy task, but integrating them into existing systems is both error-prone and time-consuming since sensors rarely use the exact same units of measurement. By reducing all data to a single sensors_event_t 'type' and settling on specific, standardized SI units for each sensor family the same sensor types return values that are comparable with any other similar sensor. This enables you to switch sensor models with very little impact on the rest of the system, which can help mitigate some of the risks and problems of sensor availability.
Features
- Any driver that supports the Adafruit unified sensor abstraction layer will implement the Adafruit_Sensor base class
- This typedef is used to return sensor data from any sensor supported by the abstraction layer, using standard SI units and scales
- Unified Driver Abstraction Layer in Practice
- Every compliant sensor can now be read using a single, well-known 'type' (sensors_event_t)
- Documentation available
- Examples included