Esp 12e сколько памяти
некоторые модули при старте сами пишут размер свой памяти. достаточно открыть терминал на скорости 76000 (да это не опечатка скорость нестандартная) я использую doclight терминал.
При запуске модуль пишет
ets Jan 8 2013,rst cause:2, boot mode3,6)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0
2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
(однако более старый модуль остановился на строчке csum 0xc0 )
Виктор59
New member
casius
New member
Как же мне узнать кол-во установленной памяти?
Active member
casius
New member
В общем, прешил на прошивку AT21SDK95-2015-01-24. Запустил ESPlorer, показывает следующее:
wdt reset
load 0x40100000, len 816, room 16
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12
tail 4
chksum 0xcf
csum 0xcf
2nd boot version : 1.2
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size : 4Mbit
jump to run user1
Я так понимаю, что памяти у моего модуля: 512 кбайт(4 мегабита)?
Вложения
Active member
Может и врать, где-то читал, что при загрузке у кого-то выдавалось стандартное значение при большей памяти.
Хотя, если судить по модели и дате покупки модуля, врядли в нем больше 512к.
dimnsk
New member
dimnsk
New member
Member
С этой командой непонятки.
Если в Arduino IDE указать Flash Size 512К или 1М получаю после прошивки 524288 и 1048576 соответственно.
А эскиз из первого поста и ESPFlashDownloadTool_v3.3.6 показывают 4194304 и 32Mbit соответственно.
Member
lookingooder
Member
Всем доброго дня. Подниму топик.
Я заказал на Алиэкспресс чипы памяти Winbond W25Q32FVSSIG для апгрейда Sonoff Basic до 4GB. Но продавец прислал чипы с маркировкой SST25VF64C (8GB) и я искал способ проверить работу и реальный размер памяти. ESP.getFlashChipRealSize() возвращает 2048 байт .
Нашел в сети пример для SPIFFS и на его основе написал программу, которая создает файлы по 100kB в SPIFFS до тех пор пока не выдаст ошибку "невозможно создать файл". Это показывает приблизительный размер памяти. Оказалось, что размер моих чипов очень похож на 8GB.
Вот програмка - весь вывод отдает в Serial. Не уверен на 100%, что все правильно, делал по-быстрому, т.к. нужно закрывать заказ. Но проверял на нескольких разных ESP платах от 1 до 16GB - результаты похожи на правду. И интересные результаты - первые файлы записываются по 3-4 сек, последние - до 3-х и больше минут (на 80 MHz). Как это объяснить?
WiFi модуль ESP-12E разработан компанией Ai-thinker и построен на базе процессора с ядром ESP8266, отличительной особенностью которого является наличие радиоинтерфейса WiFi. Ядро ESP8266 интегрировано в Tensilica L106 – 32-битный микроконтроллер с ультранизким энергопотреблением. Поддержка тактовых частот 80 и 160 МГц, поддержка RTOS, встроенные Wi-Fi MAC/BB/RF/PA/LNA, микрополосковая антенна на плате модуля.
Модуль поддерживает стандарт IEEE802.11 b/g/n, полный стек TCP/IP протоколов. Пользователи могут использовать модули либо в качестве дополнения для подключения какого-либо устройства к сети, либо в качестве отдельного сетевого контроллера.
- 802.11 b/g/n;
- встроенный 32-битный MCU с низким энергопотреблением;
- встроенный 10-битный АЦП;
- встроенный стек протоколов TCP/IP;
- встроенный РЧ коммутатор, РЧ трансформатор сопротивлений, LNA, усилитель мощности;
- встроенные блоки ФАПЧ и управления мощностью;
- Wi-Fi 2,4 ГГц, поддержка WPA/WPA2;
- SDIO 2.0, (H) SPI, UART, I2C, I2S, IRDA, PWM, GPIO;
- STBC, 1x1 MIMO, 2x1 MIMO;
- потребление в режиме глубокого сна < 10 мкА, ток утечки в выключенном режиме < 5 мкА;
- просыпание и передача пакетов через < 2 мс;
- выходная мощность +20 дБм в режиме 802.11b;
- диапазон рабочик температур: -40 – 125 ºC.
Периферия и ввод/вывод
ESP8266 NodeMCU имеет в общей сложности 17 выводов GPIO, выведенных на разъемы с обеих сторон отладочной платы. Эти выводы могут использоваться для выполнения различных периферийных задач, в том числе:
- вход АЦП – канал 10-разрядного АЦП;
- интерфейс UART – интерфейс UART используется для загрузки кода по последовательной связи;
- выходы ШИМ – выводы ШИМ могут использоваться для регулировки яркости светодиодов или управления двигателями;
- интерфейсы SPI, I2C – интерфейсы используются SPI и I2C для подключения всевозможных датчиков и периферийных устройств;
- интерфейс I2S – интерфейс I2S используется для цифровой передачи звука.
Мультиплексируемые выводы ввода/вывода
В ESP8266 используется функция мультиплексирования выводов (несколько периферийных устройств мультиплексируются на один вывод GPIO). Это означает, что один вывод GPIO может действовать как PWM/UART/SPI.
Назначение выводов
Модуль ESP-12E
Отладочная плата оснащена модулем ESP-12E, содержащим микросхему ESP8266 с RISC микропроцессором Tensilica Xtensa® 32-bit LX106, который работает с регулируемой тактовой частотой от 80 до 160 МГц и поддерживает RTOS.
Характеристики ESP-12E
- 32-разрядный LX106 от Tensilica Xtensa®
- Тактовая частота от 80 до 160 МГц
- 128 КБ встроенной оперативной памяти
- 4 МБ внешней внешней флеш-памяти
- Приемопередатчик Wi-Fi 802.11b/g/n
ESP8266 содержит встроенный приемопередатчик Wi-Fi 802.11b/g/n HT40, поэтому он может не только подключаться к сети Wi-Fi и взаимодействовать с интернетом, но и устанавливать собственную сеть, позволяя другим устройствам подключаться напрямую к нему. Это делает ESP8266 NodeMCU еще более универсальным.
Корпуса и размеры
Внешние размеры модуля составляют 16мм*24мм*3мм. Флеш-память, интегрированная в модуль, – это SPI флеш-память, емкость которой составляет 4 Мбайта, в корпусе SOP-210mil. Антенна, применяемая в модуле, – микрополосковая антенна на плате с коэффициентом усиления 3 дБи.
ESP-12E (на базе ESP8266). Размеры платы
Требования к питанию
Поскольку диапазон рабочего напряжения ESP8266 составляет от 3 В до 3,6 В, данная плата для поддержания постоянного напряжения на уровне 3,3 В поставляется с LDO стабилизатором напряжения. Он может надежно обеспечивать ток до 600 мА, чего должно быть более чем достаточно, поскольку ESP8266 во время радиочастотных передач потребляет до 80 мА. Выход стабилизатора также выводится на выводы на сторонах платы и обозначен как 3V3. Эти выводы можно использовать для подачи питания на внешние компоненты.
Требования к питанию
Питание к ESP8266 NodeMCU подается через встроенный USB-разъем MicroB. В качестве альтернативы, если у вас есть стабилизированный источник напряжения 5 В, можно использовать вывод VIN для непосредственного питания ESP8266 и его периферии.
Предупреждение
ESP8266 требует 3,3 В для питания и логические уровни 3,3 В для связи. Контакты GPIO не допускают напряжение 5 В! Если вы хотите соединить плату со схемами 5 В (или выше), то необходимо реализовать согласование логических уровней.
Кнопки и светодиодный индикатор на плате
На плате ESP8266 NodeMCU находятся две кнопки. Одна из них, помеченная как RST, расположенная в верхнем левом углу, представляет собой кнопку сброса, которая, конечно же, используется для сброса микросхемы ESP8266. Другая кнопка, FLASH, в левом нижнем углу – это кнопка загрузки, используемая при обновлении прошивки.
Кнопки и индикаторы
На плате также имеется светодиодный индикатор, который программируется пользователем и подключен к выводу D0 платы.
Технические характеристики
Магазины и цены
Интернет вещей (IoT) является одной из самых популярных областей в мире технологий. Физические объекты и цифровой мир связаны сейчас как никогда. Помня об этом, компания Espressif Systems (шанхайская компания по производству полупроводниковых устройств) выпустила крутой микроконтроллер с поддержкой Wi-Fi, ESP8266, по невероятной цене! С помощью него менее чем за 3 доллара можно контролировать и управлять устройством из любой точки мира – идеально подходит практически для любого проекта IoT.
Характеристики платы NodeMCU ESP8266 и ее использование в Arduino IDE
Последовательная связь
На плате установлен контроллер USB-UART CP2102 от Silicon Labs, который преобразует USB сигнал в сигнал последовательного порта и позволяет компьютеру программировать и взаимодействовать с микросхемой ESP8266.
Последовательная связь
Если на вашем компьютере установлена старая версия драйвера CP2102, рекомендуем выполнить обновление прямо сейчас.
Установка ядра ESP8266 на ОС Windows
Давайте приступим к установке ядра ESP8266 Arduino.
Во-первых, на вашем компьютере должна быть установлена последняя версия Arduino IDE (Arduino 1.6.4 или выше). Если у вас ее нет, рекомендуем сейчас обновиться.
Для начала нам нужно обновить менеджер плат с помощью пользовательского URL. Откройте Arduino IDE и выберите Файл → Настройки. Затем скопируйте приведенный ниже URL в текстовое поле Дополнительные ссылки для менеджера плат, расположенное в нижней части окна:
Рисунок 7 – Установка платы ESP8266 в Arduino IDE с помощью json URL
Отлично. Затем перейдите к Менеджеру плат, выбрав Инструменты → Платы → Менеджер плат. Там, в дополнение к стандартным платам Arduino, должна быть пара новых записей. Отфильтруйте результаты поиска, введя esp8266. Нажмите на эту запись и выберите Установить.
Рисунок 8 – Установка ядра ESP8266 в менеджере плат Arduino IDE
Определения и инструменты для платы ESP8266 включают в себя полностью новый набор gcc, g++ и других достаточно больших скомпилированных двоичных файлов, поэтому загрузка и установка могут занять несколько минут (заархивированный файл весит ~110 МБ). После завершения установки рядом с записью появится надпись INSTALLED. Теперь можно закрыть менеджер плат.
Техническое описание
Пример Arduino: мигалка
Чтобы убедиться, что ядро ESP8266 Arduino и NodeMCU правильно настроены, мы загрузим самый простой скетч – The Blink!
Для этого теста мы будем использовать встроенный светодиод. Как упоминалось ранее в этом руководстве, вывод платы D0 подключен к встроенному синему светодиоду и программируется пользователем. Отлично!
Прежде чем мы перейдем к загрузке скетча и игре со светодиодом, мы должны убедиться, что в Arduino IDE выбрана правильная плата. Откройте Arduino IDE и выберите пункт NodeMCU 0.9 (ESP-12 Module) в меню Инструменты → Плата.
Рисунок 9 – Выбор отладочного модуля NodeMCU в Arduino IDE
Рисунок 10 – Выбор COM порта в Arduino IDE
Предупреждение
Уделите больше внимания выбору платы, выбору COM порта и скорости загрузки. В случае некорректных настроек при загрузке новых скетчей вы можете получить ошибку espcomm_upload_mem.
После выполнения всех настроек попробуйте пример скетча, приведенного ниже.
После загрузки кода светодиод начнет мигать. Возможно, чтобы ваш ESP8266 начал работать со скетчем, вам придется нажать кнопку RST.
Рисунок 11 – Рабта тестового скетча Blink на ESP8266 NodeMCU
Ранее уже был положительный опыт работы с esp-01, но с этой (12й) у меня как-то не сложилось. Устройство тупо не видится программами. Пишет о том, что пытается найти зверька, но безуспешно.
И да, у меня вместо вывода CH_PD написано EN, возможно в этом трабл?
John-name
New member
Вложения
ElizarovDmitry
New member
А чем 12Е отличается от 12q? И как узнать сколько доступно памяти?
Заказывал Е, а пришло Q. Есть смысл спорить с продавцом?
ololenok
New member
John-name
New member
Anydy
New member
Вот и мне приехали 12-q хотя заказывал 12-e, читал что отличаются обьемом памяти.
Завелась сразу по стандартной схеме с резисторами. схему выше привели
Вот что выдал ESPLORER
AT+GMR
AT version:0.25.0.0(Jun 5 2015 16:27:16)
SDK version:1.1.1
Ai-Thinker Technology Co. Ltd.
Jun 23 2015 23:23:50
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
То есть памяти 1 мегабайт насколько я понял. только разная память . Flash&MAP . если правильно догадываюсь под SPI добавлено 512 кб памяти (на модуле 12-q с торца разведено еще 6 пинов, 4 SPI+2GPIO)
Я только изучаю данный модуль и еще новичок . гуру нам помогут!)))
ElizarovDmitry
New member
Я расчитывал на 4мб, но видимо нужно покупать те модули где это явно указано.
Я даже приступить не могу к изучению. Не приехали еще резисторы. Правда, думаю уже через адаптер подключать. Как я понял, резисторы в нем уже есть и останется только питание да ардуино цепануть.
Anydy
New member
Неужели не найдешь резисторов. в старых телевизорах например))) или в любой старой электронике! их там море! от 4 до 10 кОм пойдут. и не важно какие они будут по мощности. желательно сопротивление проверить!
Такой обьем памяти нам новичкам и не к чему. хватит и стандартных 512кб!
Я кстати через ардуину уно все и подключаю! да и любая ардуина пойдет. только не забывай про 3.3в на питание. а TX/RX и от пяти работают!
PS. Первые разы подключал модуль 07 вообще без резисторов и все тоже работало!
ElizarovDmitry
New member
Проблема в том, что я совсем новичок, попросту негде выковыривать детальки, а в магазине покупать теже китайские с десятикратной наценкой, совесть не позволяет. И радиоэлектронику только начал изучать. Резисторы получил уже, кстати.
Также получил и регуляторы напряжения. Осталось найти время для экспериментов.
А что вы про TX/RX имеете в виду?
Anydy
New member
Tx/Rx имеется ввиду выход/вход модуля ESP для прошивки, конечно лучше согласовать по уровням до 3.3в но они толерантны и к 5-ти вольтам.
ElizarovDmitry
New member
А как согласоватть их? Получается на esp есть стабилизатор на rx/tx?
Сколько вопросов у меня..
Спасибо вам!
Anydy
New member
Да никак не надо, работает напрямую, в идеале конечно использовать переходник USB-UART на 3.3в, можно сделать делитель напряжения на резисторах номиналом 1 и 2 ком.
Andy Korg
Moderator
ololenok
New member
Итак, наконец дошли руки и я прошил своих красавцев.
Скорость 115200, запускаем прошивку, весело щелкаем ресетом, выжидая по 5 сек после ребута. И так, пока на начнет прошиваться.
Важная ремарка: этот модуль жрет неприлично много в пике, поэтому китайские бредборды с китайскими модулями питания на SMDшных 1117 откладываем в сторонку и даем нормальное питание или с выхода породистой ардуинки(у меня проканал этот способ), или с того, что есть под рукой и вызывает доверие.
Вероятно на плате совсем нет фильтра по питанию и модыль начинает хандрить даже от длинных проводов. По возможности дарим модулю 1-10мкФ кондер в непосредственной близости, дабы сберечь себе нервы.
Подключаем по схеме, которую любезно напомнил John-name(вообще добрый человек, да и просто молодчина), благо там надо отсыпать 4 резистора на 10К и 1 резистор до 1К, на этом ваши скудные затраты заканчиваются.
ElizarovDmitry
New member
John-name
New member
Подключаешь всё точно так же, как и без него (без модуля).
Это просто переходная плата,
меняющая шаг между выводами с подтянутыми соответственно сопротивлениями.
Удачи.
ElizarovDmitry
New member
@John-name. Спасибо!
Просто на этом переходнике есть резисторы, которые и вводят меня в заблуждение. Схемы по подключению понимаю с трудом, но на них куда больше резисторов.
Как я понимаю, нужно просто добавить недостающие? И ещё. Нужно ли все таки согласовывать tx/rx ардуино и модуля? он у меня один, не хотелось бы сжечь его. пока не разберусь с азами, не могу приступить к практике..
John-name
New member
twsdwf
New member
и в режиме АТ вот такое:
AT+GMR
AT version:0.25.0.0(Jun 5 2015 16:27:16)
SDK version:1.1.1
Ai-Thinker Technology Co. Ltd.
Jun 23 2015 23:23:50
OK
WIFI DISCONNECT
ets Jan 8 2013,rst cause:2, boot mode3,7)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0
2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
----
как заставить эту редиску прошиться? Подскажите, пожалуйста. Вечер и утро побился сам -- и не осилил.
В современном, быстроразвивающемся мире, мы все давно привыкли к тому, что нас уже практически везде окружают разнообразные сети беспроводной связи, предлагающие нам возможность отправлять в Интернет или принимать из него различного рода цифровые данные, будь то музыкальные треки, фотографии, файлы с видеорядом или иную полезную информацию повсюду, где к таким сетям есть доступ. Среди существующего множества стандартов связи, подавляющему большинству очень хорошо известна технология WiFi, ставшая повседневной обыденностью. Доступ к WiFi есть почти в каждой квартире, сеть активно развивается в общественном транспорте, часто встречается в сферах отдыха, развлечения и досуга. И конечно же, WiFi присутствует в любом современном персональном компьютере, в мобильном телефоне и планшете. Стоит упомянуть о том, что технология беспроводной связи WiFi широкими шагами углубляется в контекст систем видеонаблюдения, позиционирования и безопасности, а также неустанно набирает обороты по интеграции в бытовой и промышленной электронике. Подхватив тенденцию развития, производители разнообразной "умной" техники стараются усовершенствовать наш быт средствами удалённого обмена данными, внедряют технологию в свои продукты, одновременно обучая их общаться между собой в сетях нового поколения "Интернет Вещей" (англ. Internet of Things, IoT).
Модули на чипе ESP8266 завоевали заслуженную популярность среди разработчиков собственных электронных проектов благодаря низкой ценовой категории и наличием основного полноценного функционала. ESP-12E самодостаточен и лёгок в настройке. Он способен выполнять все базовые операции приёмо-передачи по технологии WiFi. Пользователю достаточно выбрать требуемую конфигурацию модуля под поставленную задачу. Антенна разведена по краю печатной платы в виде зигзагообразной дорожки, контакта или разъёма для монтажа внешней антенны не предусмотрено. Верхняя сторона модуля оборудована металлическим кожухом, защищающим внутреннюю электронику от возможных электрических помех. Флеш-память увеличена с 1 до 4 МБайт. Значительно расширен доступный функционал.
Наличие встроенной памяти позволяет ESP8266-12E работать практически автономно и не зависеть от дополнительных внешних микроконтроллеров. Конструктивно, ESP-8266EX представляет из себя микроконтроллер, напрямую связанный с интегрированной в модуль микросхемой флеш-памяти, в которую записываются исполняемый скетч и прошивка. В добавок ко всему, модуль обладает дополнительными выводами, позволяющими подключить внешнюю флеш-память размером до 16 МБайт, если объёма стандартной памяти не хватает.
Технические данные
ESP8266EX функциональная блок-схема
Распиновка ESP-12E (Диаграмма выводов, ESP-12E подключение)
Модуль ESP8266-12E обладает цифровыми выводами (контакты 4-7, 9-14, 16-22) общего назначения, работающими с логикой напряжений "1" и "0". Под единицей подразумевается входящее/исходящее напряжение +0.75*Vin—3.6 вольта, называемое высоким сигналом. Под нулём - входящее/исходящее напряжение -0.3—0.25*Vin вольт, называемое низким сигналом. Некоторые выводы имеют встроенный подтягивающий или стягивающий резисторы (см.принципиальную схему). Большинство контактов могут быть смультиплексированы с различными интерфейсами (I2C, I2S, HSPI, UART, ШИМ). Рекомендуемый ток отдельного вывода составляет 6 миллиампер, предельный ток - 12 миллиампер.
Примечание! Избегайте превышение значений максимального тока более 12 миллиампер и напряжения более 3.3 вольта, способного повредить микроконтроллер.
- EXT_RSTB (RST, RESET) — контакт перезапуска модуля, активен при низкоуровневом сигнале
- ADC — Аналого-цифровой преобразователь (АЦП). Диапазон входного напряжения 0-1 В, диапазон значений 0-1023
- CHIP_EN (CH_PD, CH_PU) — контакт включения модуля в рабочий режим. Активен при высокоуровневом сигнале
- GPIO16 — контакт общего назначения, ввод/вывод данных. Соединение с выводом EXT_RSTB выводит модуль из режима глубокого сна
- GPIO0-GPIO15 — контакт общего назначения, ввод/вывод данных. Переназначаемый на другие функции. В среде Ардуино выводы определяются по нумерации, GPIO1 = 1 и т.д. Выводы GPIO6-GPIO11 привязаны к встроенной памяти и не рекомендуются к использованию в других целях, кроме подключения внешней памяти.
- VCC — контакт питания модуля, напряжение 3.0-3.6 В
- GND — общий, заземление
- Асинхронный последовательный интерфейс UART из 2х линий, устанавливает связь с другими устройствами по шине UART:
- UART0_RX — контакт GPIO3
- UART0_TX — контакт GPIO1
- UART0_RTS — контакт GPIO15
- UART0_CTS — контакт GPIO13
- UART1_TX — контакт GPIO2, может использоваться для вывода отладочной информации
- SDA — контакт GPIO2
- SCL — контакт GPIO14
- SPI_CLK — контакт GPIO6
- SPI_MISO — контакт GPIO7
- SPI_MOSI — контакт GPIO8
- SPI_HD — контакт GPIO9
- SPI_WP — контакт GPIO10
- SPI_CS0 — контакт GPIO11
- SPI_CS1 — контакт GPIO1
- SPI_CS2 — контакт GPIO0
- HSPI_CS - контакт GPIO15
- HSPI_MISO - контакт GPIO12
- HSPI_MOSI - контакт GPIO13
- HSPI_CLK - контакт GPIO14
- I2SI_DATA — приём, контакт GPIO12
- I2SI_BCK — приём, контакт GPIO13
- I2SI_WS — приём, контакт GPIO14
- I2SO_BCK — передача, контакт GPIO15
- I2SO_DATA — передача, контакт GPIO3
- I2S0_WS — передача, контакт GPIO2
- IR_Tx — контакт GPIO14
- IR_Rx — контакт GPIO5
- SDIO_DATA_0 — контакт GPIO7
- SDIO_DATA_1 — контакт GPIO8
- SDIO_DATA_2 — контакт GPIO9
- SDIO_DATA_3 — контакт GPIO10
- SDIO_CMD — контакт GPIO11
- SDIO_CLK — контакт GPIO6
Режимы энергосбережения ESP8266EX
За исключением стандартных режимов полного функционирования и выключенного состояния, модуль ESP-12E поддерживает энергосберегающие режимы, предназначенные для каждого определённого случая.
- Modem-sleep — настраивается для приложений, использующих функции ШИМ или I2S, заставляющие процессор работать. В случаях, когда WiFi-связь установлена и передача данных не требуется, схема Wi-Fi модема может быть отключена для экономии энергии. Например, в режиме DTIM3, когда ESP8266 "спит" 300 миллисекунд и просыпается на 3 миллисекунды для приёма от точки доступа пакетов беспроводных Маяков (Beacon), общее потребление тока составляет около 20мА.
- Light-sleep — используется в задачах, в которых поддерживается соединение Wi-Fi и передача данных не требуется, при этом процессор может быть приостановлен. Например, режим коммутатора Wi-Fi. Общее среднее потребление тока составляет около 2 мА.
- Deep-sleep — глубокий сон оптимален для приложений, которые не требуют подключения Wi-Fi и передают данные c большими задержками по времени. К таким задачам относятся датчики температуры, выполняющие измерения каждые 100 секунд. Например, когда ESP8266EX "спит" 300 секунд и просыпается для соединения с точкой доступа (около 0.3-1 секунды), общее среднее потребление тока намного меньше 1 мА.
Режимы запуска модулей серии ESP
Режим CHIP_EN GPIO15 GPIO0 GPIO2 Загрузчик UART высокий низкий низкий высокий Запуск из флеш памяти высокий низкий высокий высокий Режим SDIO высокий высокий не важно не важно Значения "Высокий" и "Низкий" - уровень сигнала на входе соответствующего контакта.
Добавление платформы ESP8266 в среду разработки ARDUINO IDE
Установка совместимых библотек для корректной работы с платформой ESP8266EX аналогично всему модульному ряду ESP. Пример настройки редактора ARDUINO IDE для ESP8266EX приведён в описании модуля ESP-01.
АТ команды ESP8266, режим роутера-модема
Коллектив компании Espressif Systems, для своих чипов ESP8266 и их разновидностей, выпускает прошивки со встроенным интерпретатором AT-команд, основанные на обновляемых программных наборах разработки ПО (SDK) с открытым кодом. Пользователь имеет возможность компилировать собственные кастомные прошивки, добавляя или исключая поддержку необходимых в проекте функций. Подобные прошивки формируют из контроллера ESP8266 своеобразный роутер-модем, вследствие чего способ взаимодействия с процессором ESP-12E значительно отличается от обычного. В коде ПО заложен перечень предопределённых заскриптованных команд, выполняющие различные действия с настройками контроллера ESP8266. АТ команды позволяют устанавливать и разрывать WiFi-соединения, отправлять и получать данные, или менять параметры шины UART. Любая АТ команда передаётся в ESP8266 через периферийный последовательный интерфейс UART (GPIO1, GPIO3) от ведущего устройства и всегда начинается с аббревиатуры АТ. Перечень поддерживаемых АТ команд разделён на три основные группы с подробным описанием каждой функции, включая примеры:
Описание функционала
ESP8266EX встроен в 32-битный микроконтроллер (MCU) Tensilica L106, который отличается ультранизким энергопотреблением 16-битной RISC архитектурой. Тактовая частота CPU составляет 80 МГц. Также она может достичь максимального значения 160 МГц.
ESP8266EX часто интегрируется с внешними датчиками и другими специальными устройствами через его выводы GPIO; код для подобных приложений поставляется в примерах в SDK.
Организация памяти
Внутренние SRAM и ROM.
Однокристальная WiFi система ESP8266EX встраивается вместе с контроллером памяти; включая SRAM и ROM. MCU может обращаться к памяти через интерфейсы iBus, dBus и AHB.
Согласно текущей версии SDK, пользователю доступно следующее пространство памяти:
Внешняя SPI флеш-память
В модуль для хранения пользовательских программ установлена внешняя SPI флеш-память размером 4 Мбайта. Если необходимо больший объем, то необходимо установить флеш-память большего размера. Теоретически, поддерживается емкость до 16 Мбайт.
Предполагаемая емкость SPI флеш-памяти:
- OTA выключено: минимальный размер флеш-памяти, который будет поддерживаться, составляет 512 Кбайт;
- OTA включено: минимальный размер флеш-памяти, который будет поддерживаться, составляет 1 Мбайт;
Поддерживается несколько SPI режимов, в том числе, Standard SPI, Dual SPI и Quad SPI.
Перед загрузкой во флеш-память выбирайте правильный SPI режим, иначе прошивки/программы, которые вы загрузили, могут работать неправильно.
Распиновка ESP8266 NodeMCU
С внешним миром ESP8266 NodeMCU соединяют всего 30 выводов. Ниже показана распиновка отладочной платы.
Рисунок 6 – Распиновка ESP8266 NodeMCU
Для простоты мы сгруппируем выводы с аналогичными функциями.
Выводы питания – на плате расположено четыре вывода питания, а именно: один вывод VIN и три вывода 3.3V. Если у вас есть стабилизированный источник напряжения 5 В, вывод VIN можно использовать для непосредственного питания ESP8266 и его периферии. Выводы 3.3V – это выходы встроенного стабилизатора напряжения. Эти выводы могут использоваться для подачи питания на внешние компоненты.
GND – это вывод земли отладочной платы ESP8266 NodeMCU.
Выводы I2C используются для подключения всех видов датчиков и периферийных устройств на шине I2C в вашем проекте. Поддерживаются и I2C Master, и I2C Slave. Работа интерфейса I2C может быть реализована программно, а тактовая частота составляет максимум 100 кГц. Следует отметить, что тактовая частота I2C должна быть выше самой низкой тактовой частоты из ведомых устройств.
Выводы GPIO На ESP8266 NodeMCU имеется 17 выводов GPIO, которые можно назначать программно на различные функции, такие как I2C, I2S, UART, PWM, дистанционное инфракрасное управление, светодиодный индикатор и кнопка. Каждый включенный вывод GPIO может быть настроен либо на внутреннюю подтяжку к земле или к шине питания, либо установлен на высокоимпедансное состояние. При конфигурировании на вход для генерирования прерываний процессора он может быть настроен на срабатывание либо по фронту, либо по спаду.
Вывод ADC подает сигнал на имеющийся в NodeMCU, встроенный 10-разрядный прецизионный аналого-цифровой преобразователь последовательного приближения (SAR ADC). С помощью этого АЦП могут быть реализованы две функции: проверка напряжения питания на выводе VDD3P3 и проверка входного напряжения на выводе TOUT (но не одновременно).
Выводы UART ESP8266 NodeMCU имеет 2 интерфейса UART, то есть UART0 и UART1, которые обеспечивают асинхронную связь (RS232 и RS485) и могут обмениваться данными со скоростью до 4,5 Мбит/с. Для связи можно использовать UART0 (выводы TXD0 , RXD0 , RST0 и CTS0 ), который поддерживает управление потоком. UART1 (вывод TXD1 ) поддерживает только сигнал передачи данных, поэтому он обычно используется для печати журнала событий.
Выводы SPI ESP8266 имеет два интерфейса SPI (SPI и HSPI), поддерживающих и ведомый (slave), и ведущий (master) режимы. Эти интерфейсы SPI также поддерживают следующие функции SPI:
- 4 режима синхронизации передачи SPI;
- до 80 МГц и тактовые частоты, полученные делением 80 МГц;
- до 64 байт FIFO.
Выводы SDIO ESP8266 имеет защищенный цифровой интерфейс ввода/вывода (SDIO, Secure Digital Input/Output Interface), который используется для прямого подключения карт SD. Поддерживаются 4-битный 25 МГц SDIO v1.1 и 4-битный 50 МГц SDIO v2.0.
Выводы PWM На плате имеется 4 канала широтно-импульсной модуляции (PWM). Выход ШИМ может быть реализован программно и использован для управления двигателями и светодиодами. Частотный диапазон ШИМ регулируется от 1000 мкс до 10000 мкс, то есть от 100 Гц до 1 кГц.
Выводы управления используются, как ни странно, для управления ESP8266. Эти выводы включают в себя вывод включения микросхемы EN , вывод сброса RST и вывод пробуждения WAKE .
- Вывод EN – микросхема ESP8266 включена, когда на вывод EN подается высокий логический уровень. При низком логическом уровне микросхема работает на минимальной мощности.
- Вывод RST используется для сброса микросхемы ESP8266.
- Вывод WAKE используется для вывода чипа из глубокого сна.
Загрузки
Платформы разработки для ESP8266
Теперь перейдем к интересным вещам!
Существует множество платформ разработки, которые могут быть оснащены для программирования ESP8266. Вы можете использовать Espruino – JavaScript SDK и прошивка, эмулирующая Node.js, или использовать Mongoose OS – операционную систему для устройств IoT (рекомендуемая платформа от Espressif Systems и Google Cloud IoT), или использовать комплект разработки программного обеспечения (SDK), предоставляемый Espressif. или любую из платформ, перечисленных на Википедии.
К счастью, крутое сообщество ESP8266 сделало выбор IDE на шаг вперед, создав дополнение к Arduino IDE. Если вы только начинаете программировать для ESP8266, мы рекомендуем начать с этой среды разработки, и ее мы опишем в данном руководстве.
Это дополнение ESP8266 для Arduino IDE основано на работе Ивана Грохоткова и остальной части сообщества ESP8266. Для получения дополнительной информации смотрите репозиторий GitHub ESP8266 Arduino.
Читайте также: