Миниатюрные WiFi модули ESP8266 довольно привлекательны для систем умного дома и домашней автоматизации. Их еще называют «убийцами NRF24L01».
Я себе заказал продвинутые модификации ESP07 и ESP12, которые отличаются меньшими размерами и большим числом выведенных GPIO, что не требует «хаков» для использования в них дополнительных портов ввода/вывода.
Данный модули разработаны китайской компанией Espressif System
Прикупить ESP8266 ES07 с платками по $2.18 сейчас можно на АЛИ
Про модификации модулей ESP8266 можно прочитать здесь
ESP07 (слева) отличается от ESP12 (справа) интегрированной керамической антенной и гнездом под внешнюю антенну
По распиновке контактов модули абсолютно идентичны
Размеры модуля очень маленькие
Оживление модуля заняло довольно много времени
Для этого нужно подать на него 3. 3В. Причем стабилизаторы у преобразователей USB/UART не тянут данный модуль по току, поэтому питание нужно внешнее.
RXD, TXD и GND подсоединяются через переходник USB/UART к компьютеру.
В результате собрал на макетке такую схему
Здесь сразу столкнулся со следующей сложностью — шаг дырочек у ESP07 — 2мм, а не 2.5 как у штырьковых разъемов, применяемых в Ардуино и прочих местах. Пришлось к макетке паять на проволочках
Получилась такая платка
Сразу забегая вперед, скажу, что в дальнейшем для этих модулей прикупил платок-адаптеров.
После сборки запустил программу CollTerm и на скорости 9600 получил приглашение модуля.
Команда AT+GMR выдала 0020000904 (Версия SDK — 0020, в версия AT — 0903)
Далее побаловавшись с AT командами запустил модуль как точку доступа и подключился к своей.
Далее интересно было попробовать модуль в режиме самостоятельного контроля. Для этого решил прошить его NodeMCU со встроенным интерпретатором LUA.
Я загрузил ModeMCU с GITHUB вместе с примерами и модулями на LUA
Прошивку делал утилитой XTCOM_UTIL. Так как данная программа работает только с COM1-COM6, пришлось в диспетчере устройств изменить свой COM33 от USB/UART конвертера на COM6.
Далее прошивка не представляет труда: открываем порт и коннектимся. Скорость выбирается автоматически. Главное, не забыть посадить GPIO0 на землю (у меня для этого есть специальная перемычка). Скорость выбирается автоматически. Иногда коннект не устанавливался. Помогало нажатие кнопки RESET во время коннекта.
Теперь можно подключиться к модулю при помощи ESPlorer
В данной программе можно загружать в ESP файлы для интерпретатора LUA, выполнять как одиночные команды так и скрипты этого интерпретатора.
У меня получилось запустить модуль давления/температуры BMP180, подключенный к GPIO2 и GPIO0
Для этого я загрузил файл bmp180. lua из готовых модулей, идущих вместе с прошивкой с GITHUB
И затем файл init.lau, выполняемый при загрузке ESP8266
tmr.alarm(1, 5000, 1, function()
print('ip: ',wifi.sta.getip())
bmp180 = require("bmp180")
bmp180.init(4, 3)
tmr.stop(1) -- alarm stop
end)
Запуск программы без задержки таймера приводил к неизменной ошибке.
После рестарата, код
<span> bmp180</span><span>.</span><span>read</span><span>(</span><span>OSS</span><span>)</span><span> t </span><span>=</span><span> bmp180</span><span>.</span><span>getTemperature</span><span>()</span><span> p </span><span>=</span><span> bmp180</span><span>.</span><span>getPressure</span><span>()</span> <span>—</span><span> temperature </span><span>in</span><span> degrees </span><span>Celsius</span><span> </span><span>and</span> <span>Farenheit</span> <span>print</span><span>(</span><span>»Temperature: «</span><span>.
.(</span><span>t</span><span>/</span><span>10</span><span>).</span><span>.</span><span>» C»</span><span>)</span> <span>—</span><span> pressure </span><span>in</span><span> differents units </span><span>print</span><span>(</span><span>»Pressure: «</span><span>..(</span><span>p </span><span>*</span> <span>75</span> <span>/</span> <span>10000</span><span>).</span><span>.</span><span>» mmHg»</span><span>)</span>
1
2
3
4
5
6
7
8
9
<span>
bmp180</span><span>.</span><span>read</span><span>(</span><span>OSS</span><span>)</span><span>
t </span><span>=</span><span> bmp180</span><span>.
</span><span>getTemperature</span><span>()</span><span>p </span><span>=</span><span> bmp180</span><span>.</span><span>getPressure</span><span>()</span>
<span>—</span><span> temperature </span><span>in</span><span> degrees </span><span>Celsius</span><span> </span><span>and</span> <span>Farenheit</span>
<span>print</span><span>(</span><span>»Temperature: «</span><span>..(</span><span>t</span><span>/</span><span>10</span><span>).</span><span>.</span><span>» C»</span><span>)</span>
<span>—</span><span> pressure </span><span>in</span><span> differents units
</span><span>print</span><span>(</span><span>»Pressure: «</span><span>. .(</span><span>p </span><span>*</span> <span>75</span> <span>/</span> <span>10000</span><span>).</span><span>.</span><span>» mmHg»</span><span>)</span>
<span> Выдавал в консоль текущее давление и температуру. </span>
<span>
Выдавал в консоль текущее давление и температуру. </span> |
А вот запустить выдачу данных параметров в режиме веб-сервера мне не удалось. Все дело в нехватки памяти. Отдельно веб сервер и BMP180 работали, а вместе вываливались в
<span> PANIC</span><span>:</span><span> unprotected error </span><span>in</span><span> call to </span><span>Lua</span><span> API </span><span>(</span><span>error loading </span><span>module</span> <span>’bmp180′</span> <span>from</span><span> file </span><span>’bmp180. lua'</span><span>:</span> <span>not</span><span> enough memory</span><span>)</span>
<span>
PANIC</span><span>:</span><span> unprotected error </span><span>in</span><span> call to </span><span>Lua</span><span> API </span><span>(</span><span>error loading </span><span>module</span> <span>’bmp180′</span> <span>from</span><span> file </span><span>’bmp180.lua'</span><span>:</span> <span>not</span><span> enough memory</span><span>)</span>
Или просто на консоль валились обрывки кода LUA.
Модернизировать свою домашнюю метеостанцию с ходу не получилось.
Дальнейший мой путь был, собирать свою прошивку на фирменном SDK, как написано в этой статье . Но это уже другая история. Скажу только, что прошивки собираются без проблем, а вот запустить злополучный BMP180 так и не удалось.
Полезные ссылки и литература
Кот попался, пока возился с макрофотографиями
ESP8266 — микроконтроллер китайского производителя Espressif Systems с интерфейсом Wi-Fi. Помимо Wi-Fi, микроконтроллер отличается отсутствием флеш-памяти в SoC, программы пользователя исполняются из внешней флеш-памяти с интерфейсом SPI.
Микроконтроллер привлек внимание в 2014 году в связи с выходом первых продуктов на его базе по необыкновенно низкой цене.
Весной 2016 года началось производство ESP8285, совмещающей ESP8266 и флеш-память на 1 МБайт. Осенью 2015 года Espressif представила развитие линейки — микросхему ESP32 и модули на её основе.
Микроконтроллер не имеет на кристалле пользовательской энергонезависимой памяти. Исполнение программы ведется из внешней SPI ПЗУ путём динамической подгрузки требуемых участков программы в кэш инструкций. Подгрузка идет аппаратно, прозрачно для программиста. Поддерживается до 16 МБ внешней памяти программ. Возможен Standard, Dual или Quad SPI интерфейс.
Производитель не предоставляет документации на внутреннюю периферию микроконтроллера. Вместо этого он дает набор библиотек, через API которых программист получает доступ к периферии. Поскольку эти библиотеки интенсивно используют ОЗУ контроллера, то производитель в документах не указывает точное количество ОЗУ на кристалле, а только приблизительную оценку того количества ОЗУ, что останется пользователю после линковки библиотек — порядка 50 кБ. Энтузиасты, исследовавшие библиотеки ESP8266, предполагают, что он содержит 32 кБ кэша инструкций и 80 кБ ОЗУ данных.
Электрические параметры, цоколевки, схемы включения можно найти в документах «0A-ESP8266EX__Datasheet» и «0B-ESP8266__System_Description» из Espressif SDK.
Источник исполняемой программы ESP8266 задается состоянием портов GPIO0, GPIO2 и GPIO15 в момент окончания сигнала Reset (то есть подачи питания). Наиболее интересны два режима: исполнение кода из UART (GPIO0 = 0, GPIO2 = 1 и GPIO15 = 0) и из внешней ПЗУ (GPIO0 = 1, GPIO2 = 1 и GPIO15 = 0). Режим исполнения кода из UART используется для перепрошивки подключенной флеш-памяти, а второй режим — штатный рабочий.
Весной 2016 года Espressif запустил массовое производство микросхемы ESP8285. Теперь в одной микросхеме находится как SoC ESP8266, так и 1 МБайт флеш-памяти. Документацию на микросхему можно найти в документе «0A-ESP8285__Datasheet».
Основная статья ESP32
Осенью 2015 года Espressif представила развитие линейки — микросхему ESP32. В начале 2016 года инженерные образцы нового кристалла стали доступны партнерам компании для тестирования, в сентябре 2016 года ESP32 стал доступен как полноценный продукт.
Программные средства разработки (программный комплект разработчика, SDK) состоят из:
Espressif свободно распространяет свой комплект разработчика. В этот комплект входит компилятор GCC, библиотеки Espressif и загрузочная утилита XTCOM. Библиотеки поставляются в виде скомпилированных библиотек, без исходных текстов. Espressif поддерживает две версии SDK: одна на основе RTOS, другая на основе обратных вызовов (callback).
Помимо официальной SDK существует ряд проектов альтернативных SDK. Эти SDK используют библиотеки Espressif или предлагают собственный эквивалент библиотек Espressif, полученный методами реверсинжиниринга.
Чтобы упростить использование микроконтроллера в типовых проектах возможно использование готовых бинарных файлов, пригодных к прямой заливке в ПЗУ модулей (так называемых прошивок). Готовые прошивки можно разделить на несколько групп согласно концепции их использования:
Источник исполняемой программы ESP8266 задается состоянием портов GPIO0, GPIO2 и GPIO15 в момент окончания сигнала Reset (то есть подачи питания). Наиболее интересны два режима: исполнение кода из UART (GPIO0 = 0, GPIO2 = 1, GPIO15 = 0) и из внешней ПЗУ (GPIO0 = 1, GPIO2 = 1, GPIO15 = 0). Режим исполнения кода из UART используется для перепрошивки флеш-памяти, а второй режим штатный рабочий.
Для управления процессом обновления прошивки имеется множество утилит:
Внешняя SPI flash должна иметь определенный заголовок для корректного исполнения кода. Структура заголовка указана в документации к утилите XTCOM. На русском есть здесь. Загрузочные утилиты обычно умеют добавлять его к прошивке.
Предусмотрена возможность обновить прошивку работающего устройства через Wi-Fi. Для этого разделяют флеш-память программ на несколько частей. Одна отводится менеджеру прошивок, две другие под пользовательскую программу. Когда хотят обновить прошивку, новый образ загружают в свободную часть флеш-памяти. После тщательной проверки целостности вновь загруженного образа менеджер прошивок переключает флажок, после чего участок памяти со старой прошивкой освобождается, а исполнение кода идет из нового участка. Соответственно в следующий раз обновление будет загружаться в свободный участок памяти. Подробности в документе «99C-ESP8266__OTA_Upgrade» из Espressif SDK.
Типовое применение ESP8266 как аппаратной основы Internet of Things чаще всего подразумевает установку в домах или офисах. При этом сетевое подключение осуществляется к домашней/офисной локальной сети с выходом в интернет через роутер. Пользователь устройства может контролировать его с помощью планшета или компьютера через свою локальную сеть либо удаленно, через Интернет.
ESP8266 может работать как в роли точки доступа так и оконечной станции. При нормальной работе в локальной сети ESP8266 конфигурируется в режим оконечной станции. Для этого устройству необходимо задать SSID Wi-Fi сети и, в закрытых сетях, пароль доступа. Для первоначального конфигурирования этих параметров удобен режим точки доступа. В режиме точки доступа устройство видно при стандартном поиске сетей в планшетах и компьютерах. Остается подключиться к устройству, открыть HTML страничку конфигурирования и задать сетевые параметры. После чего устройство штатно подключится к локальной сети в режиме оконечной станции.
В случае исключительно местного использования возможно всегда оставлять устройство в режиме точки доступа, что снижает необходимые усилия пользователя по его настройке.
После подключения к Wi-Fi сети устройство должно получить IP-параметры локальной сети. Эти параметры можно задать вручную вместе с параметрами Wi-Fi либо активизировать какие либо сервисы автоматического конфигурирования IP-параметров (например, DHCP).
После настройки IP параметров обращение к серверу устройства в локальной сети обычно осуществляется по его IP адресу, сетевому имени (в случае если имена поддержаны какой либо технологией, например NBNS) или сервису (в случае если поддержан автоматический поиск сервисов, например через протокол SSDP).
Зачастую доступ к устройству требуется из Интернета. Например пользователь с мобильного телефона удаленно проверяет состояние своего «умного дома», обращаясь напрямую к устройству. В этом случае устройство работает в режиме сервера, к которому обращается внешний клиент.
Как правило, устройство на основе ESP8266 находится в локальной сети офиса или дома. Выход в Интернет обеспечивает роутер, подключенный с одной стороны к локальной сети а с другой к сети провайдера интернета. Провайдер назначает роутеру свой статический или динамический IP адрес и роутер осуществляет трансляцию адресов локальной сети в сеть провайдера. По умолчанию правила этой трансляции обеспечивают свободную видимость интернет-адресов из локальной сети, но не позволяют обратиться к локальным адресам со стороны Интернета. Есть несколько способов обойти это ограничение.
Большинство современных роутеров позволяют задать дополнительные правила трансляции сетевых адресов между локальной и глобальной сетями. Как правило для этого используются технологии Virtual server или DMZ. Обе технологии позволяют обратиться к серверу в локальной сети из глобальной сети, зная лишь IP адрес, выданный роутеру провайдером. В случае статического IP адреса роутера это зачастую может быть удовлетворительным решением для ограниченного круга пользователей системы. Однако такой подход не всегда удобен: необходимо вручную конфигурировать роутер и выяснять IP-адрес роутера, который может регулярно меняться. Относительно легко решить проблему неизвестного IP адреса можно с помощью механизма DDNS.
Чтобы обратиться к серверу устройства конечный пользователь должен знать IP адрес, по которому находится устройство. Однако получить у провайдера Интернета для устройства статический IP адрес не всегда возможно, да и пользоваться таким адресом неудобно. Для решения этой проблемы были созданы специальные интернет-сервисы под общим наименованием динамический DNS. Эти сервисы работают как специальные серверы с фиксированными именами в интернете. Разработчик заводит на таком сервисе свой аккаунт с уникальным именем. Параметры этого аккаунта он прописывает в устройстве. Устройство в режиме клиента периодически обращается к серверу сервиса, сообщая ему имя своего аккаунта и свой текущий IP адрес. Конечный пользователь в интернете обращается к этому же сервису и получает от него текущие IP параметры устройства. В таком случае устройство в сети видно с доменным именем третьего уровня, например esp8266.ddns.org. Существует множество DDNS сервисов. Список можно найти, например, здесь.
Основная проблема DDNS сервисов это гарантии существования конкретного сервиса. Как правило, гарантируется только коммерческий сервис, когда за его использование взимается плата.
Чтобы облегчить проблему доступности устройства в Интернете и сделать инсталляцию устройства легкой для пользователя были разработан ряд решений. Механизм этих решений базируется на существовании в Интернете специального сервера, к которому может подключиться как IoT устройство, так и планшет/компьютер пользователя. При этом устройство работает в режиме клиента, никаких специальных настроек роутера или особых навыков от инсталлятора и пользователя устройства не требуется. Обмен данными с устройством осуществляется при посредничестве этого специального сервиса, параметры которого в устройство должен заложить разработчик. Распространение использования таких сервисов сдерживается необходимостью длительно поддерживать свой сервис в Интернете или пользоваться чужими сервисами с непонятными перспективами длительного существования бесплатных возможностей или регулярной оплатой коммерческих вариантов.
Основное применение ESP8266 находит в управлении разнообразными бытовыми приборами через беспроводные сети. Концепцию такого управления часто называют «Internet of Things» (IoT, «интернет вещей»). Верхний уровень IoT представлен разнообразными приложениями под популярные платформы (Android, iOS, Windows, …). Эти приложения позволяют разработчику прибора адаптировать приложение под управление его прибором и передать пользователю готовое решение. Существует несколько популярных реализаций концепции IoT в плане обмена данными по сети:
Интересные проекты ПО верхнего уровня с решениями на базе ESP8266:
Первыми и наиболее популярными встраиваемыми модулями на базе ESP8266 были изделия китайской компании AI-Thinker. Как правило, эти модули поступают в продажу с прошивками, поддерживающими AT-команды. Однако у компании есть своя прошивка под IoT приложение, некоторые модули могут поставляться с ней. К сожалению, компания поддерживает только китайский язык, что затрудняет использование ее IoT прошивок и Андроид-приложений для любительской автоматизации.
Первоначально модули поставлялись с Flash памятью объемом 512 кБ. Позже официальные прошивки подросли и перестали помещаться в полмегабайта. Поэтому сегодня большинство модулей поставляется с Flash памятью объемом 4 МБ.
Модули AI-Thinker
В таблице SIL и DIL обозначает смонтированные штыревые линейки. Castellated — металлизация по краю платы под поверхностный монтаж модуля. Dice — контактные площадки под модулем, монтаж в стиле BGA корпусов.
Модули других производителей
Практически синхронно с ESP8266 появилась целая линейка аналогичных решений других производителей. Все они используют двухкристальную архитектуру с памятью программ в SPI Flash.
Энтузиасты сделали на интерфейсе I2S микросхемы ESP8266 телевизионный передатчик с модулятором для третьего телевизионного канала. Это не потребовало никакой дополнительной аппаратной обвязки кроме передающей антенны. При этом полностью сохранена Wi-Fi функциональность.
ESP8266 — это название микроконтроллера, разработанного Espressif Systems. Это автономное сетевое решение WiFi, которое можно использовать в качестве моста между существующим микроконтроллером и WiFi, а также способное запускать автономные приложения. Менее чем за 3 доллара он может отслеживать и контролировать вещи из любой точки мира — идеально подходит практически для любого проекта IoT.
Комплектация:Nodemcu_esp82666669. из которых есть 17 контактов GPIO. GPIO означает ввод-вывод общего назначения. Есть 9 цифровых контактов в диапазоне от D0-D8, и есть только один аналоговый контакт A0, который представляет собой 10-битный АЦП. Вывод D0 может использоваться только для чтения или записи данных и не может выполнять другие функции. Чип ESP8266 включается, когда на контакт EN подается ВЫСОКИЙ уровень. При вытягивании LOW микросхема работает на минимальной мощности. На плате есть антенна 2,4 ГГц для сети дальнего действия, а CP2102 — это преобразователь USB в TTL. Плата разработки оснащена модулем ESP-12E, содержащим чип ESP8266, имеющий Tensilica Xtensa® 32-разрядный микропроцессор LX106 RISC , который работает с регулируемой тактовой частотой от 80 до 160 МГц и поддерживает RTOS.
Также имеется 128 КБ ОЗУ и 4 МБ флэш-памяти (для хранения программ и данных), которых достаточно, чтобы справиться с большими строками, составляющими веб-страницы, данными JSON/XML и всем, что мы вкладываем в устройства IoT сегодня. ESP8266 интегрирует приемопередатчик Wi-Fi 802.11b/g/n HT40 , поэтому он может не только подключаться к сети Wi-Fi и взаимодействовать с Интернетом, но также может создавать собственную сеть, позволяя другим устройствам подключаться прямо к нему. Это делает ESP8266 NodeMCU еще более универсальным.
Поскольку диапазон рабочего напряжения ESP8266 составляет от 3 В до 3,6 В , плата поставляется с регулятором напряжения LDO (с малым падением напряжения), который поддерживает напряжение на уровне 3,3 В. Он может надежно подавать до 600 мА. Он имеет три контакта 3v3 и 4 контакта GND. Питание осуществляется через встроенный разъем MicroB USB . В качестве альтернативы, если у вас есть регулируемый источник напряжения 5 В, контакт VIN используется для прямого питания ESP8266. Кроме того, требуется 80 мА рабочего тока и 20 мкА в спящем режиме.
ESP8266 поддерживает протоколы связи UART, I2C, SPI . Он также имеет 4 канала ШИМ, которые можно использовать для управления двигателями, яркостью светодиода и т. д. Кроме того, есть 2 канала протокола UART. АЦП (A0) можно использовать для управления любым аналоговым устройством. CMD — это контакт выбора микросхемы, используемый в протоколе SPI.
ESP8266 имеет 2 встроенные кнопки вместе со встроенным светодиодом, который подключается к контакту D0. Две кнопки FLASH и RST.
NodeMCU_ESP8266 представляет собой модуль WIFI, интегрированный с микроконтроллером, что делает его очень полезным устройством в области IoT. Это . 17 контактов GPIO являются ярким примером этого. В основном ESP8266 используется в домашней автоматизации, которая в наши дни так популярна. Это связано с низким энергопотреблением в спящем режиме. Помимо этого, есть и другие примеры использования ESP8266:
Разъем micro USB на этой плате подключается через микросхему преобразователя Ch530C USB в последовательный порт для отладки и программирования. Родной USB недоступен для USB-разъема — вместо этого вам нужно будет подобрать отвод USB-разъема Micro B, разъем USB-C или USB-кабель для передачи данных и ручной провод IO19./IO20 на пэды D- и D+.
Хотите добавить информацию для этой доски? Отредактируйте исходный код этой страницы здесь.
Это последний стабильный выпуск CircuitPython , который будет работать с NodeMCU ESP-12K.
Используйте этот выпуск , если вы не знакомы с CircuitPython.
Примечания к выпуску для 8.0.3
КИТАЙСКИЙ (ПИНЬИНЬ) ГОЛЛАНДСКИЙ АНГЛИЙСКИЙ (Великобритания) АНГЛИЙСКИЙ (США) ФИЛИППИНСКИЙ ФРАНЦУЗСКИЙ НЕМЕЦКИЙ ИНДОНЕЗИЙСКИЙ ИТАЛЬЯНСКИЙ ЯПОНСКИЙ ПИРАТ (АНГЛИЙСКИЙ) ПОЛЬСКИЙ ПОРТУГАЛЬСКИЙ (БРАЗИЛЬСКИЙ) РУССКИЙ ИСПАНСКИЙ ШВЕДСКИЙ ТУРЕЦКИЙ
СКАЧАТЬ .BIN СЕЙЧАС СКАЧАТЬ .UF2 СЕЙЧАС
Доступны встроенные модули: _asyncio, _pixelmap, adafruit_bus_device, adafruit_pixelbuf, aesio, сигнал тревоги, аналог, массив, atexit, audiobusio, audiocore, audiomixer, binascii, bitbangio, bitmaptools, доска, встроенные функции, busio, canio, collections, countio, digitalio, displayio, dualbank, errno, Fontio, Framebufferio, Frequencyio, Getpass, Gifio, Hashlib, I2ctarget, Ipaddress, Json, Клавиатура, Математика, Mdns, Карта памяти, Микроконтроллер, MSGpack, Neopixel_write, NVM, Onewireio, Операционные системы, Параллельный дисплей, Ps2io, Пульс, Pwmio, Qrio, Rainbowio, случайный, ре, rgbmatrix, rotateio, rtc, sdcardio, выберите, sharpdisplay, socketpool, ssl, хранилище, структура, супервизор, synthio, sys, terminalio, время, touchio, трассировка, ulab, usb_cdc, usb_hid, usb_midi, vectorio, сторожевой таймер, вайфай, злиб
Это последняя разработка CircuitPython, которая будет работать с NodeMCU ESP-12K.
Разрабатываемые выпуски Alpha являются ранними выпусками. Они незакончены, могут содержать ошибки, а предоставляемые ими функции могут измениться. Выпуски Beta могут содержать некоторые ошибки и недоработанные функции, но должны быть пригодны для многих применений. Выпуск Release Candidate (rc) считается выполненным и станет следующим стабильным выпуском, если не будут обнаружены дальнейшие проблемы.
Пожалуйста, попробуйте альфа-, бета- и RC-релизы, если у вас есть такая возможность. Ваше тестирование бесценно: оно помогает нам быстро обнаруживать и находить проблемы.
Примечания к выпуску для 8.1.0-beta.0
КИТАЙСКИЙ (ПИНЬИНЬ) ГОЛЛАНДСКИЙ АНГЛИЙСКИЙ (Великобритания) АНГЛИЙСКИЙ (США) ФИЛИППИНСКИЙ ФРАНЦУЗСКИЙ НЕМЕЦКИЙ ИНДОНЕЗИЙСКИЙ ИТАЛЬЯНСКИЙ ЯПОНСКИЙ ПИРАТ (АНГЛИЙСКИЙ) ПОЛЬСКИЙ ПОРТУГАЛЬСКИЙ (БРАЗИЛЬСКИЙ) РУССКИЙ ИСПАНСКИЙ ШВЕДСКИЙ ТУРЕЦКИЙ
СКАЧАТЬ . BIN СЕЙЧАС СКАЧАТЬ .UF2 СЕЙЧАС
Доступны встроенные модули: _asyncio, _pixelmap, adafruit_bus_device, adafruit_pixelbuf, aesio, alarm, Analogbufio, Analogio, Array, atexit, audiobusio, audiocore, audiomixer, binascii, bitbangio, bitmaptools, доска, встроенные функции, busio, canio, collections, countio, digitalio, displayio, dualbank, Errno, Fontio, Framebufferio, Frequencyio, Getpass, Gifio, Hashlib, I2ctarget, Ipaddress, Json, Клавиатура, Математика, Mdns, Карта памяти, Микроконтроллер, MSGpack, Neopixel_write, NVM, Onewireio, Операционные системы, Параллельный дисплей, Ps2io, Пульс, Pwmio, Qrio, Rainbowio, random, re, rgbmatrix, rotateio, rtc, sdcardio, select, sharpdisplay, socketpool, ssl, storage, struct, supervisor, synthio, sys, terminalio, time, touchio, traceback, ulab, usb_cdc, usb_hid, usb_midi, vectorio, сторожевой таймер, Wi-Fi, zlib
Последняя версия: 0. 12.3
Загрузчик UF2 позволяет загружать программы CircuitPython, MakeCode и Arduino. Загрузчик не CircuitPython. Если установлен загрузчик UF2, вы можете проверить его версию, заглянув в файл INFO_UF2.TXT , когда виден диск BOOT ( FTHRS2BOOT , MAGTAGBOOT , HOUSEBOOT и т. д.)
Нет необходимости переустанавливать загрузчик UF2, если только диск BOOT не виден. когда вы находитесь в режиме загрузчика UF2, или вы знаете о проблеме с вашим текущим загрузчиком UF2.
Если загрузчик UF2 никогда не устанавливался на плату или загрузчик UF2 был удален путем стирания или перезаписи флэш-памяти, необходимо установить загрузчик UF2, чтобы записать файлы .uf2 на плату. .bin файлов можно загружать без загрузчика UF2, используя Веб-прошивальщик ESP или esptool.py .
Примечание. Файлы update.uf2 в настоящее время не работают на платах ESP32-S2 или ESP32-S3.
Важно : это сотрет ранее прошитую прошивку и скетчи с платы, но нужно выполнить только один раз.
Приведенные здесь инструкции являются общими. Мы рекомендуем вам ознакомиться с документацией по плате производителя для получения подробной информации. инструкции, которые могут отличаться.
После установки загрузчика UF2 войдите в загрузчик, дважды нажав кнопку сброса. На платах со светодиодным индикатором состояния RGB один раз коснитесь сброса, подождите, пока светодиод не станет фиолетовым, и коснитесь снова, прежде чем фиолетовый исчезнет.