Как стать автором
Обновить

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

Время на прочтение3 мин
Количество просмотров12K
Эта инструкция не претендует на новизну. Приведенное тут вполне гуглится (правда на английском языке), но я долго искал с чего начать и решил помочь тем, кто встает на путь общения с 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
Теги:
Хабы:
+14
Комментарии4

Публикации

Изменить настройки темы

Истории

Ближайшие события