Difference between revisions of "Flash script linux"

From Let's Control It
Jump to navigation Jump to search
(Created page with "To flash an ESP8266 on Linux, you need the esptool as it is shipped with Arduino IDE or as standalone tool, see github [source](https://github.com/igrr/esptool-ck) and [binary...")
 
Line 6: Line 6:
 
* the local directory (with the script and firmware files)
 
* the local directory (with the script and firmware files)
  
<code>
+
<source lang="bash">
 
#!/bin/bash
 
#!/bin/bash
  
Line 68: Line 68:
 
     "$esptoolbin" -vv -cd nodemcu -cb 115200 -cp "$serdev" -ca 0x00000 -cf "$choice"
 
     "$esptoolbin" -vv -cd nodemcu -cb 115200 -cp "$serdev" -ca 0x00000 -cf "$choice"
 
fi
 
fi
</code>
+
</source>

Revision as of 13:55, 26 February 2017

To flash an ESP8266 on Linux, you need the esptool as it is shipped with Arduino IDE or as standalone tool, see github [source](https://github.com/igrr/esptool-ck) and [binary releases](https://github.com/igrr/esptool-ck/releases/).

The following script tries to find the esptool binary

  • in Arduino IDE install paths
  • in a dir of the PATH variable
  • the local directory (with the script and firmware files)

<source lang="bash">

  1. !/bin/bash

selectst="" for i in ESPEasy*bin do selectst="$i $i off $selectst" done

  1. check for esptool

esptoolbin=$(which esptool) if [ ! -x "$esptoolbin" ] ; then if [ -x "./esptool" ] ; then esptoolbin="./esptool" else eardu=$(find $HOME/.arduino15/packages/esp8266/tools/esptool/* -name esptool|sort|tail -1) if [ -x "$eardu" ] ; then echo "found esptool: $eardu" esptoolbin="$eardu" fi fi fi if [ ! -x "$esptoolbin" ] ; then echo "esptool not found, you can link it here or put in \$PATH" exit 2 else echo "using esptool $esptoolbin" fi

read -e -p "serial device, (USB2serial devices: $(ls /dev/ttyUSB*)):" -i "/dev/ttyUSB0" serdev

if [ ! -r "$serdev" ] ; then echo "device '$serdev' does not exist" exit 2 fi

if [ -n "$(which dialog)" ] ; then cmd=(dialog --radiolist "Select firmware" 22 76 16) choice=$("${cmd[@]}" ${selectst} 2>&1 >/dev/tty) else # bash only, do it with an array fa=(ESPEasy_*.bin) cnt=0 nfa=${#fa[*]} while [ $cnt -lt $nfa ] do echo $cnt ${fa[$cnt]}

               ((cnt++))

done read -p "choose number of firmware file to flash [0-$((nfa-1))]: " nsel choice=${fa[$nsel]} if [ ! -f "$choice" ] ; then echo "cannot find file \"$choice\", exiting" exit 2 fi fi

echo "----" read -p "flash $choice? [Y/n]" yn if [ "$yn" != "n" ] ; then

   "$esptoolbin" -vv -cd nodemcu -cb 115200 -cp "$serdev" -ca 0x00000 -cf "$choice"

fi </source>