Coolterm на русском


Подключение и настройка Wi-Fi модуля ESP8266

Здравствуйте, я сегодня Вас познакомлю с Wi-Fi модулем ESP8266 и расскажу как его подключить к ПК и произвести первоначальную настройку с помощью AT-команд (базовая прошивка работает с AT-командами)

Возможно два варианта использования модуля:

  1. Использование платы ESP-01 совместно с доп.микроконтроллером или ПК, который будет управлять модулем по UART.
  2. Написание собственной прошивки для чипа ESP8266 и его использование как самодостаточного устройства.

Мы сегодня будем использовать вариант №1 с типом модуля ESP-01 на чипе ESP8266.

Wi-Fi модуль ESP8266 (ESP-01)

Основные характеристики Wi-Fi модуля ESP8266:

  • поддержка WiFi протоколов 802.11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • встроенный стек TCP/IP
  • встроенный TR переключатель, balun, LNA, усилитель мощности и соответствие сети
  • встроенный PLL, регуляторы, и система управления питанием
  • выходная мощность +20.5 дБм в режиме 802.11b
  • поддержка диверсити антенн
  • ток утечки в выключенном состоянии до 10 мкА
  • SDIO 2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4μs guard interval
  • пробуждение и отправка пакетов за время до 22 мс
  • потребление в режиме Standby до 1.0 мВт (DTIM3)
  • размеры: 24.5х14 мм

Контакты (пины) Wi-Fi модуля ESP8266:

Распиновка Wi-Fi модуля ESP-01

  • Vcc — питание, +3,3В (максимум 3,6В)
  • GND — общий
  • TXD — передача данных (уровень 3,3В)
  • RXD — приём данных (уровень 3,3В)
  • CH_PD — выключение модуля (низкий уровень активный, для включения модуля следует подать Vcc)
  • GPIO0 — 0 вывод общего назначения
  • GPIO2 — 2 вывод общего назначения
  • RST — сброс модуля (низкий уровень активный)

Больше информации об распиновке других модулей вы сможете посмотреть на странице Распиновка ESP8266

Где купить Wi-Fi модуль ESP8266 (ссылки на продавцов):

AliExpress.com Product — ESP8266 Serial Esp-01 WIFI Wireless Transceiver Module Send Receive LWIP AP+STA

Схема подключения Wi-Fi модуля ESP-01 к компьютеру

Для подключения платы к компьютеру я использовал USB TTL конвертер BAITE BTE13-009 , данная модель удобна тем, что там есть регулировка уровней 5в\3.3в , что очень удобно.

Подключаем все как на картинке, и в конвертере выставляем режим 3.3 вольта.  Для нормальной работы пин CH_PD (Wi-Fi модуль) должен быть подтянут к Vcc ( USB TTL конвертер).

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

Желательно подключить к Vcc и GND дополнительное питание от внешнего источника на 3.3в (Wi-Fi модулю питания только от конвертера не хватает)

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

Приложение CoolTerm

потом в всплывающем окне в вкладке Serial Port выбираем наш COM порт  и скорость передачи данных.

Выбор порта и скорости (на скрине значения по умолчанию)

Некоторые модули ESP8266 работают на скорости 57600 или 9600, модули с новой прошивкой на скорости 115200 бод. После этого переходим на вкладку Terminal и в строке Terminal Mode выбираем режим работы Line Mode и жмем OK

Настройка режима работы терминала

Потом в главном окне программы жмем Connect

при удачном подключении введем в строке ввода команду «АТ» и нажмем ENTER на клавиатуре для отправки команды

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

Проверка версии AT и SDK

Отправляем команду  AT+GMR

Проверка версии AT и GMR

Как видим, на скрине отобразилась вся информация об прошивке ESP8266

Подключение ESP8266 к точке доступа

Переведем наш Wi-Fi модуль в режим работы 1 — STA .

Отправляем команду AT+CWMODE=1 

Режим работы STA

Теперь просмотрим все доступные Wi-Fi точки доступа для подключения

Отправляем команду AT+CWLAP

Список доступных Wi-Fi точек доступа

В скобках указывается: SECURITY, SSID, RSSI, BSSID, CHANNEL (режим безопасности, имя точки доступа, уровень сигнала, MAC-адрес, канал передачи данных)Режим безопасности SECURITY может принимать значения:0 — OPEN, 1 — WEP, 2 — WPA-PSK, 3 — WPA2-PSK, 4 — MIXED (WPA-WPA2-PSK)

Подключаемся к нашей сети (точке доступа)

Отправляем команду AT+CWJAP =»SSID»,»PASSWORD»

В скобках указывается: SSID (имя точки доступа), PASSWORD (пароль)

Подключение к точке доступа «arduino-project.net» с паролем «11111111»

Просмотр IP и MAC адреса нашего Wi-Fi модуля ESP8266

Отправляем команду AT+CIFSR

Информация об IP и MAC адресах

Полученные строки:

  1. +CIFSR:STAIP,»192.168.0.111″    наш IP адрес
  2. +CIFSR:STAMAC,»18:fe:34:a4:e6:ae»   наш MAC адрес

Отключение от точки доступа

Отправляем команду AT+CWQAP

Отключение от точки доступа

Наш Wi-Fi модуль ESP8266 отключился от точки доступа arduino-project.net и теперь его можно подключить к другой доступной точке доступа, или перевести в другой режим работы.

Режим работы ESP8266 Soft-AP (точка доступа)

Переведем наш Wi-Fi модуль в режим работы 2 -AP .

Отправляем команду AT+CWMODE=2

Режим точки доступа

Создаем свою Wi-Fi точку доступа.

Отправляем команду AT+CWSAP=»SSID»,»PASSWORD»,CHANNEL,SECURITY

В скобках указывается: SSID, PASSWORD, CHANNEL, SECURITY (имя точки доступа, пароль, канал передачи данных и номер режима безопасности)Режим безопасности SECURITY может принимать значения:0 — OPEN, 1 — WEP, 2 — WPA-PSK, 3 — WPA2-PSK, 4 — MIXED (WPA-WPA2-PSK)

Создание точки доступа “test” с паролем “pass0000”

теперь открываем окно с нашими Wi-FI подключениями на компьютере, и видим что у нас появилась точка доступа test в списке доступных сетей.

Точка доступа test

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

успешное подключение к test

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

Состояние и сведения о сетевом подключении

Просмотр IP и MAC адреса нашей точки доступа

Отправляем команду AT+CIFSR

Информация об IP и MAC адресе точки доступа

Полученные строки:

  1. +CIFSR:APIP,”192.168.4.1″    IP адрес точки доступа
  2. +CIFSR:APMAC,»1a:fe:34:a4:e6:ae»  MAC адрес точки доступа

Список клиентов точки доступа

Отправляем команду AT+CWLIF

Список клиентов точки доступа test

На этом все, в следующей статье я расскажу более подробно как настроить режимы TCP-клиента и TCP-сервера …

 

arduino-project.net

CoolTerm - Free download and software reviews

5 stars

{ review.getRatingValue }}

"Yeah Baby !!"

"Yeah Baby !!"

mike97739 March 06, 2013  /  Version: CoolTerm 1.4.2

2013-03-06 20:09:01  |  By mike97739

Pros

After struggling for two days to log data from my arduino to a text file I downloaded coolterm. Five minutes after installing the program I was logging data. Really easy to use. No learning curve.Thanks Roger !!

Cons

none that I noticed

Reply to this review

Was this review helpful? -101   -101  

5 stars

{ review.getRatingValue }}

"Roger Saved the Day"

"Roger Saved the Day"

Ted Miller September 22, 2011  /  Version: CoolTerm 1.4.0

2011-09-22 07:46:24  |  By Ted Miller

Pros

Windows 7 dropped their hyperterm, but thankfully Roger provided something much better. Easy to learn and use!

Cons

None that I can think of.

Summary

We use this program to talk with machines and has performed better then expected. It was very easy to learn. Who is it that said that nothing good can come from BASIC? Even now I am considering on getting Dark BASIC myself. Thank you Roger very much for this GEM that came about the right time. I hope that in a future edition that the changing of a CommPort, Baud Rate and Flow Control could be on the main GUI interface. Along with "Run" and "Stop" buttons with a repetitions input. Also perhaps with a two pane window, one that is an Editor and the other as a Terminal. This configuration would help in the quick test of Comm ports with a loopback. Also this could be helpful in snappy edit and results of edit.

Reply to this review

Was this review helpful? -101   -101  

2 stars

{ review.getRatingValue }}

"Close but no cigar"

"Close but no cigar"

pderocco April 01, 2011  /  Version: CoolTerm 1.3.1

2011-04-01 17:38:04  |  By pderocco

Pros

Basically, it's what I wanted: a program to talk to COM ports only.

Cons

Uses control characters for local hotkeys (e.g., Ctrl-S to save), so there's no way to type the control characters for transmission.

Summary

For me, the abovementioned con was a deal-breaker, making the program useless.

Reply to this review

Was this review helpful? 012   012  

5 stars

{ review.getRatingValue }}

"a really great program"

"a really great program"

JoergL August 25, 2010  /  Version: CoolTerm 1.1.2

2010-08-25 03:09:45  |  By JoergL

Pros

It is very easy to use and has all the usual functions

Cons

there is nothing negative

Reply to this review

Was this review helpful? -101   -101  

Please Wait

download.cnet.com

CoolTerm for Windows 1.3.0 - Free CoolTerm for Windows Download at

CoolTerm for Windows Publisher's description

from Roger Meier

CoolTerm is an easy-to-use terminal for communication with hardware connected to serial ports.

CoolTerm is an easy-to-use terminal for communication with hardware connected to serial ports.

CoolTerm is a simple serial port terminal application (no terminal emulation) that is geared towards hobbyists and professionals with a need to exchange data with hardware connected to serial ports such as servo controllers, robotic kits, GPS receivers, microcontrollers, etc.

The features of CoolTerm include:

- Capability of multiple concurrent connections if multiple serial ports are available.

- Display of received data in plain text or hexadecimal format.

- Sending data via keypresses as well as a "Send String" dialog that supports data entry in plain text or hexadecimal format.

- Sending data via copy-paste of text into the terminal window.

- Sending of text files.

- Capability of capturing received data to text files.

- Local echo of transmitted data.

- Local echo of received data (loop back to sender).

- Hardware (CTS, DTR) and software flow control (XON).

- Optical line status indicators.

- Capability of manually toggling line states of certain handshaking signals when hardware flow control is disabled.

- Configurable character and line delays.

- Capability of saving and retrieving connection options.

- and more...

INSTALLATION============CoolTerm comes without an installer and can be placed anywhere on the harddrive as long as the correct folder structure is maintained. I.e. for the Windows version the "CoolTerm Libs" folder must reside in the same location as the "CoolTerm.exe" executable.

HOW TO USE IT=============Please refer to the built-in help.

What's New in This Release:
New features:

- Added a transmit line delay option which adds a specified delay after certain characters such as new line characters (configurable).

- Added a transmit character delay option (configurable).

- Added a "Connection/Send Break" menu item for sending serial breaks.

- Added the option to play a notification sound after a text file has been sent.

- Added auto-connect feature.

- Added the .hex file extension to the "Text Files" file type set (for the "Send Text File" dialog).

- It is now possible to have default settings loaded at startup and when a new terminal window is opened. If a default.stc settings file exsists in the application folder of CoolTerm, it will be applied to new terminal windows.

- Added a menu item to save current settings as default settings.

Improvements:

- Pressing ENTER or RETURN in the connection settings dialog now envokes the "Ok" button, even if a textfield is currently selected.

- Pressing ESC in the connection settings dialog now envokes the "Cancel" button, even if a textfield is currently selected.

- Pressing Shift+ENTER or Shift+RETURN now invokes the "Send" button in "Send String" windows.

- Improved handling of command line arguments.

- The values for "Receive Buffer Size" and the character and line delays are now limited to a range from 0 to a maximum value (2,147,483,647 and 10,000, respectively).

- When a "Send String" window is opened, the text field now receives focus automatically.

- Improved exception handling and error reporting.

- Improved behavior of the command history buffer and menu.

- GUI improvements.

Fixes:

- Fixed a bug that allowed opening multiple "Save As..." for the same Terminal window dialogs on Windows.

- Fixed a bug that could cause a StackOverflow on serial port errors due to calling port.flush

- Fixed bug that could cause a crash when sending empty strings via a "Send String" window.

- (Win) Fixed issue that would allow the terminal window to be activated via the taskbar when the connection options window is open.

- Several minor bug fixes.

System Requirements:
No special requirements. Program Release Status: Program Install Support: Install and Uninstall

www.downloadplex.com

ESP8266 / ESP8266 / stD

Описание, подключение, настройка и работа.

Что такое ESP8266

ESP8266 — это высокоинтегрированный, микроконтроллер с интерфейсами WiFi, SPI, UART и GPIO, производства китайской компании Espressif.

Схема чипаХарактеристики

поддержка WiFi протоколов 802.11 b/g/n Wi-Fi Direct (P2P), soft-AP встроенный стек TCP/IP встроенный TR переключатель, balun, LNA, усилитель мощности и соответствие сети встроенный PLL, регуляторы, и система управления питанием выходная мощность +20.5 дБм в режиме 802.11b ток утечки в выключенном состоянии до 10 мкА SDIO 2.0, SPI, UART STBC, 1×1 MIMO, 2×1 MIMO пробуждение и отправка пакетов за время до 22 мс потребление в режиме Standby до 1.0 мВт (DTIM3)

Распиновка чипа

В данное время на этом чипе реализовано несколько модификаций плат (ESP01 — ESP12) различающихся только формой, количеством выведенных GPIO и вариантами антенн.

ESP01 - 12ESP-01 — самый распространённый, выведены два GPIO, дальность действия — до 400м на открытом пространстве.

ESP-02 — тоже самое, только с возможностью подключения внешней антенны.

ESP-03 — керамическая антенна, выведены все GPIO.

ESP-04 — без внешней антенны, выведены все GPIO.

ESP-05 — выведены только VCC, GND, TX, RX, RST и внешняя антенна.

ESP-06 — контакты расположены снизу, сверху металлический экран.

ESP-07 — керамическая антенна + разъем для внешней антенны, металлический экран.

ESP-08 — тоже самое, но без антенн.

ESP-09 — крохотный модуль — 10х10мм, контакты расположены снизу.

ESP-10 — тоже маленький модуль, выведены только два GPIO.

ESP-11 — с керамической антенной.

ESP-12 — с flash-памятью 512 кбайт.

Схема модуляЧто может модуль ESP

Описание будет вестись на основе популярной модели ESP-01. Всё написанное ниже, за исключением номеров GPIO, применительно к любой модификаций.

С базовой прошивкой модуль ESP используется в виде моста UART <-> WIFI.

Например:

ESP подключается к ардуине (UART <-> UART) и взаимодействует с ней при помощи AT-команд, а по каналу WIFI соединяется с любым wifi-устройством (планшет, роутер) при этом может работать в разных режимах — клиента, точки доступа, одновременно оба режима.

ESP подключается к ПК через конвертер usb-uart. Можно с ПК посылать АТ-команды модулю, а модуль в свою очередь будет пересылать их какому-то wifi-устройству.

С альтернативными прошивками, ESP может работать автономно. То есть использовать свои пины для управления чем-либо, например светом в комнате, а управляется по каналу WIFI, выступая в роли сервера.

(О прошивках ниже.)

Подключение

В первую очередь надо обеспечить надёжное питание. Внимание! ESP работает от напряжения 3,3v.

Модуль потребляет довольно-таки большой ток (до 300мА), и если подключить модуль к пину 3,3v на ардуине, то он будет постоянно перегружаться (красный и синий диоды будут моргать). Чтобы всё хорошо работало потребуется DC-DC преобразователь (5v > 3,3v), что-то типа этого:

На ebay стоит 50-70р.

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

Подключите питание — загорится красный диод. Подключите пин CH_PD на 3,3v — мигнёт синий диод. Это пин включения/отключения модуля (chip power-down).

В списке сетей wifi на Вашем телефоне/планшете, появится новое устройство с именем «AI-THINKER...». Можно подключится к нему, но толку от этого пока никакого не будет.

Кратковременное замыкание пина RST на GND перезагрузит модуль.

Свободные GPIO (0, 2) подключать не надо.

Если у Вас модуль не ESP-01, то надо подключить GPIO15 к GND.

Примечание. В дальнейшем, для повышения стабильности работы, нужно пин CH_PD подключать к 3,3v через резистор 10 кОм., RESET, GPIO (0, 2) тоже подтянуть к 3,3v резисторами 10 кОм., по питанию поставить электролит на 100-220 мкФ и керамику 0.1 мкФ.

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

Теперь надо подключить ESP-модуль к компьютеру посредством UARTа (RX, TX), выяснить скорость порта (может различаться для разных прошивок) и пообщаться с модулем АТ-командами.

Для этого подойдёт любой преобразователь USB-UART, можно воспользоваться например вот таким:

Нужно соединить RX и TX модуля с TX и RX преобразователя.

Уровни напряжения на пинах TX <-> RX можно не согласовывать, как показывает практика, всё отлично работает и так. Если это покажется неубедительным, то можно организовать простой резистивный делитель:

Если под рукой нет преобразователя (USB-UART), то его можно сделать из любой ардуины. Для этого надо соединить на ардуине RST и GND, а сигнальные линии соединить вот так:

TX <-> TX RX <-> RX GND <-> GND

Терминал

Далее нам потребуется программа-терминал, можно использовать бесплатную программу CoolTerm. (Lin & Win)

CoolTermСкачать, установить и запустить:

Нажать Options

Выбрать порт и скорость.

Нажать слева Terminal

Terminal Mode: Line Mode. Нажать ОК.

Нажать Connect

В нижнем поле ввести AT и Enter

Либо воспользоваться Serial Monitor из IDE Arduino.

Открываем Serial Monitor, выбираем Both NL & CR (последняя строчка), устанавливаем скорость 115200 и отправляем команду проверки связи — AT:

Вводите команды без пустых символов.

Модуль должен ответить ОК. Если ответа нет, то попробуйте другие скорости (9600, 57600), если ответа попрежнему нет, то проверьте правильность подключения (rx-tx).

Когда модуль начнёт откликаться, дайте команду перезагрузки — AT+RST

Модуль расскажет о себе.

Теперь нужно проверить версию «заводской» прошивки командой — AT+GMR

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

Прошивка

Сейчас речь пойдёт о «заводской» прошивке, альтернативные будут рассмотрены позже.

Скачиваем прошивку, я брал её здесь.

И скачиваем утилиту XTCOM для прошивки ESP.

Пользователи Linux, для работы с XTCOM, могут воспользоваться виртуальной машиной с установленой Windows. (В wine я не пробовал запускать.)

Отключаем питание платы, выводGPIO0 соединяем с GND, включаем питание.Именно так.

Запускаем XTCOM_UTIL.exe, переходим в Tools ⇨ Config Device:

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

Нажимаем Open

OK...

Нажимаем Connect

Программа должна сказать Connect with target OK!Если не коннектится, то закройте программу, отключите/включите питание модуля и повторите.

Жмём ОК, закрываем окно настроек, переходим в меню API TEST и выбираем Flash Image Download.

Указываем путь к скаченому файлу v0.9.5.2 AT Firmware.bin, адрес оставляем 0x00000, жмем DownLoad.

Загрузка…

Готово…Если что-то пошло не так, то отключаем/включаем питание и проделываем процедуру заново.

Отключаем питание платы, отключаем GPIO0, включаем питание, запускаем терминал (115200), проверяем готовность платы командой AT и версию прошивки командой AT+GMR.

АТ-команды

Список АТ-команд работающих с данной прошивкой и их применение.

------------------------------------------------------------------------------

AT — проверка работы, ответ ОК.

------------------------------------------------------------------------------

ATE0 — отключение эхо (повторение команды).ATE1 — включение эхо.

------------------------------------------------------------------------------

AT+RST — перезагрузка модуля.

------------------------------------------------------------------------------

AT+RESTORE — сброс модуля к заводским настройкам.

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

------------------------------------------------------------------------------

AT+GMR — версия прошивки.

------------------------------------------------------------------------------

AT+GSLP=3000 — переход в режим пониженного энергопотребления. (3 сек)Время задаётся в мс.

Для выхода из режима необходимо замкнуть выводы XPD_DCDC и EXT_RSTB (см. распиновка чипа) либо откл/вкл питание.

------------------------------------------------------------------------------

AT+CIOBAUD=115200 — установить скорость UART. (9600-921600)

После изменения переключите терминал.

------------------------------------------------------------------------------

AT+UART=115200,8,1,0,0 — специфичная настройка UART.

(baudrate,databits,stopbits,parity,flow control)

------------------------------------------------------------------------------

AT+CSYSWDTENABLE — активировать Watchdog.

AT+CSYSWDTDISABLE — деактивировать.

------------------------------------------------------------------------------ Установка режима WIFI:

AT+CWMODE=1 — клиент, подключается к другим точкам доступа.

AT+CWMODE=2 — точка доступа, к модулю подключаются клиенты.

AT+CWMODE=3 — оба режима одновременно, модуль подключается к существующим точкам (например к роутеру) и сам является точкой доступа. (смешанный режим)

AT+CWMODE? — узнать текущий режим.

AT+CWMODE=? — узнать возможные режимы.

------------------------------------------------------------------------------

AT+CIFSR — узнать ip-адрес и мас-адрес. В зависимости от режимов (AT+CWMODE) показывает один или два ip-адреса.

------------------------------------------------------------------------------

AT+CIPSTA? — посмотреть ip-адрес для режима «клиент» (AT+CWMODE=1)AT+CIPSTA=«192.168.3.20» — установить ip-адрес для режима «клиент» (AT+CWMODE=1) Необходимо исправить кавычки, вот так:

AT+CIPSTA="192.168.3.20"

AT+CIPSTAMAC? — посмотреть мас-адрес для режима «клиент» (AT+CWMODE=1)AT+CIPSTAMAC=«1a:fe:34:fe:55:55» — установить мас-адрес для режима «клиент» (AT+CWMODE=1). Требуется перезагрузка (AT+RST).

AT+CIPSTAMAC="1a:fe:34:fe:55:55"

------------------------------------------------------------------------------

AT+CIPAP? — посмотреть ip-адрес для режима «точка доступа» (AT+CWMODE=2)AT+CIPAP=«192.168.3.35» — установить ip-адрес для режима «точка доступа» (AT+CWMODE=2)

AT+CIPAPMAC? — посмотреть мас-адрес для режима «точка доступа» (AT+CWMODE=2)AT+CIPAPMAC=«1a:fe:34:fe:33:33» — установить мас-адрес для режима «точка доступа» (AT+CWMODE=2). Требуется перезагрузка (AT+RST).

------------------------------------------------------------------------------

AT+CWDHCP= — включает/выключает DHCP сервер.

Пример: AT+CWDHCP=0,0 — DHCP включён для режима «точка доступа».

Первый параметр — режимы: 0 — для точки доступа, 1 — для клиента, 2 — для смешаного режима. То есть можно для каждого режима (в отдельности) включать/отключать DHCP сервер, либо если модуль работает в «смешаном режиме» (AT+CWMODE=3), то можно.!!!

Второй параметр — вкл/откл: 0 — включить, 1 — отключить.

------------------------------------------------------------------------------

AT+CWLIF — показать ip-адреса подключенных клиентов (только для режимов AT+CWMODE=2 и AT+CWMODE=3).

------------------------------------------------------------------------------

AT+CWLAP — посмотреть доступные wifi-сети. (работает в режимах AT+CWMODE=1 и AT+CWMODE=3)

Значения в скобках — тип шифрования, имя точки, уровень сигнала, мас-адрес, канал.

Типы шифрования: 0 — без шифрования, 1 — WEP, 2 — WPA-PSK, 3 — WPA2-PSK, 4 — MIXED (WPA-WPA2-PSK).

------------------------------------------------------------------------------AT+CWJAP= — подключение к точке доступа:

На всякий случай перегрузите модуль — AT+RST

Установите режим AT+CWMODE=1 или AT+CWMODE=3.

AT+CWJAP=«nameap»,«parolparol» — подключение к роутеру (имя точки, пароль). (кавычки необходимо исправить)

AT+CWJAP="nameap","parolparol"

Подключение длится 5-6 секунд.

AT+CWJAP? — узнать подключён или нет, и к какой точке.

------------------------------------------------------------------------------

AT+CWQAP — отключиться от точки доступа (роутера).

------------------------------------------------------------------------------ Создание своей точки доступа с паролем (по дефолту точка открытая).

На всякий случай перегрузите модуль — AT+RST

Предварительно нужно отключиться от каких-либо точек доступа (например от роутера) — AT+CWQAP и установить режим — AT+CWMODE=2 или AT+CWMODE=3.

Даём команду:

AT+CWSAP=«myAP»,«parolmyap»,9,4 — где первое значение — имя будущей точки, второе — пароль, третье — канал и четвёртое — тип шифрования (0 — без шифрования, 1 — WEP, 2 — WPA-PSK, 3 — WPA2-PSK, 4 — MIXED (WPA-WPA2-PSK)).

AT+CWSAP="myAP","parolmyap",9,4

Посмотреть какой адрес у нашей точки — AT+CIFSR

Подключите Ваш «гаджет» к созданой точке и посмотрите какой он получил адрес — AT+CWLIF

------------------------------------------------------------------------------

Ниже описаны команды относящиеся к настройке TCP-сервера или TCP-клиента.

AT+CIPMODE= — устанавливается режим передачи данных для TCP-сервера или TCP-клиента.

В режиме TCP-сервера:AT+CIPMODE=0 — TCP-сервер может отправлять данные клиенту и может принимать данные от клиента.AT+CIPMODE=1 — TCP-сервер НЕ может отправлять данные клиенту, но может принимать данные от клиента.

В режиме TCP-клиента:AT+CIPMODE=0 — TCP-клиент может отправлять данные серверу и может принимать данные от сервера.AT+CIPMODE=1 — TCP-клиент НЕ может отправлять данные серверу, но может принимать данные от сервера.

AT+CIPMODE? — узнать режим.

------------------------------------------------------------------------------

AT+CIPMUX= — выбор режима одиночного или множественного соединения.

Зависит от AT+CIPMODE.

AT+CIPMUX=0 — с ESP, может соединится только один клиент. (single connection) Если в этот момент другой клиент запросит соединение, то получит таймаут.

AT+CIPMUX=1 — с ESP, могут одновременно соединяться несколько клиентов (до четырёх). (multiple connection)

AT+CIPMUX? — узнать режим.

------------------------------------------------------------------------------AT+CIPSTO — таймаут сервера. Команда даётся после старта сервера.

AT+CIPSTO=180 — таймаут 180 секунд. (от 0 до 7200)

AT+CIPSTO? — узнать таймаут.

------------------------------------------------------------------------------

Запуск TCP-сервера:

Предварительно нужно: На всякий случай делать ресет — AT+RST, или сброс (если Вы что-то там на настраивали) к заводским настройкам AT+RESTORE

Установим «смешанный режим» — AT+CWMODE=3

Установить сквозной режим передачи данных — AT+CIPMODE=0

Установить режим подключения — AT+CIPMUX=1 (multiple connection)

И запустить сервер:

AT+CIPSERVER=1,88 — сервер будет запущен на 88-ом порту.

Чтобы изменить номер порта, нужно остановить сервер — AT+CIPSERVER=0 и запустить с новыми параметрами.

Теперь можно посмотреть как работает сервер, для этого…

Узнаем адрес — AT+CIFSR

Далее подключаемся к ESP по Wifi с какого-нибудь гаджета, открываем браузер и заходим по адресу — 192.168.4.1:88

На странице конечно ничего не отобразится, но в терминале появятся строки запроса:

Активные соединения можно посмотреть командой — AT+CIPSTATUS

Принудительно закрыть соединение — AT+CIPCLOSE=0

Если соединений несколько, то указываем его id — AT+CIPCLOSE=1

Если модуль работает в режиме — AT+CIPMUX=0 (single connection), то команда закрытия соединения даётся без параметров — AT+CIPCLOSE

Это ещё не всё, хотелось бы увидеть полноценный обмен данными с нашим сервером. В этом поможет бесплатная программа (для Linux и Win) — SocketTest, скачайте её.

Далее нужно соединить компьютер и ESP по каналу wifi. У меня компьютер подключён к роутеру, поэтому ESP тоже подключается к этому роутеру.

Подключаем: (на всякий случай, подробности описаны выше)

AT+CWJAP="nameap","parolparol" Имя «точки» и пароль.

Смотрим какой адрес получил модуль ESP — AT+CIFSR

Теперь сервер будет работать на адресе — 192.168.1.87:88

Это адрес будем использовать в программе SocketTest.

Запустите её:

На вкладке «Client» вводим адрес 192.168.1.87 и порт 88, нажимаем «Connect».

Пользователям Win наверно придётся отключить файрволы.

В терминале будет будет написано «CONNECT».

Отправим в ESP какой-нибудь текст. Нажмите «Connect», в поле «Message» введите «Hello» и нажмите «Send».

В терминале увидим наш запрос:

+IPD — это признак полученных данных, 0 — это id клиента, 7 — это длина пакета, ну и содержимое пакета.

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

Изменить таймаут можно командой — AT+CIPSTO

Теперь отправим данные с ESP в SocketTest.

Нажмите «Connect» и в терминале введите команду:

AT+CIPSEND=0,13 — id соединения, длина пакета.

В терминале появится символ ввода >

Введите и отправьте строку «Hi Soket Test»:

В программе «SocketTest» появится наше сообщение.

С TCP-сервером разобрались, перейдём к TCP-клиенту...

------------------------------------------------------------------------------

Запуск TCP-клиента:

Сбросим все настройки — AT+RESTORE

Устанавливаем режимы:

AT+CWMODE=3

AT+CIPMODE=0

Подключаемся к Вашему роутеру:

AT+CWJAP="nameap","parolparol"

В программе SocketTest открываем вкладку «Server», вписываем ip-адрес Вашего компьютера, порт 88 и нажимаем кнопку «Start Listening»:

Переходим в терминал, устанавливаем режим — AT+CIPMUX=0 (single connection) и запускаем клиента:

AT+CIPSTART=«TCP»,«192.168.1.49»,88 — для протокола TCP.

Параметры: протокол — может быть TCP или UDP, адрес сервера с которым будем соединятся, порт.

Отправим серверу данные:

Даём команду — AT+CIPSEND=12 (указывается только длина пакета) Появится символ — > Введите и отправьте — Hello Server

Чтоб послать серверу ещё одно сообщение, нужно заново ввести AT+CIPSEND=12 и т.д.

SocketTest получил наше сообщение.

В поле «Message» введите «Hello Client» и нажмите «Send».

ESP получил сообщение.

Теперь поменяем режим клиента с AT+CIPMUX=0 (single connection) на AT+CIPMUX=1 (multiple connection) Нажимаем «Disconnect» в программе SocketTest (или в терминале командуем — AT+CIPCLOSE).

В терминале и даём команду AT+CIPMUX=1

Запускаем клиента:

AT+CIPSTART=0,«TCP»,«192.168.1.49»,88 — для протокола TCP. (добавился ещё один параметр — id соединения)

Параметры: id — от 0 до 4, протокол — может быть TCP или UDP, адрес сервера с которым будем соединятся, порт.

Отправляем данные серверу — AT+CIPSEND=0,12 (id соединения, длина пакета) Появится символ — > Введите и отправьте — Hello Server

Собственно всё то же самое, что и для «single connection», только появилась возможность нескольких соединений (до четырёх) одновременно.

------------------------------------------------------------------------------

Команды для управления GPIO

AT+CIOREAD=0 — читать ножку GPIO0AT+CIOREAD=2 — читать ножку GPIO2

AT+CIOWRITE=0,1 — подать напряжение на GPIO0AT+CIOWRITE=0,0 — снять напряжение с GPIO0

AT+CIOWRITE=2,1 — подать напряжение на GPIO2AT+CIOWRITE=2,0 — снять напряжение с GPIO2

Можно подключить светодиоды к GPIO через резисторы ~1kOm и помигать.

AT-команды.pdfСпецификация.pdf

Пример подключения:

Настраиваем работу модуля в режиме клиента, подключаемся к роутеру и запускаем TCP-сервер.

AT+RESTORE — к заводским настройкам.

AT+CWMODE=1 — режим клиента.

AT+CWJAP=«nameap»,«parolparol» — подключение к роутеру.

AT+CIPMODE=0 — Установить сквозной режим передачи данных.

AT+CIPMUX=1 — Мultiple connection.

AT+CIPSERVER=1,88 — запустить сервер.

AT+CIPSTO=3 — таймаут сервера 3 секунды.

AT+CIFSR — смотрим адрес который получил ESP от роутера.

Сервер работает на 192.168.1.87:88

И таки да, модуль может зависать (прошивка пока ещё «сыровата»), помогает обесточивание.

Статья получилась большая, поэтому описание подключения Ардуины к ESP читайте в следующей части.

Обсудить на форуме...

istarik.ru

ESP8266 и Arduino, подключение, распиновка / Geektimes

Привет geektimes. Тема ESP8266, как и IoT(интернет вещей), всё больше набирает популярности, и уже Arduino подхватывает инициативу — добавляя эти Wi-Fi модули в список поддерживаемых плат. Но как же его подключить к ардуино? И возможно как-то обойтись вообще без ардуино? Сегодня именно об этом и пойдёт речь в этой статье.

Забегая наперёд, скажу, что будет вторая статья, уже более практическая, по теме прошивки и программирования модуля ESP8266 в среде разработки Arduino IDE. Но, обо всём по порядку.

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

На данный момент, существует много разновидностей этого модуля, вот некоторые из них:

А вот распиновка ESP01, ESP03, ESP12:

* Данную картинку можно посмотреть в хорошем качестве на офф. сайте pighixxx.com.

Лично мне, больше всего нравится версия ESP07. Как минимум за то, что тут есть металлический экран (он защищает микросхемы от внешних наводок, тем самым обеспечивает более стабильную работу), своя керамическая антенна, разъём для внешней антенны. Получается, подключив к нему внешнюю антенну, например типа биквадрат, то можно добиться неплохой дальности. К тому же, тут есть немало портов ввода вывода, так называемых GPIO(General Purpose Input Output — порты ввода-вывода общего назначения), по аналогии с ардуино — пинов.

Давайте вернёмся к нашим баранам Wi-Fi модулям и Arduino. В этой статье, я буду рассматривать подключение ESP8266(модели ESP01) к Arduino Nano V3.

Но, данная информация будет актуальна для большинства модулей ESP8266 и так же разных Arduino плат, например самой популярной Arduino UNO.

Пару слов по ножкам ESP01:

Vcc и GND(на картинке выше это 8 и 1) — питание, на ножку Vcc можно подавать, судя по документации, от 3 до 3.6 В, а GND — земля (минус питания). Я видел, как один человек подключал этот модуль к двум AA аккумуляторам (напряжение питания в этом случае было примерно 2.7 В) и модуль был работоспособным. Но всё же разработчики указали диапазон напряжений, в котором модуль должен гарантированно работать, если вы используете другой — ваши проблемы.

Внимание! Этот модуль основан на 3.3 В логике, а Arduino в основном — 5 В логика. 5 В запросто могут вывести из строя ESP8266, потому на него нужно отдельно от ардуино подавать питание.

— На моей ардуинке есть ножка, где написано 3.3 В, почему бы не использовать её?

Наверное подумаете вы. Дело в том, что ESP8266 довольно таки прожорливый модуль, и в пиках может потреблять токи до 200 мА, и почти никакая ардуинка по умолчанию не способна выдать такой ток, разве что исключением является Arduino Due, у которой ток по линии 3.3 В может достигать 800 мА, чего с запасом хватит, в других же случаях советую использовать дополнительный стабилизатор на 3.3 В, например AMS1117 3.3 В. Таких валом как в Китае, так и у нас.

Ножка RST 6 — предназначена «железной» для перезагрузки модуля, кратковременно подав на неё низкий логический уровень, модуль перезагрузиться. Хоть и на видео я этим пренебрёг, но всё же вам советую «прижимать» данную ногу резистором на 10 кОм к плюсу питания, дабы добиться лучшей стабильности в работе модуля, а то у меня перезагружался от малейших наводок.

Ножка CP_PD 4(или по-другому EN) — служит, опять же, для «железного» перевода модуля в энергосберегающий режим, в котором он потребляет очень маленький ток. Ну и снова — не будет лишним «прижать» эту ногу резистором на 10 кОм к плюсу питалова. На видео я тупо закоротил эту ногу на Vcc, потому как под рукой не оказалось такого резистора.

Ноги RXD0 7 TXD0 2 — аппаратный UART, который используется для перепрошивки, но ведь никто не запрещает использовать эти порты как GPIO(GPIO3 и GPIO1 соотвественно). GPIO3 на картинке почему-то не размечен, но в даташите он есть:

К стати, к ножке TXD0 2 подключен светодиод «Connect», и горит он при низком логическом уровне на GPIO1, ну или когда модуль отправляет что-то по UART.

GPIO0 5 — может быть не только портом ввода/вывода, но и переводить модуль в режим программирования. Делается это подключив этот порт к низкому логическому уровню(«прижав» к GND) и подав питание на модуль. На видео я делаю это обычной кнопкой. После перепрошивки — не забудьте вытащить перемычку/отжать кнопку(кнопку во время перепрошивки держать не обязательно, модуль при включении переходит в режим программирования, и остаётся в нём до перезагрузки).

GPIO2 3 — порт ввода/вывода.

И ещё один немаловажный момент, каждый GPIO Wi-Fi модуля может безопасно выдавать ток до 6 мА, чтобы его не спалить, обязательно ставьте резисторы последовательно портам ввода/вывода на… Вспоминаем закон Ома R = U/I = 3.3В / 0.006 А = 550 Ом, то есть, на 560 Ом. Или же пренебрегайте этим, и потом удивляйтесь почему оно не работает.

В ESP01 все GPIO поддерживают ШИМ, так что к нашим четырём GPIO, то есть GPIO0-3 можно подключить драйвер двигателя, аля L293 / L298 и рулить двумя двигателями, например катера, или же сделать RGB Wi-Fi приблуду. Да, да, данный модуль имеет на борту много чего, и для простеньких проектов скрипач Arduino не нужен, только для перепрошивки. А если использовать ESP07 то там вообще портов почти как у Uno, что даёт возможность уже уверенно обходиться без ардуино. Правда есть один неприятный момент, аналоговых портов у ESP01 вообще нет, а у ESP07 только один, ADC зовётся. Это конечно усугубляет работу с аналоговыми датчиками. В таком случае ардуино аналоговый мультиплексор в помощь.

Всё вроде как по распиновке пояснил, и вот схема подключения ESP8266 к Arduino Nano:

Видите на Arduino Nano перемычка на ножках RST и GND? Это нужно для того, чтобы ардуинка не мешала прошивке модуля, в случае подключения ESP8266 при помощи Arduino — обязательное условие.

Так же если подключаете к Arduino — RX модуля должен идти к RX ардуинки, TX — TX. Это потому, что микросхема преобразователь уже подключена к ножкам ардуино в перекрестном порядке.

Так же немаловажен резистивный делитель, состоящий из резисторов на 1 кОм и 2 кОм (можно сделать из двух резисторов на 1 кОм последовательно соединив их) по линии RX модуля. Потому как ардуино это 5 В логика а модуль 3.3. Получается примитивный преобразователь уровней. Он обязательно должен быть, потому что ноги RXD TXD модуля не толерантные к 5 В.

Ну и можно вообще обойтись без ардуино, подключив ESP8266 через обычный USB-UART преобразователь. В случае подключения к ардуино, мы, по сути, используем штатный конвертер интерфейсов usb и uart, минуя мозги. Так зачем тратиться лишний раз, если можно обойтись и без ардуино вообще? Только в этом случае, мы подключаем RXD модуля к TXD конвертора, TXD — RXD.

Если вам лениво заморачиваться с подключением, возится с резисторами и стабилизаторами — есть готовые решения NodeMcu:

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

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

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

Продолжение этой статьи.

Даташиты на:ASM1117 3.3 B;ESP8266EX(микроконтроллер, что стоит в модуле);

Ещё ссылки:Русскоязычное сообщество по ESP8266;Схемы рисовал в программе Fritzing;Почему многие не любят Arduino;Все мои публикации на geektimes.

By Сергей ПоделкинЦ ака MrПоделкинЦ.

geektimes.ru

Arduino + ESP8266 с нуля на примере Wi-Fi термометра, часть первая / Geektimes

Часть 1. Подготовка ESP8266

Зачем эта статья? На хабре уже есть ряд статей про использование ESP в разных конфигурациях, но почему-то без подробностей о том, как именно все подключается, прошивается и программируется. Типа «я взял ESP, две пальчиковые батарейки, DHT22, закинул в коробку, потряс часик и термометр готов!». В итоге, получается странно: те, кто уже работают с ESP не видят в сделанном ничего необычного, а те, кто хочет научиться — не понимают с чего начать. Поэтому, я решил написать подробную статью о том, как подключается и прошивается ESP, как его связать с Arduino и внешним миром и какие проблемы мне попадались на этом пути. Ссылки на Aliexpress привожу лишь для представления порядка цен и внешнего вида компонентов.

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

Питание

Для работы ESP8266 нужно напряжение 3.3В и ток не ниже 300мА. К сожалению, Arduino Uno не в состоянии обеспечить такой ток, как не в состоянии обеспечить его и переходники USB-UART (программаторы) типа FT232RL — их предел около 50мА. А значит придется организовать отдельное питание. И лучше бы, чтобы Arduino тоже работал от 3.3В, чтобы избежать проблем типа «я подал пятивольтовый сигнал на вывод RX модуля ESP, почему пахнет паленой пластмассой?».

Есть три решения.

1. Купить готовый блок питания на 3.3В.

2. Купить готовый модуль с регулятором напряжения, понижающий 5В до 3.3В. Пожалуй, это самый удобный вариант.

3. Собрать модуль самому из регулятора AMS1117 и одного танталового конденсатора на 22мкФ.

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

С AMS1117 все просто: если положить его текстом вверх, то напряжение на ногах растет слева направо: 0(Gnd), 3.3В (Vout), 5В (Vin). Между нулем и выходом нужен танталовый конденсатор на 22мкФ (так по инструкции, что будет если поставить электролитический — я не проверял). У танталового SMD-конденсатора плюс там, где полоска. Немного чудовищной пайки совершенно не предназначенных для такого варварства SMD-компонентов и:

Обязательно проверяйте выходное напряжение. Если оно значительно меньше 3.3В (например, 1.17В) — дайте регулятору остыть после пайки и проверьте контакты. Если поставите конденсатор больше, чем на 22мкФ, то мультиметр может показать более высокое напряжение.

Почему именно AMS1117? Он широко используется. Его вы можете найти почти везде, даже в Arduino Uno, как правило, стоит AMS1117-5.0. Если вы знаете что-то схожих габаритов и цены, еще более простое в использовании — напишите, пожалуйста.

Важный момент. Не знаю уж почему, но AMS1117 крайне капризно относится к качеству соединений. Контакты должны быть надежны. Лучше — пропаяны. Иначе он на тестах выдает 3.3В, но под нагрузкой не выдает ничего.

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

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

Чтобы чип запустился нужно соединить VCC и CH_P через резистор 10кОм. Если такого нет, то сгодится любой из диапазона 1-20кОм. Кроме того, конкретно модель 07 еще требует, чтобы GPIO15 (самый ближний к GND) был «на земле» (этого на картинке не видно, потому что соединение с другой стороны).

Теперь берем переходник USB-UART, переключаем его на 3.3В и подключаем RX к TX, TX к RX и GND к «земле» (у меня без этого передача нестабильна). Если вы не можете переключить на 3.3В, то можно использовать простейший резисторный делитель напряжения: соедините ESP RX с TX переходника через сопротивление в 1кОм, а ESP RX с «землей» через 2кОм. Существует масса более сложных и более надежных способов связать 3.3В и 5В, но в данном случае и так сойдет.

И соединяемся на скорости 9600 по нужному COM-порту (можно посмотреть в диспетчере устройств).

Я использую SecureCRT, Putty тоже подойдет, а ценители Линукса и так знают, что делать и где смотреть.

(AT+RST перезагружает чип)

Если ничего не происходит — выключите — включите питание, если все равно ничего не происходит — проверьте соответствие TX/RX, попробуйте переставить их местами или припаять к чипу.

Иногда чип в ходе издевательств экспериментов зависает и тогда его надо обесточить, в том числе отключив и переходник (например, вытащив его из USB), поскольку чипу хватает даже поступающих крох питания, чтобы упорно тупить и не работать.

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

Иногда при этом меняется номер COM-порта. Под Linux это можно решить с помощью udev.

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

На старте чип нагревается, но если он реально горячий и продолжает греться — отключайте и проверяйте все соединения. Чтобы на корпус не попадало +3.3В, чтобы 5В к нему вообще никуда не приходили, чтобы «земля» переходника была соединена с «землей» чипа. Модели с металлическим экраном очень трудно сжечь (но нет ничего невозможного), а на модели без экранов жалуются, мол даже небольшая ошибка может стать последней в жизни чипа. Но это я не проверял.

Прошивка

Мой выбор — NodeMCU. У нее проблемы с памятью и поддержкой железа, но это многократно окупается простотой кода и легкостью отладки.

Так же потребуются NodeMCU flasher и LuaLoader (последнее — опционально, есть и другие клиенты для работы с этой прошивкой).

Выключаем чип. Подсоединяем GPIO0 к земле и включаем чип:

Если ничего не происходит и поля AP MAC/STA MAC пустые — проверьте еще раз, чтобы GPIO0 был на «земле». Если прошивка началась, но зависла — посмотрите в закладке Log, у меня почему-то конкретно этот чип отказался прошиваться на FT232RL, но зато без проблем прошился на PL2303HX на скорости 576000. PL2303HX в указанном варианте не имеет переключения на 3.3В, чтобы им воспользоваться нужно открыть пластиковый корпус и перепаять провод с 5V на 3.3V, есть варианты с пятью выходами: 3.3, 5, TX, RX, Gnd.

Обратите внимание: STA MAC поменялся. Подозреваю, что flasher его неправильно показывал, но требуется проверка.

Для экономии сил и нервов можно взять готовый или полуготовый вариант.

Есть одноразовые адаптеры с удобной разводкой. Есть готовые к прошивке. Есть варианты с простенькие кит-комплекты и посложнее — ESP8266-EVB Есть с готовым USB-адаптером — NodeMCU Development Board. Под нее даже какие-то шилды делают.

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

Ценные ссылки из комментариев:NodeMCU custom buildsProgramming ESP8266-EVB with Arduino IDEОбъяснение про танталовый конденсатор.

Update: заменил в тексте «программатор» на «переходник USB-UART» или просто «переходник». По моему опыту термин «программатор» используется чаще, но, пожалуй, «переходник USB-UART» будет точнее.

geektimes.ru

ESP-201 WIFI модуль на ESP8266 (Arduino урок №1)

Решил изучить Ардуино. Построить «умный» дом. С чего-то надо начинать. На базе WI-FI модуля ESP8266 можно получить беспроводной датчик температуры, влажности, давления, освещенности… Надо всего лишь обновить прошивку модуля и подключить датчики. Дополнительные микроконтроллеры не требуются. Около двух лет назад на китайском рынке появились дешёвые WI-FI модули ESP8266 китайского разработчика. Это не просто WI-FI модуль, а полноценный 32 битный микроконтроллер со своим набором GPIO, в том числе SPI, UART, I2C.Технические характеристики: Процессор: одноядерный 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,

flash памяти 25Q41BT (4M-bit Serial Flash, 512K-byte, 256 bytes per programmable page)www.elm-tech.com/en/products/spi-flash-memory/gd25q41/gd25q41.pdf и кварца на 26МГц.

Памяти для серьёзных проектов маловато. Способ увеличения несложный. Достаточно перепаять МС памяти на более ёмкую. Обзор на Муське не так давно был:mysku.ru/blog/aliexpress/41089.html Для простых проектов той, что стоит, вполне достаточно. Для проектирования своих задач решено было использовать макетницу. Но возникла проблемка. Выводы для программирования модуля явно были «лишними». Пришлось немного переделать.

Левые снимки – оригинал, справа после переделки. Никого не заставляю так делать. Просто это моё решение, мне так удобнее. Теперь ничто не мешает, и программировать удобно. Как писал ранее, эти модули могут работать как с внутренней (на печатке) антенной, так и с внешней. Изначально модуль «настроен» на работу с внешней антенной. Для перенастройки придётся перепаять перемычку-сопротивление. Я решил проверить, насколько разнится коэффициент усиления внутренней и внешней антенны. Именно для этого на одном модуле перепаял перемычку. Но возникла ещё одна сложность: два модуля из трёх пришли пустыми (не прошитые). Заодно потренировался. Пригодился кабель-конвертер (USB To RS232 TTL UART) из одного моего обзора про ВольтАмперВаттметр с функцией счётчика PZEM-004. Обычный кабель-конвертер. У меня есть более дешёвый вариант. Но этот более удобен (для меня). Устанавливаю модуль на макетку и вгоняю в него скетч-пример для ESP8266 при помощи Arduino IDE. Есть нюансы. Смотрим схему подключения.

Модуль запитал от внешнего источника. В моём случае узел питания был в комплекте с макеткой. При загрузке скетча GPIO 00 сажаем на Gnd. Для запуска скетча (после прошивки) GPIO 00 подключаем на +3.3V. Подключил, всё работает. Осталось проверить, у какой антенны коэффициент усиления выше. Установил на макетку три модуля. — ESP-201 с внутренней антенной. — ESP-201 с «хвостиком» для внешней антенны (шёл в комплекте). — И у же стандартный модуль на основе ESP8266, купленный по этой ссылке с год назад:aliexpress.com/item/New-Wireless-module-NodeMcu-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-with-pcb-Antenna/32299982691.html

Для питания использовал PowerBank. Для чистоты эксперимента пришлось выйти почти в поле. Тем не менее, один несанкционированный роутер всё же поймался:) Название на графике удалил. Мешаться не будет. Оценивать силу сигнала буду при помощи программы Acrylic Wi-Fi. Программ существует множество, в том числе и для смартфонов. Но эта может отслеживать все изменения в динамике. В непосредственной близости от модулей. Wifi_int_ant — ESP-201 с внутренней антенной. Wifi_ext_ant — ESP-201 с «хвостиком» для внешней антенны. WeatStat — ESP8266, Отошёл на 10 метров. Отошёл ещё на 10 метров. Ещё. И ещё. Погрешности измерения естественно присутствуют. Но общая картина ясна. Пора объявлять победителей. 1 место: ESP-201 с внутренней антенной. 2 место: стандартный модуль на основе ESP8266. 3 место: ESP-201 с «хвостиком» для внешней антенны. Подпаялся к банке из-под сгущённого молока. Картина реально изменилась. Дело было не бабине… :) С выносной антенной сигнал намного сильнее. Даже если в качестве антенны обычная консервная банка. Вот, в общем-то, и всё. Для правильного вывода того, что написал, должно хватить. Кому что-то неясно, задавайте вопросы. Возможно, какие-то моменты упустил. Надеюсь, хоть кому-то помог. Удачи! Продолжение следует…

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

mysku.ru


Смотрите также