Flash Tasmota to Sonoff using Raspberry Pi
From KlavoWiki
I'm using a Raspberry Pi to slash the firmware. I find this simplier that using a USB TTY device plus I also have a number of Raspberry Pi's lying around.
Prerquisite
Install PIP
apt install python3-pip sudo pip3 install esptool
Change Config Files
Serial device --> /dev/ttyAMA0
cmdline.txt
vi /boot/cmdline.txt
delete
"console=serial0,115200"
config.txt
vi /boot/config.txt
add
"enable_uart=1"
Flashing
Display Existing
esptool.py --port /dev/serial0 flash_id
Backup
esptool.py --port /dev/serial0 read_flash 0x00000 0x400000 sonoff-image4M-stock.bin
or
esptool.py --port /dev/serial0 read_flash 0x00000 0x100000 sonoff-image1M-stock.bin
Erase
esptool.py --port /dev/serial0 erase_flash
Flash
Here I'm downloading the sonoff.bin file from thehackbox but writing the file as sonoff-6.7.1.bin. At time of download the version has probably changed, so write the file as per the correct version number so you know which version of the file you have.
wget http://thehackbox.org/tasmota/release/sonoff.bin -O /home/pi/Downloads/sonoff-6.7.1.bin
esptool.py --port /dev/serial0 write_flash -fm dout 0x0 /home/pi/Downloads/tosmato-sonoff-6.7.1.bin
Configure
mincom
Minicom is a terminal app to allow connection to the Sonoff over serial so we don't need to connect to the device over Wi-Fi for initial configuration.
minicom -b 115200 -o -D /dev/serial0
backlog ssid1 myssid; password1 mypassword
settings
change the settings as you require.
backlog ipaddress1 10.13.13.238; ipaddress2 10.13.13.254; ipaddress3 255.255.255.0; ipaddress4 8.8.8.8 backlog ntpserver au.pool.ntp.org; timezone +10; Latitude -27.475646; Longitude 153.030499 backlog PowerOnState 1; teleperiod 20; PowerRetain 1 backlog MqttUser username; MqttPassword passw0rd; Topic laundry; FriendlyName laundry; MqttHost 10.13.13.253 module 43
Field | Description |
ipaddress1 | IP address |
ipaddress2 | gateway |
ipaddress3 | IP mask |
ipaddress4 | DNS |
Modules
Number | Descrption |
0 | Generic |
1 | Basic |
4 | TH |
5 | Dual |
43 | Pow R2 |
....and many more.