|
||
---|---|---|
.idea | ||
lib | ||
.gitignore | ||
.travis.yml | ||
ESP32-mqtt-room.ino | ||
LICENSE | ||
README.md | ||
Settings.h | ||
Settings_CI.h | ||
partitions_singleapp.csv | ||
platformio.ini |
README.md
ESP32-mqtt-room
An ESP32 based presence detection node for use with the Home Assistant mqtt_room component for localized device presence detection.
This depends heavily on the hard work done by pcbreflux and nkolban both on GitHub and on their YouTube Channels. Specifically, it is a modified version of pcbreflux's ESP32_BLE_beaconscan.
Getting Started
You can get started by cloning this repository to your local machine using git. Alternatively, you can download the zip. To get the code onto your device, you can load it via the Arduino IDE or, thanks to some great work by kylegordon, you can now build and upload using PlatformIO.
- Make a copy of the
Settings.h
file, and rename itSettings_local.h
. Fill in the required information in your local settings file (the local file is ignored by GitHub, so you won't upload your sensitive information).
Configuration
- Settings are defined in
Settings_local.h
which is not included in the repo by default. Make a copy ofSettings.h
and rename itSettings_local.h
in the same folder. Fill in your required settings.
Build and Upload
- Open the
ESP32-mqtt-room.ino
file in the Arduino IDE, and set the board variant to ESP32. You'll need to use the large partition scheme to get it to fit your board. - Compile and upload. Ensure that you've got all required libraries installed (and do not use the beta version of any of them).
TBC
Future Development Tasks
- Implement basic BLE packet discovery
- Implement iBeacon data packet parsing
- Setup instructions in README.md
- Match configuration options to Room Assistant
- Implement Mi Flora data parsing and reporting
- Whitelist functionality
- Blacklist functionality
- Maximum distance limit
- Scan interval Settings
- Configuration via Web UI
- Wifi Manager for managing access point credentials
- Implement Over-The-Air (OTA) updates
- Build and upload via PlatformIO