Виды esp8266: ESP8266 — Какие бывают виды модулей.

ESP8266 — Какие бывают виды модулей.

ESP8266 — Какие бывают виды модулей.

Чип ESP8266 самое популярное устройство для создания умного дома и интернета вещей. На рынке существует несколько видов этого модуля:

ESP-01

Этот модуль наиболее распространен, напечатана на плате антенна позволяет поддерживать связь на расстоянии до 400 метров при прямой видимости на  открытом простанстве.

  • Размер 24,8х14,3х8 мм
  • Количество GPIO 2
  • Flash память 1024 кб

ESP-02

Аналог ESP-01  в SMD исполнении с разьемом для подключения внешней антенны.

  • Размер 14,7х14,2х3 мм
  • Шаг выводов 2,54 мм

ESP-03

Чип с керамической антенной, в отличии от первых двух выведены все GPIO.

  • Размер 17,4х12,2х3 мм
  • Масса 5 г

ESP-04

Без антенны выведены все GPIO.Виды esp8266: ESP8266 - Какие бывают виды модулей.

ESP-05

Компактый чип с разьемом под антенну. Выведены только VCC, GND, TX, RX, RST.

ESP-06

Чип для поверхностного монтажа, без антенны, выводы с нижней стороны в виде контактных площадок.

ESP-07

Модуль с полной разводкой GPIO керамическая антенна + разъем под внешнюю антенну.

ESP-07s

Компактное исполнение ESP-07 отличается наличием разъема под внешнюю антенну.

ESP-08

Ещё одна компактная версия.

ESP-08s

  • Размер 16х18,5 мм

ESP-09

Самый компактный модуль. Все контакты выведены снизу.

ESP-10

Выведены только VCC, GND, TX, RX, RST.

  • Размер 14,2х10 мм

ESP-11

Компактная плата с удобным расположением двух GPIO выводов

  • Размер 17,3х10 мм

ESP-12

Самая популярная версия с напечатаной антенной и всеми доступными выводами GPIO

  • ESP-12 flash память 512 кб
  • ESP-12E flash память 4 Мб (устарела)
  • ESP-12F flash память 4 Мб (на замену ESP-12E)
  • ESP-12S flash память 4 Мб

  • Размеры 24х16 мм

Виды и различия моделей ESP8266 / DIYtimes

ESP8266 ESP-01 ESP-02 ESP-03 ESP-04 ESP-05 ESP-06 ESP-07 ESP-08 ESP-09 ESP-10 ESP-11 ESP-12

Сравнительная характеристика всей серии плат ESp8266 на 2015 год.Виды esp8266: ESP8266 - Какие бывают виды модулей.

Максимальное распространение получила ESP-01 за счет своей дешевизны и заточенности как устройство связи. На ней есть печатная антенна и впаяны восемь штырьковых контактов: VCC, GND, UTXD, URXD, CH_PD, GPIO0, GPIO2, GPIO6.

Недостатки ESP-01 модуля:

  • Множество не привязанных портов в воздухе ловат что хотят и это приводит к непредсказуемым ситуациям, увеличивают энергопотребление из-за ложных срабатываний и наводок.
  • Нет режима глубокого сна
  • Все выводы при включении питания подают высокий потенциал и управляющие устройства могут моргать в момент подачи тока.

Кроме ESP8266-01 множество других вариантов плат с разным количеством портов, типом антенн и формы.

Имейте в виду, что в продаже есть модули ESP-07, ESP-12 и пр, с перепутанными местами GPIO4 и GPIO5.

Серия ESP8266

ESP-01, ESP-02, ESP-03, ESP-04, ESP-05, ESP-06, ESP-07, ESP-08, ESP-09, ESP-10, ESP-11, ESP-12, ESD-12, ESP-13, WROOM, WROOM-02

ФотоРаспиновкаОписание

ESP8266 ESP-01

ESP8266 ESP-01 V090 pinouts

ESP8266 ESP-01 V080 pinouts

ESP8266 ESP-01 V090 (он же Wi07c) самый популярный модуль.Виды esp8266: ESP8266 - Какие бывают виды модулей. PCB антенна обеспечивает дальность — до 400м на открытом пространстве. Следует знать, что существует старая версия V080, в которой разведены только 4 контакта

ESP8266 ESP-02

ESP8266 ESP-02 pinouts
ESP8266 ESP-02 SMD, разъем IPX для внешней антенны

ESP8266 ESP-03


ESP8266 ESP-03 pinouts
ESP8266 ESP-03 SMD, керамическая антенна, разведены все доступные GPIO

ESP8266 ESP-04

ESP8266 ESP-04 pinouts
ESP-04 SMD, без антенны, разведены все доступные GPIO

ESP8266 ESP-05

ESP8266 ESP-05 pinouts
ESP-05, разведены только VCC33, GND, TX, RX, RST, миниатюрная антенна

ESP8266 ESP-06
ESP8266 ESP-06 pinoutsESP-06 контактные площадки расположены снизу, сверху металлический экран

ESP8266 ESP-07

ESP8266 ESP-07 pinouts
ESP-07 керамическая антенна и разъем для внешней антенны, металлический экран

ESP8266 ESP-08


ESP8266 ESP-08 pinouts
ESP-08 как ESP-07, только без антенны

ESP8266 ESP-09

ESP8266 ESP-09 pinouts
ESP-09 самый маленький модуль — 10х10мм, контактные площадки расположены снизу

ESP8266 ESP-10

ESP8266 ESP-10 pinouts
ESP-10 patch interface, ширина модуля 10мм

ESP8266 ESP-11

ESP8266 ESP-11 pinouts
ESP-11 patch interface, керамическая антенна

ESP8266 ESP-12

ESP8266 ESP-12 pinouts
ESP-12 PCB антенна, flash память 512 кбайт
ESD-12 (ESPD-12) Внешний вид и распиновка в точности как у ESP-12.Виды esp8266: ESP8266 - Какие бывают виды модулей. Отличается только размером flash памяти — 4Мбайт

esp-12-e

esp12-e pinouts
ESP-12-E как ESP-12 только выведено дополнительно с торца 6 пинов.
Существуют еще модификации ESP-12-D и ESP-12-Q отличающиеся размером flash памяти

esp-13

esp-13 pinouts
ESP-13 — аналог WROOM-02 от Espressif, только производства AI-THINKER

wroom

wroom pinouts
WROOM модуль примечателен тем, что выпущен производителем SoC ESP8266EX Espressif

wroom-02

wroom-02 pinouts
WROOM-02 модуль примечателен тем, что выпущен производителем SoC ESP8266EX Espressif. Имеет клон — это ESP-13 от AI-THINKER

Распиновка ESP8266, различные модификации модулей на базе ESP8266 – esp8266

ESP8266 ESP-01 ESP-02 ESP-03 ESP-04 ESP-05 ESP-06 ESP-07 ESP-08 ESP-09 ESP-10 ESP-11 ESP-12

Распиновка, характеристики и отличия модулей esp8266 вы найдете в таблице ниже.Виды esp8266: ESP8266 - Какие бывают виды модулей. Также Вас может заинтересовать распиновка чипа ESP8266EX

Информация обновлена по состоянию на 05.06.2015 г.

Самая распространенная версия модуля — это ESP-01. Иногда в сети встречается обозначение Wi07c. Как видите, на ней разведены 8 контактов: VCC 3.3v, GND, UTXD, URXD, CH_PD, GPIO0, GPIO2, GPIO6. На плате реализована PCB антенна.

Модуль ESP-01 имеет конструктивные недостатки:

  • Большинство выводов SoC ESP8266EX в модуле ESP-01 находятся в «висячем» состоянии, т.е. никуда не подключены, что приводит к непредсказуемым состояниям и может приводить к повышенному потреблению и перегреву чипа.
  • Модуль ESP-01 не поддерживает режим «глубокого сна» (deep_sleep)
  • Модуль ESP-01 не имеет ни одной ножки, на которой нет сигналов при старте модуля, т.е. управлять им даже включением лампочки никак. Она будет моргать при включении.

Кроме модуля ESP8266 ESP-01 в продаже сейчас еще несколько модификаций: с подключением внешней антенны, с керамической антенной, с PCB антенной, без антенны.Виды esp8266: ESP8266 - Какие бывают виды модулей. Также на разных модулях выведено разное количество GPIO.

Если вы планируете приобрести ESP8266, то мы рекомендуем вам присмотреться к ESP-07 (керамическая антенна) или к одной из модификаций ESP-12 с PCB антенной (ESD-12, ESP12E и т.д.)

Для удобства работы с беспаечными макетными платами можно использовать специальный адаптер или приобрести недорогую dev board со встроенным стабилизатором питания и подтянутыми GPIO, которая неплохо себя зарекомендовала.

Внимание! Сейчас нет единого стандарта на распиновку модулей. В разное время производители модулей использовали разные варианты распиновки. Старайтесь приобретать модули, по возможности, с подписанными пинами прямо на плате. Если пины на вашем модуле не подписаны, то требуйте у продавца описание подключения.

Внимание! Очень много модулей ESP-07, ESP-12 и других, с перепутанными GPIO4 и GPIO5.

Обсуждение модификаций модулей на нашем форуме

Модули ESP8266

ESP-01, ESP-02, ESP-03, ESP-04, ESP-05, ESP-06, ESP-07, ESP-08, ESP-09, ESP-10, ESP-11, ESP-12, ESD-12, ESP-13, WROOM, WROOM-02

Фото модуляРаспиновка (pinouts) модуляОписание модуля

ESP8266 ESP-01

ESP8266 ESP-01 V090 pinouts

ESP8266 ESP-01 V080 pinouts

ESP8266 ESP-01 V090 (он же Wi07c) самый популярный модуль.Виды esp8266: ESP8266 - Какие бывают виды модулей. PCB антенна обеспечивает дальность — до 400м на открытом пространстве. Следует знать, что существует старая версия V080, в которой разведены только 4 контакта

ESP8266 ESP-02

ESP8266 ESP-02 pinouts

ESP8266 ESP-02 SMD, разъем IPX для внешней антенны

ESP8266 ESP-03

ESP8266 ESP-03 pinouts

ESP8266 ESP-03 SMD, керамическая антенна, разведены все доступные GPIO

ESP8266 ESP-04

ESP8266 ESP-04 pinouts

ESP-04 SMD, без антенны, разведены все доступные GPIO

ESP8266 ESP-05

ESP8266 ESP-05 pinouts

ESP-05, разведены только VCC33, GND, TX, RX, RST, миниатюрная антенна

ESP8266 ESP-06

ESP8266 ESP-06 pinouts

ESP-06 контактные площадки расположены снизу, сверху металлический экран

ESP8266 ESP-07

ESP8266 ESP-07 pinouts

ESP-07 керамическая антенна и разъем для внешней антенны, металлический экран

ESP8266 ESP-08

ESP8266 ESP-08 pinouts

ESP-08 как ESP-07, только без антенны

ESP8266 ESP-09

ESP8266 ESP-09 pinouts

ESP-09 самый маленький модуль — 10х10мм, контактные площадки расположены снизу

ESP8266 ESP-10

ESP8266 ESP-10 pinouts

ESP-10 patch interface, ширина модуля 10мм

ESP8266 ESP-11

ESP8266 ESP-11 pinouts

ESP-11 patch interface, керамическая антенна

ESP8266 ESP-12

ESP8266 ESP-12 pinouts

ESP-12 PCB антенна, flash память 512 кбайт
ESD-12 (ESPD-12) Внешний вид и распиновка в точности как у ESP-12.Виды esp8266: ESP8266 - Какие бывают виды модулей. Отличается только размером flash памяти — 4Мбайт

esp-12-e

esp12-e pinouts

ESP-12-E как ESP-12 только выведено дополнительно с торца 6 пинов.
Существуют еще модификации ESP-12-D и ESP-12-Q отличающиеся размером flash памяти

esp-13

esp-13 pinouts

ESP-13 — аналог WROOM-02 от Espressif, только производства AI-THINKER

wroom

wroom pinouts

WROOM модуль примечателен тем, что выпущен производителем SoC ESP8266EX Espressif

wroom-02

wroom-02 pinouts

WROOM-02 модуль примечателен тем, что выпущен производителем SoC ESP8266EX Espressif. Имеет клон — это ESP-13 от AI-THINKER

Сравнение NodeMCU-совместимых плат с чипом ESP8266 | arm

Сравнение друг с другом плат разработчика, совместимых с NodeMCU [2], неизбежно приводит к сравнению между собой ESP8266-совместимых чипов и модулей, установленных на этих платах.Виды esp8266: ESP8266 - Какие бывают виды модулей. Сравнивать довольно сложно не столько потому, что подобных плат множество (по сути их только 3 вида), потому, что под разными именами выпускаются одни и те же платы.



К сожалению, есть некая путаница в обозначении версий и поколений плат.





Generation (поколение)Версия NodeMCUCommon Name
10.9V1
21.0V2
21.0V3

Содержимое третьего столбца (Common Name) этой таблицы чаще всего встречается в маркировке изделий, доступных в продаже в китайских Интернет-магазинах, таких как Banggood, AliExpress и dx.com. Причем на AliExpress часто попадаются платы с маркировкой V3, хотя они выглядят точно так же, как платы V2.

Дополнительно усиливает путаницу именований тот факт, что аппаратура открыта (open hardware), и фактически любое предприятие может производить и выпускать на рынок свои собственные NoduMCU-совместимые платы.Виды esp8266: ESP8266 - Какие бывают виды модулей. В настоящий момент есть 3 главных производителя таких плат: Amica [3], DOIT/SmartArduino [4], and LoLin/WeMos [5].

Платы 1 и 2 поколения удобно отделять друг от друга, потому их размер отличается. Оба этих поколения используют чипы ESP-12 с памятью 4MB flash, однако 2 поколение использует более новый улучшенный чип ESP-12E.

[1 поколение / v0.9 / V1]

Оригинальный и уже устаревший dev kit обычно продается в виде платы с желтой маской размером 47 x 31 мм. По краям модуля расположены штырьковые коннекторы со стандартным шагом 2.54 мм, однако ряды расположены друг от друга на большом расстоянии, что делает неудобным установку этих модулей в обычные платы макетирования bread board. Обзор [6] дает очень хорошее представление об этих платах.



Плата разработчика ESP8266
NodeMCU первого поколения
Цоколевка выводов платы
NodeMCU первого поколения

Платы поставляются с модулем ESP-12 и flash-памятью 4MB.Виды esp8266: ESP8266 - Какие бывают виды модулей.

[2 поколение / v1.0 / V2]

Эти модули быстро заменили 1 поколение, они уже, и поэтому их удобнее устанавливать в плату bread board. Модуль ESP-12 был заменен на более новый ESP-12E.



Плата разработчика ESP8266
NodeMCU второго поколения
Цоколевка выводов платы
NodeMCU второго поколения

[V3]

Что же нового появилось у V3? Пока что проект NodeMCU не выпустил новой спецификации, поэтому официально нет никаких плат 3-го поколения. Таким образом, V3 это всего лишь «версия», изобретенная производителем LoLin, чтобы показать незначительные улучшения плат V2. Среди остальных улучшений утверждается, что порт USB стал более надежным.



Цоколевка выводов платы
NodeMCU «третьего» поколения

Если Вы сравните цоколевку плат V2 и V3, то найдете очень мало различий.Виды esp8266: ESP8266 - Какие бывают виды модулей. Компания LoLin приняла решение использовать один из двух зарезервированных выводов для вывода напряжения питания USB, и второй использует как дополнительный контакт GND.

Обратите внимание на различия в размерах, эта плата LoLin значительно больше плат Amica и DOIT V2.



Сравнение габаритов плат Amica и LoLin

В чем отличие «официальных» плат от «не официальных»? Вероятно, никакого существенного отличия нет. Компания Amica выглядит как единственный производитель плат, на 100% совместимых со спецификацией аппаратуры V2 NodeMCU. Такие платы можно найти на AliExpress или у Seed Studio [7]. Имейте в виду, что сейчас множество плат имеют маркировку «NodeMCU V2», хотя они не соответствуют этой спецификации.

[Альтернативы]

WeMos D1 mini. В конце 2015 года стала доступной интересная плата WeMos D1 mini. Она имеет приблизительно ту же ширину (25.6 мм), что и V2 NodeMCU devkit, но почти на треть короче (длина 34.Виды esp8266: ESP8266 - Какие бывают виды модулей. 2 мм). Плата работает на ESP-8266EX MCU, и предоставляет 4MB flash. 9 выводов GPIO делают плату D1 mini подходящей для множества целевых применений IoT. Плата поддерживается средами разработки Arduino и NodeMCU.


Компания WeMos также продает некоторое количество шилдов для платы D1 mini, которые хорошо стыкуются, в результате получаются отличные малогабаритные устройства.


Небольшой недостаток в том, что припаять коннекторы Вам придется самому. Некоторые пользователи жалуются, что бывает сложно получить корректно работающие драйвера для микросхемы преобразователя Ch44x USB-UART [8], которая установлена на D1 mini. Такая же микросхема стоит на дешевых клонах плат Arduino.

Также очевидно, что у D1 mini немного меньше контактов, чем у обычной платы NodeMCU (см. рисунки с цоколевкой). Понятно, что не было другого способа уменьшить размеры платы, кроме уменьшения количества контактов на разъемах.Виды esp8266: ESP8266 - Какие бывают виды модулей. Но все-таки контакт с напряжением 5V был оставлен, в этом плата похожа на LoLin V3.

Радует невысокая цена на плату D1 mini, её можно найти на AliExpress всего лишь за $4.

WiFiMCU. У DOIT/SmartArduino, производителя плат V2, также есть альтернативный dev kit с чипом Cortex-M4 [9].

Adafruit/SparkFun. Еще 2 быстро появившиеся альтернативы — SparkFun ESP8266 Thing [10] и Adafruit HUZZAH ESP8266 Breakout [11].



SparkFun ESP8266 Thing

Плата Adafruit выглядит довольно привлекательно, она немного меньше, чем NodeMCU dev kit, однако для её подключения требуется отдельный переходник USB — TTL UART вместо стандартного кабеля USB.



Adafruit HUZZAH ESP8266 Breakout

Также Adafruit продает полноформатную плату, подобную NodeMCU v2, на которой есть дополнительный коннектор для подключения аккумулятора LiPo [12].Виды esp8266: ESP8266 - Какие бывают виды модулей.

Плата ESP8285. В статье [13] описывается, как использовать firmware NodeMCU на маленькой платке ESP8285 Tindie. Этот кристалл SoC (System On Chip) очень похож на ESP8266, отличие только в том, что в нем имеется память 1 MB SPI flash, встроенная прямо в SoC.



ESP8285 Development Board

[Ссылки]

1. Comparison of ESP8266 NodeMCU development boards site:frightanic.com.
2. NodeMCU site:nodemcu-build.com.
3. Amica ESP8266 site:twitter.com.
4. WiFi ESP site:doit.am.
5. LOLIN32 site:wemos.cc.
6. ESP8266: NodeMCU Dev Kit Review site:squix.org.
7. NodeMCU v2 — Lua based ESP8266 development kit site:seeedstudio.com.
8. How To Use Cheap Chinese Arduinos That Come With With Ch440G / Ch441G Serial/USB Chip (Windows & Mac OS-X) site:kig.re.
9. WiFiMCU: a NodeMCU dev kit with a Cortex-M4 chip site:frightanic.com.Виды esp8266: ESP8266 - Какие бывают виды модулей.
10. SparkFun ESP8266 Thing site:sparkfun.com.
11. Adafruit HUZZAH ESP8266 Breakout site:adafruit.com.
12. New Adafruit ESP8266 development board with LiPo connector site:frightanic.com.
13. NodeMCU on ESP8285 site:frightanic.com.
14. espressif.com FAQ ESP8266.

Знайте различия между Raspberry Pi, Arduino и ESP8266 / ESP32

CNXSoft: Это пост от гостя, написанный в сотрудничестве с SurfShark.

Когда дело доходит до выбора платформы STEM для образовательных или любительских проектов, на рынке вы найдете ряд недорогих, компактных плат. Самые популярные из них включают Raspberry Pi SBC для детей, который был разработан для детей, платы Arduino для проектов в области электроники, а в последнее время платы и модули на основе беспроводных SoC EspressifESP8266 и ESP32. В этой статье мы рассмотрим варианты использования и сильные стороны каждой из плат, независимо от того, занимаетесь ли вы программированием и домашней электроникой, как хобби, или у вас есть коммерческий проект.Виды esp8266: ESP8266 - Какие бывают виды модулей.

Raspberry Pi

Raspberry Pi — это линейка одноплатных компьютеров (SBC) из Великобритании, которые были впервые представлены в феврале 2012 года. Эти небольшие компьютеры изначально были предназначены для обучения студентов основам компьютерных наук, но они нашли применение в различных проектах, в том числе коммерческих продуктах. Для непосвященных Raspberry Pi не похож на обычный компьютер. Тем не менее, при подключении к монитору, USB-клавиатуре и мыши, Raspberry Pi похожа на компьютер Linux начального уровня.

Raspberry Pi 4 доступна по привлекательной цене от 35 долларов США и выше. Она имеет 2 Гб или 4 Гб ОЗУ, а также порт USB-C для питания и два порта micro HDMI для подключения до двух дисплеев. Имеются также порты USB 2.0 и USB 3.0 для подключения периферийных устройств, а также порт Gigabit Ethernet и модуль Wi-Fi и Bluetooth для подключения по проводной или беспроводной сети, соответственно.

Несмотря на то, что Raspberry Pi иногда продается как часть готового комплекта, он часто поставляется в качестве barebone-основы, то есть вам необходимо добавить дополнительные аксессуары, включая блок питания 15 Вт + USB-C и карту microSD.Виды esp8266: ESP8266 - Какие бывают виды модулей.  Вам придется установить операционную систему, предпочтительно Raspbian для начинающих, на последнюю с помощью установщика NOOBS. Как только это будет сделано, вставьте карту microSD в плату, подключите ее к дисплею, клавиатуре USB и мыши, а также, при необходимости, к маршрутизатору Ethernet. Подключите питание, и вы готовы использовать плату. Довольно легко.

Проекты с Raspberry Pi

Итак, что вы можете сделать именно с Raspberry Pi? Поскольку платы Raspberry Pi работают на полноценной операционной системе Linux, они могут запускать сложные приложения, такие как офисные пакеты, фоторедакторы, а также серверные приложения, такие как веб-сервер Apache или nginx, настраивать OpenVPN или WireGuard с помощью службы VPN, запускать загрузчик BitTorrent в фоновом режиме, создавать NAS для нужд сетевого хранилища и т. д.

Raspberry Pi также достаточно прост, чтобы школьники могли им управлять и научиться создавать различные проекты с помощью своего педагога. Существует простое в использовании онлайн-руководство, которое помогает новым пользователям понять, что они могут сделать со своим Raspberry Pi.Виды esp8266: ESP8266 - Какие бывают виды модулей.  Примеры проектов включают в себя:

  • Создание фотографий и запись видео
  • Создание покадровой анимации
  • Изучение навыков программирования для кодирования
  • Построение робота в цифровой форме
  • Дизайн сайтов с использованием HTML
  • Изобретение приложений для устройств Android
  • Построение 3D модели
  • Создание видеоигры
  • Цифровые арт-проекты
  • Создание музыкальной записи

Raspberry Pi расширяется благодаря аппаратным аксессуарам и дополнительным платам под названием HAT (Hardware Attached on Top), а также обширной экосистеме программных инструментов и пакетов, которые можно использовать для создания более сложных проектов. Некоторые из программных инструментов включают Scratch или Python для обучения программированию, в то время как Pi Camera Module является примером аппаратного аксессуара, который можно подключить к Raspberry Pi SBC.  Raspberry Pi Foundation в партнерстве с третьими лицами и бесплатным интернет- сообществом под названием Code Club, предлагает глобальную сеть бесплатных клубов кодирования для детей от 9 до 13 лет.Виды esp8266: ESP8266 - Какие бывают виды модулей.  На онлайн-платформе есть модули, которые помогают детям научиться кодировать на плате Raspberry Pi, а также следующие программные и аппаратные компоненты:

  • Инструменты визуального программирования Scratch
  • Веб дизайн с HTML/CSS
  • Язык программирования Python
  • Дополнительная плата Sense HAT со светодиодами и джойстиком
  • Программа Sonic Pi для создания музыки и звуков с использованием кода
  • BBC Micro:bit кодируемый компьютер
  • Анимация персонажей в Blender 3D

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

Платы Arduino

Arduino была впервые запущена в 2005 году и является старейшей платформой, которую мы сегодня используем. Платы производятся итальянской компанией с таким же названием, и большинство плат являются оборудованием с открытым исходным кодом, что означает, что аппаратное обеспечение может быть легко воспроизведено и изменено в случае необходимости, что практически невозможно с Raspberry Pi.Виды esp8266: ESP8266 - Какие бывают виды модулей.

Arduino совсем не похож на компьютер, так как большинство плат Arduino недостаточно мощны для запуска операционной системы. Действительно, Arduino предназначен для проектов электроники, в которых вы управляете вводом / выводом с помощью программирования на языке C с помощью IDE Arduino, установленного на компьютере с Windows, Linux или Mac. Тем не менее, о всех сложных частях настройки аппаратного обеспечения позаботились, поэтому платы Arduino намного проще в использовании, чем традиционные платы MCU.

Вы сможете включать/выключать светодиод, контрольные датчики, а более поздние платы Arduino поставляются со встроенными возможностями подключения, такими как WiFi и Bluetooth, или даже LoRa или NB-IoT, что делает платы подходящими для приложений IoT, таких как сенсорные узлы или трекеры местоположения. Если вы не можете найти именно то, что ищете, существует множество совместимых плат сторонних производителей, которые должны соответствовать вашим требованиям, хотя поддержка может варьироваться от поставщика к поставщику.Виды esp8266: ESP8266 - Какие бывают виды модулей.

Большое сообщество производителей, знакомых с Arduino, означает, что в Интернете есть все виды документированных проектов, от музыкантов, использующих платы Arduino для создания новых музыкальных инструментов с помощью миниатюрных звуковых панелей, до праздничных огней и систем управления теплицами. Вы найдете множество хорошо документированных проектов на официальном сайте Project hub, а также независимых сайтах, таких как  Instructables.

Школы также могут обучать студентов STEAM, используя некоторые стартовые комплекты Arduino Education, которые помимо аппаратных платформ также содержат инструкции и материалы для 10 уроков. При занятии 90 минут на урок вы получаете 15 часов учебного времени, охватывающего все — от основ электричества до световых радиолокаторов.

Espressif ESP8266 и ESP32

Добавление Wi-Fi в проект раньше было довольно дорогим предложением, так,несколько лет назад, это добавило бы, по крайней мере, 30 долларов США к любому проекту, поэтому, когда Espressif Systems представила ESP8266 в 2014 году с продажей модулей всего за 3 доллара, это, действительно, стало сенсацией, несмотря на довольно плохую поддержку программного обеспечения в то время.Виды esp8266: ESP8266 - Какие бывают виды модулей.  Но этот чип был настолько ценным, что вокруг чипа быстро сформировалось сообщество разработчиков ПО с открытым исходным кодом. В течение двух лет, поддержка была довольно значительной, даже с использованием Arduino IDE. С тех пор компания также выпустила ESP32 с более мощным процессором и поддержкой как WiFI, так и Bluetooth.

ESP8266 и ESP32 оба поставляются с ядрами Xtensa и работают под управлением операционной системы реального времени FreeRTOS с платформами, предлагающими что-то среднее между энергопотреблением, возможностями плат Arduino в реальном времени и полнофункциональным характером Raspberry Pi Linux SBC.

Эти процессоры рассчитаны на энергосбережение, хорошо интегрированы с беспроводной технологией и могут работать в тяжелых условиях с рабочей температурой от -40 ° C до 125 ° C. Однако есть некоторые заметные различия, поэтому мы провели сравнение ESP32 с ESP8266, чтобы помочь вам решить, какой из них будет более подходящим для потребностей вашего проекта:

  • Скорость WiFi варьируется до 72,2 Мбит/с для ESP8266 и до 150 Мбит/с для ESP32
  • ESP32 совместим с Bluetooth в отличие от ESP8266
  • ESP32 имеет 12-битный SAR и два 8-битных канала DAC по сравнению с 10-битным SAR у ESP8266
  • В то время как ESP32 имеет восемь каналов, ESP8266 работает по одному каналу.
  • ESP32 имеет несколько датчиков, включая сенсорный датчик с восемью каналами, а также датчик температуры и датчик эффекта Холла, в то время как ESP8266 не имеет встроенных датчиков

Цены на платы и модули ESP8266 и ESP32 очень доступны. На момент написания обзора, цена ESP32 начинается с 2 долларов и выше, а ESP8266 — от 2 долларов и выше. Поэтому выбор одного из этих SoC зависит от ваших требований.

ESP8266 и ESP32 предназначены для использования в носимой электронике, индустрии IoT и мобильных устройствах, и вы найдете множество хорошо документированных проектов, основанных на любом из этих материалов в Интернете.

Выбор правильной платы для ваших нужд

Так какая плата лучше для вас? Как всегда все зависит от обстоятельств. Raspberry Pi — самая мощная и универсальная платформа. В образовательных целях у нее больше всего ресурсов, и она идеально подходит для проектов, требующих мощный компьютер или шлюз Linux. Это также самая простая платформа для начала работы на сегодняшний день.

Arduino — лучший выбор для управления вводом / выводом в реальном времени, для проектов, работающих от аккумуляторов, а также с хорошими материалами для обучения STEM. Возможно, вам даже не придется выбирать между Raspberry Pi и Arduino, поскольку оба они могут быть объединены с платой Arduino, подключаемой к плате Raspberry Pi через UART (последовательное) соединение.

Всякий раз, когда вы думаете о добавлении Wi-Fi или Bluetooth-соединения в проект, платы ESP8266 или ESP32 являются очевидным и экономически эффективным выбором. Недостатком является то, что платформа может лучше подходить для людей с более высокими знаниями в области электроники и программирования.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

Описание, загрузка и настройка ESPEasy

Готовая прошивка «ESP Easy» позволит легко превратить любой модуль на базе ESP в многофункциональный сенсор или модуль для умного дома под управлением таких систем, как OpenHab и Domoticz. ESP Easy является отличным инструментом для изучения протокола MQTT.

Всё что вам необходимо сделать — это один раз загрузить прошивку ESP Easy на ваш модуль ESP, а дальше все настройки системы происходят в браузере с помощью удобного веб-интерфейса. Для ежедневной работы с модулем не нужны никакие дополнительные программы.

Последней стабильной версией прошивки ESP Easy является R120. Она хорошо подходит не только для домашних экспериментов, но и для производственных прототипов. Модуль с ESP Easy на борту может выступать в роли низкоуровневого управляющего устройства, но этот функционал в системе еще не полностью стабилен. Полный список возможных подключаемых дачиков, устройств ввода-вывода, реле и дисплеев можно посмотреть здесь.

Прошивка ESP Easy может быть установлена практически на любые платы на базе ESP8266. Вы можете прошить как самые простые модули типа ESP-01 или ESP-12, так и устройства типа NodeMCU development board, Wemos D1 и практически все устройства от производителя Sonoff. После прошивки вы сможете работать с GPIO 0, 1, 2, 3, 4, 5, 12, 13, 14, 15, 16, A0. Пин номер 9 не рекумендуется использовать из-за нестабильной работы. На модулях Sonoff будут доступны пины 0 (кнопка), 12 (Реле), 13 (Светодиод) и, возможно, еще несколько в зависимости от конкретной модели устройства.

Поддерживаются следующие протоколы для передачи данных и работы с системами умных домов: OpenHAB MQTT, Domoticz HTTP и MQTT, PiDome MQTT, ThingSpeak, EmonCMS, протокол HTTP и другие. Подробнее про работу с ними будет написано в разделе с примера использования.

С чего начать?

В большинстве случаев модули ESP продаются с предустановленными прошивками AT firmware или NodeMCU LUA firmware. Начать делать сенсоры на базе ESPEasy легко: нужно просто заменить стандартную прошивку на ESPEasy, и можно приступать к работе. Это можно сделать с помощью программы flashtool (к сожалению, она доступна только на Windows) или с помощью Arduino IDE. Во время установки мы будем действовать по следующей схеме:

1. С официального сайта скачать стабильную прошивку

В архиве также будет программа flash tool для прошивки


2. Подключить модуль ESP к компьютеру 

Используем USB/UART переходник для простых плат типа ESP-01 или просто подключаем Micro-USB к платам типа NodeMCU dev board. 


3. Загружаем ESPEasy на плату с помощью flash tool или Arduino IDE

Обратите внимание на то, что GPIO должен быть соединен с GND при включении для запуска режима прошивки на плате. 


4. Перезапускаем модуль ESP. Появляется WiFi сеть с названием  «ESP_Easy_0». Подключаемся к ней

(в версии прошивки 2.0 точка доступа будет называться ESP_0) 

Если страница настройки не открылась автометически, необходимо набрать 192.168.4.1 в вашем браузере


5. В появившемся окне настраиваем подключение к вашей домашей WiFi сети и нажимаем Connect


6. Модуль ESP перезагрузится и подключится к вашей домашней сети


7. Откройте в браузере новый IP адрес платы ESP и начинайте собирать данные с сенсоров

Поздравляем, всё настроено, и вы можете начать работать с ESPEasy!

Скачиваем прошивку

Скачиваем стабильную версию прошивки с официального сайта — ESPEasy R120.

Подключаем модуль ESP к компьютеру

Для всех, кто только начинает разбираться с EPS, MQTT и умными домами, мы рекомендуем обратить внимание на модуль NodeMCU ESP8266 (он же NodeMCU dev board). У него есть ряд плюсов: встроенный преходник USB/UART, большое количество GPIO, аналоговый пин A0, не нужно подключать GPIO к GND для прошивки, наличие питания 5 и 3.3 вольта. Просто подключаете плату к компьютеру с помощью Micro-USB кабеля и начинаете работать. NodeMCU dev board позволит вам сэкономить большое количество времени! При программировании обратите внимание, что номер ножки не соответствует номеру GPIO.

Также встроенный переходник USB/UART есть на плате Wemos D1 Mini:

Если у вас плата без переходника, например, ESP-01 или ESP-12, или вы хотите прошить модули Sonoff, то вам понадобится переходник USB/TTL.

В обоих случаях дополнительно вам понадобится установить на компьютер драйвер для вашего встроенного или внешнего переходника USB/TTL.

Загрузка прошивки ESPEasy с помощью Flash Tool

Данный способ подходит только для компьютеров с Windows, но он самый простой! Сначала необходимо проверить к какому порту компьютера подключен наш ESP помуль. Подключаем модуль к компьютеру по USB. Открываем «Диспетчер устройвств», смотрим вкладку «Порты (COM и LPT)» и видим нашу плату. В моем случае порт COM4. Если ваше устройство не отображается в списке портов — значит вы не поставили драйвер для USB/TTL переходника.

Обратите нимание, что перед прошивкой модулей с внешнем адаптером USB/TTL их необходимо перевести в режим загрузки программного обеспечения. Для этого необходимо соединить GPIO0 на плате ESP с GND, воткнуть переходник в плату, а потом уже в USB. Если у вас NodeMCU или Wemos, то этого делать не нужно.

Распаковываем скаченный архив ESPEasy_R120.zip в папку ESPEasy_R120 и запускаем файл flash.cmd. Откроется черное окно, в котором необходимо будет ответить на несколько вопросов.

1 вопрос: Comport (example 3,4…) — необходимо ввести номер порта, к которому подключен модуль ESP и нажать Enter. Я ввожу 4. Enter.

2 вопрос:  Flash size (example 512, 1024 or 4096) — необходимо ввести количество памяти, которое доступно на нашей плате. Сколько памяти на вашей плате вы можете посмотреть в этой таблице. Для платы NodeMCU dev board вводим 4096. Enter.

3 вопрос: Build — необходимо ввести номер версии прошивки, которую вы загружаете. В нашем случае вводим 120. Enter.

В чёрном окне проскочет несколько строк с системным кодом, и начнут появляться точки, и через некоторое время система напишет, что загрузка завершена. Вы увидете такой экран:

Нажимаем любую клавишу. Прошивка ESPEasy успешно загружена на ваш модуль! Поздавляю! Переходим к пункту «Подключение и первичная настройка» в этой статье.

Возможные проблемы с Flash Tool

Если вы не видите своё устройство в диспетчере устройств, значит у вас не установлен драйвер переходника USB/TTL.

Если файлы не распаковать в папку, а просто запустить из архива, то после вопросов система выдаст ошибку, т.к. не сможет работать с файлом esptool.exe. Просто распакуйте архив в папку и заново запустите flash.cmd.

Если вам так и не удалось прошить модуль ESP с помощью flash.cmd, но плата видна в системе, то вы можете сделать прошивку программой ESPEasy Flasher. В ней надо будет только выбрать порт и соответствующую прошивку. В скаченной папке с прошивками будет 3 разных файла прошивок для плат с разным размером памяти.

Если у вас не получилось сделать загрузку ни одним из этих способов — вы можете попробовать сделать загрузку через Arduino IDE.

Загрузка прошивки ESPEasy с помощью Arduino IDE

Данный способ отлично подходит, если вы уже загружали свои собственные скетчи на плату через Arduino IDE и сейчас хотите попробовать поработать с ESPEasy. Если же вы раньше просто программировали ardunino и ни разу не прошивали esp8266, то предварительно вам необходимо подготовить Arduino IDE. Подробную инструкцию вы можете найти в нашей статье. Через Arduino IDE вы можете сделать загрузку как на Windows, так и на Mac OS.

В папке, которую вы скачали с официального сайта, кроме файлов последней прошивки и программы для загрузки также есть папка Source. В ней находятся два папки: в одной — необходимые библиотеки, во второй — файлы нашей прошивки. Копируете библиотеки из папки librares в папку с библиотеками ArduinoIDE на вашем компьютере.

На компьютерах Windows эта папка обычно: C:\Users\USERNAME\Documents\Arduino\librares — в папке с вашими документами.

На Mac OS: \Users\USERNAME\Documents\Arduino\librares — в папке с вашими документами.

Дальше заходим во вторую папку из скаченного архива (\Source\ESPEasy)  и запускаем оттуда файл ESPEasy.ino. Откроется Arduino IDE.

Теперь в меню «Инструменты» необходимо выбрать порт, тип платы, размер памяти. Какие параметры выбирать для разных плат и как настраивать Arduino IDE для работы с ESP вы может прочитать в нашей отдельной статье.

Для NodeMCU dev board выбираем параметры как на картинке + выбираем свой порт.

Заходим в меню «Скетч» и выбираем «Загрузка»

В Arduino IDE внизу в чёрной консоли пробежит несколько строчек системных сообщений, потом появится несколько строчек с точками и программа напишет, что загрузка прошла успешно. Если программа выдаёт строчки с оранжевыми ошибками, то скорее всего у вас проблемы с подключение платы к компьютеру.

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

Подключение и первичная настройка

Теперь на своём компьютере откройте список доступных Wi-Fi сетей — в списке должна появиться сеть ESP_0 (В некоторых версиях прошивки возможно будет Esp_Easy_0). Подключитесь к ней (стандартный пароль configesp).

Если ваш браузер не открыл автоматически страницу настройки EspEasy, то в адресной строке браузера наберите 192.168.4.1. В появившемся окне необходимо выбрать вашу домашнюю wi-fi, ввести пароль от нее в поле password и нажать кнопку Connect.

Вы увидите сообщение о том, что система перезагружается.

После этого ваш компьютер отключится от сети Esp и подключится обратно к вашей домашнией Wi-Fi сети. В браузере покажется ip адрес вашего esp. В адресной строке вашего браузера введите ip esp модуля (например, 192.168.1.65). Откроется окно с основный информацией о модуле esp, на котором вы можете посмотреть: беспрырывное время работы модуля, уровень сигнала, ip адрес модуля и точки доступа, версию прошивки, MAC адреса, информация о свободной памяти и список других esp модулей в сети.

Вверху расположено меню для перехода в разделы системы. Зайдите во вкладку Config. Здесь находятся основные настройки системы, рассмотрим их подробнее.

1. Name — имя вашего ESP модуля. Оно используется как сетевое имя, а также для идентификации каналов при работе по MQTT протоколу.

2. Admin Password используется для установки пароля на настройки. По умолчанию пароля нет, но если его установить, то при открытии ip адреса вашего esp модуля необходимо будет ввести пароль. Только в этом случае вы сможете редактировать настройки. Это очень удобно, если вы используете свои модули в публичных местах.

3. SSID, WPA Key — используется для подключения к вашей домашней Wi-Fi сети.

4. WPA AP Mode Key — данный пароль используется в том случае, если ваш esp модуль работает в режиме точки доступа.

5. Unit nr — это номер машего модуля в сети. Для корректной работы системы он должен быть уникальным для каждого esp модуля.

6. Protocol и следующие за ним поля отвечают за выбор и настройку сетевого протокола, по которому ваш esp модуль взаимодействует с сервером умного дома или облачным сервером сбора данных. Мы можем выбрать OpenHAB MQTT, Domoticz MQTT, PiDome MQTT и ThingSpeak и другие менее популярные варианты.

7. Sensor Delay отвечает за то, как часто данные с модуля ESP отправляются на сервер. Значение необходимо писать в секундах.

8. Sleep Mode используется для перевода устройства в режим глубокого сна. Используйте этот параметр только после полной настройки вашего устройста.

В разделе Hardware вы можете выбрать какой светодиод на плате будет отвечать за состояние Wi-Fi подключения, а также выставить дефолтные состояния пинов. Во вкладке Rules можно настроить простые правила автоматизации. Обратите внимание, что по умолчанию данная вкладка не отображается. В разделе Devices происходит добавление и настройка датчиков и управляемых девайсов. В разделе Tools находятся более тонкие настройки, а также есть поле для выполнения команд.

В данной статье мы рассказали вам о том, что из себя представляет готовая прошивка EspEasy, для чего ее можно использовать, как прошить ее ваш ESP модуль, а также как провести первичные настройки. В следующих статьях мы подробно расскажем о том, как использовать EspEasy в ваших проектах. Поключим к плате ESP самые популярные датчики, поробуем передавать данные с них в облачный сервер ThingSpeak и построить по ним графики. Также мы подключить ESP модуль к умному дому на базе OpenHAB по протоколу MQTT — будем собирать данные с датчиков и управлять светодиодами.

Wemos D1 mini WiFi на базе ESP8266, плата Arduino

Wemos D1 mini WiFi на базе ESP8266 – это микроконтроллер и WiFi модуль одновременно. Wemos D1 mini используется для программирования, контроля, управления различных проектов, в которых нужно использование микроконтроллеров или может подключаться к программному обеспечению, выполняемому на компьютере. Контроллер совместим со всеми платами расширения форм фактора Wemos mini. Этот микроконтроллер является аналогом оригинала Wemos D1 mini WiFi.

Контроллер поставляется на плате типоразмера Wemos Mini. В комплекте с платой идет три вида коннекторов с расстоянием между контактами 2,54 мм: штыревые контакты, гнезда с короткими ножками, гнезда с длинными ножками. Коннекторы нужны, чтобы модульно соединить плату контроллера с платами расширения. Штыревые контакты используются, если контроллер нужно подключить к гнездам периферии. Гнезда с короткими ножками используются, если к контроллеру нужно подключить периферию со штыревыми контактами. Гнезда с длинными ножками универсальные, они используются, когда контроллер нужно подключить к гнездам периферии и одновременно, если к контроллеру нужно подключить периферию со штыревыми контактами.

Wemos D1 mini поставляется на плате с гнездом microUSB и преобразователем USB – UART Ch440G, поэтому теперь можно не использовать внешние преобразователи USB – UART и ломать голову насчет больного (300мА) потребления чипа ESP8266.

Для использования Wemos D1 mini нужно подключить его к USB порту компьютера с помощью кабеля USB тип A – microUSB тип B (в комплект поставки не входит). Операционная система компьютера определит устройство как USB Serial Ch440. После подачи питания на плате контроллера начнет мигать синий светодиод (индикация передачи данных).

После подключения контроллера к компьютеру нужно скачать и установить программное обеспечение для работы. Wemos D1 mini поставляется с уже загруженной на ESP8266 прошивкой NodeMCU. Данная прошивка воспринимает код, написанный на языке программирования LUA.

Но, также есть возможность работать с более привычным Arduino IDE. Для обновления прошивки в программе Arduino IDE по адресу: лепесток «Файл», пункт «Настройки», в поле «Additional Boards Manager URLs:» вводите строку http://arduino.esp8266.com/package_ esp8266com_index.json и нажимаете «OK». Далее лепесток «Инструменты», пункт «Плата:», во всплывающем списке выбираем «Boards Manager…», в строке поиска набираете ESP, под строкой поиска появится название модуля, далее жмем кнопку «INSTALLED». После того, как информация загрузится и пройдет установка, у Вас появится возможность выбрать в программном обеспечении Arduino IDE модуль ESP8266 как контроллер и напрямую писать под него программы.

В конечном итоге Вы получите небольшой контроллер с тактовой частотой 40 МГц и 1 Мбайт Flash памяти. Предусмотрено три варианта использования в беспроводном режиме: Клиент (STA), Точка доступа (AP), Клиент+Точка доступа (STA+AP). Wemos D1 mini оснащен PCB антенной, при этом расстояние приема/передачи в идеальных условиях 400 м.

Контроллер Wemos D1 mini поддерживает функцию OTA н.з. обновление прошивки «по воздуху».

Контроллер Wemos D1 mini имеет один аналоговый и девять цифровых входов/выходов общего назначения для ввода или вывода информации и управляющих сигналов:

  • RST – сброс/перезагрузка;
  • A0 – аналоговый вход;
  • D0, D5, D6, D7, D8 – цифровые входы/выходы;
  • 3V3 – выходное напряжение 3,3В;
  • TX – передаваемые данные;
  • RX – принимаемые данные;
  • D1, D2, D3, D4 – цифровые входы/выходы;
  • G – общий контакт;
  • 5V – выходное напряжение 5В.

Каждый контакт имеет свой подтягивающий резистор. Аналоговый вход A0 имеет встроенный АЦП (аналого-цифровой преобразователь). Максимальное входное напряжение аналогового входа A0 3,3В!

Контакты контроллера имеют больше функций. С полным перечнем функций можно ознакомиться здесь.

Питание контроллера Wemos D1 mini осуществляется напрямую от USB порта компьютера.

Характеристики:

модель: Wemos D1 mini аналог оригинала;

типоразмер: Wemos mini;

собран на чипе: ESP8266;

Flash память: 1 Мбайт;

тактовая частота: 40 МГц;

USB – UART: Ch440G;

расстояние приема/передачи, в идеальных условиях: 400 м;

функция: OTA;

встроенная прошивка: NodeMCU;

размеры: 27 х 25 х 8 мм;

вес: 4 г.

Комплект поставки:

  • Wemos D1 mini WiFi на базе ESP8266, плата Arduino;
  • штыревые контакты 2,54 мм — 2шт.;
  • гнезда с короткими ножками 2,54 мм — 2шт.;
  • гнезда с длинными ножками 2,54 мм — 2шт.

Материалы и файлы для работы с контроллером.

Instructables View Counter + ESP8266 Guide: 6 шагов (с изображениями)

Давайте начнем проект с построения схемы.

Электроника проекта не очень сложна, но модуль ESP8266 требует специальной обработки, чтобы заставить его работать. Итак, во-первых, что это за ESP?

ESP8266 наиболее известен как недорогой WiFi-чип, но он также имеет полноценные возможности микроконтроллера. Это делает его идеальным для проектов, требующих Wi-Fi и управления внешними компонентами, такими как наш 7-сегментный дисплей.Программирование выполняется с помощью преобразователя USB в последовательный порт, также называемого преобразователем FTDI.

Схема

Компоненты можно просто соединить, как показано на схеме, но здесь дается немного больше информации.

Прежде всего, ESP8266 работает от 3,3 В, а дисплей (и USB, который мы будем использовать для питания) работает от 5 В. Это означает, что нам понадобится преобразователь напряжения, чтобы преобразовать 5 В USB в 3,3 В для ESP8266.

При включении ESP8266 он войдет в один из своих «режимов загрузки», в зависимости от напряжения на его выводах ввода-вывода.Другими словами: если мы хотим, чтобы наш код выполнялся при загрузке, нам нужно это настроить!
Для выполнения программы это означает:

  • CH_PD to VCC
  • RST to VCC
  • GPIO0 to VCC
  • GPIO2 to VCC

При программировании устройства это преобразуется в:

  • CH_PD to VCC
  • RST к VCC
  • GPIO0 к GND
  • GPIO2 к VCC

Как видно, единственная разница — это состояние вывода GPIO0.Следовательно, мы будем использовать кнопку для подключения GPIO0 к GND при программировании.
После загрузки пины можно использовать свободно, в нашем случае для 2 вещей:

  1. В качестве входа: есть кнопка, подключенная к GPIO2.
  2. Схема экрана. Поскольку для этого требуется более 2 сигналов, линии TX и RX также будут использоваться в качестве ввода-вывода.

Теперь, когда у нас есть теория работы, мы можем воплотить ее в физический дизайн.

PCB

Чтобы сделать печатную плату, я разработал макет монтажной платы / стрипборда в KiCad (программное обеспечение для компоновки печатных плат с открытым исходным кодом).Установив интервал сетки на 2,54 мм (0,1 дюйма), вы можете создавать макеты, которые можно паять на картон.

Это позволяет очень легко спаять электронику вместе: просто распечатайте дизайн (в формате PDF) и скопируйте его на картон. Используйте контакты заголовка для подключения экрана, FTDI и ESP8266.

После пайки отрежьте монтажную плату до нужного размера и вставьте все компоненты.
Когда электроника спаяна, мы можем вдохнуть в нее жизнь с помощью кода!

Arduino / установка.сначала у мастера · esp8266 / Arduino · GitHub

Менеджер досок

Это рекомендуемый метод установки для конечных пользователей.

Предварительные требования

  • Arduino 1.6.8, получить от Arduino
    Веб-сайт.
  • Подключение к Интернету
  • Интерпретатор Python 3 (только для Mac / Linux, для установки Windows предоставляется собственный)

Инструкции

  • Запустите Arduino и откройте окно настроек.
  • Войти
    https: // arduino.esp8266.com/stable/package_esp8266com_index.json
    в поле Дополнительные URL-адреса Board Manager. Вы можете добавить несколько
    URL-адреса, разделяя их запятыми.
  • Откройте диспетчер плат в меню «Инструменты»> «Плата» и найдите esp8266.
    Платформа.
  • Выберите нужную версию из раскрывающегося списка.
  • Нажмите кнопку установки.
  • Не забудьте выбрать свою плату ESP8266 в меню «Инструменты»> «Плата».
    после установки.

Дополнительные сведения о диспетчере плат Arduino см .:

Использование git версии

Это рекомендуемый метод установки для участников и библиотеки.
Разработчики.

Предварительные требования

  • Arduino 1.6.8 (или новее, текущая рабочая версия — 1.8.5)
  • git
  • Python 3.x (https://python.org)
  • терминал, консоль или командная строка (в зависимости от вашей ОС)
  • Подключение к Интернету
  • Удаление любой версии ядра, установленной через Board Manager

Инструкции — Windows 10

  • Во-первых, убедитесь, что у вас еще не установлена ​​версия ядра ESP8266.
    с помощью Board Manager (см. выше).Если вы это сделаете, удалите его из
    Совет директоров перед продолжением. Также желательно стереть Arduino15
    содержание.

  • Установите git для Windows (если еще не; см. Https://git-scm.com/download/win)

  • Откройте командную строку (cmd) и перейдите в каталог Arduino по умолчанию. Обычно это
    каталог скетчей (обычно C: \ users \ {username} \ Documents \ Arduino , где переменная среды % USERPROFILE% обычно содержит C: \ users \ {username} )

  • Клонируйте этот репозиторий в каталог оборудования / esp8266com / esp8266.

     cd% ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ% \ Documents \ Arduino \
    если не существует оборудования mkdir hardware
    cd оборудование
    если не существует esp8266com mkdir esp8266com
    cd esp8266com
    git clone https://github.com/esp8266/Arduino.git esp8266 

    У вас должна получиться следующая структура каталогов в

    C: \ Users \ {ваше имя пользователя} \ Documents \

     Ардуино
    |
    --- библиотеки
    --- аппаратное обеспечение
        |
        --- esp8266com
            |
            --- esp8266
                |
                --- загрузчики
                --- ядра
                --- док
                --- библиотеки
                --- упаковка
                --- тесты
                --- инструменты
                --- варианты
                --- Платформа.текст
                --- programmers.txt
                --- README.md
                --- доски.txt
                --- ЛИЦЕНЗИЯ 
  • Инициализировать подмодули

     cd% ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ% \ Documents \ Arduino \ hardware \ esp8266com \ esp8266
    git обновление подмодуля --init 

Если в процессе сборки появляются сообщения об отсутствующих файлах, относящихся к SoftwareSerial , это должно быть связано с тем, что этот шаг был пропущен и является обязательным.

  • Скачать бинарные инструменты

     cd esp8266 / инструменты
    python3 получить.py 
  • Перезапустить Arduino

  • Если вы используете Arduino IDE для Visual Studio (https://www.visualmicro.com/), не забудьте нажать Tools — Visual Micro — Rescan Toolchains and Libraries

  • При последующем обновлении локальной библиотеки перейдите в каталог esp8266 и выполните команду git pull

     cd% ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ% \ Documents \ Arduino \ hardware \ esp8266com \ esp8266
    git статус
    мерзавец тянуть 

Обратите внимание, что теоретически вы можете установить в C: \ Program Files (x86) \ Arduino \ hardware , однако это имеет последствия для безопасности, не говоря уже о том, что каталог часто удаляется при повторной установке Arduino IDE.У него есть преимущество (или недостаток, в зависимости от вашей точки зрения) — то, что он доступен всем пользователям вашего ПК, которые используют Arduino.

Инструкции — Другая ОС

  • Во-первых, убедитесь, что у вас еще не установлена ​​версия ядра ESP8266.
    с помощью Board Manager (см. выше). Если вы это сделаете, удалите его из
    Совет директоров перед продолжением. Также желательно стереть .arduino15 (Linux)
    или содержимое Arduino15 (MacOS).

  • Откройте консоль и перейдите в каталог Arduino.Это может быть ваш
    каталог скетчей (обычно / Arduino ) или
    каталог самого приложения Arduino, выбор за вами.

  • Клонируйте этот репозиторий в каталог оборудования / esp8266com / esp8266.
    В качестве альтернативы, клонируйте его в другом месте и создайте символическую ссылку, если ваша ОС
    поддерживает их.

     cd оборудование
    mkdir esp8266com
    cd esp8266com
    git clone https://github.com/esp8266/Arduino.git esp8266 

    У вас должна получиться следующая структура каталогов:

     Ардуино
    |
    --- аппаратное обеспечение
        |
        --- esp8266com
            |
            --- esp8266
                |
                --- загрузчики
                --- ядра
                --- док
                --- библиотеки
                --- упаковка
                --- тесты
                --- инструменты
                --- варианты
                --- Платформа.текст
                --- programmers.txt
                --- README.md
                --- доски.txt
                --- ЛИЦЕНЗИЯ 
  • Инициализировать подмодули

     cd esp8266
    git обновление подмодуля --init 

Если в процессе сборки появляются сообщения об отсутствующих файлах, относящихся к SoftwareSerial , это должно быть связано с тем, что этот шаг был пропущен и является обязательным.

  • Скачать бинарные инструменты

     cd esp8266 / инструменты
    python3 получить.py 

    Если вы получите сообщение об ошибке, в котором говорится, что python3 не найден, вам необходимо установить его (большинство современных UNIX-подобных ОС предоставляют Python 3 как
    часть установки по умолчанию). Для установки вам нужно будет использовать sudo yum install python3 , sudo apt install python3 или brew install python3
    по мере необходимости. На Mac вы можете получить сообщение об ошибке, например:

     python3 get.py
       Платформа: x86_64-apple-darwin
       Скачивание python3-macosx-placeholder.tar.gz
       Отслеживание (последний вызов последний):
         Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", строка 1317, в do_open
           encode_chunked = req.has_header ('Передача-кодировка'))
         ...
         Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", строка 1117, в do_handshake
           self._sslobj.do_handshake ()
       ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась: невозможно получить сертификат местного эмитента (_ssl.с: 1056)
    
    Это связано с тем, что Homebrew на Mac по умолчанию не всегда устанавливает необходимые сертификаты SSL. Установите их вручную (при необходимости настройте Python 3.7) с помощью:
    
    .. code :: bash
    
        cd "/ Applications / Python 3.7 /" && sudo "./Install Certificates.command" 
  • Перезапустить Arduino

  • При последующем обновлении локальной библиотеки перейдите в каталог esp8266 и выполните команду git pull

     оборудование для компакт-дисков \ esp8266com \ esp8266
    git статус
    мерзавец тянуть 

Использование PlatformIO

ПлатформаIO
это экосистема с открытым исходным кодом для разработки IoT с кросс-платформенной
система сборки, менеджер библиотек и полная поддержка Espressif
(ESP8266) разработка.Он работает на следующем популярном хосте, работающем
системы: macOS, Windows, Linux 32/64 и Linux ARM (например, Raspberry Pi,
BeagleBone, CubieBoard).

  • Что такое PlatformIO?
  • PlatformIO IDE
  • PlatformIO Core (инструмент командной строки)
  • Расширенное использование — пользовательские настройки, загрузка в LittleFS, по беспроводной сети (OTA), промежуточная версия
  • Интеграция с облачными и автономными IDE — Cloud9, Codeanywhere, Eclipse Che (Codenvy), Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio и VSCode
  • Примеры проектов

Выпуски

· esp8266 / Arduino · GitHub

версии · esp8266 / Arduino · GitHub

Исправлений:

  • Backport # 7478: исправьте необязательные переменные класса из # 7464
  • Backport # 7491: исправлено выравнивание буфера записи флеш-памяти PUYA

Исправление против «OTA больших файлов приводит к зависанию устройства» (# 7458)

Также включает бэкпорты из 3.0,0-отклонение:

  • плат: обновления 4dsystems (gen4iod) (# 7433)
  • Свободное место для перезаписанных файлов в LittleFS (# 7434)
  • Сохранять сертификаты клиентов при установке аутентификации сервера (# 7464)
  • CVE-2020-12638 способ обхода атаки перехода на более раннюю версию WPA (# 7486)
  • Инициализировать _ledPin (# 7487)
  • Правильная длина буфера строки стека (# 7488)

Загрузочный

Ядро

  • Добавить пространство имен к ссылкам на FS в CertStore (# 7413)
  • Для фиксированного инициализатора time_stats UMM_CRITICAL_METRICS.(# 7390)
  • Добавить маркер «- CUT HERE -» в вывод исключения (# 7369)
  • CallbackList API: улучшено, чтобы облегчить исполнителю информацию о количестве активных обратных вызовов (# 7361)
  • umm_malloc ручное слияние с восходящим потоком (# 7337)
  • Исправить вход в configTime (tz, dst,) (# 7320)
  • Обновите SPIFFS до последней версии (# 7276)
  • Разрешить невыровненный PSTR () (# 7275)
  • Crypto: Добавьте требуемый BearSSL в заголовок (# 7310)

Система сборки

  • Используйте предварительно собранный переносимый Python3 для OSX (# 7348)
  • Распознать MSYS (MINGW) как Windows для набора инструментов get (# 7358)
  • elf2bin.py очистка objcopy (# 7351)

Библиотеки

  • WiFiMulti: Возможность установить тайм-аут подключения в WifiMulti-> run (# 7420)
  • BearSSL: добавить пространство имен к ссылкам FS в CertStore (# 7413)
  • httpclient: исправить значение ошибки (# 7401)
  • EspSoftwareSerial 6.8.5: исправляет четность для TX с режимами нечетного размера слова (# 7399, # 7367, # 7354)
  • Добавить ESP8266WebServerTemplate :: enableCORS (bool _ec) (# 7388)
  • SPI: abs -> std :: abs и исправления приведения (# 7362)
  • Исправить недосмотр для ap gw (# 7366)
  • ESP8266WiFiAP: исправить IP-адрес в некоторых случаях (# 7363)
  • LittleFS: вернуть FALSE при поиске мимо EOF (# 7324)
  • Веб-сервер: уменьшение размера Flash для MIME-типа (# 7312)
  • BearSSL: выделить стек для SigningVerifier (# 7291)
  • ESP8266HTTPClient исправления (# 6476)

Примеры

  • Обновление отпечатка сертификата GitHub в примере (№ 7397)
  • Демонстрация отправленного мультиклиентским сервером события (также известного как EventSource) (# 7012)
  • Веб-сервер: пример графика (№ 7299)

Документация

  • Добавить ожидающие методы в документы универсального класса (# 7427)
  • исправления документации для LittleFS (# 7385)
  • Исправить опечатку в ридми.первый (# 7379)
  • Добавить документацию по выходу из глубокого сна с помощью WAKE_RF_DISABLED (# 7338)
  • Добавить ссылку на библиотеку FTP-клиента / сервера (# 7336)
  • Документ ESP.getMaxFreeBlockSize ()! = Максимальный размер malloc (# 7328)

Платы

  • modwifi: исправление назначения контактов I2C (# 7416)

Здание на хосте

    Эмуляция

  • на хосте: опция для расположения сохраняемости FS (# 7424)
  • Эмуляция

  • на хосте: FS: незначительное исправление сброса (# 7417)
  • Эмуляция

  • на хосте: отсутствуют фиктивные функции, улучшена обработка интерфейса хоста (# 7404)
  • Эмуляция

  • на хосте: lwIP всегда получает многоадресные пакеты, включает и исправляет многоадресный сервер UDP (# 7386)
  • Эмуляция

  • на хосте: исправить привязку с определенного интерфейса (# 7372)
  • Эмуляция

  • на хосте: различные исправления (# 7355)

Исправления

  • Отменить изменения XMC в eboot, которые вызвали сбой OTA (# 7277)
  • Восстановить MDNS прослушать текущий iface, вызывающий смерть MDNS (# 7266)

Ядро (ФС)

  • Устарела SPIFFS, переместите примеры в LittleFS (# 7263)

Документация

  • Документ USTX в USS / UxS не работает должным образом (№ 7265)

Критические изменения

Нет

Отличные дополнения

  • Разрешить обновления сжатой флэш-памяти GZIP (# 6820)
  • Добавить библиотеку CryptoInterface (# 6961, # 7252)

Ядро

  • Добавлен отсутствующий «if (umm_heap == NULL) {… «в umm_free_heap_size_lw (# 6929)
  • Оптимизация размера кода для ESP.getFullVersion () (# 6936)
  • I2C: разрешить частоту ниже 100 кГц (# 6934)
  • Уменьшить размер памяти ESP.getResetInfo () (# 7030)
  • Оптимизация размера кода ESP.getResetReason () (# 7029)
  • Демо-версия с низким энергопотреблением (# 6989)
  • Исправить реализацию WMath map () для обратного / двустороннего сопоставления (# 7027)
  • Исправить optimistic_yield, чтобы не возвращать результат при каждом вызове после x мкс (# 6804)
  • Обновлены смещения стека для посмертного дампа стека (# 7066)
  • Исправлено начало и конец стека в stack_thunk_dump_stack () (# 7085)
  • configTime (tzsec, dstsec,): исправить UTC / локальное управление (# 6993)
  • dtostrf: круглое исправление (# 7068, # 7093)
  • простой API TZ: обойти sprintf / sscanf (= не использовать флэш-память 7 КБ) (# 7109)
  • Вытяните инициализацию GPIO в свою собственную «слабую» функцию.(# 7044)
  • Атрибут __real_system_restart_local () как (noreturn) (# 7167)
  • Перемещение с плавающей запятой из libgcc из IRAM (# 7180, # 7188)
  • Тон: расширить до 20 кГц (# 7179)
  • Добавить библиотеку CryptoInterface (# 6961, # 7252)
  • Исправление ошибки утечки MD5 (# 7197, # 7208)
  • Использовать F_CPU, если (?) Переключатель частоты процессора работает только во время компиляции (# 6833)
  • выставить setTZ () (# 7234)
  • Поддержка флэш-памяти XMC — WIP (# 6725)
  • Разрешить указание форм сигнала в тактах (# 7211)
  • Waveforms: вишневый выбор приятных изменений по сравнению с текущими # 7122 (# 7218)
  • Разрешить stopWaveform для остановки сигналов с истекшим временем ожидания (# 7236)
  • Удерживать датчик в сбросе во время изменения скорости (# 7248)
  • Исправить незначительные предупреждения статического анализатора GCC10 (№ 7255)

Ядро (ФС)

  • Пропустить.и .. на LittleFS :: dir :: rewind () (# 6959)
  • Обновлять метку времени LittleFS только при открытии записи (# 6956)
  • Обновите LittleFS до последней исходной головки (# 6986)
  • Добавить обратный вызов SDFS :: Dir :: fileTime (# 6985)
  • Добавить поддержку LittleFS в ESP8266WebServer.serveStatic () (# 6987)
  • Исправить логическое / логическое и смешивание в LittleFS open (# 6996)
  • Добавить аксессоры времени создания fileCreation / getCreation (# 7000)
  • Улучшение поддержки LittleFS (# 7071)
  • Обновление до LittleFS v2.2.0 (# 7240)

Сеть (ядро, библиотека / ESP8266WiFi)

  • lwip2: больше нет зависимостей подмодуля git, более быстрая контрольная сумма, ограничение невыполненных работ и другие исправления (# 6887)
  • Исправить / включить повторную сборку пакетов UDP (# 7036, # 7132)
  • SNTP: backport espressif sntp api для lwip2 (# 7097)
  • TCP: исправляет обработку ограничения невыполненной работы и разрешает эфемерные TCP-соединения (# 7096)
  • обновление lwip2: остановить dhcp при сбое интерфейса (# 7114)
  • Исправить отправку UDP на локальные адреса ссылки IPv6 (# 6541)
  • Исправить отправку TCP на локальные адреса ссылки IPv6 (# 7207)
  • Обновление _port до реально используемого порта и доступ к _port (# 7003)
  • Сделать порядок разрешения DNS выбираемым во время выполнения или во время компиляции (# 6865)
  • WiFi: бесплатный ARP API для режима Wi-Fi станции (# 6889, # 7203)
  • исправить вызов нулевого указателя из WiFiClient :: localIP () в IPAddress (# 7221)

Библиотека — ESP8266WiFi (SSL / TLS)

  • Обновление BearSSL, увеличение стека SSL (# 6980)
  • Устранение утечки памяти при нескольких вызовах initCertStore (# 7021)
  • Обновление до последней версии BearSSL (# 7098)
  • Прервать при сбое выделения стека BearSSL (# 7152)

Прошивка — OTA — Updater

  • Разрешить обновления сжатой флэш-памяти GZIP (# 6820)
  • Добавить документацию для сжатого OTA, исправить ошибку (# 6924)
  • Добавьте CRC32 через программу и ESP.checkFlashCRC (# 6566)
  • Исправить возможное переполнение модуля обновления, добавить тесты хоста (# 6954)
  • разрешить фильтр «.bin.gz» в селекторе файлов средства обновления HTTP (# 7026)
  • Updater: предотвратить закрытие веб-сервера (опция) (# 6969)
  • Использовать второй стек для проверки подписи обновления (# 7149)
  • Исправить проверку успешности / сбоя завершения espota (# 7204)

Библиотека — SoftwareSerial

Библиотека — ESP8266WebServer

  • Очистка посадочного места PROGMEM для responseCodeToString (# 6950)
  • Исправить порядок поиска для индекса.Файлы htm (l) (. gz) (# 7069)
  • Добавить Uri с поддержкой regexUri и globUri (# 6696)
  • Добавить конструктор помощника flash в Uri (# 7105)
  • Открыть API фрагментов веб-сервера (# 7134)
  • Сделать getContentType доступным для стороннего использования (# 7254)

Библиотека — ESP8266HTTPClient

  • Уменьшить создание временной строки в HTTPClient :: sendHeader (# 6937)
  • Переместите пару больших струн с родаты на флеш (# 6976)
  • очистить _canReuse в setUrl, если это не локальное перенаправление (# 7039)
  • Исправляет большие проблемы с полезной нагрузкой для sendRequest (# 7051)
  • Лучше следовать перенаправлению для HTTPClient (# 7157)

Библиотека — mDNS

  • Обновление LEAmDNS.cpp (исправить ошибку № 6982) (№ 7025)
  • использовать STA в качестве интерфейса по умолчанию в mDNS (# 7042)
  • Добавления в UdpContext, необходимые для LEAmDNS2 (# 7048)
  • mDNS: защита MDNSResponder :: queryService от неправомерного использования (# 7216)
  • Добавить метод получения isRunning для проверки того, что :: begin уже вызвано (# 7219)
  • Изменение прослушивания для прослушивания только текущего iface вместо 0 (# 7217)

Библиотека — сервопривод

  • Определите MAX_SERVOS равным 12, как в исходном Servo.h (# 6999)

Библиотеки

  • Различные очистки обработки строк (библиотеки и ядро) (# 6945)
  • Установите значение для интервала уведомления SSDP (# 7110)

Документация

  • Руководство по установке PlatformIO (# 7142)
  • Исправить ссылки RST для PlatformIO (# 7143)
  • (STA) Исправлено смещение обратных кавычек (# 7247)

CI

  • Исправить сборку Windows CI (# 6927)
  • исправить CI: перейти на python3 для pio (# 7035)
  • обновление до новой предварительно созданной версии win sed (# 7062)
  • Переключить платформу espressif8266 на ветвь разработки в сборке PlatformIO (# 7170)
  • исправить проверку стиля: (# 7222)

Примеры

  • CaptivePortal: улучшить качество HTML (# 7227)
  • ESP8266WebServer: переработка примеров FSBrowser и SDWebServer (№ 7182)

Платы

  • Внесены изменения для включения «ESP8266_» в имена плат ITEAD, {build.board} , (# 7024)
  • Добавить поддержку eduino wifi (# 6554)
  • Добавить объект размером 2 МБ к стандартной плате 8285 (# 7163)
  • esp8285: правильно инициализировать бесплатный gpio как вход (# 7165)

Система сборки

  • Добавить обратно mklittlefs для цели linux32 (# 7011)
  • Используйте скрипт python3 для вызова python3 (# 6960)
  • boards.txt.py: используйте правильное имя файла при записи (# 7018)
  • PIO: разрешить использование пользовательских сценариев компоновщика (# 7078)
  • Конструктор пакетов

  • : обновления для альфа-выпусков (# 7088)
  • Переключить платформу espressif8266 на ветвь разработки в сборке PlatformIO (# 7170)
  • Использовать F_CPU, если (?) Переключатель частоты процессора работает только во время компиляции (# 6833)

Тесты прибора

  • тесты устройства: некоторые из них можно запустить на хосте (# 6912)
  • Добавить тест для FS :: open («w +») (# 7241)

Пыльник

  • eboot: исправление связывания и заполнения (# 7047)
  • Разрешить обновления флэш-памяти, сжатые GZIP (# 6820)

Здание на хосте

    Сборка хоста

  • : optimistic_yield () неправильно задерживает () вместо того, чтобы избегать чрезмерной доходности (# 6802)

Исправления

  • Отменить изменения XMC в eboot, которые вызвали сбой OTA (# 7277)
  • Восстановить MDNS прослушать текущий iface, вызывающий смерть MDNS (# 7266)

Ядро (ФС)

  • Устарела SPIFFS, переместите примеры в LittleFS (# 7263)

Документация

  • Документ USTX в USS / UxS не работает должным образом (№ 7265)

Критические изменения

Нет

Отличные дополнения

  • Разрешить обновления сжатой флэш-памяти GZIP (# 6820)
  • Добавить библиотеку CryptoInterface (# 6961, # 7252)

Ядро

  • Добавлен отсутствующий «if (umm_heap == NULL) {… «в umm_free_heap_size_lw (# 6929)
  • Оптимизация размера кода для ESP.getFullVersion () (# 6936)
  • I2C: разрешить частоту ниже 100 кГц (# 6934)
  • Уменьшить размер памяти ESP.getResetInfo () (# 7030)
  • Оптимизация размера кода ESP.getResetReason () (# 7029)
  • Демо-версия с низким энергопотреблением (# 6989)
  • Исправить реализацию WMath map () для обратного / двустороннего сопоставления (# 7027)
  • Исправить optimistic_yield, чтобы не возвращать результат при каждом вызове после x мкс (# 6804)
  • Обновлены смещения стека для посмертного дампа стека (# 7066)
  • Исправлено начало и конец стека в stack_thunk_dump_stack () (# 7085)
  • configTime (tzsec, dstsec,): исправить UTC / локальное управление (# 6993)
  • dtostrf: круглое исправление (# 7068, # 7093)
  • простой API TZ: обойти sprintf / sscanf (= не использовать флэш-память 7 КБ) (# 7109)
  • Вытяните инициализацию GPIO в свою собственную «слабую» функцию.(# 7044)
  • Атрибут __real_system_restart_local () как (noreturn) (# 7167)
  • Перемещение с плавающей запятой из libgcc из IRAM (# 7180, # 7188)
  • Тон: расширить до 20 кГц (# 7179)
  • Добавить библиотеку CryptoInterface (# 6961, # 7252)
  • Исправление ошибки утечки MD5 (# 7197, # 7208)
  • Использовать F_CPU, если (?) Переключатель частоты процессора работает только во время компиляции (# 6833)
  • выставить setTZ () (# 7234)
  • Поддержка флэш-памяти XMC — WIP (# 6725)
  • Разрешить указание форм сигнала в тактах (# 7211)
  • Waveforms: вишневый выбор приятных изменений по сравнению с текущими # 7122 (# 7218)
  • Разрешить stopWaveform для остановки сигналов с истекшим временем ожидания (# 7236)
  • Удерживать датчик в сбросе во время изменения скорости (# 7248)
  • Исправить незначительные предупреждения статического анализатора GCC10 (№ 7255)

Ядро (ФС)

  • Пропустить.и .. на LittleFS :: dir :: rewind () (# 6959)
  • Обновлять метку времени LittleFS только при открытии записи (# 6956)
  • Обновите LittleFS до последней исходной головки (# 6986)
  • Добавить обратный вызов SDFS :: Dir :: fileTime (# 6985)
  • Добавить поддержку LittleFS в ESP8266WebServer.serveStatic () (# 6987)
  • Исправить логическое / логическое и смешивание в LittleFS open (# 6996)
  • Добавить аксессоры времени создания fileCreation / getCreation (# 7000)
  • Улучшение поддержки LittleFS (# 7071)
  • Обновление до LittleFS v2.2.0 (# 7240)

Сеть (ядро, библиотека / ESP8266WiFi)

  • lwip2: больше нет зависимостей подмодуля git, более быстрая контрольная сумма, ограничение невыполненных работ и другие исправления (# 6887)
  • Исправить / включить повторную сборку пакетов UDP (# 7036, # 7132)
  • SNTP: backport espressif sntp api для lwip2 (# 7097)
  • TCP: исправляет обработку ограничения невыполненной работы и разрешает эфемерные TCP-соединения (# 7096)
  • обновление lwip2: остановить dhcp при сбое интерфейса (# 7114)
  • Исправить отправку UDP на локальные адреса ссылки IPv6 (# 6541)
  • Исправить отправку TCP на локальные адреса ссылки IPv6 (# 7207)
  • Обновление _port до реально используемого порта и доступ к _port (# 7003)
  • Сделать порядок разрешения DNS выбираемым во время выполнения или во время компиляции (# 6865)
  • WiFi: бесплатный ARP API для режима Wi-Fi станции (# 6889, # 7203)
  • исправить вызов нулевого указателя из WiFiClient :: localIP () в IPAddress (# 7221)

Библиотека — ESP8266WiFi (SSL / TLS)

  • Обновление BearSSL, увеличение стека SSL (# 6980)
  • Устранение утечки памяти при нескольких вызовах initCertStore (# 7021)
  • Обновление до последней версии BearSSL (# 7098)
  • Прервать при сбое выделения стека BearSSL (# 7152)

Прошивка — OTA — Updater

  • Разрешить обновления сжатой флэш-памяти GZIP (# 6820)
  • Добавить документацию для сжатого OTA, исправить ошибку (# 6924)
  • Добавьте CRC32 через программу и ESP.checkFlashCRC (# 6566)
  • Исправить возможное переполнение модуля обновления, добавить тесты хоста (# 6954)
  • разрешить фильтр «.bin.gz» в селекторе файлов средства обновления HTTP (# 7026)
  • Updater: предотвратить закрытие веб-сервера (опция) (# 6969)
  • Использовать второй стек для проверки подписи обновления (# 7149)
  • Исправить проверку успешности / сбоя завершения espota (# 7204)

Библиотека — SoftwareSerial

Библиотека — ESP8266WebServer

  • Очистка посадочного места PROGMEM для responseCodeToString (# 6950)
  • Исправить порядок поиска для индекса.Файлы htm (l) (. gz) (# 7069)
  • Добавить Uri с поддержкой regexUri и globUri (# 6696)
  • Добавить конструктор помощника flash в Uri (# 7105)
  • Открыть API фрагментов веб-сервера (# 7134)
  • Сделать getContentType доступным для стороннего использования (# 7254)

Библиотека — ESP8266HTTPClient

  • Уменьшить создание временной строки в HTTPClient :: sendHeader (# 6937)
  • Переместите пару больших струн с родаты на флеш (# 6976)
  • очистить _canReuse в setUrl, если это не локальное перенаправление (# 7039)
  • Исправляет большие проблемы с полезной нагрузкой для sendRequest (# 7051)
  • Лучше следовать перенаправлению для HTTPClient (# 7157)

Библиотека — mDNS

  • Обновление LEAmDNS.cpp (исправить ошибку № 6982) (№ 7025)
  • использовать STA в качестве интерфейса по умолчанию в mDNS (# 7042)
  • Добавления в UdpContext, необходимые для LEAmDNS2 (# 7048)
  • mDNS: защита MDNSResponder :: queryService от неправомерного использования (# 7216)
  • Добавить метод получения isRunning для проверки того, что :: begin уже вызвано (# 7219)
  • Изменение прослушивания для прослушивания только текущего iface вместо 0 (# 7217)

Библиотека — сервопривод

  • Определите MAX_SERVOS равным 12, как в исходном Servo.h (# 6999)

Библиотеки

  • Различные очистки обработки строк (библиотеки и ядро) (# 6945)
  • Установите значение для интервала уведомления SSDP (# 7110)

Документация

  • Руководство по установке PlatformIO (# 7142)
  • Исправить ссылки RST для PlatformIO (# 7143)
  • (STA) Исправлено смещение обратных кавычек (# 7247)

CI

  • Исправить сборку Windows CI (# 6927)
  • исправить CI: перейти на python3 для pio (# 7035)
  • обновление до новой предварительно созданной версии win sed (# 7062)
  • Переключить платформу espressif8266 на ветвь разработки в сборке PlatformIO (# 7170)
  • исправить проверку стиля: (# 7222)

Примеры

  • CaptivePortal: улучшить качество HTML (# 7227)
  • ESP8266WebServer: переработка примеров FSBrowser и SDWebServer (№ 7182)

Платы

  • Внесены изменения для включения «ESP8266_» в имена плат ITEAD, {build.board} , (# 7024)
  • Добавить поддержку eduino wifi (# 6554)
  • Добавить объект размером 2 МБ к стандартной плате 8285 (# 7163)
  • esp8285: правильно инициализировать бесплатный gpio как вход (# 7165)

Система сборки

  • Добавить обратно mklittlefs для цели linux32 (# 7011)
  • Используйте скрипт python3 для вызова python3 (# 6960)
  • boards.txt.py: используйте правильное имя файла при записи (# 7018)
  • PIO: разрешить использование пользовательских сценариев компоновщика (# 7078)
  • Конструктор пакетов

  • : обновления для альфа-выпусков (# 7088)
  • Переключить платформу espressif8266 на ветвь разработки в сборке PlatformIO (# 7170)
  • Использовать F_CPU, если (?) Переключатель частоты процессора работает только во время компиляции (# 6833)

Тесты прибора

  • тесты устройства: некоторые из них можно запустить на хосте (# 6912)
  • Добавить тест для FS :: open («w +») (# 7241)

Пыльник

  • eboot: исправление связывания и заполнения (# 7047)
  • Разрешить обновления флэш-памяти, сжатые GZIP (# 6820)

Здание на хосте

    Сборка хоста

  • : optimistic_yield () неправильно задерживает () вместо того, чтобы избегать чрезмерной доходности (# 6802)

Изменений по сравнению с 2.6,3 (до 2,7,0)

Критические изменения

Нет

Отличные дополнения

  • Разрешить обновления сжатой флэш-памяти GZIP (# 6820)
  • Добавить библиотеку CryptoInterface (# 6961, # 7252)

Ядро

  • Добавлен отсутствующий «if (umm_heap == NULL) {…» в umm_free_heap_size_lw (# 6929)
  • Оптимизация размера кода для ESP.getFullVersion () (# 6936)
  • I2C: разрешить частоту ниже 100 кГц (# 6934)
  • Уменьшить занимаемую памятью ESP.getResetInfo () (# 7030)
  • Оптимизация размера кода ESP.getResetReason () (# 7029)
  • Демо-версия с низким энергопотреблением (# 6989)
  • Исправить реализацию WMath map () для обратного / двустороннего сопоставления (# 7027)
  • Исправить optimistic_yield, чтобы не возвращать результат при каждом вызове после x мкс (# 6804)
  • Обновлены смещения стека для посмертного дампа стека (# 7066)
  • Исправлено начало и конец стека в stack_thunk_dump_stack () (# 7085)
  • configTime (tzsec, dstsec,): исправить UTC / локальное управление (# 6993)
  • dtostrf: круглое исправление (# 7068, # 7093)
  • простой API TZ: обойти sprintf / sscanf (= не использовать флэш-память 7 КБ) (# 7109)
  • Вытяните инициализацию GPIO в свою собственную «слабую» функцию.(# 7044)
  • Атрибут __real_system_restart_local () как (noreturn) (# 7167)
  • Перемещение с плавающей запятой из libgcc из IRAM (# 7180, # 7188)
  • Тон: расширить до 20 кГц (# 7179)
  • Добавить библиотеку CryptoInterface (# 6961, # 7252)
  • Исправление ошибки утечки MD5 (# 7197, # 7208)
  • Использовать F_CPU, если (?) Переключатель частоты процессора работает только во время компиляции (# 6833)
  • выставить setTZ () (# 7234)
  • Поддержка флэш-памяти XMC — WIP (# 6725)
  • Разрешить указание форм сигнала в тактах (# 7211)
  • Waveforms: вишневый выбор приятных изменений по сравнению с текущими # 7122 (# 7218)
  • Разрешить stopWaveform для остановки сигналов с истекшим временем ожидания (# 7236)
  • Удерживать датчик в сбросе во время изменения скорости (# 7248)
  • Исправить незначительные предупреждения статического анализатора GCC10 (№ 7255)

Ядро (ФС)

  • Пропустить.и .. на LittleFS :: dir :: rewind () (# 6959)
  • Обновлять метку времени LittleFS только при открытии записи (# 6956)
  • Обновите LittleFS до последней исходной головки (# 6986)
  • Добавить обратный вызов SDFS :: Dir :: fileTime (# 6985)
  • Добавить поддержку LittleFS в ESP8266WebServer.serveStatic () (# 6987)
  • Исправить логическое / логическое и смешивание в LittleFS open (# 6996)
  • Добавить аксессоры времени создания fileCreation / getCreation (# 7000)
  • Улучшение поддержки LittleFS (# 7071)
  • Обновление до LittleFS v2.2.0 (# 7240)

Сеть (ядро, библиотека / ESP8266WiFi)

  • lwip2: больше нет зависимостей подмодуля git, более быстрая контрольная сумма, ограничение невыполненных работ и другие исправления (# 6887)
  • Исправить / включить повторную сборку пакетов UDP (# 7036, # 7132)
  • SNTP: backport espressif sntp api для lwip2 (# 7097)
  • TCP: исправляет обработку ограничения невыполненной работы и разрешает эфемерные TCP-соединения (# 7096)
  • обновление lwip2: остановить dhcp при сбое интерфейса (# 7114)
  • Исправить отправку UDP на локальные адреса ссылки IPv6 (# 6541)
  • Исправить отправку TCP на локальные адреса ссылки IPv6 (# 7207)
  • Обновление _port до реально используемого порта и доступ к _port (# 7003)
  • Сделать порядок разрешения DNS выбираемым во время выполнения или во время компиляции (# 6865)
  • WiFi: бесплатный ARP API для режима Wi-Fi станции (# 6889, # 7203)
  • исправить вызов нулевого указателя из WiFiClient :: localIP () в IPAddress (# 7221)

Библиотека — ESP8266WiFi (SSL / TLS)

  • Обновление BearSSL, увеличение стека SSL (# 6980)
  • Устранение утечки памяти при нескольких вызовах initCertStore (# 7021)
  • Обновление до последней версии BearSSL (# 7098)
  • Прервать при сбое выделения стека BearSSL (# 7152)

Прошивка — OTA — Updater

  • Разрешить обновления сжатой флэш-памяти GZIP (# 6820)
  • Добавить документацию для сжатого OTA, исправить ошибку (# 6924)
  • Добавьте CRC32 через программу и ESP.checkFlashCRC (# 6566)
  • Исправить возможное переполнение модуля обновления, добавить тесты хоста (# 6954)
  • разрешить фильтр «.bin.gz» в селекторе файлов средства обновления HTTP (# 7026)
  • Updater: предотвратить закрытие веб-сервера (опция) (# 6969)
  • Использовать второй стек для проверки подписи обновления (# 7149)
  • Исправить проверку успешности / сбоя завершения espota (# 7204)

Библиотека — SoftwareSerial

Библиотека — ESP8266WebServer

  • Очистка посадочного места PROGMEM для responseCodeToString (# 6950)
  • Исправить порядок поиска для индекса.Файлы htm (l) (. gz) (# 7069)
  • Добавить Uri с поддержкой regexUri и globUri (# 6696)
  • Добавить конструктор помощника flash в Uri (# 7105)
  • Открыть API фрагментов веб-сервера (# 7134)
  • Сделать getContentType доступным для стороннего использования (# 7254)

Библиотека — ESP8266HTTPClient

  • Уменьшить создание временной строки в HTTPClient :: sendHeader (# 6937)
  • Переместите пару больших струн с родаты на флеш (# 6976)
  • очистить _canReuse в setUrl, если это не локальное перенаправление (# 7039)
  • Исправляет большие проблемы с полезной нагрузкой для sendRequest (# 7051)
  • Лучше следовать перенаправлению для HTTPClient (# 7157)

Библиотека — mDNS

  • Обновление LEAmDNS.cpp (исправить ошибку № 6982) (№ 7025)
  • использовать STA в качестве интерфейса по умолчанию в mDNS (# 7042)
  • Добавления в UdpContext, необходимые для LEAmDNS2 (# 7048)
  • mDNS: защита MDNSResponder :: queryService от неправомерного использования (# 7216)
  • Добавить метод получения isRunning для проверки того, что :: begin уже вызвано (# 7219)
  • Изменение прослушивания для прослушивания только текущего iface вместо 0 (# 7217)

Библиотека — сервопривод

  • Определите MAX_SERVOS равным 12, как в исходном Servo.h (# 6999)

Библиотеки

  • Различные очистки обработки строк (библиотеки и ядро) (# 6945)
  • Установите значение для интервала уведомления SSDP (# 7110)

Документация

  • Руководство по установке PlatformIO (# 7142)
  • Исправить ссылки RST для PlatformIO (# 7143)
  • (STA) Исправлено смещение обратных кавычек (# 7247)

CI

  • Исправить сборку Windows CI (# 6927)
  • исправить CI: перейти на python3 для pio (# 7035)
  • обновление до новой предварительно созданной версии win sed (# 7062)
  • Переключить платформу espressif8266 на ветвь разработки в сборке PlatformIO (# 7170)
  • исправить проверку стиля: (# 7222)

Примеры

  • CaptivePortal: улучшить качество HTML (# 7227)
  • ESP8266WebServer: переработка примеров FSBrowser и SDWebServer (№ 7182)

Платы

  • Внесены изменения для включения «ESP8266_» в имена плат ITEAD, {build.board} , (# 7024)
  • Добавить поддержку eduino wifi (# 6554)
  • Добавить объект размером 2 МБ к стандартной плате 8285 (# 7163)
  • esp8285: правильно инициализировать бесплатный gpio как вход (# 7165)

Система сборки

  • Добавить обратно mklittlefs для цели linux32 (# 7011)
  • Используйте скрипт python3 для вызова python3 (# 6960)
  • boards.txt.py: используйте правильное имя файла при записи (# 7018)
  • PIO: разрешить использование пользовательских сценариев компоновщика (# 7078)
  • Конструктор пакетов

  • : обновления для альфа-выпусков (# 7088)
  • Переключить платформу espressif8266 на ветвь разработки в сборке PlatformIO (# 7170)
  • Использовать F_CPU, если (?) Переключатель частоты процессора работает только во время компиляции (# 6833)

Тесты прибора

  • тесты устройства: некоторые из них можно запустить на хосте (# 6912)
  • Добавить тест для FS :: open («w +») (# 7241)

Пыльник

  • eboot: исправление связывания и заполнения (# 7047)
  • Разрешить обновления флэш-памяти, сжатые GZIP (# 6820)

Здание на хосте

    Сборка хоста

  • : optimistic_yield () неправильно задерживает () вместо того, чтобы избегать чрезмерной доходности (# 6802)

Изменений по сравнению с 2.6.2 (по 2.6.3)

Критическое изменение

нет

eboot

  • Перестройте eboot.elf, чтобы включить изменения # 6823 (# 6890)

Ядро

  • I2C: поместите встроенные помощники в IRAM для подчиненных ISR (# 6898)
  • Добавить формат hh (байта) для printf и scanf (# 6896)
  • обратный вызов sntp: используйте функцию повторяющегося расписания (# 6888)
  • Используйте блоки 128 Байт вместо записи 1 Б в Print :: print (FlashStringHelper) (# 6893)
  • Updater: устанавливать только байт flashmode при загрузке исполняемого файла (# 6891)
  • sdk: 22x-1
  • (необязательно, не по умолчанию) (# 6879)
  • удален TWI_CLOCK_STRETCH_MULTIPLIER (# 6867)
  • добавлен выход растяжения по часам, [issue 2162] исправлено twi :: status (# 6860)
  • sntp: исправить конфликт с предварительно включенной Arduino.ч (# 6853)

Библиотеки

  • udp: ограничение глубины буфера (# 6895)
  • Исправить отправку заголовков в #send_P (int, PGM_P, PGM_P, size_t) (# 6881)
  • EspSoftwareSerial 6.4.0: в режимах без контроля четности сохраняется 56 байтов оперативной памяти (# 6882)
  • Веб-сервер: правильно обрабатывать запросы HEAD для статических файлов (# 6837)
  • Веб-сервер: исправлена ​​отправка символа * (# 6878)
  • Удалите user_interface.h из gdbstub includes (# 6862)

Документация

  • Обновление PROGMEM.первый (# 6872)

Примеры

  • Пример HTTP-клиента POST (# 2704)

Платы

  • исправить вариант платы NodeMCU v1.0 «Builtin Led» (# 6905)

Система сборки

Изменения по сравнению с 2.6.1 (на 2.6.2)

Критическое изменение

Плагин Arduino IDE FS необходимо обновить (# 6807)

Система сборки

  • перейти на прошивку 2.2.x-1
  • по умолчанию (# 6826)

eboot

  • Переместите eboot_command_clear в после копирования прошивки (# 6823)

Ядро

  • HWSerial: неинициализированный объект стека может иметь непреднамеренные неверные значения (# 6846)
  • [BREAKING] Обновить информацию о подключаемом модуле FS для совместимости с python3 (# 6807)
  • Загрузка файловой системы: сделайте файл upload.py совместимым с существующей загрузкой файловой системы FS (# 6788).
  • configTime: сбросить искусственный часовой пояс при использовании newlib (# 6828)
  • Инвертировать агрегат для HardwareSerial (# 6816)
  • Отметьте esp_schedule IRAM_ATTR, чтобы сделать его ISR безопасным (# 6809)
  • Слабая привязка снижает зависимость версий между ESP8266 и библиотекой MT CoopTask.(# 6790)
  • Добавить stdint, переместить заголовки вверх в core_features.h (# 6793)

Библиотеки

  • HTTPClient: разрешить POST-запросы размером более нескольких 100 байт (# 6800, # 6830)
  • HTTPClient: исправлено в beginInternal () (# 6786)
  • WiFi: используйте wificlient.available () в соответствующих случаях (# 6827)
  • EspSoftwareSerial: ctor / begin () совместимость с AVR / ESP8266 / ESP32 (# 6814)
  • BearSSL: развернуть стек BSSL (# 6819)
  • Добавить обратные вызовы для ESP8266HTTPUpdate (# 6796)
  • Добавить содержимое const char * в ESP8266WebServer :: send () (# 6797)
  • WebServer: добавьте только «l» к XX.htm URL, если существует XX.html (# 6794)
  • SSDP: добавить схему (Print &) const (# 6798)
  • WiFiClient: Исправить опечатку в цикле тайм-аута режима (# 6801)
  • Обновите SdFat, чтобы не отменять определение макроса F () (# 6787)

Документация

  • Добавить / объединить комментарии для целевого и исходного сайтов асинхронного планирования через delay () / esp_yield () / esp_schedule () (# 6780)
  • Изменить версию Sphinx на последнюю (# 6817)

Эмуляция на хосте

  • Сбой использования clockCyclesPerMicrosecond () в сборке хоста (# 6844)
  • F_CPU доступен и равен 80000000 (# 6841)

Примеры

  • Завершить (исправить) разделенный на части printDirectory (# 6808)
  • Корневая страница должна иметь тип text / html (# 6776)
  • Добавить недостающий файл LittleFS.begin () «в примере LittleFS_Timestamp. (# 6762)

Изменения по сравнению с 2.6.0 (на 2.6.1)

Критические изменения

нет

Система сборки

  • esptool.py: единственная команда для стирания и прошивки (# 6765)
  • Сценарий выпуска

  • : удалить вызов makecorever.py в выпущенной версии (# 6747)

Ядро

  • Исправить проблему с функциями, запланированными из запланированных функций (# 6770)
  • Обновить String :: concat (char *, len), чтобы разрешить строки, не содержащие NULL (# 6754)
  • Обновление до LittleFS 2.1.3 (# 6757)
  • Явные преобразователи WString для уменьшения размера Flash (# 6759)
  • Добавить ipv4_addr_t для espconn / LwIP1.4 compat (# 6740)

Библиотеки

  • Минимизируйте использование заголовка, переместите определения функций тикера в файл cpp (# 6496)
  • EspSoftwareSerial release 6.1.1, поддержка «9bit» (# 6761)
  • Обновленный EspSoftwareSerial обеспечивает обратную совместимость для пары ctor / begin () (только для общих случаев с полным использованием аргумента по умолчанию) (# 6746)

Платы

  • меню платы NodeMCUv1: выбор светодиода (2, 16) (# 6743, # 6748)

Документация

  • Добавить полезные ссылки (# 6744)
  • Упоминание об удалении содержимого arduino15 перед установкой git (# 6741)
  • Документ

  • , как получить тело POST в ESP8266WebSever (# 6736)

Изменений по сравнению с 2.5.2 (до 2.6.0)

Критические изменения

  • Конструктор SoftwareSerial — будет исправлен в версии 2.6.1

Отличные дополнения

  • Ets intr lock nest (# 6484)
    Этот замечательный PR исправления, среди прочего, закрыл старый печально известный # 2330
  • Добавить LittleFS в качестве дополнительной файловой системы с подкаталогами, API-совместимой с SPIFFS и SDFS
    (но не совместимой с форматом на флэш-памяти) (# 5511)

Система сборки

  • Обновление метода сброса esptool (# 6429)
  • Исправить ошибки Python3 для тестов устройств (# 6670)
  • Динамически найти каталог Python3 в Windows (# 6646)
  • esptool-2.7 (# 6634)
  • CI: надежный (u14.04) -> бионический (u18.04) (# 6627)
  • удалить esptool.py —trace option (# 6606)
  • подготовить сборщик релизов альфа-канала (# 6512)
  • Переместить все PSTR в собственный раздел, разрешить вывод строк (# 6565)
  • использовать стабильную IDE Arduino в CI (# 6572)
  • Добавьте частоты флэш-памяти 20/26 МГц для медленных / дешевых микросхем флэш-памяти на общей плате ESP (# 6552)
  • Добавить распечатку размера сегмента в стандартный процесс сборки (# 6525)
  • Исправить имя инструмента, чтобы оно указывало на правильную запись JSON (# 6513)
  • Запустите makecorever.py перед определенными prebuild-хуками. (# 6504)
  • Добавить сборку Win32 в систему CI (# 6493)
  • Добавить сборку OSX в CI, исправить сборки OSX (# 6492)
  • Исправьте каталог python3, чтобы скрипты работали в Win32 (# 6472)
  • Переместите все скрипты и документацию на Python3 (# 6378)
  • исправить командную строку сборщика arduino (# 6461)
  • Запретить перезапись core_version.h, если содержимое не изменилось (# 6414)
  • esptool: скорость последовательной загрузки 3 Мбод (# 6399)
  • Перейти к -std = g ++ 11 из -std = c ++ 11 (# 6339)
  • Обновление до 2.Набор инструментов 5.0-4 с улучшенным pgm_read_x, исключениями C ++ (# 6273)
  • Ключ чистых инструментов устаревшей версии в следующем выпуске (# 6258)
  • esptool.py: отключить 9600 бод в меню для последовательной скорости загрузки флэш-памяти (# 6292)
  • Подготовка подписи перед составлением эскиза (# 6287)
  • Отредактирован, чтобы избежать предупреждения компилятора (# 6278)
  • Сделать SPIFFS целым числом блоков (# 5989, # 6537)
  • Проверка подписи средства обновления

  • — формат несовместим с RFC8017 (# 6250)
  • Исправить переменные среды тестирования устройства (# 6229)
  • Разверните gitignore, чтобы охватить файлы, созданные Visual Micro (# 6231)
  • Обновите mklittlefs для соответствия библиотеке (# 6230)
  • фильтрует странные символы из вывода esp в python (# 6226)
  • Добавьте еще несколько тестов CI для String :: replace (# 6193)
  • Информация меню IDE: измените SPIFFS -> FS и покажите максимальный размер OTA (# 6159)
  • Эмуляция

  • при обновлении хоста (# 6210, # 6211, # 6248, # 6327, # 6342, # 6507)

Ядро

  • Добавьте недостающее время.h include, используйте относительный путь включения на time.h includes (# 6730)
  • Сохраните 16 байт ОЗУ, поместив массив esp8266_gpioToFn (core_esp8266_wiring_digital.cpp) в PROGMEM (# 6703)
  • precache () — предварительная загрузка кода во флеш-кеш (# 6628, # 6674)
  • Двойное чтение I2C за одну транзакцию пропускает тактовый импульс (# 5528) (# 6654)
  • Переместить cont_run / cont_yield из IRAM (# 6617)
  • Пример NTP-TZ-DST: список серверов SNTP (# 6611)
  • Убрать дублирование и несовместимые объявления в sntp.ч (# 6610)
  • очисток в ESPClass (# 6608)
  • Очистка base64 :: функции кодирования (# 6607)
  • использовать запланированную функцию для settimeofday_cb (# 6600)
  • Исправить макрос pgm_read_float_unaligned (# 6593)
  • Base64 :: кодировать: правильность константы / Строка по ссылке (# 6581)
  • Заменить блок ASM с макросом на PSTR (# 6577)
  • Немного ускорить создание пустой строки (# 6573)
  • Корректность константы

  • / Строка по ссылке, проходящая очистку (# 6571)
  • Удалить дублированную реализацию sha1 (Исправления # 6568) (# 6569)
  • Добавить typedef для putc1, fn_putc1_t.(# 6550)
  • Добавить время в API файловой системы (# 6544)
  • Добавьте memmove_P, используйте его в String для обеспечения безопасности F () (# 6514)
  • Поддержка обновления FS в два этапа (# 6505)
  • Add :: updateBaudRate (unsigned long baud) для изменения скорости передачи после вызова begin (# 6494)
  • Обновить выбор UART для загрузочного ПЗУ ets_putc, когда выбран порт отладки. (# 6489)
  • Планирование отложенного пробуждения (# 6485)
  • Встроенный ESP :: getCycleCount () для безопасного вызова из ISR (# 6477)
  • переместить функции таймера в ирам (# 6466)
  • Разрешить Print :: println () работать со строками PROGMEM (# 6450)
  • Обновление ядра с помощью восходящего потока umm_malloc (# 6438)
  • Удалить подпрограммы ROM из libc.a, сохраните программу (# 6432)
  • Исправить обратную зависимость ядра Updater -> библиотека ESP8266WiFi (# 6398)
  • обеспечивает согласованность подписей хуков GDB (# 6391)
  • Отключить uart от библиотеки GDBStub (# 6390)
  • исправить макросы _min и _max (# 6374)
  • Время

  • : импортировать определения часовых поясов IANA, предоставить SNTP API (# 6373)
  • Рефакторинг HardwareSerial.cpp для последовательного использования PolledTimeout (# 6371)
  • wstring: исправить конкатенацию из флэш-памяти (# 6368)
  • включить поддержку puya по умолчанию (можно отключить с помощью -DPUYA_SUPPORT = 0) (# 6362, # 6619)
  • Сохранить предыдущий битрейт для начала I2S (# 6349)
  • Добавить дополнительный метод FS :: check () (# 6340)
  • Инструменты

  • : исправлена ​​ошибка выбора корзины со знаком (# 6334)
  • исключения: необязательно применять стандарты c ++ (# 6333)
  • Уменьшите использование IRAM кода I2C на 600-1500 байт (# 6326)
  • Очистить состояние средства обновления при любой ошибке (# 6325)
  • Добавьте с помощью fs :: SPIFFSConfig в FS.ч (# 6324)
  • Не генерировать исключения из оператора new по умолчанию (# 6312)
  • Сделать функции delay () и loop_end () слабыми (# 6306)
  • Добавлен забор памяти в xt_rsil () (# 6301)
  • Исправление для будущих предупреждений GCC 9.1 (кроме Ticker.h, gdbstub) (# 6298)
  • Создать (установить / есть) пустые методы для класса String (# 6293)
  • Исправить raise_exception () (# 6288)
  • предлагает улучшения umm_malloc (# 6274)
  • Очистите код для сборки под GCC7, исправьте pgm_read_unaligned (# 6270)
  • Очистить тривиальные предупреждения gcc -wextra (# 6254)
  • с использованием std :: nothrow вместо malloc (# 6251)
  • Не вызывайте yield () из timedRead () или timedPeek (), если для _timeout установлено значение 0.(# 6242)
  • Поместите InterruptLock (из interrupts.h) в пространство имен esp8266, чтобы исправить сейчас и в будущем (# 6225)
  • Переместите umm_malloc обратно в IRAM (# 6161)
  • Сделайте поддержку SSO \ 0s, используйте memmove, добавьте тест (# 6155)
  • Добавить вызов FS :: info64 для файловых систем> 4 ГБ (# 6154)
  • Исправление: подключение прерывания (# 6049) (# 6048)
  • добавить обычные запланированные функции (# 6039, # 6137, # 6147, # 6158, # 6214, # 6228, # 6233)
  • Реализация общего CallBackList (# 5710)
  • Серийный.модификация заподлицо (# 5293)

Стиль

SDK

Платы

    Поддержка фильтра платы

  • (+ iTead sonoff, платы ESP-Mx) (# 6643)
  • Добавлена ​​плата SparkFun Blynk (# 6713)
  • Исправить подробную загрузку espduino (# 6426)
  • Разрешить использование LED16 для стандартных плат (# 6343)

Библиотека — ESP8266WiFi

  • Добавить цикл ожидания в конце WiFi :: mode (+ refactor can_yield) (# 6721)
  • ClientContext: восстановить использование двух различных ожидающих логических значений для подключения и записать # 6483
  • стандартизирует обработку _delaying в обратных вызовах lwIP (удалить утверждение) (# 6460)
  • lwIP-1.4: используйте фиксированные функции блокировки (# 6455)
  • ClientContext: время ожидания прерывания также задерживается при ошибке при записи или подключении (# 6454)
  • новая сетевая функция: NAPT (широко известный как NAT) (# 6360)
  • Экспериментальный: добавить новые (псевдо) режимы WiFi: WIFI_SHUTDOWN & WIFI_RESUME (# 6356)
  • udp remote pbuf helper: соблюдать фрагментированные пакеты (# 6222, # 6263)
  • TCP соединение и исправление задержки отправки (# 6213)
  • lwip2: исправить установку статического IP-адреса (# 6194)
  • Добавить тайм-аут в STA :: waitForConnectResult (# 5371)
  • добавлена ​​публичная функция cleanAPlist () (# 4107)

Библиотека — ESP8266WiFi (SSL / TLS)

  • Исправить блокировку WiFiClientSecure :: available () при разорванных соединениях (# 6449)
  • Установить метод _connectSSL как защищенный (# 6424)
  • SSL: исправить сбой с помощью базовых шифров (# 6402)
  • Обновление до последней версии BearSSL (# 6337)
  • SSL: добавить дамп полученных FP и CERT в режиме отладки (# 6300)
  • Обновление библиотек axtls с исправлением для # 6260 (# 6262)
  • Исправить смешение с логическим / побитовым или для проверки BSSL (# 6252)
  • Добавьте сертификат EC с ключом в пример сервера BearSSL (№ 6202)
  • Подчиняться запросу BASIC_SSL для серверов TLS (# 6187)
  • Добавлен флаг BR_OPT_NO_RENEGOTIATION, запрещающий повторное согласование TLS (# 6165)
  • На 64 байта больше свободного места за счет перемещения констант инициализации DES во флэш-память (# 6160)
  • Сохранить 484 байта кучи для приложений BSSL (# 6157)
  • Добавить базовую канареечную проверку в преобразователь стека BSSL (# 6156)
  • Расширить стек BSSL до 5750 байт (# 6153)
  • Сделать CertStore изначально использовать файловый интерфейс (# 6131)

Библиотека — ESP8266WebServer

  • Исправить тривиальный лишний «\ n» при успешном веб-обновлении (# 6350)
  • Добавьте HTTP_HEAD в HTTPMethod и проанализируйте его (# 6413)
  • Добавить простые char * подписи WebServer :: sendContent (# 6341)
  • Веб-сервер

  • : восстановление устаревшего обработчика запросов (# 6321)
  • разрешить аутентификацию с помощью H (A1) с примером (# 6020)
  • Преобразование ESP8266WebServer * в шаблонную модель (# 5982)
  • откат на index.html в случае сбоя index.htm (# 2614)
  • Пример веб-сервера POST (# 2705)

Библиотека — ESP8266HTTPClient

  • Исправить сборку с -DHTTPCLIENT_1_1_COMPATIBLE = 0 (# 6597)
  • Исправить setURL (), обрабатывающую только параметры пути (# 6570)
  • BasicHttpsClient: обновлен отпечаток демо-сертификата (№ 6462)
  • Исправление ошибок / http-клиент esp8266 (# 6176)
  • Бесконечный цикл при передаче файла (FS.h) разрешен (# 5038)
  • Добавлена ​​возможность отправки POST с пустой полезной нагрузкой (# 4275)

Библиотека — mDNS

  • исправить устаревшие одноадресные ответы (№ 6613)
  • Удалите оставшиеся отличия, не относящиеся к LeaMDNS, из gcc4.8 к gcc7.2 (# 6279)
  • исправить случайный сбой при запуске (# 6261)
  • ограничение на один интерфейс (# 6224)

Библиотека — SPI

  • Установить SPI_HAS_TRANSACTION на 1 (# 6591)
  • Улучшения ведомого устройства Spi (# 6580)
  • SPI: неверное значение для setFrequency () (# 6409)

Библиотека — тикер

  • Тикер: исправлено приведение обратного вызова. (# 6282)
  • Ticker: используйте новое размещение для ETSTimer — без фрагментации кучи (# 6164)
  • Использование привязки в тикере.h склонен к сбою вывода типа (# 6129)

Библиотеки

  • EspSoftwareSerial версии 5.4.0 с улучшением производительности / количества ошибок в TX (# 6722)
  • Обновление EEPROM.cpp (# 6556, # 6599)
  • Поместите больше строковых литералов в PROGMEM (# 6588)
  • добавить или улучшить некоторые отладочные сообщения (# 6508)
  • OTA: исправлено отсутствие подтверждения «OK» для подписанного обновления (# 6351)
  • FS: обновить LittleFS / SdFat до заголовка текущего проекта (# 6345)
  • ConfigFile: обновленный пример для использования ArduinoJson6 (# 6203)
  • DNSServer: добавлена ​​поддержка новых изменений мобильной ОС.(# 5529)
  • ESP8266HTTPUpdate: добавлен идентификатор чипа в заголовок HTTP в библиотеке (# 3877)
  • ESP8266HTTPUpdate: Разрешить обновление файловой системы (# 3732)

Документация

  • Новая редакция документации ATOMIC_FS_UPDATE (№ 6693)
  • Обновление install.rst (# 6625)
  • Установка (# 6624)
  • Незначительное изменение документации по ФБ с № 2904 (№ 6563)
  • Добавить раздел прерывания в документы (# 6560)
  • Добавить информацию об установке python3 на Mac, Linux (# 6558)
  • Обновление документации библиотеки EEPROM (№ 6548)
  • Отредактировано OTA readme, добавлен фрагмент Stream Interface (# 6487)
  • Исправить количество примеров (# 6407)
  • Грамматические правки в документации (№ 6401)
  • исправить задокументированный параметр (# 6392)
  • Обновление документации WiFiServer для :: write (все клиенты) (# 6338)
  • Исправить опечатку в документе (# 6313)
  • Незначительное обновление документации, ссылка «Как сделать PR» (№ 6297)
  • добавить документацию к запланированным функциям (# 6234)
  • Исправить редактирование, опечатки и грамматические ошибки (# 6207)
  • ISR документов требует перед ними ICACHE_RAM_ATTR (# 6141)

Изменений по сравнению с 2.5.1 (по 2.5.2)

Ядро

  • Добавить явное значение Print :: write (char) (# 6101)

Система сборки

  • Исправить опечатку в elf2bin для генерации двоичного файла QOUT (# 6116)
  • Поддерживает правильное соединение PIO Wl-T и Arduino -T (# 6095)
  • Разрешить связывание файлов * .cc во флеш-память по умолчанию (# 6100)
  • Использовать собственный конструктор «ElfToBin» для PIO (# 6091)
  • Ошибка, если сгенерированный файл JSON не может быть прочитан (# 6076)
  • «Отбрасывание» печати перенесено из stdout в stderr в drop_versions.ру (# 6071)
  • Исправить проблему PIO, когда среда сборки содержит пробелы (# 6119)

Библиотеки

  • Удалить взаимоблокировку, когда сервер не принимает наши данные (# 6107)
  • Исправление зависания метода записи WiFiClient и WiFiClientSecure, пока удаленный узел не закрыл соединение (# 6104)
  • Повторно добавить оригинальные методы доступа к информации SD FAT (# 6092)
  • Сделать добавление FILE_WRITE в оболочку SD.h (# 6106)
  • Отбросьте X509 после подключения, избегайте зависания при нарушении TLS (# 6065)

Вы не можете выполнить это действие в настоящее время.Вы вошли в систему с другой вкладкой или окном. Перезагрузите, чтобы обновить сеанс.
Вы вышли из системы на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.

Все ESP8266

Общие обсуждения
Свободно болтайте о чем угодно …

4021 темы
16262 сообщения

автор: RichardS

Чт 15 апр, 2021 20:45

Специфическое для оборудования
Используйте этот форум, чтобы обсудить темы, касающиеся аппаратного обеспечения ESP8266 (периферийные устройства, память, часы, JTAG, программирование)

2049 тем
сообщений 10503

по eriksl

вс 18 апр, 2021 5:11

Уголок для новичков
Так вы новичок? Оставляйте здесь свои вопросы, пока не закончите учебу! Не стесняйся.

2751 темы
7697 сообщений

по btidey

Сб 17 апр, 2021 15:16

Опытные пользователи

Продвинутые пользователи могут размещать здесь свои вопросы и комментарии для не очень новичков.
Модератор: eriksl

40 тем
сообщений 344

по tlaren

Сб 17 апр, 2021 18:31

Compiler Chat
Обсудите здесь различные настройки компилятора C и компиляцию исполняемых файлов для ESP8266

427 тем
3183 сообщений

автор: darsh_t

Вт, 06 апр, 2021 г., 3:03

Документация
Размещайте здесь ссылки и прикрепляйте файлы для документации, а также свободно обсуждайте эти документы

151 темы
981 сообщения

по eriksl

сб 23 янв, 2021 4:54

ESP8266 Videos
Место для размещения вашего видео YouTube, связанного с ESP8266.

227 тем
Сообщений 556

по timer_smx

Сб 17 апр, 2021 7:23

Коммутационная плата модуля последовательного приемопередатчика WiFi с ESP8266 — Contempo Views

ESP8266 — это высокоинтегрированный чип, разработанный для нужд нового мира подключений.Он предлагает полное и автономное сетевое решение Wi-Fi, позволяющее либо размещать приложение, либо выгружать все сетевые функции Wi-Fi с другого процессора приложений.

ESP8266 обладает мощными встроенными возможностями обработки и хранения, которые позволяют интегрировать его с датчиками и другими устройствами для конкретных приложений через GPIO с минимальной предварительной разработкой и минимальной нагрузкой во время выполнения. Его высокая степень интеграции на кристалле позволяет использовать минимальное количество внешних схем, а все решение, включая интерфейсный модуль, спроектировано так, чтобы занимать минимальную площадь на печатной плате.

Характеристики :

Соответствующий интерфейс:

  • SDIO 2.0, SPI, UART
  • Корпус QFN с 32 выводами
  • Интегрированный РЧ-переключатель, балун, PA 24 дБм, DCXO и PMU
  • Встроенный процессор RISC, встроенная память и интерфейсы внешней памяти
  • Интегрированные процессоры MAC / основной полосы частот
  • Управление качеством обслуживания
  • Интерфейс I2S для аудио приложений высокого качества
  • Встроенные линейные регуляторы с малым падением напряжения для всех внутренних источников питания
  • Собственная архитектура генерации тактовых импульсов без паразитных сигналов

Встроенные механизмы WEP, TKIP, AES и WAPI

По спецификации :

  • 802.11 б / г / п
  • Wi-Fi Direct (P2P), программная точка доступа
  • Интегрированный стек протоколов TCP / IP
  • Встроенный переключатель TR, балун, малошумящий усилитель, усилитель мощности и согласующая сеть
  • Интегрированные системы ФАПЧ, регуляторы, DCXO и блоки управления питанием
  • Выходная мощность +19,5 дБм в режиме 802.11b
  • Ток утечки при отключении питания <10 мкА
  • Встроенный 32-разрядный ЦП с низким энергопотреблением может использоваться в качестве процессора приложений
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMO
  • Агрегация A-MPDU и A-MSDU и защитный интервал 0,4 мс
  • Пробуждение и передача пакетов менее 2 мс
  • Потребляемая мощность в режиме ожидания <1,0 мВт (DTIM3)

ESP8266 Распиновка, конфигурация контактов, характеристики, пример схемы и техническое описание

ESP8266 WiFi-модуль

ESP8266 WiFi-модуль

ESP8266 Распиновка

Нажмите на изображение для увеличения

ESP8266 Конфигурация контактов

Номер контакта

Имя контакта

Альтернативное имя

Обычно используется для

Альтернативное назначение

1

Земля

Подключен к земле цепи

2

Техас

GPIO — 1

Подключен к выводу Rx программатора / микроконтроллера для загрузки программы

Может действовать как контакт ввода / вывода общего назначения, когда не используется как TX

3

GPIO-2

Контакт ввода / вывода общего назначения

4

CH_EN

Chip Enable — Активный высокий

5

GPIO — 0

Вспышка

Контакт ввода / вывода общего назначения

Используется для последовательного программирования модуля при низком уровне во время запуска

6

Сброс

Сбрасывает модуль

7

Прием

GPIO — 3

Контакт ввода / вывода общего назначения

Может действовать как контакт ввода / вывода общего назначения, когда не используется как RX

8

Vcc

Подключиться к +3.Только 3 В

ESP8266-01 Характеристики

  • Недорогой, компактный и мощный модуль Wi-Fi
  • Источник питания: только + 3,3 В
  • Потребление тока: 100 мА
  • Напряжение ввода / вывода: 3,6 В (макс.)
  • Ток источника ввода / вывода: 12 мА (макс.)
  • Встроенный 32-битный микроконтроллер с низким энергопотреблением @ 80 МГц
  • Флэш-память 512 КБ
  • Может использоваться как станция или точка доступа, или оба вместе
  • Поддерживает глубокий сон (<10 мкА)
  • поддерживает последовательную связь, следовательно, совместим со многими платформами разработки, такими как Arduino
  • Может быть запрограммирован с использованием Arduino IDE, AT-команд или Lua Script

ESP8266 Эквиваленты

ESP-12 (имеет больше контактов GPIO, которые поддерживают АЦП, ШИМ, SPI и т. Д.)

Альтернатива для ESP8266-01

ESP32 (более мощный и автономный модуль)

ESP8266-01 Вариант загрузки

GPIO — 0

GPIO — 2

Режим

Используется для

Высокая

Высокая

Режим вспышки

Запустить программу, которая уже загружена в модуль

Низкая

Высокая

Режим UART

Режим программирования — для программирования с использованием Arduino или любой другой последовательной связи

Где использовать ESP8266-01

ESP8266 — это очень удобное и недорогое устройство, обеспечивающее подключение к Интернету для ваших проектов.Модуль может работать как точка доступа (может создавать точки доступа) и как станция (может подключаться к Wi-Fi), поэтому он может легко извлекать данные и загружать их в Интернет, что делает Интернет вещей максимально простым. Он также может получать данные из Интернета с помощью API, поэтому ваш проект может получить доступ к любой информации, доступной в Интернете, что делает его умнее. Еще одна интересная особенность этого модуля — то, что он может быть запрограммирован с помощью Arduino IDE, что делает его намного более удобным для пользователя.Однако эта версия модуля имеет только 2 контакта GPIO (вы можете взломать его, чтобы использовать до 4), поэтому вы должны использовать его вместе с другим микроконтроллером, таким как Arduino, иначе вы можете посмотреть на более автономные версии ESP-12 или ESP-32. . Поэтому, если вы ищете модуль для начала работы с IOT или для обеспечения подключения к Интернету для вашего проекта, этот модуль — правильный выбор для вас.

Как использовать модуль ESP8266

Существует так много методов и IDE, доступных с модулями ESP, но наиболее часто используется Arduino IDE.Так что давайте обсудим только это ниже.

Модуль ESP8266 работает только с 3,3 В, все, что превышает 3,7 В, приведет к отключению модуля, поэтому будьте осторожны с вашими цепями. Лучший способ запрограммировать ESP-01 — использовать плату FTDI, которая поддерживает программирование 3,3 В. Если у вас ее нет, рекомендуется купить ее или на время вы также можете использовать плату Arduino. Одна из распространенных проблем, с которыми каждый сталкивается при использовании ESP-01, — это проблема с включением питания. Модуль немного потребляет электроэнергию во время программирования, поэтому вы можете включить его с помощью 3.Вывод 3V на Arduino или просто используйте делитель потенциала. Поэтому важно сделать небольшой регулятор напряжения на 3,31 В, который мог бы обеспечивать минимум 500 мА. Один из рекомендуемых регуляторов — LM317, который легко справится с работой. Упрощенная принципиальная схема для использования модуля ESP8266-01 приведена ниже

.

Переключатель SW2 (переключатель программирования) должен удерживаться нажатым, чтобы удерживать контакт GPIO-0 на земле. Таким образом, мы можем войти в режим программирования и загрузить код. Как только код будет выпущен, переключатель можно будет отпустить.

Приложения

  • Проекты IOT
  • Порталы точек доступа
  • Беспроводная регистрация данных
  • Автоматизация умного дома
  • Изучите основы работы в сети
  • Портативная электроника
  • Умные лампочки и розетки

2D — Модель

Самая маленькая в мире камера WIFI ESP8266

Опубликовано Ли Джексоном

ArduCAM выпустила самый маленький в мире недорогой комплект камеры ESP8266 WIFI IoT на основе ArduCAM-Mini-2MP-V2 и Модуль ArduCAM-ESP8266-Nano.Пользователь может реализовать 2-мегапиксельную камеру WIFI с использованием протокола HTTP или Websocket на ESP8266, и камера может выступать в качестве точки доступа, а мобильный телефон / ПК может подключаться к камере напрямую или действовать как станция, подключенная к домашнему маршрутизатору. Комплект может захватывать 2-мегапиксельные неподвижные изображения в формате JPEG с полным разрешением, даже транслировать видео в низком разрешении с хорошей частотой кадров по сети или напрямую сохранять на локальную SD / TF-карту. Комплект подходит для портативного применения, он может питаться от micro-USB или от аккумулятора и имеет встроенные схемы зарядки литиевых аккумуляторов.Комплект также можно использовать отдельно, он практически идентичен стандартной камере ArduCAM-Mini-2MP и модулю ESP8266-12F.

Характеристики

  • 2-мегапиксельный датчик изображения OV2640, поддержка JPEG
  • Стандартный объектив с углом обзора 60 °
  • Интерфейс I2C для конфигурации датчика
  • Интерфейс SPI для команд камеры и потока данных
  • Встроенный модуль ES8266-12F
  • Встроенный Зарядка литиевой батареи 3,7 В / 500 мА макс.
  • Встроенное гнездо для карты SD / TF
  • Встроенный преобразователь последовательного порта micro USB
  • Совместимость с Arduino IDE
  • Малый коэффициент

Спецификация

  • Максимальное разрешение: 2MP
  • Поле зрения: 60 °
  • Сжатие: JPEG / MJPEG
  • Интерфейс: SPI и I2C
  • Режим WIFI: 802.