Мы принимаем к оплате:
«Подарочный сертификат» от нашего Учебного Центра – это лучший подарок для тех, кто Вам дорог! Оплате обучение и подарите Вашим родным и близким обучение по любому из курсов!!!
«Сертификат на повторное обучение» дает возможность повторно пройти обучение в нашем Учебном Центре со скидкой 1000 рублей!
А также:
Как подключить компьютер через wifi модуль esp8266 к интернету
подключение, распиновка, прошивка в IDE [Амперка / Вики]
Модуль ESP-01 с чипом ESP8266 предназначен для связи устройства с беспроводными сетями по WiFi.
Видеообзор
Общие сведения
ESP-01 — плата-модуль WiFi на базе популярного чипсета ESP8266EX
. На борту платы находится микросхема Flash-памяти объёмом 2 МБ, чип ESP8266EX, кварцевый резонатор, два индикаторных светодиода и миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Flash-память необходима для хранения программного обеспечения. При каждом включении питания, ПО автоматически загружается в чип ESP8266EX.
По умолчанию модуль настроен на работу через «AT-команды». Управляющая плата посылает команды — Wi-Fi модуль выполняет соответствующую операцию.
Но внутри чипа ESP8266 прячется целый микроконтроллер, который является самодостаточным устройством. Прошивать модуль можно на разных языках программирования. Но обо всё по порядку.
Работа с AT командами
Подключение и настройка
В стандартной прошивке Wi-Fi модуль общается с управляющей платой через «AT-команды» по протоколу UART.
На всех платах Iskra и Arduino присутствует хотя бы один аппаратный UART — HardwareSerial. Если же по каким то причинам он занят другим устройством, можно воспользоваться программным UART — SoftwareSerial.
HardwareSerial
На управляющей плате Iskra JS и Arduino платах с микроконтроллером ATmega32U4 / ATSAMD21G18
, данные по USB и общение через пины 0
и 1
осуществляется через два раздельных UART
. Это даёт возможность подключить Wi-Fi модуль к аппаратному UART
на пинах 0
и 1
.
Список поддерживаемых плат:
Для примера подключим модуль Wi-Fi к платформе Iskra Neo.
Прошейте управляющую платформу кодом ниже.
Код прошивки
- HardwareSerialAT115200.ino
// serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL Serial1 void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } }
SoftwareSerial
Некоторые платы Arduino, например Arduinio Uno, прошиваются через пины 0
и 1
. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Wi-Fi модулем. Решение проблемы — программный UART
. Подключите пины TX
и RX
ESP-модуля к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.
Для примера подключим управляющие пины Wi-Fi модуля TX
и RX
— на 8
и 9
контакты управляющей платы. Прошейте управляющую платформу кодом ниже.
Код прошивки
- SoftwareSerialAT115200.ino
// библиотека для работы программного Serial #include <SoftwareSerial.h> // создаём объект для работы с программным Serial // и передаём ему пины TX и RX SoftwareSerial mySerial(8, 9); // serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL mySerial void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } }
HardwareSerial Mega
На платах форм-фактора Arduino Mega 2560 аппаратный UART, который отвечает за передачу данных через пины
1
и 0
, отвечает также за передачу по USB. Это означает невозможность использовать одновременно UART
для коммуникации с Wi-Fi модулем и отладки по USB.
Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:
Serial1: пины
19(RX1)
и18(TX1)
;Serial2: пины
17(RX2)
и16(TX2)
;Serial3: пины
15(RX3)
и14(TX3)
.
Список поддерживаемых плат:
Подключите Wi-Fi модуль к объекту Serial1
на пины 18
и 19
на примере платы Arduino Mega 2560 Прошейте управляющую платформу кодом ниже.
Код прошивки
- HardwareSerialAT115200.ino
// serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL Serial1 void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } }
Примеры работы
Рассмотрим несколько примеров по работе с «AT-командами»
Тестовая команда «AT»
Откройте монитор порта. Настройте скорость соединения — 9600 бод. Конец строки — NL & CR
. Введите команду AT
и нажмите «Отправить». Это — базовая команда для проверки работы Wi-Fi модуля. В ответ получим «OK»: Если ответа нет или появляются непонятные символы — проверьте правильность подключения и настройки скорости обмена данными.
Настройка режима работы
Wi-Fi модуль умеет работать в трёх режимах:
Режим точки доступа
Режим клиента
Смешанный режим
Переведём чип в смешанный режим командой:
AT+CWMODE_DEF=3
После установки модуль должен ответить «OK»:
В отличии от аппаратного UART
(HardwareSerial), за работу программного UART
(SoftwareSerial) отвечает микроконтроллер, который назначает другие пины в режим работы RX
и TX
, соответственно и данные которые приходят от Wi-Fi модуля обрабатывает сам микроконтроллер во время программы. По умолчанию скорость общения Troyka Wi-Fi равна 115200
, что значительно выше чем позволяет библиотека SoftwareSerial. В итоге часть информации которая приходит с Wi-Fi модуля будет утеряна. Если вы используете плату с HardwareSerial подключением модуля можете пропустить пункт настройки скорости и сразу перейти к дальнейшей работе с модулем.
AT установка скорости общения
Для корректной работы с большими объемами необходимо понизить скорость соединения модуля и микроконтроллера. Для этого используйте «AT-команду»:
AT+UART_DEF=9600,8,1,0,0
После проделанной операции, измените скорость программного UART
в скетче программы и прошейте плату.
- SoftwareSerialAT9600.ino
// библиотека для работы программного Serial #include <SoftwareSerial.h> // создаём объект для работы с программным Serial // и передаём ему пины TX и RX SoftwareSerial mySerial(8, 9); // serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL mySerial void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 9600 бод WIFI_SERIAL.begin(9600); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } }
По итогу программный UART успеет обработать каждый пришедший байт с Wi-Fi модуля.
AT сканирование WI-FI сетей
Откройте Serial-порт и отправьте на модуль «AT-команду» для сканирования всех доступных Wi-Fi сетей:
AT+CWLAP
При наличии доступных WI-FI сетей в ответ получим сообщение:
AT+CWLAP +CWLAP:(0,"AI-THINKER_03842B",-65,"62:01:94:03:84:2b",1,1,-40) +CWLAP:(3,"PiRExternal",-90,"f0:29:29:26:b8:31",1,-12,0) +CWLAP:(3,"PiRGroup",-84,"44:ad:d9:87:c8:f0",1,-4,0) +CWLAP:(4,"corp.Catherine.ru",-82,"f8:1a:67:4c:bf:59",2,10,0) +CWLAP:(3,"PiRGroup",-87,"f0:29:29:26:b8:30",1,-11,0) +CWLAP:(3,"Amperka",-44,"6c:3b:6b:ff:0f:4d",6,8,0) +CWLAP:(3,"SEC_LinkShare_ddd43e",-79,"d0:66:7b:08:93:dd",6,23,0) +CWLAP:(3,"DIT_AMPP",-82,"1c:b9:c4:25:13:68",1,32767,0) +CWLAP:(3,"MZPK",-89,"24:a2:e1:eb:5d:08",11,-16,0) +CWLAP:(0,"Arduino-Yun-B4218AF05F28",-62,"b4:21:8a:f0:5f:28",11,25,0) +CWLAP:(3,"PiRExternal",-85,"44:ad:d9:87:c8:f1",1,-4,0) OK
Wi-Fi модуль как самостоятельный контроллер
Настройка железа
Ввиду отсутствия у платформы ESP-01 собственного USB-порта, понижающего преобразователя и отсутствия толерантности к 5 вольтам, подключите её к компьютеру, используя один из перечисленных способов:
Схема через Arduino Uno
Для сборки программатора понадобится:
- Соберите схему, представленную ниже.
- Переведите модуль в режим программирования:
Необходимо каждый раз выполнять перед прошивкой модуля.
Отключите питание от модуля;
Подключите пин
0
кGND
— фиолетовый провод к земле;Подключите модуль к питанию;
- Притяните пин
0
к3.3V
— фиолетовый провод через резистор к питанию.
Железо готово, приступайте к программной части.
Схема через USB-Serial адаптер
Для сборки программатора понадобится:
- Соберите схему, представленную ниже.
- Переведите модуль в режим программирования:
Необходимо каждый раз выполнять перед прошивкой модуля.
Отключите питание от модуля;
Подключите пин
0
кGND
— фиолетовый провод к земле;Подключите модуль к питанию;
- Притяните пин
0
к3.3V
— фиолетовый провод через резистор к питанию.
Железо готово, приступайте к программной части.
Программирование на C++
- Для начала работы с платформой ESP на языке C++ скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
- В в пункте меню выбирайте
Generic ESP8266 Module
.
После выполненных действий модуль ESP-01 готов к программированию через Arduino IDE.
Подробности о функциях и методах работы ESP-01 (ESP8266) на языке C++ читайте на ESP8266 Arduino Core’s.
Программирование на JavaScript
После выполненных действий модуль ESP-01 готов к программированию через Espruino Web IDE.
Подробнее о функциях и методах работы ESP8266 на языке JavaScript читайте на Espruino.
Восстановление стандартной АТ-прошивки
После программирования платформы в режиме самостоятельного контроллера может понадобиться восстановить на модуле стандартную AT-прошивку. Для этого необходимо воспользоваться утилитой Flash Download Tool.
Элементы платы
Чип ESP8266EX
Чип ESP8266 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем WiFi IEEE 802.11 b/g/ и блоки памяти SRAM. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки.
Программное приложение пользователя должно храниться на внешней микросхеме Flash-памяти и загружаться в ESP8266EX
через один из доступных интерфейсов (SPI, UART, SDIO и др.) каждый раз в момент включения питания системы.
Чип ESP8266 не содержит в себе Flash-память и многих других компонентов для пользовательского старта. Микросхема является основой на базе которой выпускаются модули с необходимой периферией, например ESP-01.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
LED | Индикаторный светодиод подключённый к цифровому пину 1 |
POWER | Индикатор питание на модуле |
Распиновка
Пины питания
3.3V: Вывод питания модуля. Потребляемый ток не менее 250 мА.
GND: Выводы земли.
Пины ввода/вывода
В отличии от большинства плат Arduino, родным напряжением платформы ESP-01 является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить модуль!
Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.
Цифровые входы/выходы: 4 пина;
0
–3
Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.ШИМ: 4 пинов;
0
–3
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ – 10 бит.UART: пины
3(RX)
и3(TX)
Используется для коммуникации модуля Wi-Fi с компьютером или другими устройствами по интерфейсуUART
.
Характеристики
Модуль: ESP-01 с чипом ESP8266EX
Выходной интерфейс: UART
Объём Flash-памяти: 2 МБ
Беспроводной интерфейс: Wi-Fi 802.11 b/g/n 2,4 ГГц
Режимы работы:
Напряжение питания: 3,3 В
Потребляемый ток: до 250 мА
Габариты: 25×15 мм
В режиме контроллера
Тактовая частота: 80 МГц
Портов ввода-вывода всего: 4
Портов с ШИМ (Программный): 4
Разрядность ШИМ: по умолчанию 10 бит
Максимальный ток с пина или на пин: 12 мА
Ресурсы
Страница не найдена · GitHub Pages
Страница не найдена · GitHub PagesФайл не найден
Сайт, настроенный по этому адресу, не содержать запрошенный файл.
Если это ваш сайт, убедитесь, что регистр имени файла соответствует URL-адресу.
Для корневых URL (например, http://example.com/
) вы должны предоставить index.html
файл.
Прочтите полную документацию для получения дополнительной информации об использовании GitHub Pages .
.ESP8266 Веб-сервер с веб-страницей HTML
В этом руководстве мы создаем веб-сервер ESP8266 с веб-страницей HTML. ESP8266 подключается к сети Wi-Fi, и мы получаем веб-страницу на нашем телефоне и ПК, которые подключены к той же сети Wi-Fi.
В предыдущем руководстве мы увидели, как сделать ESP8266 точкой доступа и веб-сервером .
Веб-сервер - это программа, которая использует HTTP (протокол передачи гипертекста) для обслуживания файлов, формирующих веб-страницы, пользователям в ответ на их запросы, которые пересылаются HTTP-клиентами их компьютеров.
Чтобы реализовать веб-сервер на ESP, есть два способа сделать ваш первый веб-сервер сначала подключенным к вашему WiFi-роутеру или сделать ESP точкой доступа.
Веб-сервер, шаг за шагом
Как мы знаем, все веб-серверы имеют веб-страницу для обслуживания. Сначала создайте веб-страницу с помощью HTML и протестируйте ее на своем компьютере.
Шаг 1. Создайте красивую веб-страницу
Откройте блокнот и начните писать HTML-код. Сохраните как index.htm.
<ГОЛОВА>