- Flashing the NodeMCU firmware on the ESP8266 (Linux) — Guide
- Установка micropython на ESP8266 и работа с ним под Linux (для начинающих)
- Подготовка:
- 1. Восход солнца вручную (с использованием терминала и REPL):
- 2. С использованием IDE
- Итого
- Esptool
- Download Esptool If you do not have an installed copy of Python 2.x or 3.x download and install it from https://www.python.org/. Download Esptool Source code from https://github.com/espressif/esptool/releases to a known folder. Install Esptool Go to the known folder and install Esptool with command python setup.py install . Packages for Esptool are maintained for Debian and Ubuntu and can be installed with sudo apt install esptool . Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder. Upload Tasmota 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. Esptool uses the serial interface to communicate with your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc. Before using Esptool make sure you know to which serial interface name your device is connected to. In the following commands I use COM5 as an example. Optional: Backup firmware Ensure the device is in firmware upload mode. Backup the current firmware with the following command: Erase firmware Ensure the device is in firmware upload mode. Erase the complete flash memory holding the firmware with the following command: NOTE2: It only takes a few seconds to erase 1M of flash. Upload firmware Ensure the device is in firmware upload mode. Load the downloaded Tasmota firmware file tasmota.bin with the following command: NOTE2: For a proper device initialization after first firmware upload power down and power up the device. ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Install Esptool Go to the known folder and install Esptool with command python setup.py install . Packages for Esptool are maintained for Debian and Ubuntu and can be installed with sudo apt install esptool . Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder. Upload Tasmota 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. Esptool uses the serial interface to communicate with your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc. Before using Esptool make sure you know to which serial interface name your device is connected to. In the following commands I use COM5 as an example. Optional: Backup firmware Ensure the device is in firmware upload mode. Backup the current firmware with the following command: Erase firmware Ensure the device is in firmware upload mode. Erase the complete flash memory holding the firmware with the following command: NOTE2: It only takes a few seconds to erase 1M of flash. Upload firmware Ensure the device is in firmware upload mode. Load the downloaded Tasmota firmware file tasmota.bin with the following command: NOTE2: For a proper device initialization after first firmware upload power down and power up the device. ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder. Upload Tasmota 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. Esptool uses the serial interface to communicate with your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc. Before using Esptool make sure you know to which serial interface name your device is connected to. In the following commands I use COM5 as an example. Optional: Backup firmware Ensure the device is in firmware upload mode. Backup the current firmware with the following command: Erase firmware Ensure the device is in firmware upload mode. Erase the complete flash memory holding the firmware with the following command: NOTE2: It only takes a few seconds to erase 1M of flash. Upload firmware Ensure the device is in firmware upload mode. Load the downloaded Tasmota firmware file tasmota.bin with the following command: NOTE2: For a proper device initialization after first firmware upload power down and power up the device. ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Upload Tasmota 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. Esptool uses the serial interface to communicate with your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc. Before using Esptool make sure you know to which serial interface name your device is connected to. In the following commands I use COM5 as an example. Optional: Backup firmware Ensure the device is in firmware upload mode. Backup the current firmware with the following command: Erase firmware Ensure the device is in firmware upload mode. Erase the complete flash memory holding the firmware with the following command: NOTE2: It only takes a few seconds to erase 1M of flash. Upload firmware Ensure the device is in firmware upload mode. Load the downloaded Tasmota firmware file tasmota.bin with the following command: NOTE2: For a proper device initialization after first firmware upload power down and power up the device. ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- 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. Esptool uses the serial interface to communicate with your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc. Before using Esptool make sure you know to which serial interface name your device is connected to. In the following commands I use COM5 as an example. Optional: Backup firmware Ensure the device is in firmware upload mode. Backup the current firmware with the following command: Erase firmware Ensure the device is in firmware upload mode. Erase the complete flash memory holding the firmware with the following command: NOTE2: It only takes a few seconds to erase 1M of flash. Upload firmware Ensure the device is in firmware upload mode. Load the downloaded Tasmota firmware file tasmota.bin with the following command: NOTE2: For a proper device initialization after first firmware upload power down and power up the device. ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Optional: Backup firmware Ensure the device is in firmware upload mode. Backup the current firmware with the following command: Erase firmware Ensure the device is in firmware upload mode. Erase the complete flash memory holding the firmware with the following command: NOTE2: It only takes a few seconds to erase 1M of flash. Upload firmware Ensure the device is in firmware upload mode. Load the downloaded Tasmota firmware file tasmota.bin with the following command: NOTE2: For a proper device initialization after first firmware upload power down and power up the device. ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Erase firmware Ensure the device is in firmware upload mode. Erase the complete flash memory holding the firmware with the following command: NOTE2: It only takes a few seconds to erase 1M of flash. Upload firmware Ensure the device is in firmware upload mode. Load the downloaded Tasmota firmware file tasmota.bin with the following command: NOTE2: For a proper device initialization after first firmware upload power down and power up the device. ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Upload firmware Ensure the device is in firmware upload mode. Load the downloaded Tasmota firmware file tasmota.bin with the following command: NOTE2: For a proper device initialization after first firmware upload power down and power up the device. ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- ESPTOOL Executable (Windows & Linux) The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Download and Install For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX. Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location. Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Download Tasmota Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler) The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool. Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing. Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer) esptool -cp COM3 -cb 115200 -ce -v Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command Источник Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1 Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian USB Adapter UART GPIO0 ESP-01 тут [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > Начнем ! Собственно нам понадобиться прошивка NodeMCU скачиваем P.S можно посетить сайт разработчиков прошивки http://nodemcu.com Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем Для загрузки прошивки придется замкнуть контакты на ESP8266 После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку: python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux. собственно далее наблюдаем сам процесс Connecting. Erasing flash. Writing at 0x00000000. (0 %) Источник Работа с ESP8266: Собираем компилятор и пишем первую прошивку В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат. Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266. Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок. Установка среды сборки Для 32-разрядной Debian (Linux) выполняем: Для 64-разрядной Debian (Linux) выполняем: Далее: USER меняем на логин текущего пользователя. После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше. Добавляем библиотеки libc, libhal и заголовочные файлы в SDK Установка ESP image tool ESP tool можно собрать из исходников, для Linux можно скачать здесь для Debian/Ubuntu здесь Готовый пакет для Ubuntu качаем отсюда Установка ESP upload tool Сборка примеров прошивок Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h» Скачиваем и собираем примеры blinky и basic_example: Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin Скачиваем и собираем пример базовой прошивки AT: Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main после этого прошивку можно собрать командой make Cобираем пример прошивки IoT: Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку MODULES = driver user нужно добавить дополнительные модули, итоговая строка будет выглядеть так MODULES = driver user json ssl upgrade lwip а в строку LIBS = c gcc hal pp phy net80211 lwip wpa main добавить линковку библиотеки json, итоговая строка будет выглядеть так LIBS = c gcc hal pp phy net80211 lwip wpa main json после этого прошивку можно собрать командой make Для того чтобы прошить плату ESP-01 нужно использовать команду make flash Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD. Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash: после подстановки всех аргументов получаем команду прошивки SoC: Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках. На этом рассмотрение сборки компилятора и SDK под Linux закончено. Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок. Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала. Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней. Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux. Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок. Итак приступим: 1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016) 2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64) 3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С. 4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface». 5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016) 6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами. 7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe 8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты. Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку, при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина: Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка ESPPORT ?= COM2 , где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266. Источник
- Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1
- Начнем !
- Работа с ESP8266: Собираем компилятор и пишем первую прошивку
Flashing the NodeMCU firmware on the ESP8266 (Linux) — Guide
I wrote also a windows guide, and most of it is relevant here as well, so make sure you go over it before:
Windows guide
First thing we need is to download the NodeMCU firmware. We do this by downloading one of these BIN files : Download nodemcu latest firmware
After downloading the firmware we need to download a tool that can flash the firmware to the ESP8266: I’ve used esptool, a great tool to flash any firmware on the ESP8266 not just the NodeMCU.
We can do this by downloading the esptool repository from github : The esptool repository
There are two ways to download a repository from github, one is using the download zip button in the middle part of the page at the right side (There is a picture in the windows guide that shows how it looks like)
The other method is using git:
git clone https://github.com/themadinventor/esptool.git
If you don’t have git you can download it using the appropriate command :
List of commands installing git on different distributions
We also need python on our system to run this script with the serial package (it should be installed already but just in case)
After we have all the tools we open a terminal. In the terminal we change the current folder to the path of the esptool folder and enter this command to flash the firmware :
sudo python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 The_Path_To_The_NodeMCU_Firmware.bin
Notice that /dev/ttyUSB0 may change according to the UART you have used and the linux distribution you have chosen.
If you see after a few seconds an output that is similar to this output:
Connecting. Erasing flash.
Writing at 0x00000000. (0 %)
Then everything is OK..
If it doesn’t get to it after a few seconds.. you might have a problem with the connection of the ESP8266 to the UART so check the connection.
By the way, this tool works on windows as well. If you intend to use it consider you’ll need to install WinPython or something else. It seems to me that it would be a more complicated solution. Maybe I’ll add it in the near future.
For more practical use of the ESP8266, this firmware and some lua scripts check the more posts on this blog —
Источник
Установка micropython на ESP8266 и работа с ним под Linux (для начинающих)
Это мой первый опыт с микроконтроллерами в целом, и ESP8266 (в виде Nodemcu v2) в частности. Возможно, для кого-то этот опыт окажется полезным.
Почему именно micropython? Ответ простой — мой скромный опыт в области программирования ограничен Паскалем в ВУЗе, и написанием конфигурационных скриптов для Procera на Python, так что он оказался ближе всего. Примеры будут под Linux (ubuntu 18.04), но, полагаю, в других дистрибутивах Linux принципиальной разницы не будет.
Подготовка:
Ставим python3, pip и picocom, если они ещё не установлены:
Проверяем версию python:
Если версия python 2.7, меняем на 3:
Обновляем pip и проверяем версию:
Ставим более свежую версию esptool 2.8 из pip (т.к. версия 2.1 из репозитория ubuntu выдаёт ошибку «A fatal error occurred: ESP8266 ROM does not support function erase_flash.» при прошивке):
Качаем прошивку здесь. Я использовал stable билд 1.12.
Далее возможно два варианта:
1. Восход солнца вручную (с использованием терминала и REPL):
Очищаем flash на ESP8266:
И, при желании, проверяем корректность контрольной суммы:
После чего, пробуем подключиться к МК и увидеть консоль REPL:
П.С.: для выхода из picocom использовать Ctrl+a и сразу Ctrl+x
2. С использованием IDE
Хотя первый вариант вполне работоспособен (по крайней мере, помигать светодиодом можно и в нём), с IDE все же гораздо удобнее. Я попробовал пару вариантов, в итоге остановился на Thonny.
Ставим python3-tk из репозиториев, и собственно Thonny через pip:
Залить прошивку на МК можно непосредственно через Thonny:
После чего, моргать светодиодом становится существенно удобнее:
Итого
На выходе имеем МК esp8266 с прошитым micropython, и удобную в использовании IDE для работы с ним.
Источник
Esptool
How to setup and configure Esptool for Tasmota upload.
The information below is for the Python version of esptool — If you want to use the Windows/Linux/OSX(MAC) executable version of esptool (as would be included in Arduino ESP8266 cores) then please go to the esptool executable (Windows & Linux) section at the bottom.
Download Esptool
If you do not have an installed copy of Python 2.x or 3.x download and install it from https://www.python.org/.
Download Esptool Source code from https://github.com/espressif/esptool/releases to a known folder.
Install Esptool
Go to the known folder and install Esptool with command python setup.py install .
Packages for Esptool are maintained for Debian and Ubuntu and can be installed with sudo apt install esptool .
Download Tasmota
Download the latest Tasmota release firmware file tasmota.bin to a known folder.
Upload Tasmota 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.
Esptool uses the serial interface to communicate with your device. On Windows these interfaces are named COM1, COM2 etc. On Linux these interfaces are called /dev/ttyUSB0, /dev/ttyUSB1 etc.
Before using Esptool make sure you know to which serial interface name your device is connected to.
In the following commands I use COM5 as an example.
Optional: Backup firmware
Ensure the device is in firmware upload mode.
Backup the current firmware with the following command:
Erase firmware
Ensure the device is in firmware upload mode.
Erase the complete flash memory holding the firmware with the following command:
NOTE2: It only takes a few seconds to erase 1M of flash.
Upload firmware
Ensure the device is in firmware upload mode.
Load the downloaded Tasmota firmware file tasmota.bin with the following command:
NOTE2: For a proper device initialization after first firmware upload power down and power up the device.
ESPTOOL Executable (Windows & Linux)
The executable version of esptool is maintained by Ivan Grokhotkov and releases are kept at https://github.com/igrr/esptool-ck/releases
Download and Install
For the purpose of simplicity only the Windows version will be explained here, but the command and parameters are the same for Windows, Linux and MAC/OSX.
Download the latest release from https://github.com/igrr/esptool-ck/releases and extract the compressed file to a known location.
Download Tasmota
Download the latest Tasmota release firmware file tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler)
If you want features from the current development codebase which has not been included in the last release please download this tasmota.bin to a known folder (The same folder as where you have the esptool executable will work well for this process to be simpler)
The information posted further up in this Wiki for placing the device into bootload / firmware upgrade mode may be followed as this process does not change irrespective whether you use the Python or executable version of esptool.
Once the device is in firmware upload mode the following commands are recommended for completion of the firmware flashing.
Erase the flash completely with the following command (substituting the COM port for the one which was used on your computer)
esptool -cp COM3 -cb 115200 -ce -v
Once the erase is complete, reset your device back into programming mode and then upload the firmware using the following command
Источник
Загрузка прошивки NodeMCU на ESP8266 (OS Linux) Часть 1
Попробую кратко описать процесс заливки в ESP8266 прошивки NodeMCU в OS Linux Debian
USB Adapter UART GPIO0 ESP-01 тут
[admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ > [admitadGoods img_size=’item-img-thumbnail-medium’ img_pos=’img-pull-left’ txt_align=’cpa-text-left’ >
Начнем !
Собственно нам понадобиться прошивка NodeMCU скачиваем
P.S можно посетить сайт разработчиков прошивки http://nodemcu.com
Инструмент с помощью которого будем загружать прошивку. Я выбрал пакет esptool скачиваем
Для загрузки прошивки придется замкнуть контакты на ESP8266
После того, как мы подготовили ESP8266 к прошивке, открываем терминал. В терминале переходим в папку с esptool и вводим эту команду, чтобы залить прошивку:
python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 путь к прошивке NodeMCU_Firmware.bin
Обратите внимание на порт устройства /dev/ttyUSB0 (выполнив команду в терминале tail -f /var/log/messages) он может быть другим в разных дистрибутивах linux.
собственно далее наблюдаем сам процесс
Connecting. Erasing flash.
Writing at 0x00000000. (0 %)
Источник
Работа с ESP8266: Собираем компилятор и пишем первую прошивку
В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат.
Как известно, SoC ESP8266 построен на базе процессора Xtensa LX106 фирмы Tensilica, если кому-то интересно, то в сети есть статья про конфигурируемые процессоры этой фирмы. Компания Espressif предоставляет полную документацию, а так же компилятор и среду разработки для SoC ESP8266 только после подписания партнерского соглашения и не со всеми подряд, на мое письмо они так и не ответили. Немного погуглив можно найти утекший в сеть официальный компилятор, среду разработки, основанную на Eclipse, множество документации и лицензии, но это не наш путь. Мы будем использовать неофициальный компилятор на основе Crosstool-NG
В этой статье я расскажу как собрать компилятор под Ubuntu Linux, а так же мы попробуем написать простейшую прошивку. Основной упор я сделаю на работу с компилятором под Windows, а так же настройку среды Eclipse для написания прошивок для ESP8266.
Часть 1: Сборка компилятора под Ubuntu Linux, настройка SDK, сборка стандартных примеров и прошивок.
Установка среды сборки
Для 32-разрядной Debian (Linux) выполняем:
Для 64-разрядной Debian (Linux) выполняем:
Далее:
USER меняем на логин текущего пользователя.
После этого можно откинуться на спинку кресла минут на 40-50 и попить кофе. Если все завершится без ошибок, то можно двигаться дальше.
Добавляем библиотеки libc, libhal и заголовочные файлы в SDK
Установка ESP image tool
ESP tool можно собрать из исходников,
для Linux можно скачать здесь
для Debian/Ubuntu здесь
Готовый пакет для Ubuntu качаем отсюда
Установка ESP upload tool
Сборка примеров прошивок
Для начала откройте файл /opt/Espressif/ESP8266_SDK/include/osapi.h и закомментируйте строку #include «user_config.h»
Скачиваем и собираем примеры blinky и basic_example:
Если все шаги были сделаны правильно, то сборка пройдет без ошибок и в каталоге firmware появятся 2 файла прошивки 0x00000.bin и 0x40000.bin
Скачиваем и собираем пример базовой прошивки AT:
Для правильной сборки AT прошивки необходимо отредактировать базовый Makefile в строке
LIBS = c gcc hal pp phy net80211 lwip wpa main
добавить линковку библиотеки upgrade, итоговая строка будет выглядеть так
LIBS = c gcc hal pp phy net80211 lwip wpa upgrade main
после этого прошивку можно собрать командой make
Cобираем пример прошивки IoT:
Так же как и для AT прошивки, для правильной сборки IoT прошивки необходимо отредактировать базовый Makefile в строку
MODULES = driver user
нужно добавить дополнительные модули, итоговая строка будет выглядеть так
MODULES = driver user json ssl upgrade lwip
а в строку
LIBS = c gcc hal pp phy net80211 lwip wpa main
добавить линковку библиотеки json, итоговая строка будет выглядеть так
LIBS = c gcc hal pp phy net80211 lwip wpa main json
после этого прошивку можно собрать командой make
Для того чтобы прошить плату ESP-01 нужно использовать команду make flash
Не забываем, что для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD.
Чтобы понять, что делает make flash стоит открыть любой Makefile и найти строку flash:
после подстановки всех аргументов получаем команду прошивки SoC:
Формат файла прошивки, собственно и как протокол обмена можно почитать тут на русском или здесь на английском языках.
На этом рассмотрение сборки компилятора и SDK под Linux закончено.
Часть 2: Установка компилятора под Windows, настройка SDK, сборка стандартных примеров и прошивок.
Т.к. моя основная ОС под которой я работаю 90% времени это Windows, то разработка в Linux меня не сильно интересовала.
Ниже я расскажу, как установить и настроить компилятор и SDK в Windows, а так же как настроить среду разработки Eclipse для комфортной разработки прошивок в ней.
Рассматривать процесс сборки компилятора под Windows я не буду, т.к. это довольно сложная процедура, она намного сложнее сборки в Linux.
Дабы избавить Вас от всех тонкостей и нюансов, я подготовил рабочий комплект Espressif DevKit, включающий в себя компилятор, последнюю версию SDK, стандартные примеры прошивок, а так же мои собственные примеры прошивок.
Итак приступим:
1. Cкачиваем (148Mb) и устанавливаем мой комплект Espressif-ESP8266-DevKit-v2.2.1-x86.exe (актуален на 15.11.2016)
2. Скачиваем и устанавливаем Java Runtime x86 или x64 (Например: jre-8u111-windows-x64.exe для Windows x64)
3. Скачиваем и устанавливаем Eclipse Neon x86 или Eclipse Neon x64 для разработки на С++. Распаковываем архив в корень диска С.
4. Скачиваем и устанавливаем MinGW. Запускаем mingw-get-setup.exe, в процессе установки выберите режим без GUI, то есть уберите галочку «. also install support for the graphical user interface».
5. Скачиваем набор моих скриптов для автоматизации установки доп.модулей для MinGW. (актуален на 15.10.2016)
6. Запустите из моего набора файл install-mingw-package.bat. Он скачает с моего сайта закэшированые архивы пакетов для mingw, примерно 90 Mb и установит основные модули для MinGW. Скачивание заранее готового набора файлов пакетов для MinGW гарантирует, что все они будут установлены, иногда сервера, где лежат пакеты MinGW становятся недоступными и необходимые пакеты не ставятся и поэтому сборка прошивок может проходить с разного рода фокусами.
7. Запустите Eclipse из каталога c:\eclipse\eclipse.exe
8. В Eclipse выберите меню File -> Import -> General -> Existing Project into Workspace, в строке Select root directory выберите каталог C:\Espressif\examples\ESP8266 и импортируйте рабочие проекты.
Далее справа в Make Target выберите нужный проект, например hello-world и запустите цель all на сборку,
при этом в окне Console должен отобразиться ход сборки, если все сделано правильно, то будет примерно такая картина:
Это значит, что прошивка для ESP8266 собрана и находится в каталоге C:\Espressif\examples\hello-world\firmware
Для прошивки ESP8266 используйте цель flash, предварительно отредактировав файл сборки проекта Makefile, строка
ESPPORT ?= COM2
, где после COM цифра 2 указывает номер COM-порта к которому подключена плата с ESP8266.
Источник