Arduino uno wifi esp8266 как подключить

Используем Arduino UNO с WiFi на одной плате для POST запроса на сервер

В статье «Как у меня заработал WIFI для Arduino ESP8266 ESP-12E» рассказывал как заставить работать платы Arduino UNO с ESP8266 ESP-12E UART Wi-Fi.

Но зачем такие сложности, если есть уже совмещенная плата?

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

Заказал вот эту плату:

И она заработала безо всяких прошивок и перепрошивок.

Работает только на скорости 115200

Среда Arduino уже была настроена для работы.

Осталось только переключатели перещелкивать, чтобы заливать скетч в UNO.

Таблица положений переключателей есть здесь.

Вот только не упомянуто положение переключателей (1-4 ON), когда во время работы Mega328+ESP8266 CH340 мониторит порт и выводит в консоль передаваемые команды.

Как настроить среду Arduino объясняется здесь или здесь.

Таблица переключателей.

CH340 connect to ESP8266 (upload sketch)

CH340 connect to ESP8266 (connect)

CH340 connect to ATmega328 (upload sketch)

All modules work independent

Совместная работа и мониторинг команд

Передача информации на серверы Cayenne и RemoteXY.

Протестировал плату на решении задач, скетчи которых заливал в слоеный пирог из двух плат:

Эти сервисы предоставляют свои библиотеки для работы с ESP8266.

Все заработало сразу без изменений и мучений.

Необходимо в скетчах заменить скорость на 115200.

Передача информации на произвольный сервер.

Решение предыдущей задачи «Отправка данных из ESP8266WiFi на сервер с CMS MaxSite» с этой платой повторить не удалось.

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

И оказалось, что эта библиотека не заработала с этой платой, выдавая

[WiFiEsp] Warning: Unsupported firmware 0.9.5

Действительно, модуль при обращении с соответствующей командой AT+GMR сообщает версию SDK 0.9.5:

В файле README.md библиотеки можно прочитать:

Supports ESP SDK version 1.1.1 and above (AT version 0.25 and above).

Попытки обновить прошивку при помощи flash_download_tools не увенчались успехом (да и не старался особо):

Ведь библиотеки Cayenne и RemoteXY для этой платы заработали без проблем!

В этих статьях описывается способ обращения к ESP8266 обычными командами без библиотек.

Будем обрабатывать POST запрос к серверу при помощи плагина my_esp8266 для MaxSiteCMS, который принимает данные.

Источник

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

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

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

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

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

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


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

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

READ  Как подключить шаринг на опенбокс х800

Давайте вернёмся к нашим баранам 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) и подав питание на модуль. На видео я делаю это обычной кнопкой. После перепрошивки — не забудьте вытащить перемычку/отжать кнопку(кнопку во время перепрошивки держать не обязательно, модуль при включении переходит в режим программирования, и остаётся в нём до перезагрузки).

READ  Hyperx cloud core как подключить микрофон

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 управлении, где вместо пульта ДУ будет обычный смарт. Но пока что я к этому ещё не пришёл, так что это всего лишь планы на будущее.

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

READ  Патрон е27 с кольцом белый как подключить

Уже на подходе плата на базе esp32:


http://www.pighixxx.com/test/2015/12/esp32-pinout/

Которая значительно круче чем esp8266, так что нас скоро ждёт бум, как мне кажется, темы IoT(интернет вещей).

Источник

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

ESP8266 – популярный Wi-Fi модуль, без проблем работающий со всеми микроконтроллерами.

Большую популярность набирают перепрошитые модули, работающие самостоятельно, то есть без внешнего контроллера, однако в некоторых случаях бывает удобно подключиться к модулю по стандартному UART и обрабатывать пакеты, полученные ESP8266 из Интернета обычной Arduino Uno.

О таком подключение и работе с модулем мы сегодня и поговорим!

Для реализации проекта из этой статьи нам потребуются следующие компоненты:

Краткий обзор модуля

Мы будем использовать модуль ESP-01, так как он имеет минимальное количество GPIO – для работы с AT-командами нам нужно только 2 пина (интерфейс UART), остальными же пинами управлять командами невозможно, поэтому они не особо важны. Подключение ESP8266 будет производиться к Arduino Uno.

Модуль работает на ядре Tensilica с частотой до 160 МГц, что даёт значительный прирост производительности в сравнении с Arduino. Наплатная антенна способна передавать данные и получать пакеты на расстоянии до 100 м.

В модуль установлена память объёмом 512 Кб, в которую зашита стандартная AT-прошивка. Её можно заменить на стороннюю, но сегодня мы будем разбираться именно с самым простым вариантом.

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

Для подключения необходимо VCC и CH_PD подключить к питанию 3.3В, GND – к GND, TX и RX – к RX и TX соответственно (крест-накрест).

Можно использовать любую Arduino, причём лучше использовать свободный UART – любой, кроме нулевого – либо, если у платы их несколько (как у Arduino Mega), то второй хардварный, либо организовывать софтверный при помощи Software Serail.

И пример схемы подключения:

Работа с ESP8266 в Arduino IDE

Так как модуль подключается по UART, то и взаимодействовать с ним нужно по этому протоколу. В Arduino для этих целей применяется класс Serial.

Работу с ним мы уже рассматривали, вся задача – правильно сконфигурировать его. Крайне важно выбрать верную скорость: по умолчанию она равна 9600 бод, но если модуль не отзывается, имеет смысл попробовать на скоростях 115200, 57600.

Для теста связи попробуйте отправить модулю команду:

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

У разных прошивок разный набор поддерживаемых команд. Узнать версию прошивки можно при помощи команды:

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

выполняет сканирование Wi-Fi сетей и выводит их список в удобном для разбора формате. А после того, как контроллер нашёл «свою» сеть, он может подключиться к ней при помощи команды:

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

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

1 – режим клиента. Модуль может подключиться к любой точке доступа

2 – режим точки доступа. Модуль может создать свою Wi-Fi сеть

3 – смешанный режим. Модуль может подключиться к точке доступа и создать свою сеть.

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

Источник

Поделиться с друзьями
Как подключить и установить...
Adblock
detector