Дружимся с esp

Содержание

Увеличение количества цифровых GPIO входов/выходов

Плата увеличения количества GPIO портов.

Для увеличения количества цифровых входов можно воспользоваться добротной платой расширителя GPIO на 8 Входов/Выходов. Она хорошо документирована, исполнена на высоком техническом уровне. Хотя, ценник не Aliexpress-а. При изготовлении нескольких сотен устройств, себестоимость конечного устройства существенно вырастет.

Посмотрим, что есть на сей счет есть у китайских собратьев. А у них конечно-же что-то есть и недорого.

8-канальный расширитель GPIO на чипе PCF8574 с DIP переключателями для назначения I2C адреса
8-канальный расширитель GPIO на чипе PCF8574 с джамперами для назначения I2C адреса. Эту плату можно каскадировать.

Конструктивно синие модули удобно каскадировать, втыкая один в другой. Адрес устройств удобно задается либо DIP переключателями, либо джамперами. Возможно подключение внутренних pullup резисторов на +5V.

16-ти канальный расширитель GPIO на чипе PCF8575

Старший брат TI PCF8575 позволяет получить 16 GPIO портов за цену в два раза выше. Но реализация платы попроще. никаких DIP переключателей для выбора адреса I2C. Зато 16 каналов в компактном исполнении.

Аналогичный чип от компании Microchip на 16 входов для расширения количества GPIO портов, MCP23017. Есть вариант для шины I2C и более шустрый для SPI (MCP23S17). Китайские продавцы нередко указывают в описании товара чип MCP23S17, однако по фото платы видно, что чип MCP23017

Обращайте на это внимание! Аналогичный чип на 8 портов — MCP23008

MCP23017 плата увеличения GPIO для микроконтроллеров

Цена этого варианта модуля в районе 1,5 USD. Исполнение платы попроще обойдется почти в два раза дешевле. Чип позволяет обеспечить увеличение GPIO на 8+8=16. Как и чип от Texas Instruments помимо входов для подключения устройств есть два выхода прерываний на каждый блок из 8 устройств. Этот чип позволяет работать на частоте до 1,7 МГц и 10 MHz для версии под шину SPI, в отличие от чипа PCF8574 для которого верхний предел 400 кГц. Также возможно подключение внутренних pullup резисторов на +5V. Схема подключения платы к ESP8266 разобрано здесь.

SX1509 модуль для увеличения количества GPIO.

Ещё один 8+8=16-ти канальный расширитель количества GPIO с Aliexpress на чипе SX1509. Библиотека и описание от Sparkfun. Чип дороже, чем ранее представленные. По ТТХ чип очень похож на ранее рассмотренные варианты. Работает на частоте 400 кГц. Есть встроенная поддержка ШИМ (PWM) на выходах.

Чип «заточен» для работы с LED и клавиатурой. В части LED из-за наличия ШИМ позволяет управлять яркостью светодидов, выполнять затухание, моргание и пр. Есть в наличии выход INT для трансляции прерываний микроконтроллеру. Поддерживаются встроенные pull-up, pull-down резисторы на входах.

GPIO expander от Fairchild (ON Semiconductor) FXL6408UMX. Аналогично 8 портов управляемых по шине I2C. Datasheet.

GPIO. Мигаем светодиодом

Для управления реле (мы ведь собрались делать WiFi розетку) потребуется изучить работу с выводами GPIO. Пока попробуем использовать GPIO вывод в качестве выхода и устанавливать высокий и низкий уровень сигнала. Для наглядности подключим светодиод как показано на схеме.

Нумерация выводов:

IO index ESP8266 pin
GPIO16
1 GPIO5
2 GPIO4
3 GPIO0
4 GPIO2
5 GPIO14
6 GPIO12
7 GPIO13
8 GPIO15
9 GPIO3
10 GPIO1
11 GPIO9
12 GPIO10

D0(GPIO16) can only be used as gpio read/write. No support for open-drain/interrupt/pwm/i2c/ow

ESP-12F

Плата NodeMCU

Примечание: Существует несколько версий плат Nodemcu. Распиновка Вашей платы может отличаться.

Резюме

В итоге получилась такая схема. В электрощитке будет находиться Raspberry Pi Zero W для хранения логики работы моего дома. Без него умный дом работать не будет. Поэтому запитываться он будет от сети и от резервной аккумуляторной батареи.

Каждое устройство создается на основе ESP8266. Запитываться будет либо от сети либо от батарейки. Если батарейки не будет хватать хотя бы на полгода, то придется подумать как это решить (тут мне подсказывают, что ZigBee позволяет создавать более экономные устройства, чем Wi-Fi, но ZigBee более сложный, чем Wi-Fi).

В качестве голового помощника выбраны Siri и Алиса. Siri очень легко подключается. Алиса чуть сложнее. Остальные голосовые помощники отпали, т.к. информации по ним практически нет. Да и на айфоне кроме Siri и Алисы никого нету.

Если не подключается…

Проверьте, подключилось ли ваше устройство к облачному серверу

Зайдите на страницу списка токенов в личном кабинете сайта RemoteXY. В списке токенов посмотрите какое значение указано в колонке «Состояние устройства». Если устройство подключилось к облачному серверу, значение должно быть «Connected». Попробуйте обновить страницу.

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

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

Если устройство не подключилось к облачному серверу, ошибку необходимо искать в самом устройстве или его настройках.

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

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

Проверьте наличие правильно загруженной программы

Вы можете проверить наличие связи между Arduino и ESP8266 используя Serial Monitor, который можно открыть во вкладке Tools в Arduino IDE.

Откройте Serial Monitor и установите скорость 115200. Нажмите кнопку сброса на плате Arduino.

Если после сброса Arduino в Serial Monitor нет никаких сообщений, это скорее всего означает, что Arduino не выполнят вашу программу. Возможно:

  • нужный скетч не был загружен;
  • ваша Arduino не включена;
  • Serial Monitor не подключился к Arduino;
  • с вашей Arduino что то не так;
  • внесены недопустимые изменения в код, например откорректирована структура RemoteXY или массив RemoteXY_CONF, удалены вызовы функций RemoteXY_Init() или RemoteXY_Handler()

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

Проверьте связь между Arduino и ESP8266

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

Если вы видите только повторяющиеся команды «AT», это означает что нет связи между Arduino и ESP8266.

Связь может отсутствовать по разным причинам. Ниже перечислены основные:

  • контакты RX и TX подключены не верно, перепутаны контакты, или подключены не к тем контактам, или не подключены совсем;
  • скорость передачи данных не совпадает, ESP8266 по умолчанию использует скорость 115200;
  • нет питания на ESP8266, при подаче питания на ESP8266 должен светиться красный светодиод;
  • не хватает мощности источника питания 3.3 В для ESP8266;
  • модуль ESP8266 неисправен.

Проверьте, подключается ли ESP8266 к точке доступа

Если после сброса Arduino в Serial Monitor вы видите последовательность команд, но последняя команда, это AT+CWJAP и далее ничего не происходит, это означает что модуль не может зарегистрироваться в вашей WiFi сети с указанным SSID и паролем:

Проверьте, подключается ли ESP8266 к облачному серверу

Если после сброса Arduino в Serial Monitor вы видите последовательность команд, но последняя команда, которую вы видите является AT+CIPSTART и далее она периодически повторяется примерно раз в минуту, это означает что недоступен облачный сервер. Возможно указан неверно URL сервера или порт. Возможно ваша точка доступа WiFi не подключена к интернету.

Если периодически раз в минуту повторяются две команды AT+CIPSTART и AT+CIPSEND, это означает, что сервер доступен, но токен был отклонен сервером, как незарегистрированный.

Проверьте прошивку ESP8266

Если после сброса Arduino в Serial Monitor вы видите только начало последовательности команд, но нет завершающей команды AT+CIPSERVER=1,6377 это означает, что модуль ESP8266 имеет устаревшую прошивку. Требуется обновление прошивки.

Проверьте питание ESP8266

Так же возможно, что вашей ESP8266 не хватает мощности источника питания. Некоторые платы Arduino имеют слабый стабилизатор напряжения 3.3 В, который не способен выдавать 200-300 мА в пиковых режимах. В этом случае в Serial Monitor вы так же увидите обрыв последовательности команд.

How to use ESP12E WiFi Module

To control the device there are two methods, Arduino and FTDI. The Arduino uses UART communication to communicate with ESP12E.

ESP12E is a family of ESP8266. So, Arduino IDE uses “Generic ESP8266” for ESP12E. To upload the device Arduino requires the UART communication pins RX and TX only. During the use of ESP12E, there won’t be any library. The module can operate with the same language Arduino board uses; the PINs will help to communicate through Arduino programming. For Example, to use the built-in LED the following code will help to blink the led.

In Arduino IDE, if the built-in LED is unknown the LED_BUILTIN will help to initialize the LED pin. There are other protocols in the ESP 12E but to control them Arduino uses external libraries. ESP 12E will require the external libraries to control the other protocols like SPI, WIFI, I2C, HTTP, etc. The module is useable as a master and slave. To use the master/slave the different programming will require. These are the most common libraries in ESP8266.

ESP12E WiFi Module Command Mode 

The module also comes with command mode. It comes with command mode by default. The command mode uses the baud rate of 115200. The Arduino COM monitor is useable for command mode. The following commands will help to send the data to the module to affect the default setting.

  • AT – To check the module connectivity.AT+RST – To reset the ESP12E through command
  • AT+GMR – Generate the list of firmware installed.
  • AT+CWLAP – To list out all available networks in the range of the ESP
  • AT+CWJAP=” SSID”,” PASSWORD” – Add manual data of a WiFi network to connect the module with it.
  • AT+CWJAP=””,”” Disconnect the module from any WiFi connection
  • AT+CIFSR – Generate the connect IP and the Mac Address.
  • AT+CWMODE= – To set the WiFi modes of the ESP12E
  • AT+CWMODE? – It will decide the ESP function, how it is going to act. If WiFi needs to act as a WiFi station then 1 will require. To make it a WiFi access point the 2 will do that. The module can act as a hybrid, to makes it hybrid use the 3 with the command and WiFi will help to make it.

ESP-12E Pinout Diagram

The ESP12E WiFi Module is the best module for WiFi communication. It is because of its onboard microcontroller which generates multiple pins. The pins of ESP12E is a stand-alone device. It is just like a microcontroller with WiFi in a small size. There is a total of 22 pins which offer multiple kinds of communication and all of them are:

GPIO Pins

There is a total of 11 I/O pins. Therefore, these pins can perform multiple kinds of input and output functions that are interfaceable with all the TTL/CMOS devices. All GPIO pins are:

  • Pin4 – GPIO16
  • Pin5 – GPIO14
  • Pin6 – GPIO12
  • Pin7 – GPIO13
  • Pin11 – GPIO9
  • Pin12 – GPIO10
  • Pin16 – GPIO15
  • Pin18 – GPIO0
  • Pin19 – GPIO4
  • Pin20 – GPIO5

UART Communication Pins

The devices ESP 12E is programmable with UART communication in many IDE. Those UART pins are usable after even programming. Both pins are:

  • Pin 21 – RXD0
  • Pin 22 – TXD0
  • Pin15 – RTS
  • Pin13 – CTS
  • Pin2 – TXD

ESP12E SPI Communication Pins

The module offers direct SPI communication with itself. This communication uses four pins for proper communication, which are:

  • Pin12 – CS0
  • Pin10 – MISO
  • Pin9 – MOSI
  • Pin14 – SCLK

I2C

In ESP12E some GPIO pins are useable for I2C communication. In this communication, only two pins help to communicate. One for clock and other for data. Therefore, in ESP, both are:

  • Pin14 – SCL
  • Pin2 – SDA

I2S

It isn’t common in every device. The I2S helps to collect, process and transmit the audio signal. The I2S uses 6 pins and in ESP 12E all I2S pins are:

  • Pin12 – I2SI_DATA
  • Pin13 – I2SI_BCK
  • Pin14 – I2SI_WS
  • Pin15 – I2SO_BCK
  • Pin3 – I2SO_DATA
  • Pin2 – I2SO_WS

PWM

In every controller, the ESP 12E can convert it every pin into PWM pins through programming. There are three specifics for the PWM signal. All these pins are:

  • Pin12
  • Pin13
  • Pin15

IR Interface

The IR interface uses modulation and demodulation which requires NEC coding. The ESP12E is interfaceable using the IR interface pins and it is specific to these pins:

  • Pin5 – IR_R
  • Pin14 – IR_T

The device has a 10-bit ADC pin, which uses 0-1V range to convert the analog data to digital data.

Pin2

Power and Control Pins

Power : ESP12E uses the VCC pin to power up the whole module and the ground pin to make the common ground with power supply and other devices

  • Pin8 – VCC
  • Pin15 – GND

Enable: The devices have an internal digital switch. The enable pin will receive the digital HIGH signal to activate the chip.

Pin3

Reset: To reset the device the digital will help to reset it through the LOW state. The reset pin is the first pin of the module is:

Pin1

NodeMCU на базе esp8266

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

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

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

Описание WeMos D1 R2

Плата WeMos D1, которая производится в Китае, выполнена на основе WiFi модуля ESP8266 ESP-12. На модуле имеется разъем под внешнюю WiFi антенну – благодаря этому можно расширить площадь покрытия сетью. Программирование платы осуществляется с помощью стандартной среды разработки Arduino IDE. Контроллер включает в себя процессор, периферию, оперативную память и устройства ввода/вывода. Наиболее часто микроконтроллеры применяются в компьютерной технике, бытовых приборах и других электронных устройствах. WeMos отличается дешевой стоимостью и простотой подключения и программирования.

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

  • Входное напряжение 3,3В;
  • 11 цифровых выходов;
  • Микро USB выход;
  • 4 Мб флэш-памяти;
  • Наличие WiFi модуля;
  • Частота контроллера 80МГц/160МГц;
  • Рабочие температуры от -40С до 125С.

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

Распиновка модуля WeMos D1

  • TX;
  • RX;
  • GND земля;
  • 5В;
  • 3v3;
  • RST – reset, кнопка сброса;
  • D0 – D8 –порты общего назначения GPIO. Все пины, кроме D0, поддерживают прерывание, ШИМ, I2C.

ESP-07

Особенности этого модуля — керамическая антенна и разъем для внешней антенны, металлический экран.

Подключение к IoT

Аппаратная часть

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

1) Собираем схему

ESP-07

USB-Serial

VCC

VCC

CH_PD (рекомендуется через резистор)

VCC

TX

RX

RX

TX

GND

GND

GPIO 15 (рекомендуется через резистор)

GND

GPIO 0 — сначала не подключен, но будет использоваться для перевода в режим программирования далее, поэтому к нему уже подведен провод

все остальные контакты не подключены

RTS, CTS — не подключены

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

2) Переводим в режим программирования (необходимо каждый раз выполнять перед прошивкой модуля)

2.1) Отключаем питание от модуля2.2. Подключаем пин GPIO 0  к GND

2.2) Подключаем пин GPIO 0  к GND

ESP-07

USB-Serial

VCC

VCC

CH_PD

VCC

TX

RX

RX

TX

GND

GND

GPIO 15 

GND

GPIO 0

GND

все остальные контакты не подключены

RTS, CTS — не подключены

2.3) Подключаем модуль к питанию

2.4) Железо готово, приступаем к программной части.

Программная часть

1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Generic ESP8266 Module.

2) Вставляем подготовленный код.

3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.

4) Компилируем и загружаем скетч на плату.

5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.

6) Переподключаем питание ESP-07 (например, вытаскиваем и вставляем обратно адаптер).

7) Видим появление данных на платформе.

В Китае

Схема прошивки

Улучшенная схема прошивки для модуля ESP-01 показана на следующей принципиальной схеме; в первоначальный дизайн было внесено несколько изменений:

  1. постоянное напряжение питания 3,3 В больше не снимается с преобразователя USB-TTL. Некоторые преобразователи не обеспечивают достаточный ток для надлежащей работы ESP8266, особенно когда он находится в режиме передачи Wi-Fi. Следует использовать отдельный, хорошо фильтруемый и стабилизированный источник питания 3,3 В постоянного напряжения, способный обеспечивать ток не менее 500 мА;
  2. конденсаторы C1 и C2 были добавлены для снижения уровня шума на шине питания. Они должны располагаться как можно ближе к выводам Gnd и Vcc ESP8266;
  3. R2 и R3 – это подтягивающие резисторы, которые были добавлены для того, чтобы выводы GPIO2 и GPIO0 ESP8266 никогда не «висели в воздухе».

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

Схема программатора ESP8266

Улучшенная схема прошивки показана собранной на макетной плате на следующих фотографиях. Первая фотография показывает всю схему со вставленным модулем ESP-01; вторая фотография показывает схему без модуля ESP-01, чтобы показать места установки C2, R2 и R3

Обратите внимание, что цвета проводов на схеме соответствую обозначениям цветов на принципиальной схеме

Программатор, собранный на макетной плате, с установленным модулем ESP-01

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

Печатная плата в левом верхнем углу макета – это преобразователь USB-TTL. Как вы видите, он вставлен непосредственно в макетную плату с помощью 6-пинового разъема Dupont, который установлен на нижней стороне платы. Вы можете модифицировать свой USB-TTL конвертер для установки именно таким же способом, или вы можете использовать для соединений отдельные провода. Что бы вы ни выбрали, обязательно следуйте схеме при соединении выводов

Обратите внимание, что требуются только три линии: RxD от преобразователя до TxD на ESP-01, TxD от преобразователя до RxD на ESP-01, и общий корпус

Несмотря на то, что преобразователь USB-TTL не используется для питания ESP-01, убедитесь, что преобразователь настрое на работу с постоянным напряжение 3,3 В, чтобы уровний напряжений сигналов не превышали допустимые значения ESP8266. Любое напряжение выше 3,3 В, поданное на ESP8266, может привести к его повреждению.

Программатор, собранный на макетной плате, с изъятым модулем ESP-01

На фотографии, приведенной выше, модуль ESP-01 был изъят из макета, чтобы показать самодельный адаптер для ESP-01. На фотографии ниже слева показан почти такой же адаптер, а справа – адаптер от Addicore. Они работают одинаково и облегчают использование модуля ESP-01 на беспаечной макетной плате или любом подобном устройстве с разъемами с шагом 0,1 дюйма (2,54 мм).

Адаптеры для подключения ESP-01 к беспаечной макетной плате

Как только вы завершите сборку своего программатора, настанет время для тестирования. Но перед подключением USB кабеля или подачей питания перепроверьте разводку, особенно линии питания. Лучше потратить несколько дополнительных минут, чем повредить что-либо из-за неправильной разводки.

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

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

Затем подайте на программатор питание 3,3 В постоянного напряжения. Вы должны увидеть пару вспышек синего светодиода на модуле ESP-01, а красный светодиод на модуле должен гореть постоянно.

Теперь нажмите и отпустите SW1 (кнопка сброса); синий светодиод должен замигать. Затем нажмите и отпустите SW2 (кнопка программирования); не должно произойти ничего заметного.

Если всё идет по плану, ваша схема прошивки, вероятно, работает правильно. Настало время выполнить окончательную проверку: ответит ли ESP8266, когда вы обратитесь к нему?

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

Если у Вас уже есть собственный домен и DNS, тогда вы должны создать DNS запись типа А и вписать туда общедоступный IP-адрес VPS. После этого можете переходить к следующему пункту.

Если у Вас еще нет собственного домена, то идем на Freenom.com (кредитная карта не понадобится) подбираем свободный домен и регистрируем его. Большинство доменов, даже 4-х буквенные бесплатны, кроме премиальных (по мнению авторов сервиса). Регистрация аккаунта происходит в момент регистрации домена, также пусть вас не смущает кнопка Оформить заказ — да, для регистрации бесплатного домена нужно оформить заказ. Еще не забудьте указать, что регистрируете домен на 12 месяцев (по умолчанию регистрируют только на 3).

Регистрация бесплатного домена

В момент регистрации домена (на большом мониторе, а не на маленьком как у меня на скриншоте) вы можете сразу указать общедоступный IP адрес вашей виртуалки для нового доменного имени. Указать его нужно два раза (обычно для каждого WEB сервера создается две DNS записи: первая только с именем домена и вторая www.+имя домена). Если у Вас нет поля для ввода IP адреса при регистрации, то ничего страшного, Вы сможете это сделать после регистрации.

После регистрации домена и аккаунта на freenom нужно залогиниться и перейти в меню Services — My Domains — напротив Вашего домена нажать Manage Domain, выбрать вкладку Manage Freenom DNS, ввести два раза общедоступный IP-адрес в поле Target и сохранить изменения.

Дальше можете подождать и попить кофе пока обновится кэш DNS.

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

Собираем всё вместе

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

Соберите макет, как показано на рисунке, но не подключайте кабель USB-TTL конвертера к компьютеру, пока не установите перемычку на плате конвертера в положение 3,3В, и дважды перепроверьте правильность всех соединений. Использование 5В для питания ESP-01 может вывести модуль из строя, после чего тот не будет подлежать ремонту.

Схема подключения модуля ESP-01 к компьютеруМакет подключения модуля ESP-01 к компьютеру (вид сверху)Макет подключения модуля ESP-01 к компьютеру (вид спереди)Макет подключения модуля ESP-01 к компьютеру (вид сзади)

Для сборки макета вам может понадобиться дополнительная информация:

  • USB-TTL конвертер, показанный на фотографиях, использует UART микросхему FTDI232 и хорошо работает с операционными системами Windows, Mac и Linux. Он также предоставляет напряжение 3,3В для питания ESP-01. Убедитесь, что перемычка на печатной плате преобразователя установлена в положение 3,3В; что обеспечит как напряжение питания 3,3В, так и правильное напряжение на линии TxD. Использование более высокого напряжения может повредить ESP-01.
  • Независимо от того, какой USB-TTL конвертер вы решите использовать, он должен быть проверен перед использованием с ESP-01. Драйвера устройств на FTDI можно найти на сайте FTDI.
  • Величина тока, необходимого для ESP-01 во время работы Wi-Fi, варьируется от 250 мА до 750 мА. Ток, поставляемый USB-TTL преобразователем, должен быть достаточным для программирования ESP-01, но может оказаться недостаточным для длительного использования. Лучшим выбором является стабилизированный источник постоянного напряжения 3,3В, рассчитанный на ток 1 А и выше.
  • Выводы DTR и CTS USB-TTL конвертера остаются неподключенными.
  • Два коммутатора на схеме – это нормально разомкнутые однополюсные кнопки.
  • Одним из расхождений в доступных источниках информации об ESP-01 является то, должен ли CH_PD быть подключен к +3,3В напрямую или через подтягивающий резистор 10 кОм. Автор протестировал оба способа, и оба они работают. После того, как вы собрали и проверили схему, как показано здесь (с CH_PD, подключенным к +3,3В напрямую), попробуйте использовать подключение через резистор 10 кОм. Если схема работает с подтягивающим резистором 10 кОм, то оставьте его в схеме.

Как видите на приведенных выше фотографиях, использование свободных проводов от USB-TTL конвертера не оптимально. Лучшим вариантом является замена шести загнутых выводов разъема конвертера на шесть прямых выводов на нижней части печатной платы. Эта модификация позволит устанавливать преобразователь USB-TTL непосредственно в беспаечную макетную плату, что приведет к значительно более аккуратной и менее хрупкой сборке макета, как показано на фотографии ниже.

Альтернативная сборка макета подключения ESP-01 к компьютеру

Включение питания

Перед подключением USB-TTL конвертера к компьютеру убедитесь, что перемычка выбора напряжения находится в положении 3,3В, и что все провода в макете установлены правильно и надежно. Затем подключите USB кабель; красный светодиод на ESP-01 должен загореться и продолжать гореть, а синий светодиод должен мигать каждый раз, когда между ESP-01 и компьютером происходит обмен данными. Затем проверьте кнопку сброса, нажав и удерживая ее. Посмотрите на ESP-01, когда вы отпустите кнопку, синий светодиод должен мигнуть два раза. Если всё прошло хорошо, отключите схему от компьютера и перейдите к следующему разделу.