Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cmur2/miflorad
Tools written in Go for interfacing with Xiaomi Flora sensors for IoT use cases.
https://github.com/cmur2/miflorad
bluetooth-le bluetooth-low-energy iot plant-monitoring plants xiaomi xiaomi-flora-sensors
Last synced: 10 days ago
JSON representation
Tools written in Go for interfacing with Xiaomi Flora sensors for IoT use cases.
- Host: GitHub
- URL: https://github.com/cmur2/miflorad
- Owner: cmur2
- License: apache-2.0
- Created: 2018-11-26T19:35:34.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T01:21:49.000Z (3 months ago)
- Last Synced: 2024-10-14T06:14:16.932Z (24 days ago)
- Topics: bluetooth-le, bluetooth-low-energy, iot, plant-monitoring, plants, xiaomi, xiaomi-flora-sensors
- Language: Go
- Homepage: https://mycroba.se/mirror-redirect/miflorad
- Size: 93.8 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# miflorad
![Build Status](https://github.com/cmur2/miflorad/workflows/ci/badge.svg)
This project aims to produce tools written in Go for interfacing with Xiaomi Flora sensors for IoT use cases.
## Misc
If the Intel Wireless Bluetooth 8265 chip gets stuck ([source](https://bbs.archlinux.org/viewtopic.php?id=193813)):
```bash
# pip install pyusb
sudo python utils/reset.py
```The output of `gatttool` listing all characteristics of a Xiaomi Flora sensor (firmware version 2.7.0):
```
$ gatttool -b C4:7C:8D:xx:xx:xx --characteristics
handle = 0x0002, char properties = 0x02, char value handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb
handle = 0x0004, char properties = 0x02, char value handle = 0x0005, uuid = 00002a01-0000-1000-8000-00805f9b34fb
handle = 0x0006, char properties = 0x0a, char value handle = 0x0007, uuid = 00002a02-0000-1000-8000-00805f9b34fb
handle = 0x0008, char properties = 0x02, char value handle = 0x0009, uuid = 00002a04-0000-1000-8000-00805f9b34fb
handle = 0x000d, char properties = 0x22, char value handle = 0x000e, uuid = 00002a05-0000-1000-8000-00805f9b34fb
handle = 0x0011, char properties = 0x1a, char value handle = 0x0012, uuid = 00000001-0000-1000-8000-00805f9b34fb
handle = 0x0014, char properties = 0x02, char value handle = 0x0015, uuid = 00000002-0000-1000-8000-00805f9b34fb
handle = 0x0016, char properties = 0x12, char value handle = 0x0017, uuid = 00000004-0000-1000-8000-00805f9b34fb
handle = 0x0018, char properties = 0x08, char value handle = 0x0019, uuid = 00000007-0000-1000-8000-00805f9b34fb
handle = 0x001a, char properties = 0x08, char value handle = 0x001b, uuid = 00000010-0000-1000-8000-00805f9b34fb
handle = 0x001c, char properties = 0x0a, char value handle = 0x001d, uuid = 00000013-0000-1000-8000-00805f9b34fb
handle = 0x001e, char properties = 0x02, char value handle = 0x001f, uuid = 00000014-0000-1000-8000-00805f9b34fb
handle = 0x0020, char properties = 0x10, char value handle = 0x0021, uuid = 00001001-0000-1000-8000-00805f9b34fb
handle = 0x0024, char properties = 0x0a, char value handle = 0x0025, uuid = 8082caa8-41a6-4021-91c6-56f9b954cc34
handle = 0x0026, char properties = 0x0a, char value handle = 0x0027, uuid = 724249f0-5ec3-4b5f-8804-42345af08651
handle = 0x0028, char properties = 0x02, char value handle = 0x0029, uuid = 6c53db25-47a1-45fe-a022-7c92fb334fd4
handle = 0x002a, char properties = 0x0a, char value handle = 0x002b, uuid = 9d84b9a3-000c-49d8-9183-855b673fda31
handle = 0x002c, char properties = 0x0e, char value handle = 0x002d, uuid = 457871e8-d516-4ca1-9116-57d0b17b9cb2
handle = 0x002e, char properties = 0x12, char value handle = 0x002f, uuid = 5f78df94-798c-46f5-990a-b3eb6a065c88
handle = 0x0032, char properties = 0x0a, char value handle = 0x0033, uuid = 00001a00-0000-1000-8000-00805f9b34fb
handle = 0x0034, char properties = 0x1a, char value handle = 0x0035, uuid = 00001a01-0000-1000-8000-00805f9b34fb
handle = 0x0037, char properties = 0x02, char value handle = 0x0038, uuid = 00001a02-0000-1000-8000-00805f9b34fb
handle = 0x003b, char properties = 0x02, char value handle = 0x003c, uuid = 00001a11-0000-1000-8000-00805f9b34fb
handle = 0x003d, char properties = 0x1a, char value handle = 0x003e, uuid = 00001a10-0000-1000-8000-00805f9b34fb
handle = 0x0040, char properties = 0x02, char value handle = 0x0041, uuid = 00001a12-0000-1000-8000-00805f9b34fb
```## Related Work
- [https://wiki.hackerspace.pl/projects:xiaomi-flora](https://wiki.hackerspace.pl/projects:xiaomi-flora) (very nice teardown)
- [https://github.com/open-homeautomation/miflora](https://github.com/open-homeautomation/miflora) (python library)## Doing a release
Install the [github-release binary](https://github.com/buildkite/github-release) helper somewhere into your path as `github-release`.
You also need a [personal access token](https://github.com/settings/tokens) for your Github account.
The below will create a Github release of `miflorad` based on your current git working copy and create a matching git tag:
```bash
export GITHUB_RELEASE_ACCESS_TOKEN=my-personal-access-token
MIFLORAD_VERSION=x.y.z make release
```## License
miflorad is licensed under the Apache License, Version 2.0. See LICENSE for more information.