From 8b6dbfd9ca6d673911d8f6d8f8b51214383d50c6 Mon Sep 17 00:00:00 2001 From: Arne Zachlod Date: Tue, 25 Feb 2025 17:44:51 +0100 Subject: [PATCH] uOTA firmware update and docker file --- create_firmware_update.sh | 21 +++++++++++++++++++++ docker/docker-compose.yml | 9 +++++++++ docker/nginx.conf | 11 +++++++++++ firmware_update/latest | 1 + uota.cfg | 6 ++++++ version | 1 + 6 files changed, 49 insertions(+) create mode 100755 create_firmware_update.sh create mode 100644 docker/docker-compose.yml create mode 100644 docker/nginx.conf create mode 100644 firmware_update/latest create mode 100644 uota.cfg create mode 100644 version diff --git a/create_firmware_update.sh b/create_firmware_update.sh new file mode 100755 index 0000000..d6dac3b --- /dev/null +++ b/create_firmware_update.sh @@ -0,0 +1,21 @@ +#!/bin/sh + + +if [ -z "$1" ] +then + echo "no argument found, first argument should be version number, e.g.: ./create_firmware_update.sh 3.43.23" + exit 1 +fi + +tar -czf firmware_update/firmware.tar.gz main.py +checksum=$(sha256sum firmware_update/firmware.tar.gz | cut -d ' ' -f 1) + +# write new line into firmware_update/latest file +# example line: +# 2.0.1;firmware.tar.gz;0;8870f8b3bd8b54437f0a7f721cd3f3fe208e60638dcf36a9f4efe31dab58c548 +echo "$1;firmware.tar.gz;0;$checksum" >> firmware_update/latest + +echo "new latest file:" +cat firmware_update/latest + + diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..523b806 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,9 @@ +services: + nginx: + image: nginx:mainline-bookworm + restart: unless-stopped + volumes: + - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro + - /home/arne/hacks/mpy_sdlogger/firmware_update:/data:ro + ports: + - 8090:80 diff --git a/docker/nginx.conf b/docker/nginx.conf new file mode 100644 index 0000000..6f4e71e --- /dev/null +++ b/docker/nginx.conf @@ -0,0 +1,11 @@ +server { + listen 80 default_server; + server_name _; + + client_max_body_size 100M; + + root /data/; + + location = /favicon.ico { access_log off; log_not_found off; } + location = /robots.txt { access_log off; log_not_found off; } +} diff --git a/firmware_update/latest b/firmware_update/latest new file mode 100644 index 0000000..96cb2de --- /dev/null +++ b/firmware_update/latest @@ -0,0 +1 @@ +0.0.1;firmware.tar.gz;0;85cea451eec057fa7e734548ca3ba6d779ed5836a3f9de14b8394575ef0d7d8e diff --git a/uota.cfg b/uota.cfg new file mode 100644 index 0000000..35853da --- /dev/null +++ b/uota.cfg @@ -0,0 +1,6 @@ +{ + 'url': 'https://fw.sorglosinternet.de:8090/sdlogger/', + 'tmp_filename': 'new_fw.tar.gz', + 'excluded_files': [], + 'delete': [], +} diff --git a/version b/version new file mode 100644 index 0000000..8acdd82 --- /dev/null +++ b/version @@ -0,0 +1 @@ +0.0.1