Dear friends welcome to another Instructable! Today we are going to learn how to get the data that this Xiaomi Temperature and Humidity monitor transmits using the Bluetooth functionality of the ESP32 board.
As you can see, I am using an ESP32 board and a 2.8 color TFT display. On the display, we display the temperature and the humidity. The cool thing is that I havent connected any sensors to the ESP32 board. I get the temperature and the humidity wirelessly from this commercial Xiaomi Temperature and Humidity monitor. How cool is that! The display on the Xiaomi device is updated every second but I update the display that is connected to the ESP32 board every 10 seconds to conserve power on the Xiaomi device.
This cool Xiaomi temperature and humidity sensor displays the temperature and the humidity on its LCD display and it can also transmit the data to other Xiaomi Devices or apps using the Bluetooth protocol. The devices use a single AAA battery and since it is a commercial product, the battery life of the device is excellent. It can last on a single AAA battery for months, something we cant achieve on our DIY projects. A few weeks ago, I discovered that some clever guys managed to reverse engineer the protocol that Xiaomi uses to transmit the data from the sensor and managed to get that data using an ESP32 board. So I tried it, and as you can see it works!”

Link