MicroPython library for Xiaomi Mi Flora (aka. flower care) BLE¹ plant sensors
¹ BLE: Bluetooth Low Energy
The library reads the following data from the device:
- firmware version
- battery level
- temperature
- light intensity
- moisture
- conductivity
The sensors' BLE MAC addresses must be supplied by the user in the variable miflora_sensors.
Example:
# MAC addresses of two Mi Flora sensors
miflora_sensors = [
bytes(b'\xC4\x7C\x8D\x66\xA5\x3D'),
bytes(b'\xC4\x7C\x8D\x66\xA4\xD5')
]
The MAC addresses can be found as follows:
- Linux:
$ sudo hcitool lescan
- Android: nRF Connect for Mobile
- Windows 10: Bluetooth LE Explorer
The code was tested with MicroPython V1.15 on ESP32 (build esp32-20210418-v1.15.bin) with Mi Flora Firmware V3.2.2
MicroPython-MiFlora is based on the following code and documentation:
- https://github.com/ChrisScheffler/miflora/wiki/The-Basics
- https://github.com/basnijholt/miflora/blob/master/miflora/miflora_poller.py
- https://docs.micropython.org/en/latest/library/ubluetooth.html
- https://github.com/micropython/micropython/tree/master/examples/bluetooth