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

Esp8266 datasheet на русском – ESP8266 datasheet — технические аспекты микроконтроллера

Содержание

Что внутри «народного wi-fi»? / COOLRF corporate blog / Habr

Наша первая статья о Wi-Fi-чипе ESP8266 была тепло встречена хабра-сообществом. Не смотря на то, что содержала мало конкретной информации. Тому была веская причина — NDA, подписанное нами для получения SDK от производителя решения, компании Espressif. Именно поэтому мы просто рассказали, «вот, есть такое решение». Чтобы заинтересованные имели возможность обратить внимание.

На днях мы (проект COOLRF, не забудьте подписаться на наше ВКонтакт-сообщество, если вы еще не состоите в нём) получили разрешение производителя чипа на публикацию в наших статьях информации, ранее попадавшей под условия соглашения о неразглашении. Всех, кого интересовали подробности — welcome под кат.

Типовые сценарии использования

ESP8266 создан для использования в умных розетках, mesh-сетях, IP-камерах, беспроводных сенсорах, носимой электронике и так далее. Одним словом, ESP8266 появился на свет, чтобы стать мозгом грядущего «Интернета вещей».

Предусмотрено два варианта использования чипа: 1) в виде моста UART-WIFI, когда модуль на базе ESP8266 подключается к существующему решению на базе любого другого микроконтроллера и управляется AT-командами, обеспечивая связь решения с инфраструктурой Wi-Fi; 2) реализуя новое решение, использующее сам чип ESP8266 в качестве управляющего микроконтроллера.

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

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

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

Ключевые характеристики

Чип ESP8266 является одним из самых высокоинтегрированных решений для работы с WiFi. Внутри чипа уместилась куча всего того, что в конкурирующих решениях часто является частью внешней обвязки:

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

Управляет всем этим интегрированным хозяйством расширенная версия 32-битного процессора Tensilica’s L106 Diamond series. Что же интересного внутри?

  • 802.11 b/g/n protocol
  • Wi-Fi Direct (P2P), soft-AP
  • Integrated TCP/IP protocol stack
  • Integrated TR switch, balun, LNA, power amplifier and matching network
  • Integrated PLL, regulators, and power management units
  • +20.5dBm output power in 802.11b mode
  • Supports antenna diversity
  • Power down leakage current of < 10uA
  • SDIO 2.0, SPI, UART
  • STBC, 1x1 MIMO, 2x1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4μs guard interval
  • Wake up and transmit packets in < 22ms
  • Standby power consumption of < 1.0mW (DTIM3)
Ultra Low Power Technology

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

Секрет прост — сложно создать устройство, подключенное к WiFi, достаточное время работающее на автономном питании. Потребители не готовы менять батареи в датчиках каждые два-три месяца. Поэтому «выход в сеть» приходилось обеспечивать мостами, подключенным к постоянному электричеству. ESP8266 должен решить эту проблему. Теперь Wi-Fi можно использовать даже в автономных датчиках, работающих на небольших батареях. Благодаря использованию продвинутых механизмов управления энергопотреблением решения.

Если бегло посмотреть на характеристики потребления чипа, можно остаться в неведении. 215mA в режиме передачи — ничего особенного? Да, но стоит вчитаться в даташит и начинаешь понимать перспективы решения. ESP8266 потребляет около 60uA в режиме глубокого сна (с работающими часами реального времени) и

меньше 1.0mA (DTIM=3) или меньше 0.5mA (DTIM=10) в режиме поддержания связи с точкой доступа Wi-Fi.

Что дальше?

Сегодня мы разместили в нашей группе ВКонтакте оригинальный даташит самой свежей версии. В нем есть полные характеристики решения и примерами схематических решений. Смотрите раздел «Документы» (справа, внизу). Скоро там же появится документы с описаниями AT-протокола моста UART-WIFI и фирменного API программирования чипа. Следите за нашей деятельностью, будущее обещает быть интересным.

habr.com

Загрузить файлы документации, datasheet, прошивки, утилиты – esp8266

April-2015
2B-ESP8266 SDK IOT Demo EN511.4 KB4974
4B-ESP8266 AT Command Examples EN783.4 KB4238
2C-ESP8266 SDK Programming Guide EN877.9 KB4292
2A-ESP8266 IOT SDK User Manual EN683.0 KB2819
20A-ESP8266 RTOS SDK Programming Guide CN780.0 KB1702
99A-ESP8266 Flash RW Operation EN439.2 KB2135
4A-ESP8266 AT Instrction Set EN901.5 KB2596
99C-ESP8266 OTA Upgrade EN817.2 KB1949
8F-ESP8266 Interface UART Registers36.9 KB2184
8B-ESP8266 Interface GPIO Registers v0.132.3 KB2269
0A-ESP8266 WiFi Specifications EN794.3 KB2185
0B-ESP8266 Hardware User Guide EN1.8 MB3770
0C-ESP8266 WROOM WiFi Module Datasheet EN762.4 KB1981
0D-ESP8266 Pin List64.8 KB2585
esp8266 SDK
AT Demo V0.19 30.10.201428.7 KB2136
ESP IoT SDK V0.9.2 24.20141.1 MB1790
Patch для SDK 9.2 18.11.201491.7 KB892
ESP IoT SDK V0.9.3 21.11.2014
1.1 MB1397
ESP IoT SDK V0.9.3 Patch2 21.11.201458.5 KB958
AT v0.20 28.11.20145.4 MB1952
ESP IoT SDK V0.9.4 19.12.20141.1 MB1853
ESP IoT SDK V0.9.5 23.01.20157.2 MB3509
Патч для SDK 0.9.5 Patch233.8 KB2015
ESP IoT SDK V1.0.0 AT v0.22 20.03.20158.7 MB5968
ESP IoT SDK V1.0.1 AT v0.23 24.04.2015 8.9 MB4265
ESP IoT SDK V1.1.0 AT v0.24 22.05.2015 10.0 MB2775
AT v0.25 SDK 1.1.2 512k520.2 KB3233
Esp Iot Sdk V1.3.0 15 08 0812.6 MB1264
esp8266 Документация
ESP8266 UART Reg Release 18.11.201436.9 KB2955
ESP8266 AT Instruction Set v0.20 28.11.2014852.4 KB3315
ESP8266 AT Command Examples v0.3 28.11.2014720.6 KB4894
Xtensa Instruction Set Architecture (ISA) Reference Manual4.8 MB2956
Tensilica RC-2010.1 Documentation93.2 MB3047
ESP8266 Datasheet - IoT SDK Programming Guide V0.9.5 - 23.01.2015 English1.9 MB5351
ESP8266 AT Instruction Set v0.21 23.01.2015965.2 KB7154
ESP8266 Espressif IoT SDK Programming Guide V0.9.5 Revised 09.02.20151.9 MB3012
ESP8266 AT Instruction Set v0.22 14.03.20151.1 MB3090
SP8266 AT Command Examples v0.4 20.03.2015773.0 KB7017
ESP8266 Datasheet - IoT SDK Programming Guide V1.0.0 - 20.03.2015 English2.1 MB3524
ESP8266 SDK API Guide v1.0.0 20.03.2015776.9 KB4260
ESP8266 AT Instruction Set v0.22 20.03.2015 v0.2560.4 KB7456
ESP8266 AT Instruction Set v0.23 24.04.2015901.5 KB2111
Описание esp_init_data_default - ESP8266_RF_Init.xls49.2 KB2902
Getting Started With The ESPlorer IDE - Rui Santos
1.1 MB
120917
4A-ESP8266 AT Instruction Set EN v0.40876.4 KB2577
4A-ESP8266 AT Instruction Set EN v0.25924.6 KB2198
ESP8266 Datasheet - Specifications V4.1 - 08.09.2014 English1.9 MB10505
ESP8266 Datasheet - Beginners Guide V0.4.1 - 17.09.2014 English2.7 MB6531
ESP8266 Datasheet - AT Instruction Set V0.15 - 04.09.2014 English224.3 KB3373
ESP8266 Datasheet - AT Command Examples V0.1 04.09.2014 English207.9 KB3076
ESP8266 Datasheet - IoT SDK Demo (Light/Plug/Sensor) V0.5 - 24.09.2014 English587.3 KB1886
ESP8266 Datasheet - IoT SDK User Manual V0.8 14.08.2014 English1.4 MB2108
ESP8266 Datasheet - IoT SDK Programming Guide V0.9.1 - 23.09.2014 English1.2 MB266701
ESP8266 Datasheet - IoT SDK Json Naming Guidelines V0.1 - 19.06.2014 English454.9 KB1213
ESP8266 Datasheet - Module Application Design Guide - 20.08.2014 English1.3 MB5587
ESP8266 Datasheet - IoT APK User Guide (Humidityte and Temperature sensors) - 23.09.2014 English4.7 MB1853
ESP8266 Datasheet - IOT Flash Read-Write Guide V0.2 - 15.09.2014 Chinese617.4 KB1176
ESP8266 Datasheet - FAQ V0.2 - 23.09.2014 Chinese889.0 KB1036
ESP8266 PCB Fabrication Requirements36.9 KB1276
ESP8266 PCB Fabrication Requirements Ver. B36.9 KB1438
ESP8266 GPIO Register 05.11.2014.XLS32.3 KB14609
ESP8266 Pin List 05.11.2014.XLSX66.1 KB4730
esp8266 Прошивки
ESP8266 Прошивка v0.9.2231.5 KB6149
ESP8266 electrodragon v0.9.2.5 (изменяется baudrate, установка IP адреса)133.7 KB7550
ESP8266 Прошивка v0.9.2.2135.3 KB9183
ESP8266 Cloud Update With XRST XIPR NetIO138.7 KB2241
NodeMcu latest. A lua based firmware for wifi-soc esp8266242.5 KB10382
Frankenstein ESP8266 Firmware Powered by Antares341.3 KB3766
AT 9.2 Cloud UPGRADE269.0 KB1754
ESP8266 Прошивка AT v0.20 SDK v0.9.3 02.12.2014520.2 KB4107
ESP8266 Прошивка AT v0.20 SDK v0.9.3 28.11.2014520.2 KB3365
AT v0.20 SDK 0.9.4 26.12.2014520.2 KB3185
AT v0.21 SDK 0.9.5 24.01.2015520.2 KB19693
AT v0.22 SDK 0.9.6b1 15.02.2015520.2 KB2509
AT v0.22 SDK 1.0.0 20.03.2015 загрузчик v1.2520.2 KB14914
AT v0.22 SDK 1.0.0 20.03.2015 загрузчик v1.3b520.2 KB5314
AT v0.23 SDK 1.0.1 No Cloud Update 512k520.2 KB2717
AT v0.23 SDK 1.0.1 flash 512k524.3 KB6720
ESP IoT SDK V1.1.2 AT v0.25 12.06.201511.7 MB5685
esp8266 Разное
Библиотека Eagle Cad ESP8266 ESP-038.5 KB2135
Fritzing ESP8266 WiFi Module16.1 KB3149
esp8266 Утилиты
ESP8266 Flasher8.8 MB14537
XTCOM UTIL42.5 KB32222
ESP8266 Config utility187.9 KB19040
esptool - платформонезависимый open-source загрузчик на Python13.6 KB5797
ESP Flash Download Tools v0.87.5 MB6837
FLASH DOWNLOAD TOOLS V0.9.3.1 18.11.20146.4 MB13186
luatool latest6.1 KB2869
Flash Download Tool python2.6 Wxpython2.8 Release V0.9.3.1 18.11.2014509.6 KB2028
IDA Plugin Xtensa v0.25.0 KB1663
FLASH DOWNLOAD TOOLS V0.9.6 19.04.20157.5 MB7937

esp8266.ru

esp8266 – Сообщество разработчиков

Краткая пошаговая инструкция в форме презентации по созданию за один вечер собственного мобильного приложения дополненной реальности (AR — Augmented Reality), взаимодействующее с ESP8266 или другими вашими DIY устройствами. Открытый и простой исходный код — 8 килобайт JavaScript и всего 45 строк кода в Arduino IDE для ESP8266. Попробуйте пример на GooglePlay. Все ссылки на используемые инструменты и библиотеки на последней странице презентации.

Загрузите специальный графический маркер и откройте его на полный экран монитора или распечатайте на обычном принтере, затем запустите приложение и наведите камеру на изображение маркера. Приложение распознает маркер и отобразит кнопку, которую можно нажать. Действие по нажатию кнопки задается в исходном коде приложения, но в качестве примера предоставляется код для включения/выключения светодиода на ESP8266.

4refr0nt

Запись опубликована автором victor в рубрике ESP8266 для начинающих, Все о ESP8266 с метками arduino esp8266, Augmented Reality, esp8266.

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

Читать далее →

Запись опубликована автором victor в рубрике ESP8266 для начинающих, ESP8266 и Arduino IDE с метками esp8266, ws2812, ws2812b.

Это пошаговое руководство с большим количеством скриншотов рассчитано, в первую очередь на тех, кто только начинает знакомится с электроникой, либо не использовал EasyEDA ранее, однако, надеюсь, что и профи смогут почерпнуть что-то полезное. Все скриншоты уменьшены для удобства чтения статьи с мобильных устройств, но кликабельны для отображения в бОльшем размере. Это не перевод оригинального туториала, а лишь скромная попытка автора поделиться своими собственными первыми шагами в освоении EasyEDA. Читать далее →

Запись опубликована автором victor в рубрике ESP8266 для начинающих с метками EasyEDA, esp8266.

Недавно Espressif анонсировала новый чип ESP32, который позволяет использовать Wi-Fi и Bluetooth через SPI/SDIO или I²C/UART интерфейсы. Чип готов к работе и автономно с помощью встроенного ПО и под управлением внешнего контроллера.

ESP32 разработан специально для мобильной электроники, интернета вещей, поэтому особое внимание уделено энергопотреблению.

Espressif ESP32

Отличительные особенности

  • поддержка Bluetooth и Wi-Fi
  • увеличенная скорость Wi-Fi: 802.11 b/g/n до 150 Мбит/с
  • Мощный процессор: двухъядерный Xtensa LX6 около 400DMIPS, до 600DMIPS при напряжении ядра 1.2 В
  • Большое число поддерживаемых интерфейсов: 4х SPI, 32х GPIO, 2х UART, 16 каналов ADC, 2 канала DAC, сенсорный датчик и датчик температуры
  • 2 системных сторожевых таймера (Watchdog) и часы реального времени
  • Широкий диапазон рабочих температур: -40°C…+125°C.

Чтобы получить образцы чипа для тестирования, пожалуйста, отправьте нам заявку на [email protected] или позвоните по телефону 8 800 555 7576 (звонок по России бесплатный), В Украине, Запорожье: Тел./факс: +380 (61) 213-41-77, [email protected]

компания «ЕвроМобайл», www.euromobile.ru

Запись опубликована автором victor в рубрике ESP32, Новости с метками esp32.

Сервис RemoteXY позволяет создавать графические интерфейсы для управления микроконтроллерными устройствами с мобильного приложения. Что бы создать интерфейс, необходимо его сконструировать в редакторе на сайте remotexy.com, затем автоматически будет сгенерирован исходный код программы для микроконтроллера, реализующей интерфейс. Исходный код формируется для Arduino IDE и представляет собой рабочую заготовку, которую можно легко доработать, добавив необходимый функционал под вашу задачу. Для подключения к контроллеру устанавливаем мобильное приложение RemoteXY на смартфон/планшет. Вся прелесть в том, что код графического интерфейса хранится в микроконтроллере. Подключаясь к контроллеру с мобильного приложения, в первую очередь прочитывается интерфейс, затем запускается обмен данными между контроллером и мобильным приложением. Вы можете контролировать множество разных устройств используя одно мобильное приложение. Читать далее →

Запись опубликована автором victor в рубрике ESP8266 для начинающих с метками Android, Ardiono IDE, arduino esp8266.

esp8266.ru

Распиновка 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 вы найдете в таблице ниже. Также Вас может заинтересовать распиновка чипа 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 антенной, без антенны. Также на разных модулях выведено разное количество 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) самый популярный модуль. 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. Отличается только размером 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.ru

Микроконтроллер ESP8266: область применения и подключение

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

Главное преимущество контроллера неизменно, как и у всей продукции данного производителя – низкая цена. Стандартная плата под Bluetooth-адаптер от других компаний обойдётся вам в среднем в 2-3 раза дороже, а здесь вы получаете микроконтроллер с функционалом для работы в двух режимах.

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

Что такое микроконтроллер ESP8266

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

Выбирайте UART или SPI, если хотите сделать оборудование полностью автономным. Именно все эти достоинства дали чипу прозвище «революционный» при его выходе, и если вы занимаетесь проектированием систем и робототехникой на основе Ардуино или РПИ, то вам определённо стоит купить ESP8266 и протестировать его в своих проектах. Небольшое время отклика, скоростные интерфейсы и возможность использования одновременно нескольких протоколов в многоканальном режиме говорят сами за себя.

Уже сейчас микроконтроллер можно найти во множестве полупрофессиональной технике, так как своим более дорогостоящим конкурентам ему всё же нечего противопоставить. Однако, если вы не обладаете бюджетом в десятки тысяч долларов, то вам вряд ли потребуется что-то лучше. Уже сейчас на плату существуют десятки кастомных прошивок от пользователей по всему миру, ведь заливать их в контроллер можно за считанные секунды, без необходимости докупать вспомогательные переходники и адаптеры. Сейчас микроконтроллер применяется в двух ипостасях:

  1. Вместе с другими микроконтроллерами, под которые отдельно пишется ПО на ардуино;
  2. С прямым подключением к ПК и дальнейшим контролем через модуль UART.

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

Тот же USB-TTL-конвертер, что и на большей части оборудования для ПК, вкупе с возможностью подключения через дополнительные контроллеры и платы от Ардуино делает девайс полностью универсальным.

Распиновка ESP8266 ESP-12E

Область применения ESP8266

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

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

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

По своей сути, устройство имеет обширную область применения, от возможности собрать простейший wi-fi-модем и до сложных систем, на подобии умного дома. Ведь девайс сам способен распространять пойманную сеть, становясь точкой доступа, что также позволяет применять его в качестве усилителя сигнала и одновременно с тем, фильтра соединения. Однако скорость пока оставляет желать лучшего, но всегда можно приобрести усилитель.

ESP-07 ESP8266 последовательный модуль беспроводного приемопередатчика Wi-Fi для Arduino

Программирование отладка и подключение

Подключить модуль можно с помощью обычной макетной платы и проводов типа «мать-отец», подходящих к выбранной вами плате. По желанию можете использовать кабеля USB-TTL и прочие, подходящие к описанным выше протоколам соединения с ПК, и конвертер от PL2303 и до FTDI.

Просто вставляете обратный конец кабеля в порт компьютера и чип сразу должен отобразиться, далее достаточно скачать любую утилиту, подходящую для написания Ардуин-скриптов или воспользоваться уже имеющейся. Записанный скрипт или скачанную прошивку подгружаете, как к обычной Ардуино, и всё готово.

Используя конвертеры в 5 вольт, требуется докупать дополнительные стабилизаторы на основе чипов 1117. Под эти запросы подходят обычные зарядки из-под смартфонов в 5 вольт и 0.5 ампер, которые вы можете перепаять по своим запросам или приобрести целую кучу, при необходимости, на AliExpress.

Однако, тот же кабель от Ардуино и ЮСБ-ТТЛ не стоит использовать, как основной источник питания микроконтроллера, иначе придётся повозится с кучей ошибок системы и багов. Проще сразу применять отдельные кабели для питания и расширенный набор.

Вывод

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

Вы можете приобрести и более мощные программируемые передатчики или микроконтроллеры, но в своём ценовом сегменте у ESP8266 нет конкурентов. Да и такой базовой мощности хватит большинству новичков и мидл-разработчиков.

arduinoplus.ru

ESP8266 - дешевый WFi модуль к "умному дому"

Миниатюрные WiFi модули ESP8266 довольно привлекательны для систем умного дома и домашней автоматизации. Их еще называют «убийцами NRF24L01».
Я себе заказал продвинутые модификации ESP07 и ESP12, которые отличаются меньшими размерами и большим числом выведенных GPIO, что не требует «хаков» для использования в них дополнительных портов ввода/вывода.

Данный модули разработаны китайской компанией Espressif System

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

  • WI-FI: 802.11 b/g/n с WEP, WPA, WPA2.
  • Режимы работы: Клиент (STA), Точка доступа (AP), Клиент+Точка доступа (STA+AP).
  • Напряжение питания 1.7..3.6 В.
  • Потребляемый ток: до 215мА в зависимости от режима работы.
  • Количество GPIO: 16.
  • Flash память размером 512кб.
  • RAM данных 80 кб
  • RAM инструкций — 32 кб.

 Прикупить ESP8266 ES07 с платками по $2.18 сейчас можно на АЛИ

Про модификации модулей ESP8266 можно прочитать здесь

ESP07 (слева) отличается от ESP12 (справа) интегрированной керамической антенной и гнездом под внешнюю антенну

 

По распиновке контактов модули абсолютно идентичны

Размеры модуля очень маленькие

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

Далее нужно посадить GPIO15 на землю, а CH_PD и GPIO0 подтянуть к VCC через резистор. В некоторых источниках еще указывается, что нужно подтянуть к VCC и GPIO2, но у меня все заработало и без этого.

RXD, TXD и GND подсоединяются через переходник USB/UART к компьютеру.

В результате собрал на макетке такую схему

Здесь сразу столкнулся со следующей сложностью — шаг дырочек у ESP07 — 2мм, а не 2.5 как у штырьковых разъемов, применяемых в Ардуино и прочих местах. Пришлось к макетке паять на проволочках

Получилась такая платка

Сразу забегая вперед, скажу, что в дальнейшем для этих модулей прикупил платок-адаптеров.

 

После сборки запустил программу CollTerm и на скорости 9600 получил приглашение модуля.
Команда AT+GMR выдала 0020000904 (Версия SDK — 0020, в версия AT — 0903)

Далее побаловавшись с AT командами запустил модуль как точку доступа и подключился к своей.

Далее интересно было попробовать модуль в режиме самостоятельного контроля. Для этого решил прошить его NodeMCU со встроенным интерпретатором LUA.
Я загрузил ModeMCU с GITHUB вместе с примерами и модулями на LUA

Прошивку делал утилитой XTCOM_UTIL. Так как данная программа работает только с COM1-COM6, пришлось в диспетчере устройств изменить свой COM33 от USB/UART конвертера на COM6.

Далее прошивка не представляет труда: открываем порт и коннектимся. Скорость выбирается автоматически. Главное, не забыть посадить GPIO0 на землю (у меня для этого есть специальная перемычка). Скорость выбирается автоматически. Иногда коннект не устанавливался. Помогало нажатие кнопки RESET во время коннекта.

 

Теперь можно подключиться к модулю при помощи ESPlorer
В данной программе можно загружать в ESP файлы для интерпретатора LUA, выполнять как одиночные команды так и скрипты этого интерпретатора.

У меня получилось запустить модуль давления/температуры BMP180, подключенный к GPIO2 и GPIO0

Для этого я загрузил файл bmp180.lua из готовых модулей, идущих вместе с прошивкой с GITHUB
И затем файл init.lau, выполняемый при загрузке ESP8266


tmr.alarm(1, 5000, 1, function()
print('ip: ',wifi.sta.getip())
bmp180 = require("bmp180")
bmp180.init(4, 3)
tmr.stop(1) -- alarm stop
end)

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

<span> bmp180</span><span>.</span><span>read</span><span>(</span><span>OSS</span><span>)</span><span> t </span><span>=</span><span> bmp180</span><span>.</span><span>getTemperature</span><span>()</span><span> p </span><span>=</span><span> bmp180</span><span>.</span><span>getPressure</span><span>()</span> <span>--</span><span> temperature </span><span>in</span><span> degrees </span><span>Celsius</span><span>  </span><span>and</span> <span>Farenheit</span> <span>print</span><span>(</span><span>"Temperature: "</span><span>..(</span><span>t</span><span>/</span><span>10</span><span>).</span><span>.</span><span>"  C"</span><span>)</span> <span>--</span><span> pressure </span><span>in</span><span> differents units </span><span>print</span><span>(</span><span>"Pressure: "</span><span>..(</span><span>p </span><span>*</span> <span>75</span> <span>/</span> <span>10000</span><span>).</span><span>.</span><span>" mmHg"</span><span>)</span>

<span>

bmp180</span><span>.</span><span>read</span><span>(</span><span>OSS</span><span>)</span><span>

t </span><span>=</span><span> bmp180</span><span>.</span><span>getTemperature</span><span>()</span><span>

p </span><span>=</span><span> bmp180</span><span>.</span><span>getPressure</span><span>()</span>

 

<span>--</span><span> temperature </span><span>in</span><span> degrees </span><span>Celsius</span><span>  </span><span>and</span> <span>Farenheit</span>

<span>print</span><span>(</span><span>"Temperature: "</span><span>..(</span><span>t</span><span>/</span><span>10</span><span>).</span><span>.</span><span>"  C"</span><span>)</span>

<span>--</span><span> pressure </span><span>in</span><span> differents units

</span><span>print</span><span>(</span><span>"Pressure: "</span><span>..(</span><span>p </span><span>*</span> <span>75</span> <span>/</span> <span>10000</span><span>).</span><span>.</span><span>" mmHg"</span><span>)</span>

<span> Выдавал в консоль текущее давление и температуру. </span>

<span>

 

Выдавал в консоль текущее давление и температуру.

</span>

А вот запустить выдачу данных параметров в режиме веб-сервера мне не удалось. Все дело в нехватки памяти. Отдельно веб сервер и BMP180 работали, а вместе вываливались в

<span> PANIC</span><span>:</span><span> unprotected error </span><span>in</span><span> call to </span><span>Lua</span><span> API </span><span>(</span><span>error loading </span><span>module</span> <span>'bmp180'</span> <span>from</span><span> file </span><span>'bmp180.lua'</span><span>:</span> <span>not</span><span> enough memory</span><span>)</span>

<span>

PANIC</span><span>:</span><span> unprotected error </span><span>in</span><span> call to </span><span>Lua</span><span> API </span><span>(</span><span>error loading </span><span>module</span> <span>'bmp180'</span> <span>from</span><span> file </span><span>'bmp180.lua'</span><span>:</span> <span>not</span><span> enough memory</span><span>)</span>

 

Или просто на консоль валились обрывки кода LUA.

Модернизировать свою домашнюю метеостанцию с ходу не получилось.

Дальнейший мой путь был, собирать свою прошивку на фирменном SDK, как написано в этой статье . Но это уже другая история. Скажу только, что прошивки собираются без проблем, а вот запустить злополучный BMP180 так и не удалось.

Выводы

  • Модули ESP8266 — это очень дешевое решения для построение сети умного дома и прочей домашней автоматизации с использованием WiFi
  • Данные модули вполне годятся для замены NRF24L01+ в связке с Arduino и прочими «народными» контроллерами.
  • Для работы в качестве самостоятельного контроллера ESP8266 имеет маловато ресурсов и довольно сырые прошивки
  • Программирование ESP-модулей довольно трудоемкий процесс, который может отпугнуть новичков
  • В целом ESP8266 имеют большие перспективы. Буду ждать развитие прошивок и средств разработки, а пока, буду применять их в связке с другими контроллерами (кроме проектов с WiFi розетками и выключателями )))

Полезные ссылки и литература

Кот попался, пока возился с макрофотографиями

 

со своего сайта.

samopal.pro

Arduino IDE для ESP8266 – esp8266

Arduino IDE для ESP8266 позволяет писать скетчи и загружать их одним кликом в ESP8266 в знакомой среде (я бы даже сказал «до боли знакомой») Arduino IDE. Для тех кому интерфейс Arduino IDE не очень по душе, есть поддержка плагина для Eclipse. Итак, обо всем по порядку. Самые нетерпеливые могут сразу перейти к Arduino IDE для ESP8266: быстрый старт

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

Arduino IDE для ESP8266 поддерживает все существующие на сегодняшний день модули ESP8266 (потому что они особо и не отличаются), включая модули с флеш бОльшего, чем 512k объема. Поддерживаются модули NodeMCU (всех версий), Olimex-MOD-WiFi-ESP8266.

Поддерживается режим авторестарта и прошивки по RTS+DTR, как у обычной Arduino, для этого потребуется USB-TTL адаптер с разведенными пинами DTR и RTS. Если у вас только RX, TX и GND на USB-TTL, то придется по-старинке вручную притягивать к земле GPIO0 и передергивать питание модуля для прошивки.

Arduino IDE для ESP8266: краткий обзор реализованных в настоящее время функций

Базовые функции языка Wiring

Управление GPIO осуществляется точно также, как и управление pin для arduino: pinMode, digitalRead, digitalWrite,   analogWrite функционируют как обычно. GPIO нумеруются так, как мы уже привыкли: для чтения состояния GPIO2 нужно использовать команду digitalRead(2)

GPIO0-GPIO15 могут быть INPUT, OUTPUT, INPUT_PULLUP, и INPUT_PULLDOWN. GPIO16 может быть только INPUT, OUTPUT или INPUT_PULLDOWN. Команда analogRead(A0) считывает значение ADC (АЦП) с TOUT.

Команда analogWrite(pin, value) включает программный PWM (ШИМ) на указанном GPIO. Команда analogWrite(pin, 0) отключает PWM. value может быть в диапазоне от 0 до PWMRANGE. Константа PWMRANGE в настоящее время равна 1023.

Поддержка прерываний обеспечивается функциями attachInterrupt, detachInterrupt. Прерывания могут быть назначены на любой GPIO, кроме GPIO16. Стандартные прерывания Arduino CHANGE, RISING, FALLING тоже поддерживаются.

ESP8266 — функции пинов

Тайминг и delay

Функции millis и micros возвращают миллисекунды и микросекунды соответственно, прошедшие с момента старта модуля. Любимая многими функция delay также присутствует и приостанавливает выполнение скетча на указанное время в миллисекундах и позволяет отработать операциям WiFi и TCP/IP. Функция delayMicroseconds используется аналогично, только время задается в микросекундах.

Помните о том, что когда модуль поддерживает WiFi соединение, ему приходится выполнять множество фоновых задач, кроме вашего скетча. WiFi и TCP/IP функции библиотек SDK имеют возможность обработать все события в очереди после завершения каждого цикла вашей функции loop() или во время выполнения delay(...). Если в вашем коде есть фрагменты, которые выполняются более 50 миллисекунд, то необходимо использовать  delay(...) для сохранения нормальной работоспособности стека WiFi.

Также вы можете использовать функцию yield(), которая эквивалентна delay(0). С другой стороны, функция delayMicroseconds блокирует выполнение других задач, поэтому ее использование для временных задержек свыше 20 миллисекунд не рекомендуется.

Последовательные порты Serial и Serial1 (UART0 и UART1)

Объект Serial работает точно также, как и с Arduino. Помимо аппаратного FIFO (по 128 байт для приема и передачи) определен и программный буфер размером по 256 байт для приема и передачи данных. Прием и передача данных происходит по прерываниям, прозрачно для вашего скетча. Функции записи и чтения блокируют выполнение скетча только когда аппаратный FIFO и программный буфер переполняются.

Serial использует аппаратный UART0, работающий на GPIO1(TX) и GPIO3(RX). Эти пины могут быть переназначены на GPIO15 (TX) и GPIO13 (RX) вызовом функции Serial.swap(); после Serial.begin();. Повторный вызов Serial.swap(); вернет все на свои места.

Serial1 использует аппаратный UART1, работающий только на передачу. UART1 TX это GPIO2. Для включения Serial1 используйте Serial1.begin();

По умолчанию, отладочная информация библиотек WiFi выключается, когда вы вызываете функцию Serial.begin();. Для включения отладочной информации на UART0 используйте Serial.setDebugOutput(true); Для перенаправления вывода отладочной информации на UART1 используйте команду Serial1.setDebugOutput(true);

И Serial и Serial1 поддерживают 5, 6, 7, 8 бит данных, odd (O), even (E), и no (N) режимы четности, и 1 или 2 стоп бита. Для выбора нужного режима вызывайте Serial.begin(baudrate, SERIAL_8N1); или Serial.begin(baudrate, SERIAL_6E2); и т.д.

PROGMEM

Макрос PROGMEM работает точно также, как в Arduino, помещая read only данные и строковые константы (литералы) во флеш память, высвобождая HEAP. Важное отличие состоит в том, что в ESP8266 одинаковые литералы не хранятся в одном месте, поэтому использование строковых констант внутри конструкций F("") и/или PSTR("") приводит к расходованию флеш памяти при каждом вызове этих функций. Вы должны самостоятельно управлять одинаковыми строками для экономичного расходования места во флеш памяти.

Библиотека WiFi ESP8266 (ESP8266WiFi)

Функции библиотеки WiFi ESP8266 очень схожи с функциями библиотеки для обычного WiFi шилда.

Список отличий:

  • WiFi.mode(m): выбрать режим WIFI_AP (точка доступа), WIFI_STA (клиент), или WIFI_AP_STA (оба режима одновременно).
  • WiFi.softAP(ssid) создает открытую точку доступа
  • WiFi.softAP(ssid, password) создает точку доступа с WPA2-PSK шифрованием, пароль должен быть не менее 8 символов
  • WiFi.macAddress(mac) позволяет получить MAC адрес в режиме клиента
  • WiFi.softAPmacAddress(mac) позволяет получить MAC адрес в режиме точки доступа
  • WiFi.localIP() позволяет получить IP адрес в режиме клиента
  • WiFi.softAPIP() позволяет получить IP адрес в режиме точки доступа
  • WiFi.RSSI() пока не реализована
  • WiFi.printDiag(Serial); выводит диагностическую информацию
  • Класс WiFiUDP поддерживает прием и передачу multicast пакетов в режиме клиента. Для передачи multicast пакета используйте вместо udp.beginPacket(addr, port) функцию udp.beginPacketMulticast(addr, port, WiFi.localIP()). Когда вы ожидаете multicast пакеты, используйте вместо udp.begin(port) функцию udp.beginMulticast(WiFi.localIP(), multicast_ip_addr, port). Вы можете использовать udp.destinationIP() для определения того, был ли пакет отправлен на multicast адрес или предназначался именно вам. Multicast функции не поддерживаются в режиме точки доступа.

WiFiServer, WiFiClient, и WiFiUDP работаю точно так же, как и с библиотекой обычного WiFi шилда. Четыре примера идет в комплекте с этой библиотекой.

Тикер

Библиотека Ticker может быть использована для выполнения периодически повторяющихся событий через определенное время. Два примера включено в поставку.

В настоящее время не рекомендуется блокировать операции ввода-вывода (сеть, последовательный порт, файловые операции) в callback функциях тикера. Вместо блокирования устанавливайте флаг в callback функциях и проверяйте этот флаг в основном цикле.

EEPROM

Эта библиотека немного отличается от стандартной Arduino EEPROM. Необходимо вызвать функцию EEPROM.begin(size) каждый раз перед началом чтения или записи, размер (указывается в байтах) соответствует размеру данных, которые вы намереваетесь использовать в EEPROM. Размер данных должен быть в диапазоне от 4 до 4096 байт.

Функция EEPROM.write не производит запись данных во флеш память немедленно, вы должны использовать функцию EEPROM.commit() каждый раз, когда вы хотите сохранить данные в память. Функция EEPROM.end() тоже производит запись данных, а также освобождает оперативную память от данных, запись которых произведена. Библиотека EEPROM использует один сектор во флеш памяти, начиная с адреса 0x7b000 для хранения данных. В поставку включено три примера работы с EEPROM.

I2C (Библиотека Wire)

Реализован только режим ведущего, частота ориентировочно до 450 кГц. Перед использованием шины I2C, нужно выбрать пины SDA и SCL путем вызова функции Wire.pins(int sda, int scl), например Wire.pins(0, 2) для модуля ESP-01. Для других модулей пины по умолчанию 4(SDA) и 5(SCL).

SPI

Библиотека SPI поддерживает весь Arduino SPI API, включая транзакции, в том числе фазу синхронизации (CPHA). Clock polarity (CPOL) пока не поддерживается (SPI_MODE2 и SPI_MODE3 не работают).

ESP8266 API

Поддержка функций, специфичных для ESP8266 (режим глубокого сна и сторожевой таймер), реализована в объекте ESP. Функция ESP.deepSleep(microseconds, mode) переводит модуль в режим глубокого сна. Параметр mode может принимать значения: WAKE_DEFAULT, WAKE_RFCAL, WAKE_NO_RFCAL, WAKE_RF_DISABLED. GPIO16 должен быть соединен с RESET для выхода из режима глубокого сна.

Функции ESP.wdtEnable(), ESP.wdtDisable(), и ESP.wdtFeed() управляют сторожевым таймером.

ESP.reset() перезагружает модульESP.getFreeHeap() возвращает размер свободной памятиESP.getFreeHeap() возвращает размер свободной памятиESP.getChipId() возвращает ESP8266 chip IDE, int 32bitESP.getFlashChipId() возвращает flash chip ID, int 32bitESP.getFlashChipSize() возвращает размер флеш памяти в байтах, так, как его определяет SDK (может быть меньше реального размера).ESP.getFlashChipSpeed(void) возвращает частоту флеш памяти, в Гц.ESP.getCycleCount() возвращает количество циклов CPU с момента старта, unsigned 32-bit. Может быть полезна для точного тайминга очень коротких операций

Библиотека OneWire

Библиотека OneWire была адаптирована для ESP8266 (внесены изменения в OneWire.h) Если у вас установлена библиотека OneWire в папку Arduino/libraries, то будет использоваться именно она, а не из комплекта поставки.

mDNS библиотека ESP8266mDNS

Библиотека позволяет реализовать в вашей программе ответ на мультикастовые DNS запросы для локальной зоны, например «esp8266.local». В настоящее время поддерживается только одна зона. Позволяет обращаться к WEB серверу ESP8266 по имени, а не только по IP адресу. Дополнительную информацию вы можете найти в прилагаемом примере и в файле readme данной библиотеки.

Библиотека Servo

Библиотека позволяет управлять сервомоторами. Поддерживает до 24 сервоприводов на любых доступных GPIO. По умолчанию первые 12 сервоприводов будут использовать Timer0 и будут независимы от любых других процессов. Следующие 12 сервоприводов будут использовать Timer1 и будут разделять ресурсы с другими функциями, использующими Timer1. Большинство сервоприводов будут работать с управляющим сигналом ESP8266 3,3в, но не смогут работать на напряжении 3,3в и потребуют отдельный источник питания. Не забудьте соединить общий провод GND этого источника с GND ESP8266

Другие библиотеки, не включенные в поставку Arduino IDE

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

  • arduinoWebSockets — WebSocket сервер и клиент для esp8266 (RFC6455)
  • aREST REST API handler библиотека, позволяет управлять GPIO через http запросы вида http://192.168.1.101/digital/6/1
  • Blynk — легкий в освоении IoT фреймворк (страница на Kickstarter). Статья на нашем сайте об этой библиотеке и мобильном приложении ESP8266 – Управляем со смартфона через Blynk
  • DallasTemperature DS18B20, DS1820, DS18S20, DS1822
  • DHT11 — используйте для инициализации следующие параметры DHT dht(DHTPIN, DHTTYPE, 15)
  • NeoPixelBus — Arduino NeoPixel библиотека для esp8266
  • PubSubClient Библиотека MQTT by @Imroy. Статья на нашем сайте об этой библиотеке ESP8266 подключаемся к OpenWRT+Mosquitto+mqttwarn и передаем данные на ThingSpeak, EMAIL, Android, iOS, Twitter, CloudMQTT в 100 строчек кода в Arduino IDE
  • RTC — библиотека for Ds1307 & Ds3231 для esp8266
  • Souliss, Smart Home — фреймворк для Умного Дома, построенный на Arduino, Android и OpenHAB

Установка Arduino IDE через Boards Manager

  1. Установите Arduino IDE с официального сайта Arduino.cc
  2. Запустить Arduino IDE, далее Файл — Настройки — в поле Additional Boards Manager URLs вставить ссылку на стабильную версию http://arduino.esp8266.com/package_esp8266com_index.jsonили для nightly build http://arduino.esp8266.com/staging/package_esp8266com_index.json, нажать OK (В это поле вы можете вводить несколько ссылок, разделенных запятой)
  3. Инструменты — Плата — Boards Manager
  4. В Boards Manager в поле фильтра введите esp8266 или вручную пролистайте список и кликните на ESP8266 by ESP8266 Community Forum
  5. Кликните Install и дождитесь окончания загрузки (около 130 Мегабайт). Если загрузка произошла слишком быстро, возможно, что вы уже устанавливали Arduino IDE для ESP8266 и потребуется почистить кэш Boards Manager, иначе у вас останется установленной старая версия. Нужно сначала деинсталлировать старую версию, а потом необходимо удалить файлы кэша. Для Win7 x64 удалите файлы из папки C:\Users\Пользователь\AppData\Roaming\Arduino15 и повторите все, начиная с п.2
  6. Закройте Boards Manager и в меню Инструменты выберите Плата — Generic ESP8266
  7. Установите частоту вашего модуля 80 или 160Mhz, размер флеш памяти и выберите последовательный порт, к которому подключен ваш USB-TTL адаптер

Схема подключения ESP8266

Оптимальное подключение ESP8266 для Arduino IDE

Оптимальное подключение ESP8266

Подключение ESP8266ПримечаниеUSB-TTL
VCCESP8266 подключайте к внешнему источнику питания >300мА, 3,3V
GNDвсе контакты GND должны быть соединены вместе: ESP8266, USB-TTL и источника питанияGND
TX (UTXD)RX
RX (URXD)TX
GPIO0подтягивающий к питанию резистор 10kDTR (если на вашем USB-TTL не разведен пин DTR, то вам придется вручную переключать GPIO0 на землю для перевода ESP8266 в режим прошивки)
RESET (RSBT, REST)подтягивающий к питанию резистор 10k, также можете добавить кнопку, соединяющую RESET и GND для ручного сброса модуляRTS (если на вашем USB-TTL не разведен пин RTS, то вам придется вручную перезагружать модуль )
CH_PD (CH_EN)подтягивающий к питанию резистор 10k
GPIO15 (MTDO)подтягивающий к земле резистор 10k
(для тех модулей, где выведен пин GPIO15)
GPIO2подтягивающий к питанию резистор 10k
(на схеме не показан, но рекомендуется для увеличения стабильности)
GPIO16для успешного выхода из режима Deep Sleep необходимо соединить пины ESP8266 GPIO16 и RESET через резистор 470 Ом (на схеме не показан)

Примечания.

1. Не на всех модулях выведены все пины. Перед приобретением модуля ознакомьтесь с видами модулей и их распиновкой.

2. Если на вашем USB-TTL конвертере выведены пины CTS и DSR — для автозагрузки прошивки они вам не помогут, т.к. работают только на вход.

3. Для стабильной работы ESP8266 требуется источник стабилизированного питания 3,3 вольт, ток более 250 миллиампер. Использование питания от USB-TTL конвертера может привести к нестабильности в работе.

Минимальное подключение ESP8266

Минимальное подключение ESP8266 (повышенная стабильность)

Более подробно, со всеми деталями, о подключении ESP8266 вы можете прочитать в нашей статье ESP8266 – подключение и обновление прошивки

Arduino IDE для ESP8266: быстрый старт

1. Подключить USB-TTL к USB

2. Подключить ESP8266 к USB-TTL как обычно. Если вы подключили ESP8266 по схеме без поддержки автозагрузки прошивки (не подключены DTR и RTS), то вручную соедините GPIO0 с землей, передерните питание модуля — все готово для  прошивки

3. Запускаем Arduino IDE

4. В меню ИнструментыПлатаGeneric ESP8266 board (в самом низу)

5. В меню Инструменты выбираем порт, к которому подключен наш USB-TTL

6. В меню Инструменты — выбираете частоту, размер флеш памяти вашего модуля

7. В меню Файл — Примеры (Образцы) — ESP8266WiFi — WiFiWebServer

8. В скетче заполняете SSID и пароль вашей WiFi сети

9. Жмем кнопку компиляции и загрузки скетча

10. Ждем окончании процесса прошивки. После прошивки, если модуль подключен по схеме без поддержки автопрошивки, отсоедините GPIO0 от земли и передерните питание модуля без отключения USB-TTL от питания

11. В меню Инструменты — Монитор последовательного порта

12. Выбираем скорость 115200

13. Смотрим что происходит в терминале

14. Когда модуль подключится к сети, то появятся надписи в мониторе «WiFi connected» и «Server started»

15. Ниже будет IP адрес вашего модуля ESP8266, например 192.168.1.248

16. Открываете любой браузер, в строке адреса вбиваете «http://192.168.1.248/gpio/1»

17. Смотрите монитор последовательно порта и если к ESP8266 к GPIO2 у вас подключен светодиод (через резистор, разумеется), то он включится.

18. Profit!

Автором этого проекта адаптации Arduino IDE для ESP8266 является наш соотечественник из Санкт-Петербурга Иван Грохотков.

Скачать Arduino IDE для ESP8266 с github

Скачать Arduino IDE для ESP8266 с build сервера

Скачать исходный код Arduino IDE для ESP8266

Задать вопросы автору проекта Ивану Грохоткову aka igrr или сообщить об ошибке в Arduino IDE для ESP8266 можно в специальном разделе на нашем форуме.

Купить ESP8266

Купить ESP8266 в розницу по разумной цене

esp8266.ru

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

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