Este manual não pretende ser novo. O texto acima é bastante google (embora em inglês), mas durante muito tempo eu estava procurando por onde começar e decidi ajudar aqueles que embarcam no caminho da comunicação com Sonoff.
Existem muitas análises do Sonoff Basic na Internet, inclusive em russo, e também há artigos sobre como conectá-lo aos sistemas locais Smart Home após a atualização.
Portanto, se você não possui o USB-UART (ainda não é da China) e a unidade Sonoff já está lá e existe um Raspberry Pi, este artigo é para você.
Aqui, se você já tentou encontrar informações sobre como atualizar esta unidade chinesa, percebeu que não pode ficar sem um ferro de soldar. Para começar, é necessário soldar o pente para conectar nossa unidade ao Raspberry Pi.

Em seguida, conectamos o Sonoff Basic (depois de desconectá-lo de 220V) ao Raspberry Pi, como é mostrado na figura (tirei a foto, assim como as informações
aqui , e dou aqui, consequentemente, uma breve tradução).

A primeira coisa a fazer é verificar se você possui uma porta ttyS0.
ls /dev/
Se não estiver lá, mas houver ttyAMA0 (como no artigo acima), isso não significa que está tudo bem com você (lembro que estamos falando sobre o Raspberry Pi 3 b +), porque ttyAMA0 - responsável pelo bluetooth. Isso significa que precisamos entrar nas configurações:
sudo raspi-config
e em "Opções de interface", ative "Serial" e reinicie.
Em seguida, prepare a framboesa:
sudo systemctl stop serial-getty@ttyS0.service sudo systemctl disable serial-getty@ttyS0.service
E edite cmdline.txt, a saber, exclua "console = serial0,115200":
sudo cp /boot/cmdline.txt /boot/cmdline.bak sudo nano /boot/cmdline.txt
Além disso, é recomendável atribuir "enable_uart = 1" logo abaixo (é claro, sem aspas). Para ser sincero, não sei o que acontecerá se isso não for feito.
Em seguida, instale o pip (se necessário) e o esptool.py:
sudo apt-get install python-pip sudo pip install esptool
Reinicie o Raspberry.
Faça o download do firmware (usei o ESPEasy build 120 como uma versão estável, mas em geral tudo também é verdadeiro para outros firmware):
wget http://www.letscontrolit.com/downloads/ESPEasy_R120.zip
Depois de verificar se você está na pasta em que deseja baixar e descompacte o firmware.
unzip ESPEasy_R120.zip
E deve obter uma lista de arquivos:
ESPEasy_R120_1024.bin ESPEasy_R120_512.bin esptool.exe Source ESPEasy_R120_4096.bin ESPEasy_R120.zip flash.cmd
Em seguida, desconecte o Sonoff de 3,3V, segure o botão na placa (existe apenas um botão - não misture), conecte-o a 3,3V.
Fazemos um backup do firmware (e de repente queremos retornar mais tarde, e o firmware é exclusivo para cada bloco).
sudo esptool.py --port /dev/ttyS0 read_flash 0x00000 0x100000 Sonoff_backup_01.bin
Desconecte Sonoff de 3,3V, segure o botão na placa, conecte-se a 3,3V. Nós apagamos a memória:
sudo esptool.py --port /dev/ttyAMA0 erase_flash
Desconecte Sonoff de 3,3V, segure o botão na placa, conecte-se a 3,3V. Firmware (levamos o firmware a 1 MB, a menos que você tenha soldado novamente a memória do seu bloco):
sudo esptool.py --port /dev/ttyS0 write_flash -fm dout 0x0 ESPEasy_R120_1024.bin
Bem, em geral, e isso é tudo, você teve que atualizar seu dispositivo.
Quando o módulo é iniciado pela primeira vez, a rede wifi “ESP_0” e a senha da rede “configesp” aparecerão. Você precisa se conectar a ele, após o qual será redirecionado automaticamente para a página de configurações, onde precisará inserir informações sobre sua rede wifi existente, à qual o sonoff deve ser conectado como um cliente.
Você também pode configurar o wifi com o comando:
sudo miniterm.py /dev/ttyS0 115200 -e
É necessário entrar (sem prestar atenção ao terminal, que ficou furioso depois de entrar no SSID, ou depois de esperar 3 segundos até Sonoff se acalmar):
ssid yourSSID password yourPassword