Прошивка tasmota через arduino ide
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Download Arduino IDE
It is recommended to use a dedicated standalone version of the IDE allowing easy ESP8266 file manipulation and library management. This can be achieved by downloading the Arduino IDE ZIP file for non admin install.
Install Arduino IDE
- Windows: Unzip the installation file to a known folder.
- Mac: Move the .app file into your Applications folder.
IMPORTANT: For Windows users, before executing arduino.exe add an empty folder called portable in the known folder.
Install ESP8266 Board Definitions
- Remove default compile options for floating point printf and scanf which are not being used by Tasmota and save 15k code space.
- Replace in Arduino IDE folder portable\packages\esp8266\hardware\esp8266\2.6.1 file platform.txt with the Tasmota Source code file arduino\version 2.6.1\platform.txt .
Configure Arduino IDE
Select Tools and verify the following settings for All Tasmota devices.
ESP8266 Board version 2.6.1:
Open Arduino IDE and select file tasmota.ino from your sketchbook\tasmota folder.
Upload Tasmota to Device
Arduino IDE uses the serial interface to upload the firmware to your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc.
In the following commands I use COM5 as an example.
Before using Arduino IDE upload make sure you know to which serial interface name your device is connected to.
Put device in Firmware Upload Mode
When performing a firmware upload do not connect the device to AC but use the power supply provided by your (FTDI type) serial interface.
- Put the device in firmware upload mode by grounding pin GPIO00 while applying power.
Grounding pin GPIO00 can often be achieved by pressing button 1 on the Sonoff device or using a wire between GPIO00 and Gnd if the button is not available. Deviations may apply.
- Connect the serial interface of your PC to the device while GPIO00 to Gnd.
Perform Serial Upload
- Make the correct serial interface selection in the Arduino IDE via Tools - Port: "COM5" .
- Upload the compiled firmware with Sketch - Upload .
NOTE: For a proper device initialization after first firmware upload power down and power up the device.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Download Arduino IDE
It is recommended to use a dedicated standalone version of the IDE allowing easy ESP8266 file manipulation and library management. This can be achieved by downloading the Arduino IDE ZIP file for non admin install.
Install Arduino IDE
- Windows: Unzip the installation file to a known folder.
- Mac: Move the .app file into your Applications folder.
IMPORTANT: For Windows users, before executing arduino.exe add an empty folder called portable in the known folder.
Install ESP8266 Board Definitions
- Remove default compile options for floating point printf and scanf which are not being used by Tasmota and save 15k code space.
- Replace in Arduino IDE folder portable\packages\esp8266\hardware\esp8266\2.6.1 file platform.txt with the Tasmota Source code file arduino\version 2.6.1\platform.txt .
Configure Arduino IDE
Select Tools and verify the following settings for All Tasmota devices.
ESP8266 Board version 2.6.1:
Open Arduino IDE and select file tasmota.ino from your sketchbook\tasmota folder.
Upload Tasmota to Device
Arduino IDE uses the serial interface to upload the firmware to your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc.
In the following commands I use COM5 as an example.
Before using Arduino IDE upload make sure you know to which serial interface name your device is connected to.
Put device in Firmware Upload Mode
When performing a firmware upload do not connect the device to AC but use the power supply provided by your (FTDI type) serial interface.
- Put the device in firmware upload mode by grounding pin GPIO00 while applying power.
Grounding pin GPIO00 can often be achieved by pressing button 1 on the Sonoff device or using a wire between GPIO00 and Gnd if the button is not available. Deviations may apply.
- Connect the serial interface of your PC to the device while GPIO00 to Gnd.
Perform Serial Upload
- Make the correct serial interface selection in the Arduino IDE via Tools - Port: "COM5" .
- Upload the compiled firmware with Sketch - Upload .
NOTE: For a proper device initialization after first firmware upload power down and power up the device.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Download Arduino IDE
It is recommended to use a dedicated standalone version of the IDE allowing easy ESP8266 file manipulation and library management. This can be achieved by downloading the Arduino IDE ZIP file for non admin install.
Install Arduino IDE
- Windows: Unzip the installation file to a known folder.
- Mac: Move the .app file into your Applications folder.
IMPORTANT: For Windows users, before executing arduino.exe add an empty folder called portable in the known folder.
Install ESP8266 Board Definitions
- Remove default compile options for floating point printf and scanf which are not being used by Tasmota and save 15k code space.
- Replace in Arduino IDE folder portable\packages\esp8266\hardware\esp8266\2.6.1 file platform.txt with the Tasmota Source code file arduino\version 2.6.1\platform.txt .
Configure Arduino IDE
Select Tools and verify the following settings for All Tasmota devices.
ESP8266 Board version 2.6.1:
Open Arduino IDE and select file tasmota.ino from your sketchbook\tasmota folder.
Upload Tasmota to Device
Arduino IDE uses the serial interface to upload the firmware to your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc.
In the following commands I use COM5 as an example.
Before using Arduino IDE upload make sure you know to which serial interface name your device is connected to.
Put device in Firmware Upload Mode
When performing a firmware upload do not connect the device to AC but use the power supply provided by your (FTDI type) serial interface.
- Put the device in firmware upload mode by grounding pin GPIO00 while applying power.
Grounding pin GPIO00 can often be achieved by pressing button 1 on the Sonoff device or using a wire between GPIO00 and Gnd if the button is not available. Deviations may apply.
- Connect the serial interface of your PC to the device while GPIO00 to Gnd.
Perform Serial Upload
- Make the correct serial interface selection in the Arduino IDE via Tools - Port: "COM5" .
- Upload the compiled firmware with Sketch - Upload .
NOTE: For a proper device initialization after first firmware upload power down and power up the device.
Системы умного дома с каждым годом становятся все более популярными в современном мире. В данной статье мы рассмотрим одну из перспективных платформ для создания умного дома – под названием Tasmota. Мы рассмотрим основные принципы ее работы и будем загружать ее прошивку (firmware) в микроконтроллер ESP-01 (ESP8266) с помощью платы Arduino. После этого загруженная в ESP-01 прошивка Tasmota будет управлять включением/выключением светодиода и считывать данные с датчика температуры и влажности DHT11.
Ранее на нашем сайте мы уже рассматривали различные проекты автоматизации дома, наиболее популярными среди которых стали следующие проекты:
Основные принципы системы Tasmota
Tasmota поставляется вместе с встроенными драйверами для управления многими популярными датчиками и чипами, такими как, например, продукты Tuya/Smart Life или Wemos D1 Mini. Если ваше устройство не относится к таковым, то Tasmota предоставляет возможность управления и другими устройствами. В Tasmota вы можете создать свою собственную конфигурацию и создать свое собственное устройство при помощи создания своего шаблона.
Кроме того, Tasmota сравнительно мало "весит" и легко устанавливается на различные устройства – сделать это можно одним из нескольких способов. К примеру, вы можете использовать Tasmotizer для загрузки прошивки Tasmota в устройство через последовательный порт или USB. Также для этой цели вы можете использовать ESPTool, который представляет собой скрипт на Python и позволяет загружать прошивку (программное обеспечение) в устройства из таких платформ как Mac, Linux и Raspberry Pi. Также вы можете загружать прошивку в устройства "по воздуху" (over the air) используя технологию OTA.
Теперь рассмотрим что полезного для нашего умного дома сможет сделать платформа Tasmota. Прежде всего, она сможет разблокировать ваши умные устройства, позволяя им взаимодействовать с системами и устройствами, для взаимодействия с которыми они не были изначально предназначены. Все это позволяет объединить все ваши умные устройства в вашем доме в единую платформу. Система Tasmota также может быть интегрирована с любыми платформами поддерживающими MQTT (например, Domoticz), Home Assistant, NodeRed, OpenHAB и т.д.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- Микроконтроллер ESP-01 (ESP8266) (купить на AliExpress).
- Датчик температуры и влажности DHT11 (купить на AliExpress).
- Светодиод (купить на AliExpress).
Загрузка Tasmota в ESP-01
Существует два способа загрузки Tasmota в микроконтроллер ESP-01 – "по воздуху" (over the air, OTA) или с помощью использования платы Arduino Uno в качестве FTDI программатора. В данном проекте мы будем использовать второй способ (на основе платы Arduino Uno).
Для загрузки прошивки Tasmota в микроконтроллер ESP-01 выполните следующую последовательность шагов.
Шаг 1. Скачайте программное обеспечение Tasmota
Шаг 2. Подготовка аппаратного обеспечения
В данном проекте бы будем использовать плату Arduino Uno в качестве программатора для загрузки прошивки в микроконтроллер ESP-01. Схема подключения ESP-01 к плате Arduino Uno для данного случая представлена на следующем рисунке.
В схеме необходимо сделать следующие соединения между ESP-01 и платой Arduino Uno.
ESP-01 | Arduino Uno |
VCC | 3.3V |
GND | GND |
CH-PD | 3.3V |
RX | RX |
TX | TX |
GPIO-0 | GND |
GPIO-2 | не подключен |
RST | первоначально не подключен, перед загрузкой прошивки в микроконтроллер подключите RST на землю и затем через полсекунды отключите его от земли |
Кроме этого, подключите контакт сброса (Reset pin) платы Arduino к земле (GND) чтобы обойти плату Arduino. Это позволит отключить плату Arduino и загружать код напрямую в плату ESP8266. После того как все соединения в схеме будут сделаны, подайте питание на плату Arduino Uno и откройте Arduino IDE. Выберите “Generic ESP8266 Module” в пункте меню Board. Перед тем как нажимать на Upload, нам необходимо загрузить ESP-01 в режиме программирования. Для этого замкните на землю (Ground) контакт RST и затем нажмите на Upload в вашей Arduino IDE.
Шаг 3. Скачивание и установка Tasmotizer
Теперь, когда аппаратное и программное обеспечение нашего проекта готовы, настало время загрузить файлы прошивки в ESP-01 – для этого мы будем использовать инструмент под названием Tasmotizer, который был специально спроектирован для загрузки Tasmota в устройства. Вы можете скачать его самую свежую версию по следующей ссылке. После скачивания произведите его установку.
Шаг 4. Загрузка прошивки в ESP-01
Выберите порт, к которому подключена плата Arduino Uno. Затем выделите файл прошивки Tasmota, который вы скачали ранее. Tasmotizer также предоставляет вам возможность сохранения старой прошивки, которая находится в ESP-01 в данный момент. Если вы хотите сохранить старую прошивку ESP-01, выберите опцию "Save original firmware".
После выбора порта и файла нажмите кнопку ‘Tesmotize!’ и дождитесь завершения процесса записи прошивки в ESP-01.
Шаг 5. Настройте Wi-Fi
После завершения процесса прошивки полностью отсоедините микроконтроллер ESP-01, затем заново подключите его контакты VCC, GND и CH_EN. Когда прошивка Tasmota загрузится в первый раз, она обеспечивает беспроводную точку доступа для осуществления конфигурации Wi-Fi.
Итак, мы загрузили Tasmota в микроконтроллер и настроили ее, теперь настало время добавить умные устройства (smart devices) используя Tasmota Web UI (графический веб-интерфейс пользователя). Для этого сначала определите IP адрес вашего ESP8266 и используйте его чтобы получить доступ к Tasmota UI.
Управление устройствами с помощью Tasmota
Tasmota позволяет вам настраивать и управлять любыми устройствами, которые используют ESP Wi-Fi чип. В нашем проекте мы используем чип ESP-01, будем управлять светодиодом и считывать данные с датчика DHT11. Для этого нам сначала нужно настроить Tasmota – нажмите на кнопку ‘Configuration’ и затем на следующем шаге нажмите на ‘Configure Module.’
На странице конфигурации модуля (‘Configure Module’ page) по умолчанию тип нашего модуля будет определяться как ‘Generic (0)’. Измените его на ‘Generic (18)’ и сохраните изменения.
Снова вернитесь на страницу конфигурации модуля (configure module page) и выберите ‘PWM’ (ШИМ, широтно-импульсная модуляция) чтобы управлять светодиодом на GPIO2 и датчиком DHT11 на GPIO0.
Затем нажмите на кнопку ‘Save’ чтобы сохранить сделанные изменения, после чего модуль ESP-01 начнет перезагрузку. После этого перейдите в главное меню (Main Menu), где вы увидите переключатель (toggle button) со слайдером, с помощью которых вы будете управлять яркостью свечения светодиода и считыванием данных с датчика в вашем Tasmota Web UI (графическом веб-интерфейсе пользователя).
Теперь настало время проверить работу проекта. Подключите светодиод к контакту GPIO2 и датчик DHT11 к контакту GPIO 0 модуля ESP-01 как показано на следующем рисунке.
Если все работает так, как надо, то вы увидите считываемые с датчика DHT11 данные в интерфейсе Tasmota Web UI и вы сможете использовать переключатель чтобы включать/выключать светодиод и слайдер чтобы изменять яркость его свечения.
Очень давно я прикупил себе много (5 штук) модулей Sonoff Basic, с этого я начал свой путь к изучению умного дома.
Но как пришел набор от Xiaomi я задумался о том, что нужно все таки собирать все в одну экосистему и все автоматизировать до нормального уровня.
Не особо нравилось пользоваться 5 приложениями для управления умным домом.
Обыскал весь интернет, кучу инструкций прочитал, но не одна у меня не заработала, может руки кривые, может модули, может и то, и другое.
Понял что прошивать модуль прийдется в любом случае и паяльник в руки все равно прийдется брать.
Ну все это лирика. И мои слова, нужно приступать все таки к инструкции, как я все делал и что и как.
Что потребуется?
Sonoff Basic
Паяльник
Гребенка
Припой или флюс
Кабель Мама-мама
USB to TTL адаптер
Начинаем паять и собирать
Откройте корпус Sonoff и выньте плату.
Положите плату на стол и прикрепите 5 штырьков гребенки, как показано на рисунке ниже.
ВНИМАНИЕ. Убедитесь, что плата не подключена к питанию. На плату не нужно подавать питание через 220В
Правильное подключение следующее:
Красный: 3v3
Зеленый: TXD
Желтый: RXD
Синий: GND
В зависимости от TTL конвертеров если же не получается прошить то поменяйте местами желтый с зеленым проводами
ВНИМАНИЕ. НЕ ПОДКЛЮЧАЙТЕ НИ В КОЕМ СЛУЧАЕ ПИТАНИЕ В 5.5V плата сразу же сгори
На этом подготовительный этап с модулем у нас закончился
Подготовка ПК к прошивке.
ПРИМЕЧАНИЕ: Я все делал на MAC OS X
Скачиваем Arduino 1.6.8 с официального веб-сайта
2. Запускаем Arduino и открываем окно с настройками Файл->Настройки (File->Preferences) или (Arduino->Preferences);
4. Открываем окно с менеджером плат Инструменты -> Плата:* -> Менеджер плат (Tools->Board:*->Board Manager) и устанавливаем платформу esp8266
5. Копируем директорию скаченную с Github в Ваш sketchfolder посмотреть путь можно в Файл -> Настройки -> Размещение папки скетчей (File->Preferences)
6. Настраиваем ARDUINO IDE для заливки прошивки не забудьте выбрать порт Согласно картинке ниже
Теперь можно прошивать наш WiFi выключатель Sonoff через среду Arduino IDE с одной оговоркой — для того чтобы ESP8266 на выключателе Sonoff вошла в режим загрузки кода, необходимо нажать кнопку Setting Switch (единственная кнопка на модуле) и не отпуская эту кнопку вставить USB-TTL конвертер в порт USB, после этого нажать в программе Arduino IDE кнопку Загрузка и только после того как увидите в окне бегущий прогресс загрузки кода, кнопку на Sonoff можно отпустить.
После того, как прошивка окончена, нужно вытащить USB-TTL конвертер и обратно вставить в порт USB, модуль должен заново запуститься, и зеленый светодиод начнет мигать.
- Медленное мигание означает, что он пытается подключиться.
- Быстрое мигание означает, что он запустил точку доступа и портал веб-конфигурации для настройки ваших учетных данных Wi-Fi.
Настройте, сохраните, и модуль должен подключиться к вашей сети WiFi.
По умолчанию установлено, что реле при включении получает положение Выключено и диод на модуле не горит.
Вы можете использовать кнопку на модуле, чтобы сделать следующее:
- короткое нажатие: включение / выключение реле
- 5-20 секунд нажмите: сбросьте учетные данные wifi, которые перезапустит модуль в режиме конфигурации
Проверяем модуль в работе
С прошивкой и настройкой модуля закончили, чтобы поиграться с модулем.
В браузере набираем:
Добавляем модуль в Homebridge
Нужно поставить плагин:
2. Внести в конфигурирования следующие настройки
После перезапуска реле появиться уже в вашем доме как переключатель. Переименовывайте как вам удобно, меняйте тип устройства как вашей душе угодно.
Недостаток у данной прошивки только я один нашел, это нет возможности отследить статут реле в приложении Дом, но в автоматизации отрабатывает на все 100%
Читайте также: