feat: initial setup for Meshtastic Heltec V4 node, custom CA HTTPS firmware, backups, and tooling

This commit is contained in:
2026-09-07 18:15:58 -07:00
commit f6fe5a1987
17 changed files with 541 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -euo pipefail
PORT="${1:-/dev/cu.usbmodem1101}"
BACKUP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/backups"
TIMESTAMP="$(date +%Y%m%d_%H%M%S)"
TARGET_FILE="${BACKUP_DIR}/nvs_backup_${TIMESTAMP}.bin"
ESPTOOL_BIN="$(which esptool || which esptool.py || echo "${HOME}/.local/bin/esptool.py")"
mkdir -p "$BACKUP_DIR"
echo "Backing up NVS partition (0x9000, 0x5000) to $TARGET_FILE..."
"$ESPTOOL_BIN" --port "$PORT" read_flash 0x9000 0x5000 "$TARGET_FILE"
echo "NVS backup complete: $TARGET_FILE"
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -euo pipefail
PORT="${1:-/dev/cu.usbmodem1101}"
OFFSET="${2:-0x10000}"
BIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/firmware-custom"
BIN_FILE="${BIN_DIR}/firmware-heltec-v4-2.7.26.54e0d8d.bin"
if [[ ! -f "$BIN_FILE" ]]; then
echo "Error: Firmware binary not found at $BIN_FILE" >&2
exit 1
fi
ESPTOOL_BIN="$(which esptool || which esptool.py || echo "${HOME}/.local/bin/esptool.py")"
echo "Flashing $BIN_FILE to $PORT at offset $OFFSET..."
"$ESPTOOL_BIN" --port "$PORT" --baud 921600 write_flash "$OFFSET" "$BIN_FILE"
echo "Flash completed successfully."