Оглавление:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Несложный: 5 шагов
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Несложный: 5 шагов

Видео: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Несложный: 5 шагов

Видео: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Несложный: 5 шагов
Видео: Как Прошить ESP8266: ESP12, ESP01 2024, Июнь
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Несложный
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Несложный

Это руководство предназначено для людей, которые приобрели ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter и не знают, как его использовать с Arduino.

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

Эти инструкции были разделены следующим образом:

Шаг 1. Знакомство с ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter для Arduino

Шаг 2: Обновление прошивки на ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter для Arduino

Шаг 3: Shiald, Shield, More и Moer? Это имеет значение?

Шаг 4: Shield Moer - Решение проблемы последовательной связи RX / TX

Шаг 5: Веб-сервер с ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter для Arduino

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

Шаг 1. Знакомство с ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter для Arduino

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) упрощает подключение Arduino к сетям WiFi через ESP8266. При его использовании больше нет необходимости монтировать схему с несколькими компонентами и проводами для соединения ESP8266 с Arduino, просто прикрепите плату к Arduino, установите путь DIP-переключателя в соответствии с рабочим режимом экрана и запрограммируйте Arduino на подключиться к Wi-Fi сетям. Кроме того, плату можно использовать без Arduino, поскольку она имеет все распиновки ESP-12E.

В щите есть информация о том, что он был создан человеком по имени WangTongze и которому принадлежат права на него, - это elecshop.ml. Первоначально создатель щита пытался собрать средства для своего проекта через Indiegogo (сайт коллективного финансирования), но ему не удалось собрать деньги.

Особенности модели ESP8266 ESP-12E:

- 32-разрядная архитектура RISC - Процессор может работать на частоте 80 МГц / 160 МГц - Флеш-память 32 МБ - 64 КБ для инструкций - 96 КБ для данных - Стандартный собственный WiFi 802.11b / g / n - Работает в режиме AP, Station или AP + Station - Имеет 11 цифровых контактов - Он имеет 1 аналоговый контакт с 10-битным разрешением - Цифровые контакты, кроме D0, имеют прерывание, ШИМ, I2C и один провод - Программируются через USB или WiFi (OTA) - Совместимы с Arduino IDE - Совместимы с используемыми модулями и датчиками в Ардуино

Ниже вы можете прочитать основные характеристики этого щита:

- Размер Arduino Uno R3 и расположение выводов совместимы с Arduino Uno, Mega 2560, Leonardo и производными. Напряжение Arduino (5 В) используется для питания экрана. - Имеет стабилизатор напряжения AMS1117 3,3 В, поэтому напряжение 5 В, подаваемое Arduino, снижается для питания экрана без необходимости во внешнем питании. - Он имеет встроенный преобразователь логического уровня., поэтому уровень TTL Arduino (5 В) не повредит ESP8266, который работает с уровнем TTL 3,3 В. - Он имеет 4-позиционный DIP-переключатель, который служит для изменения режимов работы платы. - Доступные режимы работы: WiFi Shield для Arduino / отправка AT-команд через Arduino / обновление прошивки через USB Последовательный внешний / автономный преобразователь. - Он имеет индикаторы (PWR / DFU / AP / STA). - Поскольку он имеет формат экрана, он позволяет вставлять другие экраны и модули..- На нем есть кнопка ESP-RST для сброса ESP8266.- Th e Вывод АЦП ESP8266 доступен в двух формах на плате: первый - на выводе с диапазоном считывания от 0 до 1 В, а второй - в диапазоне от 0 до 3,3 В.

На изображении выделены основные части щита:

Изображение
Изображение

A (ЦИФРОВЫЕ ПИНЫ): последовательность выводов, используемых Arduino.

B (КОНТАКТЫ ESP8266): ESP8266-12E и их соответствующие контакты. На обратной стороне пластины обозначена номенклатура штифтов.

C (ПОДКЛЮЧЕНИЕ ВНЕШНЕГО ПОСЛЕДОВАТЕЛЬНОГО USB-АДАПТЕРА): последовательность контактов, используемая для подключения внешнего последовательного USB-адаптера для обновления прошивки или отладки ESP8266.

D (ШТИФТЫ ДЛЯ ТЕХОБСЛУЖИВАНИЯ ЭКРАНА): трехконтактная последовательность, обозначенная как «Только обслуживание» и используемая для проверки того, что регулятор напряжения правильно принимает и подает напряжение. НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬСЯ В КАЧЕСТВЕ ИСТОЧНИКА ПОСТАВКИ.

E (DIP-ПЕРЕКЛЮЧАТЕЛЬ ДЛЯ ИЗМЕНЕНИЯ РЕЖИМОВ РАБОТЫ): Четырехпозиционный DIP-переключатель для изменения режимов работы.

CONTACT 1 (P1) и CONTACT 2 (P2): используются для подключения RX (представленного P1) и TX (представленного P2) ESP8266 к контактам Arduino D0 (RX) и D1 (TX). P1 и P2 в положении OFF отключают соединение RX от ESP8266 к Arduino TX и TX от ESP8266 к Arduino RX.

КОНТАКТ 3 (P3) и КОНТАКТ 4 (P4): используются для включения и отключения режима обновления прошивки для ESP8266. Чтобы разрешить запись / загрузку прошивки на ESP8266, P3 и P4 должны быть в положении ON. Когда P4 находится в положении ON, загорается светодиод DFU, указывая на то, что ESP8266 может принимать прошивку. Чтобы отключить режим обновления прошивки и установить ESP8266 в нормальный режим работы, просто установите P3 и P4 в положение OFF.

ПРИМЕЧАНИЕ. Все 4 контакта в положении ВЫКЛ. Указывают на то, что ESP8266 работает в нормальном режиме рядом с Arduino

F (AD8 ОТ ESP8266): назначение контактов АЦП ESP8266. Вывод, работающий в диапазоне от 0 до 1 В, и другой вывод, работающий в диапазоне от 0 до 3,3 В. Эти контакты будут использоваться только при использовании только ESP8266 (автономный режим).

G (ESP8266 RESET): кнопка, используемая для сброса ESP8266. Каждый раз, когда вы меняете положение DIP-переключателей, вы должны нажимать кнопку ESP-RST.

H (АНАЛОГОВЫЙ ПИН И ИСТОЧНИК ПИТАНИЯ): последовательность контактов, используемых Arduino.

У этого экрана есть особенность в контактах P1 и P2 DIP-переключателя, и эта особенность фактически вызывает большие сомнения у людей, которые пытаются использовать экран.

По словам создателя щита, при подключении его к Arduino потребуется всего 2 контакта. Этими контактами будут D0 и D1 (RX и TX Arduino соответственно), и, кроме того, контакты P1 и P2 DIP-переключателя на экране должны быть в положении ON для подключения.

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

P1 и P2 являются битовыми кодировщиками и используются для определения того, подключен ли последовательный порт ESP8266 к Arduino D0 и D1.

В другом разделе документа упоминается:

Эта плата расширения поддерживает занятость последовательного порта Arduino, подключая RX от ESP8266 к TX от Arduino и TX от ESP8266 к Arduino RX.

Контакты Arduino D0 (RX) и D1 (TX) соответствуют встроенной последовательной / USB-связи, поэтому эти контакты остаются занятыми всякий раз, когда мы отправляем код на плату или используем монитор последовательного порта. Следовательно, если контакты P1 и P2 экрана находятся в положении ON, ESP8266 будет использовать Arduino D0 и D1, и будет невозможно отправлять коды или использовать последовательный порт, поскольку он будет занят. Кроме того, для отправки AT-команд на экран необходимо, чтобы ESP8266 RX был подключен к Arduino RX, а ESP8266 TX был подключен к Arduino TX. Это произойдет только в том случае, если мы инвертируем соединения, как показано на изображении ниже:

Изображение
Изображение

Смотрите, я согнул контакты D0 и D1 экрана и подключил Arduino D0 к D1 экрана, а D1 Arduino - к D0 экрана. При использовании соединения таким образом (Arduino используется в качестве моста соединения) я смог отправлять AT-команды на ESP8266 и подтвердил то, что я уже представлял.

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

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

Наконец, экран был очень устойчивым и упростил сборку схем. Я тестировал с Arduino Uno R3 и Mega 2560 R3.

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

Шаг 2: Обновление прошивки на ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter для Arduino

Для подключения экрана к компьютеру необходимо использовать последовательный USB-преобразователь. Если у вас нет обычного последовательного USB-преобразователя, вы можете использовать преобразователь Arduino Uno R3 в качестве промежуточного. На рынке есть несколько моделей последовательных USB-преобразователей, но для этого урока я использовал адаптер последовательного USB-преобразователя PL2303HX TTL.

Для улучшения щита используйте:

Инструменты загрузки ESP8266 Flash

Используемая прошивка:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Прошивка

После того, как вы скачали программу и прошивку, скопируйте их в корень (диск C) вашей Windows.

Разархивируйте flash_download_tools_v2.4_150924.rar, и будет создана папка FLASH_DOWNLOAD_TOOLS_v2.4_150924.

Использование последовательного USB-преобразователя Arduino Uno R3 в качестве промежуточного звена:

Следующим шагом будет подключение экрана к компьютеру. Если у вас нет стандартного последовательного USB-преобразователя, вы можете использовать Arduino Uno R3 для соединения экрана и компьютера. Помимо Arduino Uno R3 с USB-кабелем вам понадобятся:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter 04 - Кабельные перемычки папа-мама

ПРИМЕЧАНИЕ. Перед установкой схемы подключения Arduino необходимо загрузить на плату пустой код, чтобы гарантировать, что последовательный USB-преобразователь не используется. Загрузите приведенный ниже код в свой Arduino и продолжайте:

void setup () {// поместите сюда ваш установочный код, чтобы запустить его один раз:} void loop () {// поместите сюда ваш основной код, чтобы запускать его повторно:}

Изображение
Изображение

ПРИМЕЧАНИЕ: будьте осторожны при подключении вывода экрана 3,3 В к Arduino.

Использование последовательного адаптера преобразователя USB TTL PL2303HX:

Помимо адаптера последовательного USB-преобразователя PL2303HX TTL, вам потребуются следующие предметы:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter 04 - Кабели-перемычки штекер-гнездо

Изображение
Изображение

ПРИМЕЧАНИЕ: PL2303 имеет питание 5 В и 3 В 3. Используйте питание 3V3 и игнорируйте вывод 5V

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

Затем перейдите в «Панель управления» в Windows, «Диспетчер устройств» и в открывшемся окне выберите «Порты (COM и LPT)». Вы можете увидеть подключенное устройство и номер COM-порта, на котором оно было размещено. В качестве демонстрации я подключил к компьютеру как Arduino, так и последовательный USB-преобразователь, и на изображении ниже вы можете увидеть, как устройства отображаются в диспетчере:

Изображение
Изображение

Если вы используете PL2303HX и он не распознается Windows, перейдите к публикации Serial TTL USB Converter PL2303HX - Установка в Windows 10, посмотрите, как решить эту проблему, а затем вернитесь, чтобы продолжить.

Теперь перейдите в папку FLASH_DOWNLOAD_TOOLS_v2.4_150924 и запустите ESP_DOWNLOAD_TOOL_V2.4.exe:

Изображение
Изображение

На экране установите контакты P3 и P4 DIP-переключателя в положение ON, а затем нажмите кнопку ESP-RST на плате, чтобы экран перешел в режим обновления прошивки:

Изображение
Изображение

Открыв программу, снимите флажок с опции «SpiAutoSet», выберите COM-порт, выберите «BAUDRATE» 115200, снимите все флажки, отмеченные в «Download Path Config», настройте другие параметры, как показано ниже, и нажмите «НАЧАТЬ»:

Изображение
Изображение

Если связь с ESP8266 WiFi Shield в порядке, вы увидите информацию в «ОБНАРУЖЕННАЯ ИНФОРМАЦИЯ», «MAC-адрес» и «СИНХРОНИЗАЦИЯ»:

Изображение
Изображение

ПРИМЕЧАНИЕ. Если программа возвращает «FAIL», проверьте, правильно ли вы выбрали COM-порт, проверьте, включены ли клавиши P3 и P4 DIP-переключателя, нажмите кнопку ESP-RST, нажмите STOP и снова нажмите START.

В «Download Path Config» вы должны выбрать загруженный файл «Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin». Щелкните «…» в первом поле и в открывшемся окне перейдите в папку, в которую вы поместили прошивку, и выберите файл «Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin». В поле «ADDR» введите смещение 0x00000 и установите флажок для завершения. Когда закончите, у вас будут настройки, как показано ниже:

Изображение
Изображение

Теперь нажмите СТАРТ, чтобы начать процесс:

ПРИМЕЧАНИЕ. Если вы используете последовательный USB-преобразователь Arduino в качестве промежуточного звена между экраном и компьютером, нажмите кнопку ESP-RST на экране перед тем, как нажать ПУСК. Если вы используете обычный последовательный USB-преобразователь, в этой процедуре нет необходимости

Изображение
Изображение

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

Изображение
Изображение

После завершения процесса обновления прошивки закройте окна ESP_DOWNLOAD_TOOL_V2.4, верните контакты P3 и P4 DIP-переключателя в положение OFF и нажмите кнопку ESP-RST на щите, чтобы он мог выйти из режима обновления прошивки.

Теперь откройте Arduino IDE, чтобы вы могли отправлять AT-команды на плату, чтобы убедиться, что прошивка была обновлена правильно и что плата отвечает на команды.

В открытой среде IDE перейдите в меню «Инструменты», а затем в опции «Порт» выберите COM-порт. Обратите внимание на изображение ниже, что я выбрал порт COM7 (ваш порт, вероятно, будет другим):

Изображение
Изображение

Вам НЕ нужно выбирать плату в среде IDE, поскольку это не имеет отношения к отправке AT-команд.

Откройте «Serial Monitor» и в нижнем колонтитуле проверьте, установлена ли скорость на 115200 и выбран ли «Оба, NL и CR»:

Изображение
Изображение

Теперь введите команду «AT» (без кавычек) и нажмите «ENTER» или нажмите «Отправить». Если соединение работает, вам нужно будет вернуть сообщение «ОК»:

Изображение
Изображение

ПРИМЕЧАНИЕ. Если при отправке команды НЕ ПОЛУЧАЕТ обратная связь или не поступает случайная строка символов, измените скорость с 115200 последовательного монитора на 9600 и отправьте команду еще раз

В «Serial Monitor» введите команду «AT + GMR» (без кавычек) и нажмите «ENTER» или нажмите «Отправить». Если вы получили ответ, как показано ниже, значит, ваш ESP8266 WiFi Shield был успешно обновлен:

Изображение
Изображение

Если вы хотите изменить скорость передачи данных с экраном 9600, введите команду «AT + UART_DEF = 9600, 8, 1, 0, 0» (без кавычек) и нажмите «ENTER» или нажмите «Отправить». Если вы получили информацию, как показано ниже, значит, скорость связи изменилась:

Изображение
Изображение

ПРИМЕЧАНИЕ. При изменении скорости передачи экрана вы также должны изменить скорость с 115200 на 9600 в нижнем колонтитуле Monitor Serial. Затем отправьте команду «AT» еще раз (без кавычек) и нажмите «ENTER» или нажмите «Отправить». Если вы получили ответ «ОК», значит, связь работает

Если вы хотите использовать экран для назначения Wi-Fi на Arduino, идеальная скорость передачи данных составляет 9600 бод.

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

Шаг 3: Shiald, Shield, More и Moer? Это имеет значение?

Если это ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter, можно найти как минимум три платы, которые, по-видимому, одинаковы, но на самом деле эти платы имеют некоторые отличия, даже в вопросе работы с Arduino через родную последовательную связь.

Далее вы можете увидеть, что отличает доски, и узнать, какая из них ваша.

Shiald WiFi ESP8266:

Изображение
Изображение

Обратите внимание, что на этой доске слово Shield написано «Shiald», а слово «more» имеет букву «m» в нижнем регистре. В тестах, которые я проводил долгое время, плата НЕ показывала никаких недостатков в работе.

Щиток WiFi ESP8266:

Изображение
Изображение

Обратите внимание, что на этой доске слово «Щит» написано правильно, а слово «Еще» имеет букву «М» в верхнем регистре. В плане эксплуатации эта плата ведет себя так же, как и версия Shiald, то есть плата исправна.

То есть вы имеете в виду, что платы Shiald и Shield имеют различия только в вопросе шелка печатных плат?

Да, эти две карты отличаются только написанием двух слов. Схема на обеих платах одинакова, и обе прекрасно работают с Arduino или по отдельности (автономный режим). Учитывая, что в Arduino загружен правильный код и что один из экранов также имеет правильную прошивку, после присоединения экрана к Arduino и подключения USB-кабеля просто переведите контакты P1 и P2 DIP-переключателя в положение ON. и связь между платами будет осуществляться через родной последовательный порт (контакты D0 и D1).

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

Щиток WiFi ESP8266 (Moer):

Изображение
Изображение

Обратите внимание, что на этой доске слово Shield написано правильно, а слово «More» написано «Moer», то есть неправильно. К сожалению, эта плата не работает так, как должна, и если она подключена к Arduino (с выключенными или включенными контактами DIP-переключателя), и пользователь пытается загрузить код на Arduino, сообщение об ошибке появится в IDE как загрузка не удастся.

Если ваш щит написан на Moer, и у вас возникли проблемы с его использованием с Arduino через встроенную последовательную связь, перейдите к следующему шагу и узнайте, как решить проблему. Если ваш щит НЕ МОЕР, переходите к шагу 5.

Шаг 4: Shield Moer - решение проблемы последовательной связи RX / TX

Если эта плата (Moer) подключена к Arduino (с выключенными или включенными контактами DIP-переключателя) и пользователь пытается загрузить код на Arduino, в IDE появится сообщение об ошибке, поскольку загрузка не удастся. Это происходит из-за ошибки компонента, используемого в конструкции щита.

Экран, который имеет правильную конструкцию и функционирует, сваривает два полевых МОП-транзистора с каналом N и обозначен как J1Y. Один из транзисторов J1Y подключен к ESP8266 RX, а другой - к ESP8266 TX. На изображении ниже вы можете увидеть выделенные два транзистора:

Изображение
Изображение

Этот транзистор J1Y представляет собой транзистор BSS138, предназначенный для обеспечения связи схем логического уровня 5 В со схемами логического уровня 3,3 В и наоборот. Поскольку ESP8266 имеет логический уровень 3,3 В, а Arduino имеет логический уровень 5 В, необходимо использовать преобразователь логического уровня для обеспечения безупречной работы ESP8266.

В щитке Moer на плате припаяны два транзистора, обозначенных как J3Y. На изображении ниже вы можете увидеть выделенные два транзистора:

Изображение
Изображение

Транзистор J3Y - это S8050 NPN, и этот тип транзистора обычно используется в схемах усилителя. Почему-то при построении экрана Моера вместо преобразователя логического уровня J1Y использовали транзистор J3Y.

Таким образом, контакты RX и TX ESP8266 не будут работать должным образом, и, следовательно, щит не будет иметь последовательной связи с Arduino. Поскольку щит связывается с Arduino через собственный последовательный порт (контакты D0 и D1), при его подключении к загрузке кода Arduino (в Arduino) никогда не будет успешно завершена, потому что в некоторых случаях всегда будет примерно 2,8 В в RX и Arduino TX или постоянный 0V, все из-за неправильных транзисторов.

После всей этой информации становится ясно, что единственное решение для экрана Моера - это замена транзисторов J3Y на транзисторы J1Y. Для этой процедуры вам потребуются помимо щита терпения Моэра, а также:

01 - Паяльник 01 - Олово01 - Щипцы или игольчатые клещи 01 - Сварочная присоска 02 - BSS138 (J1Y)

Транзистор BSS138 (J1Y) используется в преобразователе логического уровня 3,3 В / 5 В.

ПРИМЕЧАНИЕ. Для выполнения следующей процедуры необходимо знать, как обращаться с паяльником, и иметь минимальный опыт сварки. Компоненты, которые будут удалены, и те, которые будут заменены, являются компонентами SMD и требуют большей осторожности и терпения при сварке обычным паяльником. Будьте осторожны, не оставляйте паяльник слишком долго на выводах транзистора, так как это может привести к их повреждению

Горячим паяльником нагрейте один из выводов транзистора и положите немного олова. Выполните эту процедуру для каждого из выводов двух транзисторов. Излишек приварки выводов облегчит демонтаж транзисторов:

Изображение
Изображение

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

Изображение
Изображение

Снимите две микросхемы J3Y с экрана, просто поместите микросхему J1Y на место, удерживайте ее пинцетом / плоскогубцами и нагрейте каждый конец экрана, чтобы олово вошло в контакт. Если контакты плохо припаяны, нагрейте каждый и поместите больше олова. Сделайте это для обоих транзисторов и будьте очень осторожны:

Изображение
Изображение

После ремонта его щит, который ранее не имел прямой связи с Arduino, начал подключаться к плате через собственный последовательный порт (контакты D0 и D1).

Первый тест, подтверждающий успешность ремонта, - это прикрепить экран (со всеми контактами DIP-переключателя в выключенном состоянии) к Arduino, подключить USB-кабель к плате и компьютеру и попытаться загрузить код в Arduino. Если все в порядке, код загрузится успешно.

Шаг 5: Веб-сервер с ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter для Arduino

В качестве основного требования для продолжения этого шага вы должны были выполнить шаг 2.

Как я упоминал ранее, чтобы использовать экран с Arduino через собственный последовательный порт (контакты D0 и D1), необходимо, чтобы код был загружен в экран, а в Arduino был загружен другой код для отправки, получения и интерпретации данные передаются через собственный последовательный порт. В шилде мы можем поместить прошивку AT-команд и запрограммировать Arduino для отправки команд в шилд для подключения к сети Wi-Fi и управления входами и выходами Arduino.

На этом этапе мы будем использовать библиотеку WiFiESP, поскольку в ней уже есть все необходимые функции для интеграции ESP8266 (в нашем случае Shield WiFi ESP8266) с Arduino и назначения WiFi плате. Библиотека WiFiESP работает, отправляя AT-команды, затем беспроводное сетевое соединение маршрутизатора и любой запрос, сделанный к веб-серверу, приведет к отправке AT-команд на экран.

Для работы библиотеки WiFiESP версия микропрограммы AT-команд должна быть не менее 0,25 или выше. Поэтому, если вы не знаете версию AT-команды вашего щита, перейдите к шагу 2, чтобы обновить плату микропрограммой с версией AT-команды 1.2.0.0, а затем вернитесь, чтобы продолжить.

Одна вещь, которую я обнаружил во время своих тестов с щитом и Arduino, заключается в том, что, поскольку связь между ними происходит через собственный последовательный порт (контакты D0 и D1), становится необходимым, чтобы последовательный порт использовался исключительно для связи между ними. Поэтому я не рекомендую использовать «Serial.print () / Serial.println ()» для печати информации на последовательном мониторе Arduino IDE или любой другой программе, отображающей серийную информацию.

По умолчанию библиотека WiFiESP настроена для отображения серийных ошибок, предупреждений и другой информации о связи между Arduino и ESP8266. Как я упоминал ранее, серийный номер должен быть выпущен для связи между Arduino и щитом. Поэтому отредактировал файл из библиотеки и отключил отображение всей информации в серийнике. Единственная информация, которая будет отображаться на последовательном мониторе, - это AT-команды, которые библиотека отправляет на экран для подключения к беспроводной сети, или AT-команды для выполнения запросов к веб-серверу.

Загрузите модифицированную библиотеку WiFIESP и установите ее в Arduino IDE:

Мод WiFIESP

В папке установки библиотеки просто перейдите по пути «WiFiEsp-master / src / utility» и внутри него находится файл «debug.h», который был отредактирован для отключения отображения информации о серийнике. Открывая файл в Notepad ++, например, у нас есть строки 25, 26, 27, 28 и 29, которые показывают соответствующую нумерацию для типов информации, которая будет отображаться на последовательном мониторе. Обратите внимание, что число 0 отключает отображение всей информации на последовательном мониторе. Наконец, в строке 32 я настроил "_ESPLOGLEVEL_" со значением 0:

Изображение
Изображение

Если вы хотите использовать библиотеку WiFiESP в других проектах с ESP8266 и вам нужна информация, отображаемая на последовательном мониторе, просто установите для «_ESPLOGLEVEL_» значение 3 (значение библиотеки по умолчанию) и сохраните файл.

Поскольку на вашем щите уже установлена микропрограмма AT-команд версии 0.25 или выше, давайте продолжим.

Прикрепите экран к вашему Arduino (Uno, Mega, Leonardo или другая версия, которая позволяет прикрепить экран), переведите все контакты DIP-переключателя в положение OFF, подключите светодиод между контактом 13 и GND и подключите кабель USB к Ардуино и компьютер:

Изображение
Изображение

Я использовал Arduino Mega 2560, однако конечный результат будет таким же, если вы используете другую плату Arduino, которая позволяет подключать экран.

Скачайте код по ссылке и откройте его в Arduino IDE:

Веб-сервер кода

Если вы используете Arduino Leonardo, перейдите к строкам 19 и 20 кода и измените слово Serial на Serial1, как показано на изображении ниже:

Изображение
Изображение

В коде вы должны ввести имя вашей сети Wi-Fi в строке char * ssid = "НАЗВАНИЕ ВАШЕЙ СЕТИ WIFI"; пароль следует ввести в строке char * password = "ПАРОЛЬ ВАШЕЙ СЕТИ WIFI"; и в строке WiFi.config (IPAddress… вы должны ввести доступный IP-адрес в вашей беспроводной сети, поскольку этот код использует статический IP-адрес:

Изображение
Изображение

В меню «Инструменты» выберите «Плата» и выберите модель вашего Arduino. По-прежнему в меню «Инструменты» выберите параметр «Порт» и проверьте COM-порт, в котором размещен ваш Arduino.

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

После загрузки кода на Arduino отсоедините USB-кабель от карты, установите контакты P1 и P2 DIP-переключателя экрана в положение ON и снова подключите USB-кабель к Arduino.

ПРИМЕЧАНИЕ. Пока контакты P1 и P2 щита находятся в положении ON, вы не сможете отправлять коды на Arduino, потому что собственный последовательный порт будет занят. Помните, что каждый раз, когда вы меняете положение переключателей DIP, нажимайте кнопку ESP-RST

Немедленно откройте последовательный монитор Arduino IDE:

Изображение
Изображение

При открытом последовательном мониторе вы можете следовать AT-командам, которые отправляются на экран для запуска веб-сервера. Если при открытии последовательного монитора информация не отображается, нажмите кнопку RESET на Arduino и подождите.

Обратите внимание, что на последовательном мониторе команда «AT + CIPSTA_CUR» показывает IP-адрес для подключения к веб-серверу, а команда «AT + CWJAP_CUR» показывает имя и пароль беспроводной сети, к которой подключен экран:

Изображение
Изображение

Скопируйте IP-адрес, показанный на последовательном мониторе, откройте свой интернет-браузер, вставьте IP-адрес и нажмите ENTER для доступа. Будет загружена веб-страница, подобная приведенной ниже:

Изображение
Изображение

На веб-странице есть кнопка, которая будет отвечать за включение / выключение светодиода, подключенного к выводу 13 Arduino. Нажмите кнопку, чтобы включить / выключить светодиод и увидеть, что текущий статус обновляется на странице.

Вы также можете получить доступ к веб-странице, например, со смартфона или планшета.

Смотрите видео ниже, чтобы увидеть окончательный результат:

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

Теперь, когда вы знаете, как интегрировать Shield WiFi ESP8266 с Arduino с веб-сервера, просто измените код и реализуйте более сложный проект или начните разработку собственного кода.

Еще раз прошу прощения за недоработки по английскому языку.

Если у вас есть вопросы о щите, просто задавайте, и я с радостью отвечу.

Рекомендуемые: