projects:xiaomi-flora
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
projects:xiaomi-flora [2016/10/31 21:45] – emeryth | projects:xiaomi-flora [2016/11/02 19:35] – emeryth | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Xiaomi Flora Flower | + | ====== Xiaomi Flora Plant Monitor teardown and analysis ====== |
by [[people: | by [[people: | ||
Line 29: | Line 29: | ||
{{: | {{: | ||
+ | ==== Pin header ==== | ||
+ | |||
+ | |2 ???|4 SW_CLK|5 SWDIO|8 GND| | ||
+ | |1 VBATT|3 ???|6 ???|7 GND| | ||
==== Chips on the PCB ==== | ==== Chips on the PCB ==== | ||
Line 62: | Line 66: | ||
**0x0033** - You need to write **0xA01F** to this handle to enable real-time data reading | **0x0033** - You need to write **0xA01F** to this handle to enable real-time data reading | ||
- | **0x0035** - The actual data from the sensors, can be rad only after you enable real-time data, otherwise returns zeros | + | **0x0035** - The actual data from the sensors, can be read only after you enable real-time data, otherwise returns zeros |
Example data frame, values are little-endian | Example data frame, values are little-endian | ||
Line 70: | Line 74: | ||
Notes: | Notes: | ||
- | * Temperature is signed 16-bit value in tenths of degrees C, so 265 means 25.5 °C | + | * Temperature is signed 16-bit value in tenths of degrees C, so 265 means 26.5 °C |
* Light intensity in lux, not sure if 32-bit | * Light intensity in lux, not sure if 32-bit | ||
* Moisture in percent | * Moisture in percent | ||
* Fertility in µS/cm | * Fertility in µS/cm | ||
+ | |||
+ | **0x0036** - writing **0x0100** to this handle will subscribe you to sensor value notifications | ||
+ | |||
Here is a short Python script to get all the interesting data from the device: | Here is a short Python script to get all the interesting data from the device: | ||
Line 100: | Line 107: | ||
print "Soil fertility:", | print "Soil fertility:", | ||
</ | </ | ||
+ | |||
+ | ===== Firmware hacking ===== | ||
+ | |||
+ | I have no interest in changing the firmware, since you can already get all data you need from the original firmware. | ||
+ | |||
+ | But if you really want to know, the device supports OTA firmware update and there is a header with SWD on the PCB, although I was unable to connect with the cpu using OpenOCD. | ||
projects/xiaomi-flora.txt · Last modified: 2020/02/12 16:16 by emeryth