#!/bin/bash # Script per flashare Tasmota su Go.Comma R9 via seriale # Uso: ./flash.sh [porta] # Default: /dev/ttyUSB0 PORT="${1:-/dev/ttyUSB0}" BAUD=115200 TASMOTA_URL="https://github.com/arendst/Tasmota/releases/download/v14.4.0/tasmota.bin" TASMOTA_FILE="tasmota.bin" echo "=== Flash Tasmota su Go.Comma R9 ===" echo "Porta: $PORT" echo "" # Verifica porta if [ ! -e "$PORT" ]; then echo "ERRORE: $PORT non trovato." echo "Collega USB-UART e verifica con: ls /dev/ttyUSB*" exit 1 fi # Verifica esptool if ! command -v esptool.py &> /dev/null; then echo "esptool.py non trovato. Installo..." pip3 install esptool fi # Verifica connessione echo "Verifico connessione..." esptool.py --port "$PORT" flash_id if [ $? -ne 0 ]; then echo "" echo "ERRORE: connessione fallita. Verifica:" echo " 1. GPIO0 è collegato a GND?" echo " 2. TX↔RX collegati correttamente?" echo " 3. Il telecomando è acceso (con pile)?" exit 1 fi # Scarica Tasmota if [ ! -f "$TASMOTA_FILE" ]; then echo "Scarico Tasmota..." wget "$TASMOTA_URL" -O "$TASMOTA_FILE" fi # Flash echo "Flash in corso..." esptool.py --port "$PORT" --baud "$BAUD" \ write_flash --flash_size=2MB 0x0 "$TASMOTA_FILE" if [ $? -eq 0 ]; then echo "" echo "✓ Flash completato!" echo "1. Rimuovi GPIO0 da GND" echo "2. Spegni e riaccendi il telecomando" echo "3. Connettiti al WiFi 'tasmota-XXXX'" echo "4. Vai a http://192.168.4.1 e configura" else echo "" echo "ERRORE: flash fallito." exit 1 fi