Temperature and pressure sensor (Bmx280)
The temperature and pressure sensor on the Rainbow HAT uses the BMP280 chip. A similar component—BME280—has an extra humidity sensor and the driver is designed to work with both chips (hence, the X in the name Bmx280) since both have the same internal protocol. Again, remember that the one in the Rainbow HAT does not include a humidity sensor.
Android Things offers two ways to read data from sensors. The first one is to proactively read a value from the component itself, and the second one is to configure a SensorDriver
that will deliver readings via a listener whenever the values change. This is meant to use the same framework as the sensors on a phone (namely gyroscope, magnetometer, and accelerometer).
Querying the component directly is simpler; it gives all the control and also all the responsibility to us. On the other hand, sensor drivers rely more on the system itself and are more integrated. It is similar to the differences between using Button...