Pull to refresh

Sonoff Basic прошивка через Raspberry Pi

Reading time3 min
Views12K
Эта инструкция не претендует на новизну. Приведенное тут вполне гуглится (правда на английском языке), но я долго искал с чего начать и решил помочь тем, кто встает на путь общения с Sonoff.

Обзоров Sonoff Basic в интернете много в том числе на русском языке, также есть статьи и о том, как подключить его к локальным системам «Умный дом» предварительно перепрошив.
Итак, если у вас нет USB-UART (еще не пришел из Китая), а блок Sonoff уже есть и есть Raspberry Pi, то эта статья для вас.

Здесь, если вы уже пытались найти информацию о том, как прошить этот китайский блок, то поняли, что обойтись без паяльника не получится. Перво наперво, придется припаять гребенку для возможности подключения нашего блока к Raspberry Pi.



Далее, подключаем Sonoff Basic (предварительно отключив от 220В) к Raspberry Pi, так как показано на картинке (Картинку, как и информацию, я взял вот тут, и привожу здесь, соответственно, краткий перевод).



Первое, что нужно сделать, это посмотреть есть ли у вас порт ttyS0.

ls /dev/

Если его нет, а есть ttyAMA0 (как в приведенной статье), то это не значит, что у вас все хорошо (напоминаю, о том, что речь о Raspberry Pi 3 b+), т.к. ttyAMA0 — отвечает за bluetooth. А значит это, что нам нужно зайти в настройки:

sudo raspi-config

и в “Interfacing Options” включить “Serial ”, после чего перезагрузиться.

Далее выполнить подготовку Raspberry:

sudo systemctl stop serial-getty@ttyS0.service
sudo systemctl disable serial-getty@ttyS0.service

И отредактировать cmdline.txt, а именно удалить “console=serial0,115200”:

sudo cp /boot/cmdline.txt /boot/cmdline.bak
sudo nano /boot/cmdline.txt

Кроме того, советуют приписать тут же внизу “enable_uart=1” (конечно без кавычек), честно говоря, не знаю, что будет, если этого не сделать.

Далее устанавливаем pip (если нужно) и esptool.py:

sudo apt-get install python-pip
sudo pip install esptool

Перезагружаем Raspberry.

Скачиваем прошивку (я использовал ESPEasy build 120 как стабильный релиз, но вообще все справедливо и для других прошивок):

wget http://www.letscontrolit.com/downloads/ESPEasy_R120.zip

Предварительно убедившись, что вы находитесь в той папке, в которой бы хотели скачать, а потом разархивировать вашу прошивку.

unzip ESPEasy_R120.zip

И должны получить список файлов:

ESPEasy_R120_1024.bin  ESPEasy_R120_512.bin  esptool.exe  Source
ESPEasy_R120_4096.bin  ESPEasy_R120.zip      flash.cmd

Далее отключаем Sonoff от 3.3V, зажимаем кнопку на плате (кнопка там одна — не перепутаете), подключаем к 3,3V.

Делаем бэкап прошивки (а вдруг нам захочется потом вернуться, а прошивка уникальна для каждого блока).

sudo esptool.py --port /dev/ttyS0 read_flash 0x00000 0x100000 Sonoff_backup_01.bin

Отключаем Sonoff от 3.3V, зажимаем кнопку на плате, подключаем к 3,3V. Стираем память:

sudo esptool.py --port /dev/ttyAMA0 erase_flash

Отключаем Sonoff от 3.3V, зажимаем кнопку на плате, подключаем к 3,3V. Прошиваем (берем прошивку на 1Мб, если вы конечно не перепаивали память вашего блока):

sudo esptool.py --port /dev/ttyS0 write_flash -fm dout 0x0 ESPEasy_R120_1024.bin

Ну, вообщем, и все, вы должны были прошить ваше устройство.

При первоначальном запуске модуля появится wifi сеть «ESP_0», пароль сети “configesp”. К ней нужно подключиться, после чего вы будете автоматически перенаправлены на страницу настроек, где необходимо ввести сведения о Вашей существующей wifi сети, к которой следует подключить sonoff в качестве клиента.

Так же настроить wifi можно командой:

sudo miniterm.py /dev/ttyS0 115200 -e

Необходимо ввести (не обращая внимание на взбесившийся после ввода SSID терминал или подождав 3 секунды, пока Sonoff успокоится):

ssid yourSSID
password yourPassword
Tags:
Hubs:
Total votes 20: ↑17 and ↓3+14
Comments4

Articles