diff --git a/ESP32_AP-Flasher/push_ota.sh b/ESP32_AP-Flasher/push_ota.sh new file mode 100755 index 00000000..8afa7792 --- /dev/null +++ b/ESP32_AP-Flasher/push_ota.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +source updateRemote.sh > /dev/null + +if [ -z "$IP" ] + then + echo "ERROR: Empty IP variable" + exit 1 +fi + +if [ -z "$PIOENV" ] + then + echo "ERROR: Empty PIOENV variable" + exit 1 +fi + +md5sum .pio/build/$PIOENV/firmware.bin | tee .pio/build/$PIOENV/firmware.md5 +upload_file .pio/build/$PIOENV/firmware.md5:ota_md5.txt +upload_file .pio/build/$PIOENV/firmware.bin:ota.bin diff --git a/ESP32_AP-Flasher/updateRemote.sh b/ESP32_AP-Flasher/updateRemote.sh new file mode 100755 index 00000000..f79eb419 --- /dev/null +++ b/ESP32_AP-Flasher/updateRemote.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +(return 0 2>/dev/null) && sourced=1 || sourced=0 + +if [ $sourced -eq 0 ]; then + if [ $# -eq 0 ] + then + echo "No IP address provided" + exit 1 + fi + + IP=$1 + + if [ -z "$IP" ] + then + echo "ERROR: Empty IP" + exit 1 +fi +fi +upload_file () { + for file in "$@" + do + split=( $(echo $file | tr ":" " ") ) + echo $split + filename=${split[0]} + if [ -z ${split[1]} ]; then + filepath=$(echo ${filename} | cut -d'/' -f2-) + else + filepath=${split[1]} + fi + echo $filename "-->" $filepath + + curl "http://${IP}/edit" -X POST \ + -H "Origin: http://${IP}" \ + -H 'Connection: keep-alive' \ + -H "Referer: http://${IP}/edit" \ + -F "data=@${filename};filename=\"${filepath}\"" + echo "" + done +} + +export -f upload_file + +if [ $sourced -eq 0 ]; then + export IP + find data -type f -exec bash -c "upload_file {} $IP" \; +else + echo "You can now call " + echo "IP=1.2.3.4 upload_file data/file1.txt data/file2.txt:target.txt" +fi