As a new user of esp32-ble2mqtt, the toolchain required to build it seemed non-obvious to me. These are my notes on how to get going with it.
You should clone this repo with git clone --recursive path_to_repo
to pull in
matched versions of esp-idf
and esp32-ble2mqtt
. If you didn't do this and
already have a checked out copy, git submodule update --init --recursive
will
do it.
This bit follows https://docs.espressif.com/projects/esp-idf/en/stable/get-started/linux-setup.html
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
mkdir esp
cd esp
tar xvf xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf
virtualenv -p python2 esp-venv
. esp-venv/bin/activate
pip install -r esp-idf/requirements.txt
export PATH="/full/path/to/xtensa-esp32-elf/bin:$PATH"
cd esp32-ble2mqtt
export IDF_PATH=../esp-idf
make
First run with do make menuconfig
in esp-idf. Set Serial flasher config
to
/dev/ttyUSB0 or wherever your ESP32 is connected and Save.
You might get errors about __bswap16()
not being a function. Change it to
__bswap_16()
if you do.
make flash