8-900-374-94-44
[email protected]
Slide Image
Меню

Esp8266 характеристики: ESP8266. Начало работы, особенности

характеристики, с чего начать или первый опыт. Настройка программного обеспечения ESP8266 в Arduino IDE

Автор Vic На чтение 19 мин Просмотров 271 Опубликовано

Содержание

  1. ESP8266 и прочее Arduino
  2. ESP8266 ESP-07 вместе с Adapter Plate
  3. Добавление поддержки платы ESP8266 в программное обеспечение Arduino
  4. Проверка собранной схемы
  5. Перевод ESP-8266 в режим загрузки обновления
  6. Цели и причины
  7. Подключение оборудования
  8. Установка прошивки
  9. Последовательность шагов для прошивки ESP8266
  10. Что такое OTA программирование ESP8266?
  11. Программируем ESP8266 в Arduino IDE

ESP8266 и прочее Arduino

ESP8266 — это микроконтроллер китайского производителя Espressif с интерфейсом Wi-Fi. Помимо Wi-Fi, микроконтроллер отличается отсутствием флеш-памяти в SoC, программы пользователя исполняются из внешней флеш-памяти с интерфейсом SPI.

У устройства есть ряд особенностей:

  • Он не имеет корпуса, но при этом имеет малые габариты.
  • На его борту порядка десяти управляемых пинов (контактов) для подключения внешней периферии.
  • Нет встроенного блока питания, питание осуществляется от 5В.

ESP8266 ESP-07 вместе с Adapter Plate

Инструкция подключения ESP-07 (ESP-12) через UART-конвертер:

  • Красный — питание 3,3в;
  • Черный — GND;
  • Желтый — на стороне ESP8266 — RX, на стороне USB-TTL — TX;
  • Зеленый — на стороне ESP8266 — TX, на стороне USB-TTL — RX;
  • Оранжевый — CH_PD (CHIP ENABLE) — должен быть всегда подтянут к питанию;
  • Синий — GPIO0 — подключен через выключатель к земле для включения режима перепрошивки модуля. Для обычного старта модуля GPIO0 можно оставить никуда не подключенным;
  • Серый — GPIO15 (MTDO, HSPICS) этот пин необходимо притянуть к земле;
  • Если подключаете к Ардуино, то RX-RX, а TX-TX.

С помощью паяльника были объединены ESP-07 и адаптер.

Адаптер рекомендую поскольку он в дальнейшем облегчает соединение беспаечным методом с помощью макетной платы и проводов. В данном случае для питания я использовал понижающий DC-DC преобразователь из Китая. В наличии были датчики DS18B20, их и было решено подключать.
HomesSmart сразу ставить не хотелось и выбор пал на такой вот пример. Не буду перепечатывать схему и код — они практически такие же. Заработало не сразу, но с гуглом и бубном завелось и полетели данные на Народный мониторинг.

Загружал скрипт через ESplorer.

Было на Ардуино

Стало на ESP8266

Жду компактный модуль питания 220AC — 3,3DC чтобы оптимизировать количество проводов.

Добавление поддержки платы ESP8266 в программное обеспечение Arduino

Скачайте и установите последнюю версию программного обеспечения Arduino IDE (скачать) на свой компьютер, если вы этого еще не сделали. Откройте приложение Arduino и перейдите к пункту меню:

Arduino -> Настройки (Arduino -> Preferences)

По умолчанию приложение Arduino поддерживает чипы, используемые на официальных платах Arduino, но не ESP8266.

Эти платы могут быть запрограммированы «из коробки», потому что приложение Arduino уже знает о каждой и ее свойствах. Одна из замечательных особенностей Arduino заключается в том, что вы можете добавить поддержку других плат, и все, что вам нужно сделать, это сообщить Arduino, где можно найти их свойства.

Первым шагом этого процесса является предоставление URL-адреса менеджеру дополнительных плат. В текстовое поле в нижней части окна настроек (см. фото выше) вставьте именно этот текст:

Если поле не было пустым, когда вы открыли окно настроек, возможно, у вас уже установлены некоторые другие платы. Если это так, добавьте содержимое текстового поля к указанному выше URL-адресу, используя запятую для разделения нескольких URL-адресов.

Нажмите кнопку ОК, чтобы закрыть окно настроек. Теперь наше приложение Arduino знает, где найти информацию о платах ESP8266 в целом.

Чтобы получить конкретную информацию, перейдите в пункт меню:

Инструменты -> Плата: (название платы) -> Диспетчер плат (Tools -> Board:(board name) -> Boards Manager)

Подождите некоторое время, пока менеджер плат загрузит содержимое, а затем начните вводить «ESP8266» в строку поиска.

Когда вы увидите «esp8266 от сообщества ESP8266» (англ. — esp8266 by ESP8266 Community), вы можете перестать вводить в поиске и нажать «Установить» (Install), чтобы получить последний пакет для платы, установленный внутри вашего приложения Arduino.

В Feather Huzzah имеется удобный USB-коммуникационный чип, но для его нормальной работы требуется бесплатный драйвер. Без него ваша плата не будет отображаться в списке доступных последовательных устройств. Перейдите на страницу SiLabs (Silicon Lab: CP210x USB to UART Bridge VCP Drivers) и скачайте/установите драйвер, соответствующий вашей операционной системе (доступны Mac/Windows/Linux).

Проверка собранной схемы

Перед тем как переводить ESP-8266 в режим отновления прошивки, проверим работу собранной схемы:

  • Убедимся, что GIO0 отключена от GND. Иначе AT команды отправить в модуль нельзя.
  • Включим питание модуля.
  • Подключим USB-to-RS232 конвертер к ПК.
  • Зайдем в Control Panel -> System -> Device manager -> Ports (COM & LPT).
  • Если устройство Prolific USB-to-Serial Comm Port работает с ошибкой — нужно установить fix.
  • Если USB конвертер работает без ошибок — смоттри на каком COM порту он работает.
  • Запускаем ESPlorer и выставляем в настройках правильный COM порт и скорость. Жмем «Open».
  • Переходим на закладку «AT-based» и жмем кнопку «AT». Отправится команда AT, в ответ должна прийти «ОК». Хначит устрйоство работает нормально. То-же самое можно сделать любой терминальной программой работающей с последовательным портом, вроде PuTTY.
  • Далее жмем кнопку»RST». Отправится команда AT+RST для рестарта модуля.
  • Отправка команды AT+RST в ESP-8266.

AT+RST AT+RST OK WIFI DISCONNECT ets Jan 8 2013,rst cause:2, boot mode:(3,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 тn’t use rtc mem data rlЋ‚rlМя Ai-Thinker Technology Co. ,Ltd. ready WIFI CONNECTED WIFI GOT IP

  • Сохраним полученные параметры чипа. Они могут пригодится в дальнейшем.
  • Отправим AT+GMR для получения информации о текущей версии прошивки ESP-8266.
  • Отправка команды AT+GMR в ESP-8266

Получили следующую информацию о чипе:

  • SPI Speed : 40MHz
  • SPI Mode : DIO
  • SPI Flash Size & Map: 8Mbit(512KB+512KB)
  • AT version:0.40.0.0(Aug 8 2015 14:45:58)
  • SDK version:1.3.0
  • Build:1.3.0.2 Sep 11 2015 11:48:04

Для прошивки нужно скачать следующее ПО от разработчика чипа, компании Espressif:

  • Flash Downloads Tool.
  • Прошивка ESP8266 AT. Если нужны исходники, то ESP8266 NONOS SDK.
  • Документация по ESP8266.

Перевод ESP-8266 в режим загрузки обновления

Для перевода ESP-8266 в режим загрузки прошивки нужно:

  1. Отключить питание модуля и извлечь из USB порта USB-to-RS-232 конвертер.
  2. Замкнуть PIN GPIO0 на GND. Я использовал Dupont кабель. Кнопку нет смысла использовать. Вот здесь есть тонкий момент. На некоторых схемах используют две кнопки Flash и Reset и нажимают их попеременно для ввода в режим заливки обновления. В официальной документации дан вариант, который я описал. Но при этом я брикнул ESP8266 и пока не нашел способа восстановить.
  3. Включить питание модуля.
  4. Немного подождать и подключить USB-to-RS-232 конвертер.

Если нарушить последовательность, то программатор не найдет ESP-8266 модуль!

  • Запускаем ESP8266 Flash Download Tool.
  • Выбираем ESP8266 и задаем правильный порт и скорость.
  • Ничего не вводим и нажимаем Start
  • Если ESP 8266 корректно переведен в режиме скачивания прошивки, то практически мгновенно будет выдан статус Finish. И в «detected info» отобразится информация:
    • flash vendor: E0h : N/A
    • flash devID: 4016h
    • QUAD;
    • 32Mbit crystal;
    • 26 Mhz

В некоторых случаях брикнутые ESP 8266 удается восстановить с использованием инстурмента XTCOM_UTIL. Статья на эту тему.

Но здесь есть такой момент. Прошивки подходящие под эту утилиту неофициальные (специально сделанные) и очень древние. Хотя, можно «лить» и официальные, указав правильные адреса. Я не пробовал, но в статье пример.

У меня была ситуация, когда не мог залить официальную прошивку на купленный на Aliexpress ESP 8266 модуль. Но после того как залил древнюю прошивку через XTCOM_UTIL, залилась и прошивка через официальный ESP8266 Download Tool.

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

Если конвертер USB — RS-232 плохого качества, либо плохое качество соединений, то ESP8266 Download Tool может выдавать ошибку синхронизации. В Интернет рекомедуют снижать скорость до 9600, но это нельзя сделать с помощью этой утилиты. У неё минимальная скорость 115200. В этом случае можно воспользоваться консольной утилитой ESPTool от официального разработчика чипа компании Espressif.

Я пробовал прошивать с помощью этой утилиты брикнутый чип, но безуспешно.

Таблицу адресов для заливки лучше брать в официальной документации, поскольку адреса завсят от чипа. Этот вопрос нужно смотреть тщательно, поскольку в Интернет адреса заданы для того чипа, который шил автор статьи. Адреса и схема распайки для программирования есть в ESP8266_SDK_Getting_Started_Guide, и адреса есть также в ESP8266_AT_Instructions_Set.

Сразу отмечу, что у меня нет достоверной информации, что если в ESP8266 Download Tool выставить флаг SpiAutoSet, то действительно производится проверка параметров чипа. Адреса точно никак не проверяются.

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

В Интернете не раз проскакивала информация, что ESP-8266 невозможно вывести из строя кривой прошивкой.

Мне удавалось. После этого чип даже при повторном переводе в режим заливки образа не откликается на запросы. Пробовал скорость и 9600 и 115200 использовать и разные другие шаманства со всеми возможными утилитами

Если после прошивки ESP-8266 не получается подключиться к модулю на скорости 115200, нужно попробовать скорость 9600. В некоторых прошивках эта скорость выставлена по-умолчанию.

В некоторых случаях из-за качества соединений могут возникать проблемы с синхронизацией. Одно из решений — уменьшить скорость с 115200 до 9600:

  • AT+UART_DEF=,,,,
  • AT+UART_DEF=9600,8,1,0,0
  • AT+UART_DEF=115200,8,1,0,3

В некоторых случаях при переходе на другую скорость отклики от модуля в терминальной программе становятся очень медленными. Пока не разобрался с чем это связано. Помогает сброс к заводским настройкам командой AT+RESTORE.

Цели и причины

Это вторая статья автора об интегральной микросхеме ESP8266, содержащей полнофункциональный 32-битный RISC микроконтроллер и встроенную Wi-Fi схему 802. 11 b/g/n. Первая статья описывала использование Arduino IDE для программирования ESP8266 и содержит важную информацию, которая здесь повторяться не будет. Если вы не читали её, то рекомендуем сделать это.

В интернете нет недостатка в информации об ESP8266; на самом деле, может быть из неё слишком много… неправильной. Разработчики микросхемы, Espressif, по-видимому, решили не только не заниматься производством на стороне, но и избегать непосредственного участия в разработке линейки модулей ESP, которые используют микросхему ESP8266. Вместо этого, они предлагают информацию и услуги поддержки через форум для тех, кто готов с упорством и терпением ходить по лабиринту. Добавление к путанице – это существование другого форума, который, несмотря на то, что назван esp8266.com, не управляется компанией Espressif. Кроме того, существует множество перепродавцов, видеоблоггеров, и писателей, которые также предлагают информацию от качественной до спутанной настолько, что она может быть полностью неправильной.

ESP модули доступны в различных источниках, а прошивки, содержащиеся в чипах ESP8266 на модулях, почти всегда являются устаревшими и часто вызывают подозрения относительно их происхождения. Также иногда подозрительны «обновления» и инструменты, которые доступны в тех же источниках. Следовательно, целью этой статьи является документирование процедуры загрузки последней доступной прошивки непосредственно от Espressif и её установка с использованием инструмента программирования, предоставляемого Espressif.

Подключение оборудования

Чтобы обновить прошивку на любом ESP8266, необходимо правильно подать на него питание и подключить его к компьютеру. Кроме того, необходимо добавить средства сброса микросхемы и перевода её в режим загрузки. На приведенной ниже схеме и фотографии показано рекомендуемое подключение; обратите внимание, что цвета проводов на схеме соответствуют цветам на фотографии. Как вы видите, я буду обновлять прошивку на модуле ESP-01, но ти же самые соединения будут работать и с другими модулями, если используются те же входы/выходы ESP8266, как показано на схеме.

Установка прошивки

Запустите ESP flash download tool и убедитесь, что ни в одном чекбоксе в левом верхнем углу окна GUI не поставлена галка. Введите COM порт, который вы используете, и скорость передачи 115200 в полях ввода в нижней части окна. Обратите внимание, что при вводе данных они записываются в окне журнала.

Подайте питание на свою сборку для программирования ESP и подключите её к компьютеру. Нажмите и удерживайте кнопку Reset, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку Reset, а затем отпустите кнопку Flash. Нажмите кнопку START окне GUI инструмента прошивки ESP. Программа загрузки флэш-памяти должна проверить ESP8266 в вашей сборке и создать отчет, похожий на тот, что приведен ниже. Нажмите и отпустите кнопку Reset на вашем макете, чтобы выйти из режима прошивки ESP8266 и возобновить нормальную работу.


Окно графического интерфейса ESP Flash Download Tool. Вывод информации о микросхеме ESP8266

Терминальное окно ESP Flash Download Tool. Вывод информации о микросхеме ESP8266

Обратите внимание, что теперь окно GUI содержит информацию об ESP8266, включая размер флэш-памяти (в примере 8 Мбит), тактовую частоту (в примере 26 МГц) и два MAC-адреса для чипа. Такая же информация содержится в окне журнала.

Затем кликните в окне GUI по чекбоксу с надписью «SpiAutoSet», что заставит инструмент загрузки автоматически выбрать правильные размер флэш-памяти и тактовую частоту.

Теперь нам нужно выбрать файлы для установки в ESP8266 и установить начальный адрес памяти для каждого файла. Чтобы обновить ESP чип, необходимо правильно установить четыре файла. Откройте «Руководство пользователя Espressif IOT SDK» и найдите раздел о записи образов во флэш-память. В версии 1.4 руководства он начинается со страницы 20. Затем найдите подраздел, который описывает версию поддерживаемую Cloud Update (FOTA), и в этом подразделе найдите таблицу о размере флэш-памяти в вашем ESP8266. В этом примере размер флэш-памяти составляет 8 Мбит, что равно 1024 килобайт, следовательно, в таблице 2 на странице 25 руководства содержится информация, необходимая для примера. Посмотрим на рисунок ниже.

Таблица адресов флэш-памяти для загрузки файлов прошивки ESP8266

Необходимы эти четыре файла: esp_init_data_default.bin, blank.bin, boot.bin и user1.bin. Адрес, по которому должен быть установлен каждый из файлов, отображается рядом с именем файла. Первые три из необходимых файлов находятся в каталоге esp_iot_sdk_v1.4.1_15_10_22, ранее скачанном с bbs.espressif.com, а четвертый расположен в AT_v0.50 bin files. Перейдите туда, где находятся эти загруженные файлы, и скопируйте пути к ним в поля ввода в верхней части окна GUI программы Flash Download Tool; введите правильный адрес для каждого файла в поле рядом с именем файла. Выполните следующие шаги для каждого файла:

  • кликните внутри поля ввода «set firmware path»;
  • кликните по кнопке … справа от поля ввода;
  • перейдите к месту хранения файла и кликните по файлу. GUI автоматически введет путь к файлу в поле ввода;
  • введите правильный адрес (из таблицы) для каждого файла.

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

Теперь кликните на четыре флажка слева от имени каждого из файлов. Окно графического интерфейса программы Flash Download Tool должно быть похоже на рисунок ниже. Дважды проверьте адреса по таблице.
Настройка параметров прошивки ESP8266 в программе Flash Download Tool

На своем макете прошивки ESP нажмите и удерживайте кнопку Reset, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку Reset, а затем отпустите кнопку Flash. Нажмите кнопку START окне GUI инструмента прошивки ESP. Должна начаться загрузка, и её прогресс должен быть показан в окне графического интерфейса и окне журнала Flash Download Tool, как показано ниже.

Отображение процесса загрузки прошивки ESP8266 в терминальном окне Flash Download Tool

Как показано выше, успешная операция прошивки флэш-памяти приведет к тому, что все файлы будут отправлены в ESP8266, а COM порт будет закрыт.

Последовательность шагов для прошивки ESP8266

  1. Подключите модуль к компьютеру согласно схеме подключения в этой статье.
  2. Запустите монитор последовательного порта. Выполните AT команды AT+RST и AT+GMR для определения текущей версии прошивки и размера памяти модуля. Этот шаг так же позволяет проверить правильность подключения модуля.
  3. Запустите программу прошивки Flash Download Tools, правильно настройте загружаемые файлы, установите настройки.
  4. Отключите питание модуля ESP8266.
  5. Соедините контакт CPIO0 на землю.
  6. Подайте питание на модуль ESP8266.
  7. Нажмите в программе прошивки кнопку START
  8. Дождитесь окончания прошивки модуля. По окончании прошивки появится надпись FINISH зеленого цвета.
  9. Отсоедините питание модуля ESP8266. Отсоедините землю с контакта CPIO0.
  10. Включите модуль, запустите монитор последовательного порта. Убедитесь в работоспособности модуля и новой версии прошивки выполнив AT команду AT+GMR.

Что такое OTA программирование ESP8266?

OTA программирование позволяет обновлять/загружать новую программу в ESP8266 с помощью Wi-Fi вместо того, чтобы требовать от пользователя подключить ESP8266 к компьютеру через USB.

Функциональность OTA чрезвычайно полезна в случае отсутствия физического доступа к модулю ESP. Это помогает сократить время, затрачиваемое на обновление каждого модуля ESP при технической поддержке.

Одной из важных особенностей OTA является то, что один центральный объект может отправлять обновления нескольким модулям ESP, использующим одну и ту же сеть.

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

  1. Установка Python версии 2.7.x. Первый шаг – установите на компьютер Python версии 2.7.x.
  2. Загрузка базовой OTA прошивки через последовательный интерфейс. Загрузите скетч, содержащий прошивку OTA. Этот шаг обязателен шаг, чтобы вы могли выполнять следующие обновления/загрузки через беспроводную сеть.
  3. Загрузка нового скетча по воздуху. Теперь вы можете загружать новые скетчи в ESP8266 из Arduino IDE по воздуху.

Чтобы использовать функциональность OTA, вам необходимо установить Python версии 2.7.x, если он еще не установлен на вашем компьютере.

Перейдите на официальный сайт Python и загрузите 2.7.x (конкретный релиз) для Windows (установщик MSI).
Откройте установщик и следуйте указаниям мастера установки.
В разделе настройки Python 2.7.x убедитесь, что включен последний параметр «Add python.exe to Path» (добавить python.exe в путь).

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

Этот шаг обязателен для первой прошивки, чтобы вы могли выполнять следующие обновления/загрузки по беспроводной сети.

Дополнение ESP8266 для Arduino IDE поставляется с библиотекой OTA и примером BasicOTA. Вы можете получить к нему доступ через Файл → Примеры → ArduinoOTA → BasicOTA.

А теперь давайте загрузим новый скетч по воздуху, т.е. через Wi-Fi.

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

В качестве примера мы включим простой скетч Blink в код BasicOTA. Не забудьте изменить переменные SSID и пароля на учетные данные вашей сети.

Изменения в программе BasicOTA выделены номерами строк.

Программируем ESP8266 в Arduino IDE

В предыдущей статье про «народные» WiFi модули я делал обзор купленных почти за $2.6 ES-07 с платами адаптерами.

Сейчас расскажу о программировании модулей в среде Arduino IDE. Заодно в этой статье можно узнать, как сделать часы с синхронизацией времени по NTP протоколу.

Изначально с завода ESP8266 идут с прошивкой от компании Espressif. В данной прошивке реализована работа с WiFi модулем как с модемом, через AT команды, подаваемые в последовательный порт. В таком режиме хорошо управлять ESP-шкой с внешнего контроллера, тем же Arduono, правда интерфейс обмена данными с контроллером, на мой взгляд, довольно тормозной.

Компания Espressif выпускает SDK для этих модулей, позволяющей разрабатывать собственные прошивки. Здесь подробно описано о данном процессе. Здесь все хорошо по возможностям, но довольно сложно по среде разработки и программировании.

Можно воспользоваться готовыми прошивками со встроенными интерпретаторами. Например, в этой статье я экспериментировал с прошивкой NodeMCU, позволяющей реализовывать логику работы модуля на встроенном интерпретаторе LUA. Можно использовать прошивку со встроенным JavaScript. К недостаткам таких прошивок я бы отнес «прожорливость» встроенных интерпретаторов к ресурсам ESP, в первую очередь ОЗУ, медленную работу и небольшое количество готовых библиотек.

Есть еще ряд прошивок, которые позволяют настроить работу модуля через WEB-интерфейс. Например коммерческая HOME-SMART, работа с которой описана мною здесь. Данная прошивка дает быстрый старт на ряд применений, но, к сожалению, никаких возможностей к расширению и созданию собственных алгоритмов работы не имеет. Хотя авторы очень быстро развивают возможности данной прошивки и в новой версии недавно появилась возможность разработки собственных  модулей на Си к ней.

И, наконец, я подошел к еще одному способу программирования ESP8266 — из среды Arduino IDE. Мне, реализовавшему десятки проектов в этой среде, такой способ работы очень понравился. К тому же, большая часть библиотек для Arduino, не использующий внутренние порты и прочие аппаратные возможности микроконтроллера, отлично работают и на ESP-модулях. Очень хорошо работа с ESP8266 в среде Ардуино IDE описана в этой статье.

Хочу немного добавить, что купленные мною модули ESP-07 распаянные на платы-адаптеры уже практически готовы к использованию. Подключаем TX/RX и GND к TTL-USB конвертеру, например, такому. Подключаем питание 3.3В к VCC. Для загрузки прошивки GPIO0 присоединяем к земле. Собственно и все. Подключить GPIO0 и RESET к данному конвертеру у меня не получилось, но это оказалось не сильно нужно.  При подсоединенном GPIO0 к земле ESP находится в режиме загрузки прошивки во флэш-память, но после загрузки происходит запуск программы без отсоединения данного GPIO. Это позволяет вполне комфортно отлаживать свою программу. Нужно перед загрузкой только перезагрузить модуль передергиванием питания или кратковременно подав на вывод RESET на землю. Я припаял для этого специальную кнопку

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

Итак модуль подключен, среда настроена. Для ES07 все настройки ESP8266 ставятся «по умолчанию»:

Источники

  • https://sprut. ai/client/article/1545
  • https://habr.com/ru/post/394535/
  • https://ArduinoPlus.ru/programmnoe-obespechenie-esp8266-na-arduino-ide/
  • https://www.bizkit.ru/2018/12/25/11272/
  • https://radioprog.ru/post/212
  • https://remotexy.com/ru/help/esp8266-firmware-update/
  • https://radioprog.ru/post/885
  • http://samopal.pro/esp8266-4/

Плата разработчика Arduino MEGA2560 R3 + ESP8266 WiFi (USB-TTL Ch440G)

Продвинутая плата разработчика на микроконтроллере Arduino MEGA2560 и Wi-Fi модуле ESP8266 с 8Mb памяти программ. Оба контроллера могут работать как совместно так и абсолютно независимо друг от друга. Режим взаимодействия контроллеров устанавливается микропереключателем. Программировать оба контроллеров можно из среды разработки Arduino IDE.

Для перевода ESP8266 в режим программирования нужно нажать кнопку «ESP Reboot».

Режим работы платы задается микропереключателем.

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

  • Микроконтроллер: ATmega2560
  • Рабочее напряжение: 6-12V
  • 56 цифровых входов/выходов (16 из них ШИМ)
  • 16 аналоговых входов
  • 256Кб Flash памяти
  • Частота 16 МГц

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

  • Объем памяти программ 8 МБайт
  • Поддержка WiFi протоколов 802. 11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • Встроенный стек TCP/IP
  • Встроенный TR переключатель, balun, LNA, усилитель мощности и типа сети
  • Встроенный PLL, регуляторы, и система управления питанием
  • Выходная мощность +20.5 дБм в режиме 802.11b
  • Поддержка диверсити антенн
  • Ток утечки в выключенном состоянии до 10 мкА
  • Пробуждение и отправка пакетов за время до 22 мс
  • Потребление в режиме Standby до 1.0 мВт (DTIM3)

Размеры платы: 102х54мм


  • 0
  • 0
  • 0
  • 0
  • 0

Рейтинг

Общая информация и технические характеристики — ESP8266 Магазин

 Что такое ESP8266?

 

ESP8266 — это название печально известного WiFi-модуля, который представляет собой систему на кристалле (SoC), разработанную компанией Espressif Systems, базирующейся в Шанхае. Первоначально использовавшийся с платами Arduino для аппаратных проектов с поддержкой WiFi, он вскоре стал дешевой автономной платой для разработки, совместимой с Arduino. Он может работать полностью автономно, без дополнительного микроконтроллера, такого как, например, плата Arduino.

Домашняя автоматизация и Интернет вещей. В настоящее время подключение устройств к сети является одной из постоянно растущих тенденций. Учитывая его низкую цену, удобную настройку и огромное сообщество, которое вносит свой вклад в библиотеки и проекты с открытым исходным кодом, вы сразу поймете, почему этот чип вызывает такой большой интерес.

Этот MCU (микроконтроллер) может использоваться для управления и мониторинга инженерных систем и продуктов, регистрации данных датчиков и многого другого. Все это делает его идеальным аппаратным обеспечением для проектов домашней автоматизации. Он поставляется во многих формах и формах, среди которых NodeMcu (с новейшим чипом ESP8266-E12) является самой популярной платой для разработки. Изображение: плата для разработки NodeMcu — самый популярный вариант ESP8266.

 

 ESP8266: Технические характеристики

Все варианты ESP8266 имеют базовый процессор ESP8266EX и 32-разрядный микроконтроллер Tensilica L106. Это низкая стоимость, высокая производительность, низкое энергопотребление, простота программирования, беспроводная SoC (System-On-Chip). Он обеспечивает возможности Wi-Fi 2,4 ГГц (802.11 b/g/n, поддержка WPA/WPA2), ввод/вывод общего назначения (13 GPIO), межинтегральную схему (I²C), аналого-цифровое преобразование (10 -bit ADC), последовательный периферийный интерфейс (SPI), интерфейсы I²S с DMA (общие контакты с GPIO), UART (на выделенных контактах, плюс UART только для передачи может быть включен на GPIO2) и широтно-импульсная модуляция (PWM) .

Имеет встроенный программатор и регулятор напряжения, что позволяет прошивать и питать устройство через micro-USB. Система работает от 3,3В.

Вот обзор спецификаций ESP8266 NodeMcu:

  • 32-битный микроконтроллер Tensilica L106 на частоте 80 МГц (или с разгоном до 160 МГц)
  • 32 КБ ОЗУ для инструкций
  • 80 КБ ОЗУ данных пользователя
  • 16 КБ системных данных ETS RAM
  • Флэш-память 4 Мб
  • USB — порт micro USB для питания, программирования и отладки
  • 13 контактов GPIO
  • 802. 11 b/g/n, поддержка WPA/WPA2
  • Режимы STA/AP поддерживают
  • Стек протоколов TCP/IP, Один сокет
  • TCP/UDP сервер и клиент
  • Конфигурация скорости передачи последовательного порта: 1200/2400/4800/9600/19200/38400/57600/74800/115200 бит/с
  • Pin-совместимость с Arduino UNO, Mega
  • Кнопка KEY: конфигурация режимов
  • 32-битный аппаратный таймер
  • Рабочий ток Wi-Fi: непрерывная передача: ≈70 мА (макс. 200 мА), режим глубокого сна: <3 мА
  • Скорость последовательной передачи WiFi: 110-460800 бит/с
  • Температура: -40 ℃ ~ + 125 ℃
  • Влажность: 10–90 % без конденсации
  • Вес: около 20 г (0,7 унции)
  • Широтно-импульсная модуляция (ШИМ)
  • Возможность прерывания
  • Рабочее напряжение 3,3 В, внутренний регулятор напряжения допускает 5 В на входе питания
  • максимальный ток через контакты GPIO: 12 мА (исток), 20 мА (сток)
  • доступная прошивка для Arduino IDE
  • Доступно
  • библиотеки Websocket

Что такое…

Протокол управления передачей (TCP):

Большинство из нас знает, что это значит. Да, это набор правил, по которым работает интернет. Поскольку ESP8266 имеет возможность устанавливать WIFI-соединения. На высоком уровне Wi-Fi — это возможность участвовать в соединениях TCP/IP по беспроводному каналу. Вы можете настроить свой ESP для работы по протоколу TCP/IP или протоколу UDP.

Протокол дейтаграмм пользователя (UDP):

UDP — это еще один тип интернет-протокола. Этот тип связи быстрее, чем TCP, но менее точен. Причина в том, что TCP использует подтверждение во время связи, а UDP — нет. TCP в основном используется в сетях, где требуется высокая надежность. UDP используется в местах, где скорость важнее надежности. Например, UDP используется в видеоконференциях, потому что там даже если некоторые пиксели не будут передаваться, это не сильно повлияет на качество видео, но скорость очень важна.
Большинство проектов и кодов ESP8266 работают с протоколом TCP/IP, меньше всего беспокоит UDP.

Веб-сокет:

Согласно Википедии, веб-сокет — это протокол компьютерной связи, обеспечивающий полнодуплексные каналы связи по одному TCP-соединению. Протокол WebSocket был стандартизирован IETF как RFC 6455 в 2011 году, а API WebSocket в Web IDL стандартизируется W3C.
Другими словами, Websocket — это протокол, основанный на TCP, который обеспечивает связь в реальном времени между сервером и хостом, при этом связь сохраняется после начального рукопожатия. Он имеет небольшие накладные расходы, и для поддержания соединения отправляется мало данных. Он используется, например, в чат-приложениях, чтении потока данных с датчиков или обмене данными в реальном времени.

 

Точка доступа (AP) и станция (STA):

Когда вы начнете работать с модулем ESP, вы будете часто сталкиваться с этими двумя терминами. Допустим, вы и ваш друг хотели бы выходить в Интернет на своих смартфонах, но, поскольку у него нет активного подключения к Интернету, вы решаете включить точку доступа, и ваш друг подключается к ней. Здесь ваш телефон, который подключается к Интернету, является точкой доступа (AP), а телефон вашего друга, который использует Интернет, называется станцией (STA).

Модуль ESP8266 можно использовать в трех режимах: режиме AP, режиме STA или в режиме STA и AP (в сочетании).

 

Начало работы>

NodeMCU ESP8266 Распиновка, характеристики, характеристики и техническое описание

22 апреля 2020 — 0 комментариев

          ESP8266 NodeMCU
          Распиновка NodeMCU ESP8266

      NodeMCU — это прошивка с открытым исходным кодом на основе Lua и 9Плата разработки 0079 , специально предназначенная для приложений на основе IoT. Он включает прошивку, работающую на SoC ESP8266 Wi-Fi от Espressif Systems, и аппаратное обеспечение, основанное на модуле ESP-12.

       

      Конфигурация выводов макетной платы NodeMCU

      Категория контактов

      Имя

      Описание

      Мощность

      Micro-USB, 3. 3В, GND, Вин

      Micro-USB: NodeMCU может питаться через порт USB

       

      3,3 В: На этот контакт можно подать регулируемое напряжение 3,3 В для питания платы

       

      GND: Контакты заземления

       

      Вин: Внешний блок питания

      Штифты управления

      ЕН, РСТ

      Пин и кнопка сброса микроконтроллера

      Аналоговый контакт

      А0

      Используется для измерения аналогового напряжения в диапазоне 0–3,3 В

      Контакты GPIO

      GPIO1 — GPIO16

      NodeMCU имеет на своей плате 16 контактов ввода-вывода общего назначения

      Контакты SPI

      SD1, CMD, SD0, CLK

      NodeMCU имеет четыре контакта для связи по SPI.

      Контакты UART

      TXD0, RXD0, TXD2, RXD2

      NodeMCU имеет два интерфейса UART: UART0 (RXD0 и TXD0) и UART1 (RXD1 и TXD1). UART1 используется для загрузки прошивки/программы.

      Контакты I2C

       

      NodeMCU поддерживает функциональность I2C, но из-за внутренней функциональности этих контактов вам необходимо найти, какой из контактов является I2C.

       

      NodeMCU ESP8266 Технические характеристики и характеристики
      • Микроконтроллер: 32-разрядный RISC-процессор Tensilica Xtensa LX106
      • Рабочее напряжение: 3,3 В
      • Входное напряжение: 7-12 В
      • Контакты цифрового ввода/вывода (DIO): 16
      • Аналоговые входные контакты (АЦП): 1
      • УАПП: 1
      • SPI: 1
      • I2C: 1
      • Флэш-память: 4 МБ
      • SRAM: 64 КБ
      • Тактовая частота: 80 МГц
      • USB-TTL на базе CP2102 включен в комплект поставки, что позволяет использовать Plug n Play
      • Антенна для печатной платы
      • Небольшой модуль для удобного размещения в ваших проектах Интернета вещей

       

      Примечание: Полную техническую информацию можно найти в NodeMCU ESP8266 Datasheet, ссылка находится внизу этой страницы.

      Другие платы Espressif

      ESP8266, ESP12E, ESP32

      Другие платы разработки

      Arduino, Raspberry Pi, PIC Development Board, AVR Development Poard, MSP430 Launchpad, Int.  

      Кратко о NodeMCU ESP8266

      Плата разработки NodeMCU ESP8266 поставляется с модулем ESP-12E, содержащим чип ESP8266 с 32-разрядным микропроцессором Tensilica Xtensa LX106 RISC. Этот микропроцессор поддерживает RTOS и работает с регулируемой тактовой частотой от 80 до 160 МГц. NodeMCU имеет 128 КБ ОЗУ и 4 МБ флэш-памяти для хранения данных и программ. Его высокая вычислительная мощность со встроенными функциями Wi-Fi/Bluetooth и Deep Sleep Operating делает его идеальным для проектов IoT.

      NodeMCU может питаться от разъема Micro USB и контакта VIN (контакт внешнего питания). Он поддерживает интерфейс UART, SPI и I2C.

       

       

      Программирование NodeMCU ESP8266 с помощью Arduino IDE

      Отладочную плату NodeMCU можно легко запрограммировать с помощью Arduino IDE, поскольку она проста в использовании.

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *