Wi-fi модули esp8266 и avr микроконтроллер

ESP8266 и AVR. Шаг №57

Всем привет. Итак, друзья, в предыдущей статье мы немного познакомились с технологией IoT. Как я и, писал, начнем рассматривать модуль wi-fi ESP8266.

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

Но для начала немного рассмотрим что это и его основные характеристики.

Данный модуль является микроконтроллером с интерфейсом WiFi, SPI, UART и GPIO, производителем которого является китайская компания Espressif. Основные характеристики: — напряжение питания 3,0….

3,6 В; — ток до 215 мА в режиме передачи и 60 – прием; Режим пониженного потребления с сохранением соединения с точкой доступа ~1 мА; — протокол передачи IEEE 802.

11 b/g/n, с поддержкой протоколов защиты  WEP и WPA/WPA2;

— рабочая температура от -40 до +125 градусов по Цельсию.

Также необходимо отметить тринадцать версий модуля ESP-01…ESP-13 + WROOM и WROOM-02. Мы с Вами остановимся на рассмотрении версии ESP-01. Ниже на рисунке слева вид модуля. Где видно на плате располагается сам микроконтроллер, память, антенна, обвязка и интерфейс для подключения к модулю. На рисунке справа распиновка микроконтроллера модуля ESP8266.

Важно знать, что у контроллера нет энергонезависимой памяти. Исполнение программы ведется из внешней SPI ПЗУ путем динамической подгрузки. На сегодня большинство модулей поставляется с Flash памятью объемом 4 МБ. На рисунке выше та самая память.

Распиновку контроллера можно посмотреть в технической документации. Нас интересует только выводы на интерфейсе – 8 выводов интерфейса (Рисунок выше),  4-ри из них понятно — это питание и линии передачи информации.

Остальные 4-ри имеют следующие функции:
CHIP_EN –  (I)это ввод, который отвечает за режим работы чипа. High: On, chip works properly; Low: Off, small current.(пониженное потребление);
GPIO2— (I/O) UART Tx during flash programming; GPIO2.

Этот вывод у нас останется не подключенным;
 EXT_RSTB – (I) External reset signal (Low voltage level: Active);
GPIO0– (I/O) GPIO0; SPI_CS2

Выводы GPIO2 и EXT_RSTB у нас будут висеть. Их состояние 1. Я так понимаю они в середине подвязаны к питанию. И чтоб изменить их состояние необходимо их подключить к земле. Но нам нет надобности. Ниже схема подключения, от руки))). А также сама сборка — проводками))).  Как видите у нас два источника питания. Конечно, можно и МК запустить от 3,3 В. Но пойдем таким путем.

Источник на 3,3 вольта мы уже делали, когда разбирали SD-карту (статья №19). Я для экспериментов приобрел небольшой блок питания для макетной платы 5В/3.3В, только здесь друзья необходимо следить за током. Модуль такой же прожорливый как и SD-карта))). При нехватке он будет сбрасываться, зависать.

Незабываем также сопрягать линии передачи данных либо стабилитронами (как у меня), либо делителем. Схему собрали. Подали питание. Скорее всего, только что приобретенный модуль отобразится в списке сети, как AI-Thinker. Это значит что наше изделие этой самой компании. На это этапе все рекомендуют поменять прошивку, я не исключение.

Еще один момент! Если у Вас самодельный USB-UART, то он рассчитан на скорость до 38400bps. Изначально модуль выставлен (в большинстве случаев, зависит от прошивки) на скорости 115200 бод. В USB-UART переходнике есть вариант поменять кварц с 12 МГц на 11.0592 МГц тогда может работать на этой скорости. Я не пробовал. Так пишут. В общем идем далее. Прошиваем.

По этой ссылке http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#esp8266-update-firmware можно выбрать прошивку и более подробно почитать об этом. Я выбрал AT21SDK95-2015-01-24.bin. Да будем работать с  АТ — командами.

Тут дело в том, что некоторых разочаровывает глючность прошивок с АТ командами, и применяют прошивку  NodeMcu, где используются команды языка Lua (скриптовый язык программирования, ближе всего к JavaScript). Но мы все же будем работать с АТ))). Также есть конструктор прошивок. С более полным списком можно ознакомиться в википедии.

Так прошивка есть – необходима программа, с помощью которой зальем ее в модуль. Я выбрал XTCOM_UTIL. Подключаем выводы модуля RX TX к переходнику (usb – uart, usb ttl и др.). Отключаем вывод CHIP_EN, GPIO0 садим на 0 (я в схеме указал как контакт на землю), подключаем CHIP_EN. Все наш модуль в режиме перепрошивки флэш-памяти из UART.

Запускаем XTCOM_UTIL – вкладка Tools –   запускаем Config Device. Открывается окно , выбираем порт и скорость. Кнопка Open. Получаем сообщение об успешной операции. Ниже кнопку соединения, также получаем положительное сообщение. Теперьв вкладке API TEST выбираем 4-й пункт Flash Image Download.

Открывается окошко, выбираем путь, где располагается прошивка и нажимаем Download – загружаем прошивку (рисунок выше, справа). Закрываем программу. Отсоединяем GPIO0, пере подключаем CHIP_EN. Все мы в рабочем режиме. Наш модуль обнаружился в списке сети как ESP_CF45A5 (Рис слева). Для начала давайте с модулем поработаем через терминал.

Используйте любой на свой вкус. Я использовал Termite. Также необходимо подчеркнуть, что в каждой версии прошивки присутствует небольшое различие в АТ-командах. Поэтому смотрите доступные команды соответствующей прошивке.  Итак через переходник начинаем работать с терминалом. Запускаем, выбираем в настройках порт и скорость.

Посылаем проверочную команду, если модуль успешно стартовал, то отвечает «OK». Смотрим версию прошивки командой AT+GMR, получаем версию AT и SDK. Рис. слева.

Переведем модуль на скорость 9600 командой:

AT+UART=9600,8,1,0,0.

Все модуль работает. Теперь поэкспериментируем. Здесь также подчеркнем, что модуль требует окончания ввода команды двумя символами с кодами 13 и 10 , соответственно /n и /r. Поэтому если в терминале не проходят команды, то включайте возврат каретки с переводом строки (Append CR-LF).

  Что может модуль? Модуль может работать как TCP-сервер так и TCP-клиент, где TCP (transmission control protocol) – протокол управления передачей данных. За выбор режима wi-fi отвечает команда  AT+CWMODE.

После ее ввода модуль может ответить no change, поэтому после этой команды необходимо использовать ресет AT+RST, после которой сначала выдается мусор, который в свою очередь является отладочной информацией в момент запуска, а потом необходимый нам ответ ready. Рисунок слева.

Переходим к практике, работаем с микроконтроллером. Для начала настроим модуль на точку доступа. Проделаем ниже описанные команды один раз. При выключении настройки сохраняются.
AT+CWMODE=3     Здесь мы выбрали смешаный режим. Т.

е. модуль может работать и как клиент (станция -1) так и точка доступа (сервер, Access Point — 2).
AT+RST – сброс модуля.
AT+CWJAP=”ssid”,”password”. Вводим имя и пароль точки доступа. На рисунке слева у нас добавился клиент.

Итак давайте запустим TCP-сервер на модуле, и при запросе из браузера будем отправлять температуру. Я воспользовался внутренним генератором на 8 МГц. Для чистоты передачи данных по интерфейсу необходимо использовать внешний генератор. Ниже приведен основной кусок кода на СИ. Исходнике ниже в архиве.

#define F_CPU 8000000L
#include /*Подключаем необходимые библиотеки компилятора*/
/*Здесь мы пропустили  define, библиотеки, функции UART. Нас интересуют АТ-команды*/
…………………………………………

   int main (void){
      uint8_t block[5]; /*Буфер для записи данных*/
/*Инициализация диода*/
./*LED_DDR |= (1” И вводим данные.

Мы здесь упускаем проверку на этот символ*/
           delay_ms (10);
           uart_puts (block);
 /*Также упускаем проверку на SEND ОК*/
           delay_ms (2000);
     }
}

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

Исходники:

( Скачали: 455 чел. ) 

В следующей статье рассмотрим обмен данными между модулями ESP8266. Первый модуль у нас будет макетная плата рассмотренная в этой статье, второй — контроллер сбора данных. На этом на сегодня и остановимся. Всем пока.

Источник: http://www.ap-impulse.ru/esp8266-i-avr-shag-57/

Сверхдешевый WI-FI модуль ESP8266

Примерно в августе 2014 года на торговой площадке aliexpress появились дешевые(около 4$) WI-FI модули ESP8266 китайского разработчика. Это не просто WI-FI модуль, а полноценный 32 битный микроконтроллер со своим набором GPIO, в том числе SPI, UART, I2C. При этом схема модуля состоит из минимального количества деталей: самого чипа ESP8266, flash памяти, кварца.

Модуль продается с загруженной прошивкой, которая образует WI-FI–UART мост для подключения к другому микроконтроллеру, в том числе и к Arduino. Настройка и обмен данными происходят с помощью АТ команд.

Данный модуль не является полной заменой других вариантов беспроводных технологий, т.к. энергопотребление все же у ESP8266 намного выше, чем например у nRF24LO1/nRF24LE1. В режиме WI-FI–UART моста модуль не пойдет для создания полноценного веб интерфейса на простейших 8 битных м/к, а только как простейшее управление с помощью небольших TCP пакетов.

Сейчас в продаже можно найти готовые модули 12 видов: с подключением внешней антенны, с керамической антенной, с антенной из дорожек, в экранированом корпусе. Так же бывает выведено разное количество GPIO.

Технические характеристики:
Процессор: одноядерный Tensilica L106 частотой до 160 MHz.Поддерживаемые стандарты WI-FI: 802.11 b / g / n.Поддерживаемы типы шифрования:WEP, WPA, WPA2.Поддерживаемые режимы работы: Клиент(STA), Точка доступа(AP), Клиент+Точка доступа(STA+AP). Напряжение питания 1.7..3.6 В.

Потребляемый ток: до 215мА в зависимости от режима работы.Количество GPIO: 16 (фактически до 11). Доступно на модулях: ESP-01 – 4, ESP-03 – 7+1, влючая UART. Существуют и другие варианты модулей.Интерфейсы: 1 ADC, I2C. UART, SPI, PWM.Внешняя Flash память может быть установлена от 512кб до 4мб.

RAM данных  80 кб, RAM инструкций – 64 кб.

Спецификация чипа ESP8266_Specifications_v4.pdf

Обновление прошивки

Утилита обновления прошивки в Windows XTCOM_UTIL.ZIP. Нужен NET Framework 3.5. Другой вариант прошивальщика под Windows esp8266_flasher_win. Ещё один прошивальщик- Nodemcu Flasher.
Утилита обновления прошивки в Linux esptool (Прошивка командой ./esptool.py write_flash 0x000000 Firmware.bin)

Прошивка может состоять из двух файлов на адрес 0x000000 и адрес 0x400000 -эти настройки указываются при прошивке.

Модуль прошивается через любой USB-UART переходник. Можно воспользоватся Arduino.

Для обновления прошивки необходимо подтянуть GPIO0 к GND и GPIO2 к  VCC и включить питание модуля.

Если модуль имеет выведенным GPIO15, то его на время запуска необходимо подтянуть к минусу. Это необходимо и для прошивки и для запуска загруженной прошивки.

Варианты готовых прошивок с управлением АТ команд

Описание АТ команд Command_Doc.pdf
Библиотека для Arduino Arduino_lib_ESP8266.zip
Конфигурационная утилита ESP8266_Config.rar для настройки и тестов модуля через UART-USB переходник.
Одна из новых прошивок V0.9.2.2_AT_Firmware.bin.zip. Поддерживает изменение скорости UART (по умолчанию 9600). Watchdog.

В данный момент прошивка с АТ командами не имеет смысла, т.к. модуль сам независимо может работать без дополнительных микроконтроллеров, если загрузить другую прошивку. Смотрите следущий абзац.

Программирование модуля под свои задачи

Программирование модуля: компилятор С++ с инструкцией для Linux, esp_iot_sdk_v0.9.2_14_10_24.

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

Тема на форуме на тему программирования модуля на языке Lua (Nodemcu).

Мой проект Беспроводной датчик на базе ESP8266 с отправкой данных на удаленные сервера. Проект закладывается как Universal IoT controller.

Для работы вывод CH_PD должен быть подтянут к плюсу.

Страничка может обновляться при поступлении новых данных..

Источник: http://homes-smart.ru/index.php/oborudovanie/bez-provodov-wi-fi/sverkhdeshevyj-wi-fi-modul-esp8266

Очень короткое знакомство с WiFi модулем ESP8266 ESP-03

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

Во-первых, о том, что это за модуль, можно почитать тут, тут, тут ну и тут.

Есть несколько странное русскоязычное сообщество.

Документации немного, от слова совсем. Но что-то есть. Что радует: 1) Это WiFi. Настоящий. Никаких «радио-удлинителей», никаких «удлинителей COM-порта» и прочих инфраструктурно угнетающих вещей.

Подключился к WiFi роутеру (без которого уже как-то невозможно представить себе не то что приличный дом, а даже приличный телефон) и все — устройство управляемо из любой точки планеты.

2) Цена. Особенно до кризиса. В районе 3 (трех!) долларов. Это было 100 руб. Блин.

Сейчас это уже 200 руб на ebay, но это дешевле Ардуины, это дешевле Ethernet Shield (порядка 500 руб) это не сильно дороже весьма причудливых модулей на базе ENC28J60 или «народной» NRF24L01 (которая стоит в два раза меньше, но их нужно минимум две!).

3) Заявлено рекордно низкое энергопотребление, в том числе позволяющее использовать модуль в устройствах, питающихся от батарей. 4) Если я правильно понял, этот модуль не просто обеспечивает WiFi связь, он представляет из себя программируемый микроконтролер, который может выполнять какие-то простейщие действия по взаимодействию с внешним миром. А это опять же цена. То есть потенциально все это очень интересно. Что настораживает: 1) Если я правильно понял, это оригинальная китайская разработка. Хорошо это или нет сказать сложно, но каким образом малоизвестный разработчик смог создать продукт превосходящий разработки маститых брендов — я не понимаю. Хотя все когда-нибудь случается первый раз. 2) Уже упомянутая скудность документации и отсутствие вменяемого даташита. 3) Некоторая небезглючность устройства. В любом случае, было решено попробовать.

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

Выбор пал на вариант ESP-03 по следующим соображениям: 1) Есть встроенная керамическая антенна. Антенна — это как раз то, что я не готов подключать самостоятельно. 2) Выведено наибольшее количество ног. Будет возможность попробовать этими ногами чем-нибудь поуправлять. 3) Невысокая цена.

Читайте также:  Bluetooth термометр

Из минусов — у этого модуля шаг между контактными площадками не 2.5 мм, а 2.0. Поэтому я изначально планировал изготовить переходинк. Это не сильно напрягало, переходник требуется в любом случае, поскольку модуль принципиально работает от 3.3 Вольт, даже входы UART нетолерантны к 5 Вольт.

Поэтому было решено оснастить переходник линейным стабилизатором на базе моей любимой XC6206 (всей обвязки — два керамических конденсатора) и сопряжением уровней на две линии на полевых транзисторах (по ссылке см. раздел Интерфейс с последовательно включенным MOSFET транзистором).

Кроме того, принципиально вынес все контакты модуля на стандартную угловую гребенку по краю переходника. Пусть будет. Как потом оказалось — не зря.

Обычно, зная свою склонность втыкать провода не туда, куда нужно, я везде на автомате ставлю защиту от переплюсовки “идеальным диодом”, а в переходник поставить забыл. За что и полатился в итоге 🙁

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

Правда паяльного фена у меня все еще нет, а прогревание газовой горелкой не помогло. А это не совсем то, на что я рассчитывал. Я то думал поэкспериментировать с этим модулем в переходнике а потом перепаять его в какую-нибудь полезную поделку.

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

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

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

Теперь же собственно опыт использования. Я подключал модуль к компьютеру через самодельный переходник USB-UART на базе cp2102. Питание на модуль (5 Вольт) брал с переходника — это фактически питание от USB порта компьютера.Поскольку для работы нога CH_PD — Chip enable — должна быть подключена к 3.3 Вольт, я просто соединил ее проводом с ногой 3.3.

В принципе, я заранее предусмотрел в переходнике возможность впаивания постоянной перемычки между CH_PD и 3V3, однако не впаивал ее. Первоначально модуль повел себя странно. Поскольку продавец в описании указал, что модуль работает по UART на скорости 115200/8/N/1 я выставил в терминале 115200 и получил мусор.

По вспышкам светодиодов на линиях UART и по терминалу было видно, что в момент соединения ног CH_PD и 3V3 модуль выдает какую-то информацию. Однако ни на скорости 115200, ни на какой другой из стандартного набора, она не читалась и модуль на дальнейшие команды не реагировал.

Однако гугление вот сюда подсказало решение — для запуска модуля ногу GPIO15 необходимо подтянуть к земле. Я просто соединил ее проводом с земляной ногой на постоянной основе.

Модуль статртовал на скорости… 96000. Ладно, это уже легче.

Дальше я выполнял в основном действия по вот этому посту.

Источник: http://we.easyelectronics.ru/part/ochen-korotkoe-znakomstvo-s-wifi-modulem-esp8266-esp-03.html

WiFi ESP8266 в проектах Arduino

Микросхема ESP8266 — один из самых популярных инструментов для организации беспроводной связи в проектах умного дома.

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

На основе ESP8266 созданы такие популярные платы как WeMos и NodeMcu, а также огромное количество самодельных проектов. В этой статье, мы узнаем, что из себя представляет ESP82266, какие бывают ее разновидности, как работать с ESP8266 в среде Arduino IDE.

Описание ESP8266

ESP8266 – микроконтроллер с интерфейсом WiFi, который имеет возможность исполнять программы из флеш-памяти.  Устройство было выпущено в 2014 году китайской фирмой Espressif и практически сразу же стало популярным.

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

  • Поддерживает Wi-Fi протоколы 802.11 b/g/n с WEP, WPA, WPA2;
  • Обладает 14 портами ввода и вывода, SPI, I2C, UART, 10-бит АЦП;
  • Поддерживает внешнюю память до 16 МБ;
  • Необходимое питание от 2,2 до 3,6 В, потребляемый ток до 300 мА в зависимости от выбранного режима.

Важной особенностью является отсутствие пользовательской энергонезависимой памяти на кристалле. Программа выполняется от внешней SPI ПЗУ при помощи динамической загрузки необходимых элементов программы. Доступ к внутренней периферии можно получить не из документации, а из API набора библиотек. Производителем указывается приблизительное количество ОЗУ – 50 кБ.

Особенности платы ESP8266:

  • Удобное подключение к компьютеру – через USB кабель, питание от него же;
  • Наличие встроенного преобразователя напряжения 3,3В;
  • Наличие 4 Мб флеш-памяти;
  • Встроенные кнопки для перезагрузки и перепрошивки;
  • Все порты выведены на плату на две гребенки с шагом 2,5 мм.

Сферы применения модуля ESP8266

  • Автоматизация;
  • Различные системы для умного дома: Беспроводное управление, беспроводные розетки, управление температурой, дополнение к сигнализационным системам;
  • Мобильная электроника;
  • ID метки;
  • Детские игрушки;
  • Mesh-сети.

Распиновка esp8266

Существует огромное количество разновидностей модуля ESP8266. На рисунке представлены некоторые из них. Наиболее популярным вариантом является ESP 01.

Исполнение программы требуется задавать состоянием портов GPIO0, GPIO2 и GPIO15, когда заканчивается подача питания. Можно выделить 2 важных режима – когда код исполняется из UART (GPIO0 = 0, GPIO2 = 1 и GPIO15 = 0) для перепрошивки флеш-карты и когда исполняется из внешней ПЗУ (GPIO0 = 1, GPIO2 = 1 и GPIO15 = 0) в штатном режиме.

Распиновка для ESP01 изображена на картинке.

Описание контактов:

  • 1 – земля, 8 – питание. По документации напряжение подается до 3,6 В – это важно учесть при работе с Ардуино, на которую обычно подают 5 В.
  • 6 – RST, нужна для перезагрузки микроконтроллера при подаче на него низкого логического уровня.
  • 4 — CP_PD, также используется для перевода устройства в энергосберегающий режим.
  • 7 и 0 — RXD0 и TXD0, это аппаратный UART, необходимый для перепрошивки модуля.
  • 2 — TXD0, к этому контакту подключается светодиод, который загорается при низком логическом уровне на GPIO1 и при передаче данных по UART.
  • 5 — GPIO0, порт ввода и вывода, также позволяет перевести устройство в режим программирования (при подключении порта к низкому логическому уровню и подачи напряжения) .
  • 3 — GPIO2, порт ввода и вывода.

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

Основные отличия Ардуино от ESP8266

  • ESP8266 имеет больший объем флеш-памяти, при этом у ESP8266 отсутствует энергонезависимая память;
  • Процессор ESP8266 быстрее, чем у Ардуино;
  • Наличие Wi-Fi у ESP8266;
  • ESP8266 потребляеn больше тока, чем для Ардуино;

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

Программный комплект разработчика esp8266 включает в себя:

  • Компилятор из пакета GNU Compiler Collection.
  • Библиотеки, стеки протоколов WiFi, TCP/IP.
  • Средство загрузки информации в программу контроллера.
  • Операционная IDE.

Изначально модули ESP8266 поставляются с прошивкой от фирмы-изготовителя. С ее помощью можно управлять модулем с внешнего микроконтроллера, реализовывать работу с Wi-Fi как с модемом. Также существует множество других готовых прошивок. Некоторые из них позволяют настраивать работу модуля при помощи WEB-интерфейса.

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

В настоящий момент для ESP8266 можно реализовать следующие функции:

  • Основные функции языка Wiring. Управлять портами GPIO можно точно так же, как и пинами на плате Ардуино: pinMode, digitalRead, digitalWrite, analogWrite. Команда analogRead(А0) позволяет считать значения АЦП. При помощи команды analogWrite (pin, value) можно подключить ШИМ на нужном выходе GPIO. При value=0 ШИМ отключается, максимальное значение достигает константы, равной 1023.С помощью функций attachInterrupt, detachInterrupt можно выполнять прерывание на любом порте GPIO, кроме 16.
  • Тайминг и delay. Используя команды millis и micros можно вернуть мс и мкс, которые прошли с момента старта. Delay позволяет приостановить исполнение программы на нужное время. Также функция delay(…) позволяет поддерживать нормальную работу Wi-Fi, если в скетче присутствуют большие элементы, которые выполняются более 50 мс. Yield() – аналог функции delay(0).
  • Serial и Serial1 (UART0 и UART1). Работа Serial на ESP8266 аналогична работе на ардуино. Запись и чтение данных блокируют исполнение кода, если FIFO на 128 байт и программный буфер на 256 байт заполнены. Объект Serial пользуется аппаратным UART0, для него можно задать пины GPIO15 (TX) и GPIO13 (RX) вместо GPIO1(TX) и GPIO3(RX). Для этого после функции Serial.begin(); нужно вызвать Serial.swap();. Аналогично Serial1 использует UART1, который работает на передачу. Необходимый пин для этого GPIO2.
  • Макрос PROGMEM. Его работа аналогична работе в Ардуино. Позволяет перемещать данные read only и строковые постоянные во flash-память. При этом в ESP8266 не сохраняются одинаковые константы, что приводит к дополнительной трате флеш-памяти.
  • I2C. Перед началом работы с шиной I2C выбираются шины с помощью функции Wire.pins(int sda, int scl).
  • SPI, OneWire – поддерживаются полностью.

Использование esp8266 для связи Ардуино по WiFi

Перед подключением к Ардуино важно помнить, что у ESP8266 напряжение питания не может быть выше 3,6, в то время как на пате Ардуино напряжение равно 5 В. Соединять 2 микроконтроллера нужно с помощью резистивных делителей. Перед подключением модуля нужно ознакомиться с распиновкой выбранного ESP8266.  Схема подключения для ESP8266-01 представлена на рисунке.

3,3 В с Ардуино – на Vcc&CH_PD на модуле ESP8266, Земля с Ардуино – к земле с ESP8266, 0 – TX, 1 – RX.

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

Работа с библиотекой Wi-Fi для ESP8266 схожа с библиотекой для обыкновенного шилда. Имеется несколько особенностей:

  • mode(m) – для выбора одного из трех режимов: клиент, точка доступа или оба режима единовременно.
  • softAP(ssid) – нужен для создания открытой точки доступа.
  • softAP(ssid, password) – создает точку доступа с паролем, который должен состоять не менее чем из 8 знаков.
  • WiFi.macAddress(mac) и WiFi.softAPmacAddress(mac)– определяет МАС адрес.
  • WiFi.localIP() и WiFi.softAPIP() – определение IP адреса.
  • printDiag(Serial); — позволят узнать данные о диагностике.
  • WiFiUDP – поддержка передачи и приема multicast пакета в режиме клиента.

Работа выполняется по следующему алгоритму:

  • Подключение USB-TTL к USB и к ESP.
  • Запуск Arduino IDE.
  • Выбрать в меню инструменты нужный порт, плату, частоту и размер flash-памяти.
  • Файл — Примеры — ESP8266WiFi — WiFiWebServer.
  • Записать в скетче SSID и пароль сети Wi-Fi.
  • Начать компиляцию и загрузку кода.
  • Дождаться окончания процесса прошивки, отсоединить GPIO0 от земли.
  • Поставить скорость 115200.
  • Произойдет подключение, будет записан адрес IP.
  • Открыть браузер, ввести в адресной строке номер IP/gpio/1
  • Посмотреть монитор порта, если к выходу GPIO2 подключен светодиод, он должен загореться.

NodeMCU на базе esp8266

NodeMCU – это платформа, основанная на базе модуля esp8266. Используется для управления схемой на расстоянии при помощи интернета через Wi-Fi. Плата малогабаритная, компактная, стоит дешево, на лицевой стороне имеется разъем для USB. Рядом кнопки для отладки и перезагрузки микроконтроллера. Также установлен чип ESP8266. Напряжение питания – от 5 до 12 В, желательно подавать более 10 В.

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

  • D1 и D2 – для интерфейса I2C/ TWI;
  • D5-D8- для интерфейса SPI;
  • D9, D10 – для UART;
  • D1-D10 – могут работать как ШИМ.

Платформа имеет современное API для аппаратного ввода и вывода. Это позволяет сократить количество действий во время работы с оборудованием и при его настройке. С помощью прошивки NodeMCU можно задействовать весь рабочий потенциал для быстрой разработки устройства.

WeMos на базе esp8266

WeMos  — еще один вид платформы, основанный на базе микроконтроллера esp8266. Соответственно, имеется Wi-Fi модуль, поддерживается Arduino IDE, имеется разъем для внешней антенны.

Плата имеет 11 цифровых входов/выходов, которые (кроме D0) поддерживают interrupt/pwm/I2C/one-wire. Максимальное напряжение питания достигает 3,3 В. Также на платформе присутствует USB разъем.

 Аналоговый вход 1 с максимальным напряжением 3,2В.

Для работы с модулем нужно установить драйвер CH340 и настроить Ардуино IDE под ESP8266. Для этого нужно в меню настройки в строке «дополнительная ссылка для менеджера плат» добавить адрес http://arduino.esp8266.com/stable/package_esp8266com_index.json.

После этого требуется найти пакет esp8266 by ESP8266 и установить его.  Затем нужно выбрать в меню инструменты микроконтроллер Wemos D1 R2 и записать нужный скетч.

Выводы по ESP8266

С помощью плат на основе микросхемы ESP8266 вы можете добавить в свои проекты возможности «большого интернета», сделав их гораздо более интеллектуальными.

Дистанционное управление, сбор и анализ данных на сервере, обработка голоса и работа с изображением — все это становится доступным, когда мы подключаем наш проект по WiFi к интернету.

В следующих статьях мы подробно рассмотрим то, как можно программировать устройства на базе esp8266, а также уделим внимание таким популярным платам как WeMos и NodeMcu.

Источник: https://ArduinoMaster.ru/platy-arduino/arduino-esp8266/

Возможности подключения Wi-Fi модуля esp8266 к arduino

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

Но вот очередной китайский продукт захватил рынок, wi-fi jammer esp8266 своими руками можно присоединить к плате Ардуино или другой системе, и вы получите стабильное соединение с рядом других преимуществ. Так давайте разберёмся с arduino uno wi-fi, и стоит ли покупать данный модуль, а также, что вообще собой представляет подобный микроконтроллер на wi-fi ардуино.

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

Всё это благодаря wi-fi jammer esp8266, производители которого ввели на рынок совершенно новый продукт, поражающей своей функциональностью и, одновременно с тем, являющийся достаточно дешёвым, что внесло весомую лепту и создало конкуренцию в этом направлении.

Таким образом, arduino wi-fi esp8266 сейчас считается самым доступным модулем на рынке, как и все его собратья. Так, цена на зарубежных площадках стартует от 2-х долларов, что позволяет пачками закупать данные модули и не перепрошивать их тысячу раз, перепаивая контакты, чтобы сохранить работоспособность.

Варианты модулей ESP

Сначала данный wi-fi модуль ардуино использовался, в основном, как arduino wi-fi shield, так как являлся наиболее дешёвым вариантом и ничем не уступал оригинальному.

Устройство действительно практически легендарное, ведь весомых минусов за его стоимость не найти. Имеется множество библиотек, в том числе и пользовательских, а также поддерживает работу через Serial шины и простейшие АТ и АТ+ команды.

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

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

  1. Процессор на 160 МГц, однако он 32-битный, что накладывает определённый отпечаток на производительность. Но стоит помнить, что модуль всё же применяется в связке с платами Ардуино, которые сами по себе режут высокие частоты и съедают большую часть ресурсов неизвестно для чего.
  2. Производитель, выпустивший wi-fi модуль esp8266, интересные проекты на этом не закончил, и сейчас имеется целая линейка микроконтроллеров проверенного качества.
  3. Современные стандарты защиты сети. Конечно, WPA и WPA2 уже давно не столь безопасны, как хотелось бы, но их наличие не может не радовать в таком дешёвом контроллере.
  4. 16 портов вывода, в том числе 10-битный, позволяющий поэкспериментировать с платой.

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

Характеристики esp8266 wi-fi безусловно радуют, особенно в сравнении с его более дорогими конкурентами, но у пользователя, не имевшего ранее опыта с данными платами, возникнет вопрос о том, как же его подключить.

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

Достаточно запастись припоем и паяльником и просто почитать инструкцию.

Давайте же рассмотрим подключение esp8266 esp 12e и что такое esp8266 мост wi-fi uart. Ведь именно подключение и настройка модуля вызывают больше всего вопросов.

Распиновка esp8266 esp 12e

В первую очередь определитесь, какая версия микроконтроллера у вас на руках. В первой встраиваются светодиоды около пинов, а на второй, которую стали выпускать совсем недавно, сигнальные огни находятся около антенны.

Перед подключением стоит подгрузить последнюю прошивку, позволяющую увеличивать скорость обмена пакетами до 9600 единиц информации в секунду. А проверять соединение мы будем через кабель usb-ttl и соответствующий терминал от CoolTerm.

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

Пины для подключения вышеописанного кабеля стандартные, а вот питание идёт через 3.3 вольтовый пин с Ардуино. Важно помнить, что максимальную силу тока, которую подаёт плата, невозможно поставить выше 150 мА, а esp8266 esp 07 и esp8266 witty cloud wi-fi модуль для arduino требуют 240 Ма.

Однако, если другого источника тока нет, можете использовать и стандартный вариант от Ардуино, но мощность платы пострадает. Хотя, при не сильной загрузке, достаточно и 70 мА, будьте готовы к внезапным перезагрузкам микроконтроллера в пиковые моменты нагрузки и пишите софт соответственно, чтобы он фильтровал и разбивал файлы, не перегружая плату.

Вариант подключения модуля ESP и Ардуино Uno

Еще один вариант подключения ниже. Важно – контакты RX-TX соединяются перекрестием. Так как уровни сигналов модуля ESP8266 3.3В, а Arduino 5В, нам нужно использовать резистивный делитель напряжения для преобразования уровня сигнала.

Прописываем Wi-Fi модуль в Arduino

Как известно, при должном опыте можно и шилд esp8266 ex 12e сопрячь со смартфоном, но у новичков и прописка esp8266 esp 12 в системе Ардуино вызывает трудности. На деле достаточно подключить модуль и проверить его работоспособность, скинув несколько штатных команд АТ через меню отладки.

Например, можно добавить мигание штатным светодиодом (для схемы подключения выше):

#define TXD 1 // GPIO1/TXD01void setup() {  pinMode(TXD, OUTPUT);}void loop() {  digitalWrite(TXD, HIGH);  delay(1000);  digitalWrite(TXD, LOW);  delay(1000);}

Как только плата подтвердит, что видит микроконтроллер в системе, можно начинать полноценную работу с ним. Однако стоит отметить, что если сама плата ардуино используется в проекте лишь для подключения данного контроллера – это иррационально.

Достаточно USB-UART преобразователя, так как esp8266 не использует «мозги» ардуино, а своей флеш-памяти ему вполне хватит для хранения пары базовых библиотек и прошивок.

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

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

Важное замечание! Для последней схемы скетч загружаем в Arduino как обычно, но так как модуль ESP8266 подключен к контактам 0 и 1, программирование становится невозможным. Компилятор будет показывать ошибку. Отсоедините провода идущие к ESP8266 от контактов 0 и 1, произведите программирование, а после верните контакты на место и нажмите кнопку сброса в Arduino.

Источник: https://ArduinoPlus.ru/podkluchenie-wi-fi-modulya-k-arduino/

Подключение WiFi модуля ESP8266 Witty Cloud к 3D принтеру TEVO Tarantula I3

3D TodayТехничкаПодключение WiFi модуля ESP8266 Witty Cloud к 3D принтеру TEVO Tarantula I3

RuslanG
Загрузка

15.04.17

11566

Приветствую всех!Меня уже давно будоражит мысль отвязать мой 3D принтер от USB кабеля и подключаться к принтеру по WiFi сети.

Оказалось это не так уж и трудно в наш век

У меня получилось отвязать мой 3D принтер TEVO Tarantula I3, надеюсь что и остальные RepRap принтеры без труда можно сделать беспроводными.Необходимые устройства и программы:

  1. WiFi модуль .Я выбрал модуль ESP8266 Witty Cloud за простоту его прошивки и подключения.

  2. .Чтобы ничего не паять.
  3. Прошивка для WiFi модуля Выбрал по нескольким причинам:- позволяет WiFi модулю работать как в режиме точки доступа, так и в режиме клиента.- имеет Web форму для настройки модуля и для управления принтером.

    – проект развивается.

  4. Почему именно эта версия? Потому что именно под нее протестирована и заточена последняя стабильная прошивка ESP3D.
  5. Плагин .Необходим для заливки файлов во внутреннюю файловую систему WiFi модуля.

Итак, начнем:

  1. Скачиваем и устанавливаем Arduino IDE v 1.6.8 по ссылке
  2. Запускаем Arduino и в настройках (меню: Файл -> Настройки) добавляем дополнительную ссылку для Менеджера плат:
  3. Устанавливаем расширение для поддержки WiFi модуля. Для этого запускаем Менеджер плат.
  4. В окне менеджера плат выполняем поиск расширения ESP8266. Выбираем курсором мышки “esp8266 by ESP8266 Community”. И нажимаем кнопку “Установить”.
  5. Подключаем WiFi модуль к компьютеру с помощью USB кабеля. Модуль состоит из двух частей: самого модуля и платы для прошивки модуля. Кабель нужно подключить в плату для прошивки модуля.
  6. Ждем пока установятся драйвера платы CH340. При установке можно увидеть номер последовательного порта. В моем случае устройство установилось на порт COM4. Запомним его. Далее эта информация нам пригодится.Если вы пропустили это окно, то номер порта можно посмотреть в Диспетчере устройств:
  7. Открываем Arduino.
  8. Скачиваем плагин ESP8266FS по ссылке . Его нужно распаковать в папку “tools”, где находится установленная Arduino. По умолчанию: “c:Program Files (x86)Arduino ools”.
  9. Перезапускаем Arduino.
  10. Запускаем обновление файловой системы. Для этого выполняем команду “ESP8266 Sketch Data Upload” в меню “Инструменты”.
  11. Долго ждем обновления файловой системы. В конце процесса обновления появится надпись “SPIFFS Image Uploaded“.
  12. Скачиваем и распаковываем прошивку для WiFi модуля ESP3D v0.6.2 по ссылке .
  13. Запускаем файл “esp8266.ino” из папки “esp8266”.
  14. Проверяем скетч на ошибки.
  15. Если ошибок не обнаружено, то запускаем процесс прошивки модуля.
  16. После успешной прошивки можно сразу проверить работу WiFi модуля. Должна определяться беспроводная сеть “ESP8266”
  17. Подключаемся к этой сети с паролем “12345678”.
  18. Открываем ваш любимый браузер и в поле ссылки вводим “192.168.0.1”. Нажимаем Enter и радуемся. Появилась главная страница админки WiFi модуля.
  19. Теперь можно настроить WiFi модуль для работы в режиме клиента, чтобы модуль подключался к вашему роутеру и был виден в вашей сети. Для этого нужно перейти на страницу “Station“.
  20. Откроется страница авторизации пользователя. Нужно ввести логин и пароль.
    Введите логин: “admin” и пароль “admin”. Для авторизации нажмите кнопку “Apply“.
  21. Настройте параметры подключения к вашему роутеру. Выберите из списка ваш роутер, введите пароль к нему, задайте имя принтера (например, 3dPrinter), выберите протокол передачи данных (самый нижний – самый быстрый) и задайте IP адрес для подключения. IP адрес сейчас лучше задать статичным, для отладки. Он не должен совпадать с существующими IP устройств, подключенных к роутеру. Мне повезло, и такой адрес был не занят.
    Нажмите кнопку “Apply” для того чтобы применить изменения.
  22. После того как WiFi модуль сохранит изменения и перезагрузится, он должен будет подключиться к вашему роутеру. Теперь мы в браузере вводим “192.168.1.246” и должны увидеть ту же самую админку WiFi модуля.
  23. С модулем разобрались, теперь самое легкое – подключить модуль к плате 3D принтера. В моем случае плата MKS Base v1.2.
  24. Схема коммутации следующая:
  25. WiFi модуль теперь нужно разделить на две части и дальше работать только с основной платой.
  26. Берем заготовленные заранее проводки и соединяем согласно схеме коммутации.
  27. Проверяем еще раз что мы все правильно соединили и включаем 3d принтер. Сначала принтер подключается к вашему роутеру.
  28. После подключения принтер показывает IP адрес, по которому к нему можно подключаться.
  29. Далее настраиваем вашу программу для печати по сети TCP/IP. Или заходим в Web админку на вкладку 3D Printer и выбираем файл д[IMG]ля отправки на принтер, по аналогии с SD картой. Функционал с записью на SD карту принтера не пробовал.
  30. Для печати я использую программу Repetier-Host. Ее легко настроить для печати по сети.
  31. Открываем программу Repetier-Host. Заходим в настройки принтера и на вкладке “Соединение” задаем параметры нашего принтера, подключенного к сети.
  32. Нажимаем кнопку “Ок”. И пробуем управлять 3D принтером.
  33. Пробуем печать

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

Ну для первого раза очень даже радостно для меня

Буду также думать куда прикрепить этот модуль на принтере или в системном блоке?!

Источник: http://3Dtoday.ru/blogs/ruslang/connection-module-wifi-esp8266-witty-cloud-to-your-3d-printer-tevo-tar/

Обзор модуля ESP-01 на чипе ESP8266 – RobotChip

Китайская компания Espressif в 2014 году, начала продавать Wi-Fi чип ESP8266, который сразу завоевал большую популярность у радиолюбителей из-за своей дешевизны и большими возможностями. На сегодняшний день существует большое количество различных модулей основанных на чипе ESP8266, постепенно расскажу о всех.

Технические параметры 

  Напряжение питания: 3 В ~ 3.6 В
  Максимальный рабочий ток: 220 мА
  Поддержка беспроводного стандарта: 802.11 b / g / n
  Рабочая частота: 2.

4 ГГц
  Режимы: P2P (клиент), soft-AP (точка доступа)
  Количество GPIO: 2.
  Flash память: 1024 кб.
  Выходная мощность в режиме 802.11b: +19.5dBm
  Поддержка беспроводного стандарта: 802.

11 b / g / n
  Габариты: 24.8мм х 14.3мм х 8мм

Общие сведения

По сути, чип ESP8266 представляет собой миниатюрный микроконтроллер с Wi-Fi передатчиком, который может функционировать в условиях полной автономии, без дополнительной платы Arduino. С помощью модуля ESP-01 можно передавать данные о температуре, влажности, включать реле и так далее.

 Для удобства использования чипа ESP8266, производитель изготовил серию модулей от ESP-01 по ESP-14. Первый в этой серии, это модуль ESP-01 (существует еще ESP-01S, о нем чуть позже), являющийся одним из известным, из-за свой цены и небольшими размерами, всего 14,3 мм на 24,8 мм.

Но в нем, есть два недостатка, это ограниченное количество программированных выводов GPIO и их неудобное расположение (неудобно макетировать).

Модуль ESP-01 представляет собой небольшую плату, черного цвета, на которой расположены два основных чипа, это микроконтроллером ESP8266 и flash память на 1 Мб. Рядом расположен кварцитовый резонатор и напечатанная антенна.

На плате установлены два светодиода, красный и голубой. Красный светодиод, светится когда на модуле есть питание, а синий мигает при выполнении команд (в NSP-01S удален красный светодиод, из-за постоянного потребления электроэнергии).

Для подключения модуля ESP-01, предусмотрено восемь выводов (два ряда по четыре вывода, шагом 2.54 мм), два из готовых являются цифровым входами-выходом, поддерживающие широтно импульсную модуляцию.

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

Назначение выводов
  GND:  «-» питание модуля
  GPIO2: (Digital I / O программируемый)
  GPIO0: (Digital I / O программируемый, также используется для режимов загрузки)
  RX: UART прием
  TX:  UART передача
  CH_PD: (включение / отключение питания, должны быть выведены на 3.3 В непосредственно или через резистор)
  REST: сброс, необходимо потянуть к 3.3В
  VCC:  «3.3В» питание модуля

Подключение модуля
Для работы модуля ESP-01, необходим источник питания постоянного тока, который должен выдавать 3.3 В и током не менее 250 мА.

К сожалению, штатный стабилизатор установленный на Arduino не способен выдать необходимой ток для работы ESP-01 (если решите все равно подключить ESP-01, ждите нестабильную работу и постоянную перезагрузку). Кроме того, логические сигнал, данного модуля, рассчитан на 3.

3 В, то есть на вывод RX необходимо подавать напряжение 3.3В, а с вывода TX будет напряжение равное 3.3 В (так же и для других выводов).

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

Внимание! ESP-01 очень капризные к питанию, необходимо использовать внешний стабилизатор напряжения на 3.3В, в качестве первого примера буду использовать адаптер USB

С таблице выше, видно, что модуль ESP-01 может работать в нескольких режимах сна, с минимальным потреблением тока, вызываются они программном путем, кроме последнего «Power Off», чтобы задействовать данный режим, необходимо установить перемычку, между GPIO16 и RST, позже приведу пример.

Установка ESP8266 в IDE Arduino

  Скачиваем с сайта arduino.cc программу IDE Arduino
  Далее, необходимо установить ESP плату в IDE Arduino, для этого запускаем программу IDE Arduino, открываем: Файл -> Настройка.
  В новом открытом окне, в поле «Дополнительные ссылки для Менеджера плат:» добавляем ссылку:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

  Нажмите кнопку «OK«, далее открываем: «Инструменты -> Платы: -> Менеджер плат..». В открытом окне, ищем «esp8266 by ESP8266 Community» и нажимаем «Установить«. Установка займет несколько минут, затем появиться надпись «Installed«, жмем «Закрыть»

  Нажимаем «Инструменты -> Платы -> Generis ESP8266 Module«.

  Терпеть необходимо подключить модуль ESP-01 к компьютеру через адаптер USB

  Настраиваем частоту процессора «CPU Frequency: «80 MHz»«, скорость «Upload Speed: «115200»» и необходимо выбрать «Порт«.

  Далее, открываем «Мониторинг порта», ставим галочку напротив «Автопрокрутка» выбираем «NL & CR» и указываем скорость «115200«.

  Теперь отправляем первую команду: «AT» (команда для проверки модуля) в ответ должны получить «OK»

  Вторая команда «AT+GMR», в ответ модуль отобразить версию прошивки

Купить на Aliexpress
  Беспроводной Wi-Fi модуль ESP8266-01 (ESP-01)
  Адаптер USB для ESP8266 (Wi-Fi, CH340G)

Купить в Самаре и области
  Беспроводной Wi-Fi модуль ESP8266-01 (ESP-01)
  Адаптер USB для ESP8266 (Wi-Fi, CH340G)

Источник: http://blog.rchip.ru/obzor-modulya-esp-01-na-chipe-esp8266/

ESP8266: микросхема Wi-Fi

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}
");let k=document.querySelector(".flat_pm_modal[data-id-modal=\""+a.ID+"\"]");if(-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(k,d):jQuery(k).html(b+d),"px"==a.how.popup.px_s)e.bind(h,()=>{e.scrollTop()>a.how.popup.after&&(e.unbind(h),f.unbind(i),j())}),void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{e.unbind(h),f.unbind(i),j()});else{let b=setTimeout(()=>{f.unbind(i),j()},1e3*a.how.popup.after);void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{clearTimeout(b),f.unbind(i),j()})}f.on("click",".flat_pm_modal .flat_pm_crs",()=>{jQuery.arcticmodal("close")})}if(void 0!==a.how.outgoing){let b,c="0"==a.how.outgoing.indent?"":" style=\"bottom:"+a.how.outgoing.indent+"px\"",e="true"==a.how.outgoing.cross?"":"",f=jQuery(window),g="scroll.out"+a.ID,h=void 0===flatPM_getCookie("flat_out_"+a.ID+"_mb")||"false"!=flatPM_getCookie("flat_out_"+a.ID+"_mb"),i=document.createElement("div"),j=jQuery("body"),k=()=>{void 0!==a.how.outgoing.cookie&&"false"==a.how.outgoing.cookie&&h&&(jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show"),j.on("click",".flat_pm_out[data-id-out=\""+a.ID+"\"] .flat_pm_crs",function(){flatPM_setCookie("flat_out_"+a.ID+"_mb",!1)})),(void 0===a.how.outgoing.cookie||"false"!=a.how.outgoing.cookie)&&jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show")};switch(a.how.outgoing.whence){case"1":b="top";break;case"2":b="bottom";break;case"3":b="left";break;case"4":b="right";}jQuery("body > *").eq(0).before("
"+e+"
");let m=document.querySelector(".flat_pm_out[data-id-out=\""+a.ID+"\"]");-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(m,d):jQuery(m).html(e+d),"px"==a.how.outgoing.px_s?f.bind(g,()=>{f.scrollTop()>a.how.outgoing.after&&(f.unbind(g),k())}):setTimeout(()=>{k()},1e3*a.how.outgoing.after),j.on("click",".flat_pm_out .flat_pm_crs",function(){jQuery(this).parent().removeClass("show").addClass("closed")})}countMode&&(flat_count["block_"+a.ID]={},flat_count["block_"+a.ID].count=1,flat_count["block_"+a.ID].click=0,flat_count["block_"+a.ID].id=a.ID)}catch(a){console.warn(a)}}function flatPM_start(){let a=flat_pm_arr.length;if(0==a)return flat_pm_arr=[],void jQuery(".flat_pm_start, .flat_pm_end").remove();flat_body=flat_body||jQuery("body"),!flat_counter&&countMode&&(flat_counter=!0,flat_body.on("click","[data-flat-id]",function(){let a=jQuery(this),b=a.attr("data-flat-id");flat_count["block_"+b].click++}),flat_body.on("mouseenter","[data-flat-id] iframe",function(){let a=jQuery(this),b=a.closest("[data-flat-id]").attr("data-flat-id");flat_iframe=b}).on("mouseleave","[data-flat-id] iframe",function(){flat_iframe=-1}),jQuery(window).on("beforeunload",()=>{jQuery.isEmptyObject(flat_count)||jQuery.ajax({async:!1,type:"POST",url:ajaxUrlFlatPM,dataType:"json",data:{action:"flat_pm_ajax",data_me:{method:"flat_pm_block_counter",arr:flat_count}}})}).on("blur",()=>{-1!=flat_iframe&&flat_count["block_"+flat_iframe].click++})),flat_userVars.init();for(let b=0;bflat_userVars.textlen||void 0!==a.chapter_sub&&a.chapter_subflat_userVars.titlelen||void 0!==a.title_sub&&a.title_subc&&cc&&c>d&&(b=flatPM_addDays(b,-1)),b>e||cd||c-1!=flat_userVars.referer.indexOf(a))||void 0!==a.referer.referer_disabled&&-1!=a.referer.referer_disabled.findIndex(a=>-1!=flat_userVars.referer.indexOf(a)))&&(c=!0),c||void 0===a.browser||(void 0===a.browser.browser_enabled||-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser))&&(void 0===a.browser.browser_disabled||-1==a.browser.browser_disabled.indexOf(flat_userVars.browser)))){if(c&&void 0!==a.browser&&void 0!==a.browser.browser_enabled&&-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser)&&(c=!1),!c&&(void 0!==a.geo||void 0!==a.role)&&(""==flat_userVars.ccode||""==flat_userVars.country||""==flat_userVars.city||""==flat_userVars.role)){flat_pm_then.push(a),flatPM_setWrap(a),flat_body.hasClass("flat_pm_block_geo_role")||(flat_body.addClass("flat_pm_block_geo_role"),flatPM_ajax("flat_pm_block_geo_role")),c=!0}c||(flatPM_setWrap(a),flatPM_next(a))}}}let b=jQuery(".flatPM_sticky");b.each(function(){let a=jQuery(this),b=a.data("height")||350,c=a.data("top");a.wrap("
");let d=a.parent()[0];flatPM_sticky(this,d,c)}),debugMode||countMode||jQuery("[data-flat-id]:not([data-id-out]):not([data-id-modal])").contents().unwrap(),flat_pm_arr=[],jQuery(".flat_pm_start, .flat_pm_end").remove()}
ESP8266: микросхема Wi-Fi
Добавил(а) microsin   

ESP8266 это высокоинтегрированный чип (так называемая “система на кристалле”, System-on-Chip, сокращенно SoC) разработанная с учетом возросших потребностей в сетевых коммуникациях. Чип предоставляет полное, универсальное и недорогое решение для организации сетевого узла Wi-Fi, которое может взять на себя обработку всех сетевых функций по обмену данными во встраиваемых приложениях. У ESP8266 есть мощные встроенные возможности для обработки и хранения данных и порты ввода-вывода (GPIO), которые позволяют объединить его с различными датчиками и другими специальными устройствами, нуждающимися в сетевом обмене данными. Для ESP8266 требуется немного внешних компонентов для подключения, в результате блок Wi-Fi может занимать совсем мало места на печатной плате.

Основные параметры ESP8266:

Параметр Значение
Нормальное напряжение питания 3V
Потребляемый ток 10mkA .. 170mA
Макс. размер внешней памяти FLASH 16 мегабайт
Марка ядра процессора Tensilica L106 32 bit
Количество портов с функцией GPIO (они мультиплексированы с другими функциями микросхемы) 17
АЦП, разрешение 10 бит 1 канал
Поддержка Wi-Fi стандартов 802.11 b/g/n/d/e/i/k/r
Макс. количество одновременных соединений TCP 5

В ESP8266 встроены следующие узлы и возможности:

• 802.11 b/g/n, выходная мощность +19.5dBm, в идеальных условиях дальность связи до 100 метров• WIFI 2.4 GHz, с поддержкой протоколов безопасности WPA / WPA2, WiFi Direct (P2P), soft-AP• STBC, 1×1 MIMO, 2×1 MIMO• Экономичный 32-разрядный CPU (архитектура RISC), который может использоваться под прикладные приложения (т. е.

для него можно писать программы), RISC-процессор, встроенная память и интерфейсы подключения внешней памяти• SDIO 1.1/2.0, SPI, UART• STBC, 1×1 MIMO, 2×1 MIMO• Агрегация фреймов A-MPDU и A-MSDU с защитным интервалом 0.

4 мс• Время пробуждения, соединения и готовности к передаче пакета

• Рабочий диапазон температур -40 .. +125 oC.

• 32-выводный корпус QFN• Интегрированный радиочастотный свич, симметрирующее устройство, малошумящий усилитель, усилитель мощности 24dBm, DCXO (digitally controlled crystal oscillator, цифровой управляемый кварцевый генератор), блок управления энергопотреблением (power management unit, PMU), полная поддержка антенны• Поддержка службы управления полосой пропускания разных видов трафика (Quality of Service, QoS)• Интерфейс I2S для приложений высококачественной передачи звука• Встроенные линейные регуляторы с малым падением напряжения на регулирующем элементе для всех потребителей энергии• Встроенная система PLL (генерация частоты с использованием фазовой автоподстройки, ФАПЧ), проприетарная архитектура высококачественной генерации тактового сигнала (патентованный алгоритм подавления шума для применения в приложениях SoC)• Встроенные подсистемы WEP (Wired Equivalent Privacy, протокол шифрования данных в беспроводных сетях), TKIP (Temporal Key Integrity Protocol, протокол поддержки системы безопасности беспроводных сетей, который должен был заменить WEP), AES (Advanced Encryption Standard, протокол шифрования данных), и WAPI (WLAN Authentication and Privacy Infrastructure, еще один протокол для безопасной передачи данных поверх WiFi), поддержка стека TCP/IP• Поддержка APSD (Automatic Power Save Delivery, или Asynchronous Power Save Delivery, автоматическая система экономии энергопотребления), оптимизированная для приложений передачи голоса через сетевое соединение (VoIP)• Поддержка интерфейса с Bluetooth• Самокалибрующаяся радиосистема, гарантирующая оптимальную производительность для всех рабочих условий эксплуатации• Отсутствие настроек на заводе

• Отсутствие внешних радиочастотных компонентов

Номинальное напряжение питания 3V, допустимые диапазоны питания 1.7V..3.6V, минимальный ток потребления (в состоянии выключено)

Жирным шрифтом обозначены сигналы, выведенные на 8-контактный разъем китайского модуля на ESP8266EX.

Имя

Тип

GPIO

Функция

Интерфейсы

1 VDDA P Аналоговое питание 3.0V..3.6V
2 LNA IO Подключение антенны, выходное волновое сопротивление 50Ω.
3 VDD3P3 P Питание усилителя 3.0V..3.6V
4 VDD3P3 P
5 VDD_RTC P Питание для часов? NC (1.1V)
6 TOUT I Вывод АЦП
7 CHIP_EN I Разрешение работы кристалла. 1: включение, нормальная работа чипа. 0: отключение от источника питания, минимальное энергопотребление.
8 XPD_DCDC IO GPIO16 Пробуждение из глубокого сна, внешний сброс. 0: сброс, 1: нормальный рабочий режим.
9 MTMS IO GPIO14 HSPICLK, приемник IR I2C SCL
10 MTDI IO GPIO12 HSPIQ, светодиод отображения состояния обмена. (Light)PWM red LED control. JTAG
11 VDDPST P Цифровое питание/питание портов ввода-вывода (1.8V..3.3V).
12 MTCK IO GPIO13 HSPID, кнопка RST. (Light)PWM blue LED control. JTAG
13 MTDO IO GPIO15 HSPICS, (Light)PWM green LED control; (Plug) relay control, H/L TTL JTAG, 3-битный SDIO
14 GPIO2 IO GPIO2 UART Tx при программировании flash (?); должна быть в лог. 1 при загрузке, по умолчанию устанавливается в лог. 1. 3-битный SDIO, UART1 для вывода системной информации (TX), I2C SDA
15 GPIO0 IO GPIO0 SPICS2, светодиод состояния (WiFi) 3-битный SDIO
16 GPIO4 IO GPIO4
17 VDDPST P Цифровое питание/питание портов ввода-вывода (1.8V..3.3V).
18 SDIO_DATA2 IO SD_D2 (последовательно с резистором 200Ω); SPIHD; HSPIHD
19 SDIO_DATA3 IO SD_D3 (последовательно с резистором 200Ω); SPIWP; HSPIWP
20 SDIO_CMD IO SD_CMD (последовательно с резистором 200Ω); SPICS0
21 SDIO_CLK IO SD_CLK (последовательно с резистором 200Ω); SPICLK
22 SDIO_DATA0 IO SD_D0 (последовательно с резистором 200Ω); SPIQ
23 SDIO_DATA1 IO SD_D1 (последовательно с резистором 200Ω); SPID
24 GPIO5 P GPIO5
25 U0RXD IO GPIO3 UART Rx во время программирования flash (?) UART0 для пользователя
26 U0TXD IO GPIO1 SPICS1 (?) UART0 для пользователя, не позволять подавать 0 при загрузке
27 XTAL_OUT IO Выход встроенного генератора, подключение к кварцевому резонатору, может использоваться для предоставления входа тактовой частоты BT
28 XTAL_IN IO Вход встроенного генератора, подключение к кварцевому резонатору
29 VDDD P Аналоговое питание 3.0V..3.6V
30 VDDA P Аналоговое питание 3.0V..3.6V
31 RES12K I Подключение на GND внешнего резистора 12кΩ.
32 EXT_RSTB I Внешний сигнал сброса (активный уровень лог. 0)

Вывод 33 GND подключен к массивной контактной площадке на донышке корпуса QFN32.

Покупать можно в интернет-магазинах Aliexpress, Ebay и Dealextreme. ИМХО, лучше всего покупать модули на Aliexpress: самые низкие цены, больше всего предложений и самая удобная система поиска и выбора. Запустите браузер chrome, и в адресной строке введите “магическую” строку:

ESP8266 site:aliexpress.com

Источник: http://microsin.net/adminstuff/hardware/esp8266-wifi-ic.html