diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0495887..102a6da 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,7 @@ jobs: run: pip install --upgrade platformio - name: Install ESPTool run: pip install --upgrade esptool - - name: Build PlatformIO Project esp32 + - name: Build PlatformIO Project esp32dev run: | pio run --environment esp32dev mkdir -p release/esp32dev @@ -33,21 +33,21 @@ jobs: - name: Build PlatformIO Project esp32-s3 run: | pio run --environment esp32-s3 - mkdir -p release/esp32-s3 - cp .pio/build/esp32-s3/firmware.bin release/esp32-s3/nuki_hub_esp32s3.bin - cp .pio/build/esp32-s3/partitions.bin release/esp32-s3/nuki_hub.partitions.bin - cp .pio/build/esp32-s3/bootloader.bin release/esp32-s3/bootloader.bin - esptool.py --chip esp32s3 merge_bin -o release/esp32-s3/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 release/esp32-s3/bootloader.bin 0x10000 release/esp32-s3/nuki_hub_esp32s3.bin 0x8000 release/esp32-s3/nuki_hub.partitions.bin - echo "esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x0 bootloader.bin 0x10000 nuki_hub_esp32s3.bin 0x8000 nuki_hub.partitions.bin" > release/esp32-s3/flash.sh + mkdir -p release/esp32s3 + cp .pio/build/esp32-s3/firmware.bin release/esp32s3/nuki_hub_esp32s3.bin + cp .pio/build/esp32-s3/partitions.bin release/esp32s3/nuki_hub.partitions.bin + cp .pio/build/esp32-s3/bootloader.bin release/esp32s3/bootloader.bin + esptool.py --chip esp32s3 merge_bin -o release/esp32s3/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 release/esp32s3/bootloader.bin 0x10000 release/esp32s3/nuki_hub_esp32s3.bin 0x8000 release/esp32s3/nuki_hub.partitions.bin + echo "esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x0 bootloader.bin 0x10000 nuki_hub_esp32s3.bin 0x8000 nuki_hub.partitions.bin" > release/esp32s3/flash.sh - name: Build PlatformIO Project esp32-c3 run: | pio run --environment esp32-c3 - mkdir -p release/esp32-c3 - cp .pio/build/esp32-c3/firmware.bin release/esp32-c3/nuki_hub_esp32c3.bin - cp .pio/build/esp32-c3/partitions.bin release/esp32-c3/nuki_hub.partitions.bin - cp .pio/build/esp32-c3/bootloader.bin release/esp32-c3/bootloader.bin - esptool.py --chip esp32c3 merge_bin -o release/esp32-c3/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 release/esp32-c3/bootloader.bin 0x10000 release/esp32-c3/nuki_hub_esp32c3.bin 0x8000 release/esp32-c3/nuki_hub.partitions.bin - echo "esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x0 bootloader.bin 0x10000 nuki_hub_esp32c3.bin 0x8000 nuki_hub.partitions.bin" > release/esp32-c3/flash.sh + mkdir -p release/esp32c3 + cp .pio/build/esp32-c3/firmware.bin release/esp32c3/nuki_hub_esp32c3.bin + cp .pio/build/esp32-c3/partitions.bin release/esp32c3/nuki_hub.partitions.bin + cp .pio/build/esp32-c3/bootloader.bin release/esp32c3/bootloader.bin + esptool.py --chip esp32c3 merge_bin -o release/esp32c3/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 release/esp32c3/bootloader.bin 0x10000 release/esp32c3/nuki_hub_esp32c3.bin 0x8000 release/esp32c3/nuki_hub.partitions.bin + echo "esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x0 bootloader.bin 0x10000 nuki_hub_esp32c3.bin 0x8000 nuki_hub.partitions.bin" > release/esp32c3/flash.sh - name: Build PlatformIO Project esp32solo1 run: | pio run --environment esp32solo1 @@ -56,7 +56,7 @@ jobs: cp .pio/build/esp32solo1/partitions.bin release/esp32solo1/nuki_hub.partitions.bin cp .pio/build/esp32solo1/bootloader.bin release/esp32solo1/bootloader.bin echo "esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x1000 bootloader.bin 0x10000 nuki_hub_esp32solo1.bin 0x8000 nuki_hub.partitions.bin" > release/esp32solo1/flash.sh - - name: Upload Artifact esp32 + - name: Upload Artifact esp32dev uses: actions/upload-artifact@v4 with: name: esp32-assets @@ -65,14 +65,73 @@ jobs: uses: actions/upload-artifact@v4 with: name: esp32-s3-assets - path: release/esp32-s3 + path: release/esp32s3 - name: Upload Artifact esp32-c3 uses: actions/upload-artifact@v4 with: name: esp32-c3-assets - path: release/esp32-c3 + path: release/esp32c3 - name: Upload Artifact esp32solo1 uses: actions/upload-artifact@v4 with: name: esp32solo1-assets - path: release/esp32solo1 \ No newline at end of file + path: release/esp32solo1 + - name: Build PlatformIO Project esp32dev_dbg + run: | + pio run --environment esp32dev_dbg + mkdir -p debug/esp32dev + cp .pio/build/esp32dev_dbg/bootloader.bin debug/esp32dev/bootloader.bin + cp .pio/build/esp32dev_dbg/firmware.bin debug/esp32dev/nuki_hub_esp32.bin + cp .pio/build/esp32dev_dbg/partitions.bin debug/esp32dev/nuki_hub.partitions.bin + cp .pio/build/esp32dev_dbg/firmware.elf debug/esp32dev/nuki_hub_esp32.elf + esptool.py --chip esp32 merge_bin -o debug/esp32dev/webflash_nuki_hub_esp32.bin --flash_mode dio --flash_freq keep --flash_size keep 0x1000 .pio/build/esp32dev_dbg/bootloader.bin 0x10000 .pio/build/esp32dev_dbg/firmware.bin 0x8000 .pio/build/esp32dev_dbg/partitions.bin + echo "esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x1000 bootloader.bin 0x10000 nuki_hub_esp32.bin 0x8000 nuki_hub.partitions.bin" > debug/esp32dev/flash.sh + - name: Build PlatformIO Project esp32-s3_dbg + run: | + pio run --environment esp32-s3_dbg + mkdir -p debug/esp32s3 + cp .pio/build/esp32-s3_dbg/bootloader.bin debug/esp32s3/bootloader.bin + cp .pio/build/esp32-s3_dbg/firmware.bin debug/esp32s3/nuki_hub_esp32s3.bin + cp .pio/build/esp32-s3_dbg/partitions.bin debug/esp32s3/nuki_hub.partitions.bin + cp .pio/build/esp32-s3_dbg/firmware.elf debug/esp32s3/nuki_hub_esp32s3.elf + esptool.py --chip esp32s3 merge_bin -o debug/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-s3_dbg/bootloader.bin 0x10000 .pio/build/esp32-s3_dbg/firmware.bin 0x8000 .pio/build/esp32-s3_dbg/partitions.bin + echo "esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x0 bootloader.bin 0x10000 nuki_hub_esp32s3.bin 0x8000 nuki_hub.partitions.bin" > debug/esp32s3/flash.sh + - name: Build PlatformIO Project esp32-c3_dbg + run: | + pio run --environment esp32-c3_dbg + mkdir -p debug/esp32c3 + cp .pio/build/esp32-c3_dbg/bootloader.bin debug/esp32c3/bootloader.bin + cp .pio/build/esp32-c3_dbg/firmware.bin debug/esp32c3/nuki_hub_esp32c3.bin + cp .pio/build/esp32-c3_dbg/partitions.bin debug/esp32c3/nuki_hub.partitions.bin + cp .pio/build/esp32-c3_dbg/firmware.elf debug/esp32c3/nuki_hub_esp32c3.elf + esptool.py --chip esp32c3 merge_bin -o debug/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-c3_dbg/bootloader.bin 0x10000 .pio/build/esp32-c3_dbg/firmware.bin 0x8000 .pio/build/esp32-c3_dbg/partitions.bin && \ + echo "esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x0 bootloader.bin 0x10000 nuki_hub_esp32c3.bin 0x8000 nuki_hub.partitions.bin" > debug/esp32c3/flash.sh + - name: Build PlatformIO Project esp32solo1_dbg + run: | + pio run --environment esp32solo1_dbg + mkdir -p debug/esp32solo1 + cp .pio/build/esp32solo1_dbg/bootloader.bin debug/esp32solo1/bootloader.bin + cp .pio/build/esp32solo1_dbg/firmware.bin debug/esp32solo1/nuki_hub_esp32solo1.bin + cp .pio/build/esp32solo1_dbg/partitions.bin debug/esp32solo1/nuki_hub.partitions.bin + cp .pio/build/esp32solo1_dbg/firmware.elf debug/esp32solo1/nuki_hub_esp32solo1.elf + echo "esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0x1000 bootloader.bin 0x10000 nuki_hub_esp32solo1.bin 0x8000 nuki_hub.partitions.bin" > debug/esp32solo1/flash.sh + - name: Upload Artifact esp32dev-debug + uses: actions/upload-artifact@v4 + with: + name: esp32-debug-assets + path: debug/esp32dev + - name: Upload Artifact esp32-s3-debug + uses: actions/upload-artifact@v4 + with: + name: esp32-s3-debug-assets + path: debug/esp32s3 + - name: Upload Artifact esp32-c3-debug + uses: actions/upload-artifact@v4 + with: + name: esp32-c3-debug-assets + path: debug/esp32c3 + - name: Upload Artifact esp32solo1-debug + uses: actions/upload-artifact@v4 + with: + name: esp32solo1-debug-assets + path: debug/esp32solo1 \ No newline at end of file diff --git a/Docker/Dockerfile b/Docker/Dockerfile_cmake similarity index 100% rename from Docker/Dockerfile rename to Docker/Dockerfile_cmake diff --git a/Docker/Dockerfile_pio b/Docker/Dockerfile_pio new file mode 100644 index 0000000..26e7792 --- /dev/null +++ b/Docker/Dockerfile_pio @@ -0,0 +1,45 @@ +FROM eclipse-temurin:11-jdk-jammy AS builder + +RUN set -ex && \ + apt-get update && \ + apt-get install -y git python3 pip && \ + pip install --upgrade platformio && \ + pip install --upgrade esptool + +COPY icon /usr/src/nuki_hub/icon +COPY include /usr/src/nuki_hub/include +COPY lib /usr/src/nuki_hub/lib +COPY networkDevices /usr/src/nuki_hub/networkDevices +COPY partitions.csv /usr/src/nuki_hub +COPY platformio.ini /usr/src/nuki_hub +COPY index.html /usr/src/nuki_hub +COPY *.h /usr/src/nuki_hub/ +COPY *.cpp /usr/src/nuki_hub/ + +RUN set -ex && \ + cd /usr/src/nuki_hub && \ + mkdir -p release/esp32 && \ + mkdir -p release/esp32s3 && \ + mkdir -p release/esp32c3 && \ + mkdir -p release/esp32solo1 && \ + pio run --environment esp32dev && \ + esptool.py --chip esp32 merge_bin -o release/webflash_nuki_hub_esp32.bin --flash_mode dio --flash_freq keep --flash_size keep 0x1000 .pio/build/esp32dev/bootloader.bin 0x10000 .pio/build/esp32dev/firmware.bin 0x8000 .pio/build/esp32dev/partitions.bin && \ + cp .pio/build/esp32dev/bootloader.bin release/esp32/bootloader.bin && \ + cp .pio/build/esp32dev/firmware.bin release/esp32/nuki_hub_esp32.bin && \ + cp .pio/build/esp32dev/partitions.bin release/esp32/nuki_hub.partitions.bin && \ + pio run --environment esp32-s3 && \ + esptool.py --chip esp32s3 merge_bin -o release/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-s3/bootloader.bin 0x10000 .pio/build/esp32-s3/firmware.bin 0x8000 .pio/build/esp32-s3/partitions.bin && \ + cp .pio/build/esp32-s3/bootloader.bin release/esp32s3/bootloader.bin && \ + cp .pio/build/esp32-s3/firmware.bin release/esp32s3/nuki_hub_esp32s3.bin && \ + cp .pio/build/esp32-s3/partitions.bin release/esp32s3/nuki_hub.partitions.bin && \ + pio run --environment esp32-c3 && \ + esptool.py --chip esp32c3 merge_bin -o release/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-c3/bootloader.bin 0x10000 .pio/build/esp32-c3/firmware.bin 0x8000 .pio/build/esp32-c3/partitions.bin && \ + cp .pio/build/esp32-c3/bootloader.bin release/esp32c3/bootloader.bin && \ + cp .pio/build/esp32-c3/firmware.bin release/esp32c3/nuki_hub_esp32c3.bin && \ + cp .pio/build/esp32-c3/partitions.bin release/esp32c3/nuki_hub.partitions.bin && \ + pio run --environment esp32solo1 && \ + cp .pio/build/esp32solo1/bootloader.bin release/esp32solo1/bootloader.bin && \ + cp .pio/build/esp32solo1/firmware.bin release/esp32solo1/nuki_hub_esp32solo1.bin && \ + cp .pio/build/esp32solo1/partitions.bin release/esp32solo1/nuki_hub.partitions.bin + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/Docker/Dockerfile_pio_debug b/Docker/Dockerfile_pio_debug new file mode 100644 index 0000000..09602b3 --- /dev/null +++ b/Docker/Dockerfile_pio_debug @@ -0,0 +1,49 @@ +FROM eclipse-temurin:11-jdk-jammy AS builder + +RUN set -ex && \ + apt-get update && \ + apt-get install -y git python3 pip && \ + pip install --upgrade platformio && \ + pip install --upgrade esptool + +COPY icon /usr/src/nuki_hub/icon +COPY include /usr/src/nuki_hub/include +COPY lib /usr/src/nuki_hub/lib +COPY networkDevices /usr/src/nuki_hub/networkDevices +COPY partitions.csv /usr/src/nuki_hub +COPY platformio.ini /usr/src/nuki_hub +COPY index.html /usr/src/nuki_hub +COPY *.h /usr/src/nuki_hub/ +COPY *.cpp /usr/src/nuki_hub/ + +RUN set -ex && \ + cd /usr/src/nuki_hub && \ + mkdir -p debug/esp32 && \ + mkdir -p debug/esp32s3 && \ + mkdir -p debug/esp32c3 && \ + mkdir -p debug/esp32solo1 && \ + pio run --environment esp32dev_dbg && \ + esptool.py --chip esp32 merge_bin -o debug/webflash_nuki_hub_esp32.bin --flash_mode dio --flash_freq keep --flash_size keep 0x1000 .pio/build/esp32dev_dbg/bootloader.bin 0x10000 .pio/build/esp32dev_dbg/firmware.bin 0x8000 .pio/build/esp32dev_dbg/partitions.bin && \ + cp .pio/build/esp32dev_dbg/bootloader.bin debug/esp32/bootloader.bin && \ + cp .pio/build/esp32dev_dbg/firmware.bin debug/esp32/nuki_hub_esp32.bin && \ + cp .pio/build/esp32dev_dbg/partitions.bin debug/esp32/nuki_hub.partitions.bin && \ + cp .pio/build/esp32dev_dbg/firmware.elf debug/esp32/nuki_hub_esp32.elf && \ + pio run --environment esp32-s3_dbg && \ + esptool.py --chip esp32s3 merge_bin -o debug/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-s3_dbg/bootloader.bin 0x10000 .pio/build/esp32-s3_dbg/firmware.bin 0x8000 .pio/build/esp32-s3_dbg/partitions.bin && \ + cp .pio/build/esp32-s3_dbg/bootloader.bin debug/esp32s3/bootloader.bin && \ + cp .pio/build/esp32-s3_dbg/firmware.bin debug/esp32s3/nuki_hub_esp32s3.bin && \ + cp .pio/build/esp32-s3_dbg/partitions.bin debug/esp32s3/nuki_hub.partitions.bin && \ + cp .pio/build/esp32-s3_dbg/firmware.elf debug/esp32s3/nuki_hub_esp32s3.elf && \ + pio run --environment esp32-c3_dbg && \ + esptool.py --chip esp32c3 merge_bin -o debug/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-c3_dbg/bootloader.bin 0x10000 .pio/build/esp32-c3_dbg/firmware.bin 0x8000 .pio/build/esp32-c3_dbg/partitions.bin && \ + cp .pio/build/esp32-c3_dbg/bootloader.bin debug/esp32c3/bootloader.bin && \ + cp .pio/build/esp32-c3_dbg/firmware.bin debug/esp32c3/nuki_hub_esp32c3.bin && \ + cp .pio/build/esp32-c3_dbg/partitions.bin debug/esp32c3/nuki_hub.partitions.bin && \ + cp .pio/build/esp32-c3_dbg/firmware.elf debug/esp32c3/nuki_hub_esp32c3.elf && \ + pio run --environment esp32solo1_dbg && \ + cp .pio/build/esp32solo1_dbg/bootloader.bin debug/esp32solo1/bootloader.bin && \ + cp .pio/build/esp32solo1_dbg/firmware.bin debug/esp32solo1/nuki_hub_esp32solo1.bin && \ + cp .pio/build/esp32solo1_dbg/partitions.bin debug/esp32solo1/nuki_hub.partitions.bin && \ + cp .pio/build/esp32solo1_dbg/firmware.elf debug/esp32solo1/nuki_hub_esp32solo1.elf + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/Docker/README.md b/Docker/README.md index 17caad5..207f12b 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -1,10 +1,21 @@ -# Build with Docker +# Build with Docker You can build this project using Docker. Just run the following commands in the console: +## Build with PlatformIO (will build for the ESP32, ESP32-S3, ESP32-C3 and ESP32-solo1) ```console -cd Docker -./build_with_docker.sh +git clone https://github.com/technyon/nuki_hub --recursive +cd nuki_hub/Docker +./build_with_docker_pio.sh ``` -once the script is complete you will find the nuki_nub binary in the `nuki_hub/build/release` folder. +once the script is complete you will find the nuki_hub binaries in the `nuki_hub/build_pio` folder. + +## Build with CMake (will only build for the ESP32) +```console +git clone https://github.com/technyon/nuki_hub --recursive +cd nuki_hub/Docker +./build_with_docker_cmake.sh +``` + +once the script is complete you will find the nuki_hub binary in the `nuki_hub/build_cmake` folder. diff --git a/Docker/build_with_docker.sh b/Docker/build_with_docker.sh deleted file mode 100755 index 8ec1712..0000000 --- a/Docker/build_with_docker.sh +++ /dev/null @@ -1,6 +0,0 @@ -set -ex -docker build -f ./Dockerfile -t nuki_hub .. -docker create --name nuki_hub nuki_hub -rm -rf ../build -docker cp nuki_hub:/usr/src/nuki_hub/build/ ../ -docker rm -f nuki_hub diff --git a/Docker/build_with_docker_cmake.sh b/Docker/build_with_docker_cmake.sh new file mode 100755 index 0000000..7f1b43a --- /dev/null +++ b/Docker/build_with_docker_cmake.sh @@ -0,0 +1,6 @@ +set -ex +docker build -f ./Dockerfile_cmake -t nuki_hub_cmake .. +docker create --name nuki_hub_cmake nuki_hub_cmake +rm -rf ../build_cmake +docker cp nuki_hub_cmake:/usr/src/nuki_hub/build/ ../build_cmake +docker rm -f nuki_hub_cmake \ No newline at end of file diff --git a/Docker/build_with_docker_pio.sh b/Docker/build_with_docker_pio.sh new file mode 100755 index 0000000..513a270 --- /dev/null +++ b/Docker/build_with_docker_pio.sh @@ -0,0 +1,6 @@ +set -ex +docker build -f ./Dockerfile_pio -t nuki_hub_pio .. +docker create --name nuki_hub_pio nuki_hub_pio +rm -rf ../build_pio +docker cp nuki_hub_pio:/usr/src/nuki_hub/release/ ../build_pio +docker rm -f nuki_hub_pio diff --git a/Docker/build_with_docker_pio_debug.sh b/Docker/build_with_docker_pio_debug.sh new file mode 100644 index 0000000..8f7c554 --- /dev/null +++ b/Docker/build_with_docker_pio_debug.sh @@ -0,0 +1,6 @@ +set -ex +docker build -f ./Dockerfile_pio_debug -t nuki_hub_pio_dbg .. +docker create --name nuki_hub_pio_dbg nuki_hub_pio_dbg +rm -rf ../build_pio_dbg +docker cp nuki_hub_pio_dbg:/usr/src/nuki_hub/debug/ ../build_pio_dbg +docker rm -f nuki_hub_pio_dbg diff --git a/README.md b/README.md index 8e6f84a..d9519bb 100644 --- a/README.md +++ b/README.md @@ -654,10 +654,41 @@ To prevent this behaviour, unpair Nuki Hub, disable "Register as app", and re-pa Never enable "Register as app" unless you intend to use a Nuki Bridge in addition to Nuki Hub! ## Building from source - Docker (Preferred)
See the [README](/Docker/README.md) in the Docker directory for instructions on building using Docker.

+Platform IO, instructions for Debian-based Linux distro (e.g. Ubuntu)
+```console +apt-get update +apt-get install -y git python3 pip +python3 -m venv .venv +source .venv/bin/activate +pip install --upgrade platformio +pip install --upgrade esptool +git clone https://github.com/technyon/nuki_hub --recursive +cd nuki_hub +mkdir -p release/esp32 +mkdir -p release/esp32s3 +mkdir -p release/esp32c3 +mkdir -p release/esp32solo1 +pio run --environment esp32dev +cp .pio/build/esp32dev/bootloader.bin release/esp32/bootloader.bin +cp .pio/build/esp32dev/firmware.bin release/esp32/nuki_hub_esp32.bin +cp .pio/build/esp32dev/partitions.bin release/esp32/nuki_hub.partitions.bin +pio run --environment esp32-s3 +cp .pio/build/esp32-s3/bootloader.bin release/esp32s3/bootloader.bin +cp .pio/build/esp32-s3/firmware.bin release/esp32s3/nuki_hub_esp32s3.bin +cp .pio/build/esp32-s3/partitions.bin release/esp32s3/nuki_hub.partitions.bin +pio run --environment esp32-c3 +cp .pio/build/esp32-c3/bootloader.bin release/esp32c3/bootloader.bin +cp .pio/build/esp32-c3/firmware.bin release/esp32c3/nuki_hub_esp32c3.bin +cp .pio/build/esp32-c3/partitions.bin release/esp32c3/nuki_hub.partitions.bin +pio run --environment esp32solo1 +cp .pio/build/esp32solo1/bootloader.bin release/esp32solo1/bootloader.bin +cp .pio/build/esp32solo1/firmware.bin release/esp32solo1/nuki_hub_esp32solo1.bin +cp .pio/build/esp32solo1/partitions.bin release/esp32solo1/nuki_hub.partitions.bin +``` +
VMWare image (Not preferred, not using the latest Arduino ESP32 release at this time)
A virtual machine (VMWare image) that is setup to compile Nuki Hub is available for download at:
https://drive.google.com/file/d/1fUVYHDtxXAZOAfQ321iRNIwkqFwuDsBp/view?usp=share_link
diff --git a/platformio.ini b/platformio.ini index 332c71b..dd721bf 100644 --- a/platformio.ini +++ b/platformio.ini @@ -16,7 +16,7 @@ platform = espressif32 framework = arduino build_type = release board_build.partitions = partitions.csv -build_flags = +build_flags = -fexceptions -DTLS_CA_MAX_SIZE=2200 -DTLS_CERT_MAX_SIZE=1500 @@ -32,10 +32,10 @@ build_flags = ; -DDEBUG_NUKI_COMMUNICATION ; -DDEBUG_NUKI_HEX_DATA ; -DDEBUG_NUKI_READABLE_DATA -lib_deps = +lib_deps = monitor_speed = 115200 -monitor_filters = +monitor_filters = esp32_exception_decoder time @@ -48,9 +48,54 @@ board = esp32-c3-devkitc-02 [env:esp32solo1] platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.10.03/platform-espressif32-2023.10.03.zip board = esp32-solo1 -build_flags = +build_flags = ${env.build_flags} -DFRAMEWORK_ARDUINO_SOLO1 [env:esp32-s3] -board = esp32-s3-devkitc-1 \ No newline at end of file +board = esp32-s3-devkitc-1 + +[env:esp32dev_dbg] +extends = env:esp32dev +build_flags = + ${env.build_flags} + -DDEBUG_SENSE_NUKI + -DDEBUG_NUKI_COMMAND + -DDEBUG_NUKI_CONNECT + -DDEBUG_NUKI_COMMUNICATION + -DDEBUG_NUKI_HEX_DATA + -DDEBUG_NUKI_READABLE_DATA + +[env:esp32-s3_dbg] +extends = env:esp32-s3 +build_flags = + ${env.build_flags} + -DDEBUG_SENSE_NUKI + -DDEBUG_NUKI_COMMAND + -DDEBUG_NUKI_CONNECT + -DDEBUG_NUKI_COMMUNICATION + -DDEBUG_NUKI_HEX_DATA + -DDEBUG_NUKI_READABLE_DATA + +[env:esp32-c3_dbg] +extends = env:esp32-c3 +build_flags = + ${env.build_flags} + -DDEBUG_SENSE_NUKI + -DDEBUG_NUKI_COMMAND + -DDEBUG_NUKI_CONNECT + -DDEBUG_NUKI_COMMUNICATION + -DDEBUG_NUKI_HEX_DATA + -DDEBUG_NUKI_READABLE_DATA + +[env:esp32solo1_dbg] +extends = env:esp32solo1 +build_flags = + ${env.build_flags} + -DFRAMEWORK_ARDUINO_SOLO1 + -DDEBUG_SENSE_NUKI + -DDEBUG_NUKI_COMMAND + -DDEBUG_NUKI_CONNECT + -DDEBUG_NUKI_COMMUNICATION + -DDEBUG_NUKI_HEX_DATA + -DDEBUG_NUKI_READABLE_DATA \ No newline at end of file