Esp8266 01 подключение: d0_bf_d1_80_d0_be_d0_b4_d1_83_d0_ba_d1_82_d1_8b:esp8266-wifi-module [Амперка / Вики]

Содержание

Модуль ESP-01(esp8266) или WiFi для начинающих.

Рано или поздно все мы приходить к тому что нам не хватает подключения к Сети в наших проектах на платформе Ардуино. Действительно как же в 21 веке без статуса Онлайн )) И тут нам на выручку приходит  WiFI чип ESP8266 и готовые  модули на его основе. У меня в руках самый простой модуль (для новичков) ESP-01 :

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

  • ESP8266EX — сердце всего модуля.
  • P25Q80H (или другой чип) — Flash Memory на 1 Мбайт.
  • Кварц и обвязка со свето диодиками.
ESP8266EX

Китайский производитель Espressif сделал дешевый чип  с интерфейсом Wi-Fi и возможностью исполнять программы из внешней флеш-памяти с интерфейсом SPI. По сути это микроконтроллер и радио модуль для Wi-Fi в одном корпусе :

  • 80 MHz 32-bit процессор Tensilica.
  • IEEE 802.11 b/g/n Wi-Fi. Поддерживается WEP и WPA/WPA2.
  • 14 портов ввода-вывода(из них возможно использовать 11), SPI, I²C, I²S, UART, 10-bit АЦП. В нашем случае мы можем использовать только ограниченные выводы чипа.
  • Питание 2,2…3,6 В. Логика и питание чипа 3.3 В, будьте внимательны !  
  • Интегрированный стек TCP/IP. HTML

Выводы, подключение :

Возможности чипа очень большие, будем разбираться постепенно.

Выводы модуля :

  • VCC — плюс питания 3.3 В
  • GND — минус питания 3.3 В
  • TX — аппаратный UART.
  • RX — аппаратный UART.
  • RST — кратковременно подав на неё низкий логический уровень, модуль перезагрузиться. Лучше прижать ее через резистор 10 кОм к плюсу питания.
  • CH_PD(или по-другому EN) — служит для перевода модуля в энергосберегающий режим, в котором он потребляет очень маленький ток. Ну и снова — не будет лишним «прижать» эту ногу резистором на 10 кОм к плюсу питания.

По умолчанию во флешь-память ужа записана заводская прошивка с поддержкой АТ команд для управления чипом. Конечно можно залить и другие прошивки, но в этой статье мы будем работать именно в таком режиме с модулем. Суть проста по UART передаем команду, получаем ответ от модуля. Для этого нам потребуется  USB-to-Serial TTL конвертор что бы подключить модуль к компу. Так как у меня под рукой его нету то я буду использовать Arduino Nano в его качестве. 

Питание модуля отдельный вопрос. Пиковое потребление чипа может достигать 250 мА ( в datasheet указано 170 мА при использование Tx802.11b). Внимание! Этот модуль основан на 3.3 В логике, так что придется его питать от своего источника питания. Или через резисторный делитель(1 кОм и 2 кОм) с вывода +5 Ардуино. Выводы RX и TX надо тоже подключить через делитель  или через logic converter (например CD4050B).

Что бы Ардуино превратить в USB-to-Serial TTL конвертор зальем в контролер пустой скетч :

void setup() { }
void loop() { }

Далее Arduino нужно замкнуть RESET на GND.  Это изолирует процессор от I/O пинов. Альтернатива этому удаление микросхемы из «кроватки».  При этом выводы TX, RX устройства нужно подключить без перекрещивания. т.е. :

esp TX → ard TX
esp RX → ard RX

Подключаем все , открываем монитор портов в Arduino IDE и поехали.

Для простоты вы можете купить USB адаптер у наших Китайских партнеров.

AT-Команды.

Для на чало мы проверим  что все работает и  отправим в терминале:

AT

OK

Проверим  прошивку :

AT+GMR

AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec 2 2016 14:21:16
OK

Для подключения Wi-Fi выберем режим модуля: доступны следующие режимы: 1 — STA, 2 — AP, 3 — Station+AP

AT+CWMODE=1

OK

Смотрим список точек доступа командой:

AT+CWLAP +CWLAP:(3,"MTSRouter-047188",-77,"00:1f:ce:ac:e4:de",2,-21,0) +CWLAP:(3,"RT-WiFi_2958",-93,"78:96:82:44:29:58",4,10,0) +CWLAP:(3,"Test",-63,"ac:f1:df:c9:a5:82",6,0,0) +CWLAP:(3,"TP-LINK_4E54E0",-85,"f8:1a:67:4e:54:e0",6,103,0) +CWLAP:(3,"GARNIER",-89,"60:a4:4c:df:83:38",6,-31,0) +CWLAP:(2,"Oslik",-73,"bc:f6:85:cb:d7:53",7,-9,0) +CWLAP:(3,"Keenetic-6619",-80,"e8:37:7a:9a:93:46",8,8,0) +CWLAP:(2,"beeline-router_78",-90,"fc:75:16:4a:39:42",9,-26,0) +CWLAP:(3,"ASUS",-91,"f4:6d:04:df:d3:e8",11,-14,0) +CWLAP:(4,"Beeline_2G_F14986",-83,"78:94:b4:a3:8c:cc",11,-14,0) OK

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

Подключаемся к нашей точке:

AT+CWJAP="Oslik","password"
WIFI CONNECTED
WIFI GOT IP

OK

Посмотреть какой ip получил наш модуль:

AT+CIFSR
+CIFSR:STAIP,"192.168.0.55" +CIFSR:STAMAC,"b4:e6:2d:22:f6:61" OK

Все настройки запоминаются во флешь память, сбросить настройки на заводские можно командой:

AT+RESTORE

Задать скорость UART :

AT+CIOBAUD=9600

OK

Перезагрузить модуль :

AT+RST

OK
?)⸮⸮⸮@H

<⸮⸮⸮⸮@H⸮⸮!`̌⸮
⸮K⸮ZHRh|$ ⸮⸮ؤ⸮
Ai-Thinker Technology Co. Ltd.

ready

Команды делятся условно на три части : системные, Wi-Fi,TCP. Полный список команд можно посмотреть в datasheep. Ну а мы перейдем к командам режима TCP-сервера. На плате ESP-01 можно запустить TCP-сервер для приема-отправки данных или она может выступать TCP-клиентом для приема-отправки данных на сервер.
Для запуска TCP-сервера выполним следующие команды:

AT+CIPMODE=0

OK

0 — not data mode (сервер может отправлять данные клиенту и может принимать данные от клиента).
1 — data mode (сервер не может отправлять данные клиенту, но может принимать данные от клиента).

Устанавливаем возможность множественных соединений:

AT+CIPMUX=1

OK

0 — single connection.
1 — multiple connection.

Запускаем сервер на порту 80:

AT+CIPSERVER=1,80 (mode,port)

OK

0 — to close server
1 — to open server

Теперь можно подключиться к ESP-01 и отправить-принять какие-нибудь данные. На потребуется telnet клиент, я использую PuTTY. При подключение модуль нам сообщает что подключился клиент и показывает нам id клиента.

0,CONNECT

+IPD,0,21:⸮⸮⸮⸮ ⸮⸮⸮⸮'⸮⸮⸮⸮⸮⸮

Посмотреть список активных подключений к ESP-01 можно командой AT+CIPSTATUS
Пример:

AT+CIPSTATUS

+CIPSTATUS:0,"TCP","192.168.0.19",57907,80,1
OK

Закрыть активное соединение можно командой

AT+CIPCLOSE=id или все соединения AT+CIPCLOSE без параметров.

AT+CIPCLOSE=0 
0,CLOSED

OK

Отправляем данные с ESP-01 на ПК. Для режима Single connection отправка идет так :AT+CIPSEND=length, для режима Multiple connection отправка идет так: AT+CIPSEND=id,length.

AT+CIPSEND=0,6  (6 байт)

OK
> 
Hellow

busy s...
Recv 6 bytes
SEND OK

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



Я подключил свой ESP8266 к своему arduino, как показано в следующем видео: https://www.youtube.com/смотреть?в=N8pHpQSB1y4

В платах arduino я выбрал универсальный модуль ESP8266 со скоростью передачи данных 115200 бод. Я попытался загрузить следующий код, но каждый раз он застревает на загрузке с ошибками: код + ошибки

Что я могу сделать, чтобы исправить это? Я переключил RX и TX и убедился, что VCC подключен к 3.3V. Спасибо за помощь.

arduino esp8266
Поделиться Источник P.Dowsen     21 марта 2016 в 20:24

2 ответа


  • Arduino Wifi ESP8266

    Во-первых, нужно ли мне 2 Arduino Unos с установленным модулем ESP8266 для связи друг с другом? Я хочу передать ультразвуковое значение от 1 Arduino Uno к другому. Спасибо, что ответили на мой вопрос.

  • Ошибка: компиляция для платы generic esp8266, Arduino UNO

    Я пытаюсь подключить ESP8266-01, который у меня был некоторое время, к моему Arduino UNO r3. Использование ESP8266 для меня в новинку. Я использовал этот сайт в качестве ссылки. Подключение выглядит следующим образом: Arduino -> ESP8266 TX -> RX RX -> TX 5V -> Resistor -> VCC, CH_PD…



0

Как видно из вопроса и комментариев:

  • Вы используете модуль ESP-01
  • Вы пытаетесь использовать Arduino IDE для программирования модуля/flash ESP-01

Сначала проверьте это: ESP-01 Шпаргалка

Для того, чтобы flash любой чип ESP, вы должны выполнить следующие действия:

  • Потяните GPIO0 низко
  • Потяните GPIO15 низко
  • Вытяните GPIO2 высоко После выполнения описанных выше действий сбросьте чип и подождите 1 сек до boot.

К сожалению, вы не можете flash модуль ESP-01 из последовательного интерфейса, так как он не имеет GPIO15. Если вы хотите flash ESP-01, вам нужно изменить/добавить некоторые соединения в схему. Насколько я знаю, он поставляется с предустановленной прошивкой AT. Эта прошивка AT может быть обновлена OTA, когда она подключена к Интернету.

Предложение: попробуйте получить ESP-12 или ESP-07

Поделиться Mert Gülsoy     25 марта 2016 в 10:27



0

Из видео кажется, что вы используете чип ESP-01 (то есть, если ваш чип выглядит так, как на видео) Экран код + Ошибка показывает, что вы используете Arduino IDE для мигания.

Ошибка предполагает, что вы не переводите свой чип в режим flash. Пожалуйста, обратитесь к схеме RESET & PROG кнопки Шаги, которые должны быть выполнены в последовательности

  1. Скомпилируйте свой код
  2. Подключите esp-01 как в схеме с FTDI
  3. Соединитесь с USB вашего PC
  4. Нажмите & удерживайте переключатель PROG (т. е. Заземление GPIO0)//держите его таким образом
  5. Нажмите кнопку СБРОСА &(т. е. Заземлите свой штырь RST)
  6. Нажмите кнопку Загрузить в Arduino IDE
  7. Дождитесь завершения загрузки.
  8. Отпустите переключатель PROG
  9. Нажмите & отпустите переключатель СБРОСА
  10. Ваш код должен выполняться

Пожалуйста, убедитесь, что питание 3v3 подается от внешнего источника, а не от вашего USB. Подключите LED, чтобы увидеть результат вашего кода.

Поделиться Anurag Chauhan    

30 мая 2016 в 13:23


Похожие вопросы:


Сопряжение ESP8266 и Arduino

Я соединил Arduino с ESP8266 с Arduino контакт 2 подключен к ESP Tx Arduino контакт 3 подключен к ESP Rx через делитель напряжения Arduino GND подключен к GND ESP Arduino 3v3 подключен к CH_PD ESP Я…


Подключение Arduino к wunderground с помощью ESP8266

Я пытаюсь использовать ESP8266 и Arduino Uno для подключения к wunderground и получить файл JSON, чтобы получить текущую погоду. С моим кодом я нормально подключаюсь к серверу. Похоже, проблема в…


Arduino-ESP8266 отправка URL из клиентского браузера, подключенного к esp8266 AP, и получение введенного URL на плате arduino

Я работаю над проектом, в котором я соединил плату arduino uno и модуль ESP8266. Я хочу отправить URL из своего браузера при условии, что я подключен к ESP8266 01 AP. Например, можно ли отправить…


Arduino Wifi ESP8266

Во-первых, нужно ли мне 2 Arduino Unos с установленным модулем ESP8266 для связи друг с другом? Я хочу передать ультразвуковое значение от 1 Arduino Uno к другому. Спасибо, что ответили на мой…


Ошибка: компиляция для платы generic esp8266, Arduino UNO

Я пытаюсь подключить ESP8266-01, который у меня был некоторое время, к моему Arduino UNO r3. Использование ESP8266 для меня в новинку. Я использовал этот сайт в качестве ссылки. Подключение выглядит…


Arduino + ESP8266 WebClient

Мне нужно подключить Мой ESP8266 с Arduino Mega, но у меня нет никакой библиотеки, чтобы подключить его как ESP8266 WebClient, в Serial1. Я стараюсь использовать WifiLibrary из Arduino . Я пытаюсь…


ESP8266 серийный возврат ‘garbage’ в Arduino

Я купил модуль ESP8266 и подключился к плате Arduino UNO через SoftwareSerial (PIN 10 — RX, PIN 11 — TX), У меня также есть expternal power suply для ESP8266 5V (450mA), он уменьшен до 3.3V с…


Arduino ESP8266 Socket.io выпуск

Я хочу сделать WebSocket внутренний ESP8266, но не могу этого сделать. Я использовал эту ссылку для made it. https://github.com/billroy/socket.io-arduino-client я получаю внутреннюю ошибку…


Подключите Arduino к Blynk с помощью ESP8266

так что сегодня я получил свой Arduino Uno. Для porject я хочу иметь возможность управлять некоторыми реле на моем Arduino через Wifi (через приложение Blynk). Для этого я хочу использовать…


ESP8266 подключение к a Arduino Nano

Я пытаюсь подключить модуль WiFi (ESP8266) к плате разработки funduino (Arduino Nano), но у меня ничего не получается. Поскольку я перепробовал так много схем, которые я нашел в интернете о связи…

Подключение Wi-Fi модуля ESP8266-01 к Raspberry Pi Pico: схема и программа

Модуль ESP-01 (ESP8266-01 ) является достаточно функциональным и при этом одним из самых дешевых Wi-Fi модулей. В данной статье мы рассмотрим подключение Wi-Fi модуля ESP8266-01 к плате Raspberry Pi Pico и его программирование с помощью языка Micropython и библиотеки ESP8266.

Модуль ESP8266-01 поставляется с собственной прошивкой (программным обеспечением), управлять им можно по последовательному порту (UART), передавая ему AT команды. С помощью языка программирования Micropython мы можем сравнительно просто подключить модуль ESP8266 к плате Raspberry Pi Pico и выполнять операции вида http get/post. Более подробно про работу с данным модулем вы можете прочитать в статье про его подключение к плате Arduino.

Необходимые компоненты

  1. Плата Raspberry Pi Pico (купить на AliExpress).
  2. Модуль ESP8266-01 (купить на AliExpress).
  3. Резистор 1 или 10 кОм (опционально, для подключения между контактом 3.3v платы и контактом EN модуля ESP8266).
  4. Макетная плата.
  5. Соединительные провода.

Схема проекта

Схема подключения Wi-Fi модуля ESP8266-01 к плате Raspberry Pi Pico представлена на следующем рисунке.

На представленной схеме провод красного цвета соединяет контакт VCC модуля ESP-01 с контактом 3.3V (контакт № 36) платы Raspberry Pi Pico. Провод коричневого цвета подключает контакт CH_EN (Channel Enable – задействование канала) модуля ESP-01 к контакту 3.3V платы. Контакт передачи модуля ESP-01 подключен к контакту приема канала UART0 (контакт № 2) платы Raspberry Pi Pico с помощью провода желтого цвета на схеме. Контакт приема модуля ESP-01 подключен к контакту передачи канала UART0 (контакт № 1) платы с помощью провода оранжевого цвета. Соединение проводов земли (ground) модуля и платы показано проводами черного цвета.

Объяснение программы для Raspberry Pi Pico

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Прежде чем начинать работу над программой для проекта скачайте с репозитория GitHub каталог обучающих программ для Raspberry Pi Pico либо же вы непосредственно можете скачать библиотеку Raspberry Pi Pico MicroPython ESP8266 library для использования операций HTTP Get/Post.

Для операции HTTP Get мы используем ссылку на сайт www.httpbin.org/ip чтобы получить IP адрес модуля ESP8266.

{ «origin»: «223.229.136.70» }

{

  «origin»: «223.229.136.70»

}

Для операций HTTP Post мы используем ссылку на сайт www.httpbin.org/post чтобы получить ответ на свой запрос и другие данные в формате Json. Пример:

{ «args»: {}, «data»: «{\»name\»:\»Noyel\»}», «files»: {}, «form»: {}, «headers»: { «Content-Length»: «16», «Content-Type»: «application/json», «Host»: «httpbin.org», «User-Agent»: «RPi-Pico», }, «json»: { «name»: «Noyel» }, «origin»: «223.229.136.70», «url»: «http://httpbin.org/post» }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

{

  «args»: {},

  «data»: «{\»name\»:\»Noyel\»}»,

  «files»: {},

  «form»: {},

  «headers»: {

    «Content-Length»: «16»,

    «Content-Type»: «application/json»,

    «Host»: «httpbin.org»,

    «User-Agent»: «RPi-Pico»,

  },

  «json»: {

    «name»: «Noyel»

  },

  «origin»: «223.229.136.70»,

  «url»: «http://httpbin.org/post»

}

Теперь приступим непосредственно к написанию программы для нашего проекта. Первым делом в программе подключим (импортируем) необходимые нам библиотеки. После этого создадим объект esp01 при помощи вызова функции ESP8266(). Этот объект нам будет необходим для управления HTTP процессами.

from machine import UART, Pin import time from esp8266 import ESP8266 esp01 = ESP8266() esp8266_at_ver = None

from machine import UART, Pin

import time

from esp8266 import ESP8266

esp01 = ESP8266()

esp8266_at_ver = None

Далее осуществим вызов функции esp01.startUP() для проверки соединения между платой RaspberryPi Pico и модулем ESP8266.

После вызова функции esp01.startUP() мы вызовем функцию esp01.echoING() для отключения эхо (Echo) в AT командах и затем функцию esp01.setCurrentWiFiMode() для установки WiFi режима STA+SoftAP. После конфигурирования WiFi режима подключимся к сети WiFi при помощи вызова функции esp01.connectWiFi(«ssid»,»pwd») и подождем пока происходит процесс подключения.

print(«StartUP»,esp01.startUP()) #print(«ReStart»,esp01.reStart()) print(«StartUP»,esp01.startUP()) print(«Echo-Off»,esp01.echoING()) print(«\r\n\r\n») »’ Print ESP8266 AT command version and SDK details »’ esp8266_at_var = esp01.getVersion() if(esp8266_at_var != None): print(esp8266_at_var) »’ set the current WiFi in SoftAP+STA »’ esp01.setCurrentWiFiMode() #apList = esp01.getAvailableAPs() #for items in apList: # print(items) #for item in tuple(items): # print(item) print(«\r\n\r\n») »’ Connect with the WiFi »’ print(«Try to connect with the WiFi..») while (1): if «WIFI CONNECTED» in esp01.connectWiFi(«ssid»,»pwd»): print(«ESP8266 connect with the WiFi..») break; else: print(«.») time.sleep(2)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

print(«StartUP»,esp01.startUP())

#print(«ReStart»,esp01.reStart())

print(«StartUP»,esp01.startUP())

print(«Echo-Off»,esp01.echoING())

print(«\r\n\r\n»)

»’

Print ESP8266 AT command version and SDK details

»’

esp8266_at_var = esp01.getVersion()

if(esp8266_at_var != None):

    print(esp8266_at_var)

»’

set the current WiFi in SoftAP+STA

»’

esp01.setCurrentWiFiMode()

#apList = esp01.getAvailableAPs()

#for items in apList:

#    print(items)

    #for item in tuple(items):

    #    print(item)

print(«\r\n\r\n»)

»’

Connect with the WiFi

»’

print(«Try to connect with the WiFi..»)

while (1):

    if «WIFI CONNECTED» in esp01.connectWiFi(«ssid»,»pwd»):

        print(«ESP8266 connect with the WiFi..»)

        break;

    else:

        print(«.»)

        time.sleep(2)

После того как процесс подключения к сети WiFi будет завершен и соединение будет установлено мы начнем выполнение операций HTTP Get/Post.

Чтобы завершить операции Get/Post нам необходимо вызвать функции esp01.doHttpGet() и esp01.doHttpPost(). В функцию esp01.doHttpGet() нам необходимо передать URL адрес хоста, в качестве него мы будем использовать адрес User-Agent[Optional, default “RPi-Pico”]. В качестве номера порта (port number) мы будем использовать [optional, default “80”].

В функцию esp01.doHttpPost() нам также необходимо передать URL адрес хоста, в качестве него мы будем использовать адрес User-Agent[Optional, default “RPi-Pico”], тип контента у нас будет [ex. application/json, text/plain etc], а номер порта [optional, default “80”].

После завершения каждой операции Get/Post функция возвращает HTTP код ошибки (Error Code) в ответе и мы печатаем этот код ошибки.

print(«\r\n\r\n») print(«Now it’s time to start HTTP Get/Post Operation…….\r\n») while(1): led.toggle() time.sleep(1) »’ Going to do HTTP Get Operation with www.httpbin.org/ip, It return the IP address of the connected device »’ httpCode, httpRes = esp01.doHttpGet(«www.httpbin.org»,»/ip»,»RaspberryPi-Pico», port=80) print(«————- www.httpbin.org/ip Get Operation Result ————————«) print(«HTTP Code:»,httpCode) print(«HTTP Response:»,httpRes) print(«——————————————————————————\r\n\r\n») »’ Going to do HTTP Post Operation with www.httpbin.org/post »’ post_json=»abcdefghijklmnopqrstuvwxyz» #»{\»name\»:\»Noyel\»}» httpCode, httpRes = esp01.doHttpPost(«www.httpbin.org»,»/post»,»RPi-Pico», «application/json»,post_json,port=80) print(«————- www.httpbin.org/post Post Operation Result ————————«) print(«HTTP Code:»,httpCode) print(«HTTP Response:»,httpRes) print(«———————————————————————————\r\n\r\n») #break

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

print(«\r\n\r\n»)

print(«Now it’s time to start HTTP Get/Post Operation…….\r\n»)

while(1):  

    led.toggle()

    time.sleep(1)

    »’

    Going to do HTTP Get Operation with www.httpbin.org/ip, It return the IP address of the connected device

    »’

    httpCode, httpRes = esp01.doHttpGet(«www.httpbin.org»,»/ip»,»RaspberryPi-Pico», port=80)

    print(«————- www.httpbin.org/ip Get Operation Result ————————«)

    print(«HTTP Code:»,httpCode)

    print(«HTTP Response:»,httpRes)

    print(«——————————————————————————\r\n\r\n»)

    »’

    Going to do HTTP Post Operation with www.httpbin.org/post

    »’

    post_json=»abcdefghijklmnopqrstuvwxyz»  #»{\»name\»:\»Noyel\»}»

    httpCode, httpRes = esp01.doHttpPost(«www.httpbin.org»,»/post»,»RPi-Pico», «application/json»,post_json,port=80)

    print(«————- www.httpbin.org/post Post Operation Result ————————«)

    print(«HTTP Code:»,httpCode)

    print(«HTTP Response:»,httpRes)

    print(«———————————————————————————\r\n\r\n»)

    #break

Тестирование работы проекта

После того как схема проекта будет готов можно приступить к тестированию его работы. Мы будем проверять работу проекта с помощью выводимых на экран данных отладки. Как вы можете на рисунке ниже, среда Thonny IDE последовательно выводит на экран все выводимые нами из программы данные.

Исходный код программы на Micropython

from machine import UART, Pin import time from esp8266 import ESP8266 esp01 = ESP8266() esp8266_at_ver = None led=Pin(25,Pin.OUT) print(«StartUP»,esp01.startUP()) #print(«ReStart»,esp01.reStart()) print(«StartUP»,esp01.startUP()) print(«Echo-Off»,esp01.echoING()) print(«\r\n\r\n») »’ Print ESP8266 AT command version and SDK details »’ esp8266_at_var = esp01.getVersion() if(esp8266_at_var != None): print(esp8266_at_var) »’ set the current WiFi in SoftAP+STA (устанавливаем режим WiFi) »’ esp01.setCurrentWiFiMode() #apList = esp01.getAvailableAPs() #for items in apList: # print(items) #for item in tuple(items): # print(item) print(«\r\n\r\n») »’ Connect with the WiFi »’ print(«Try to connect with the WiFi..») while (1): if «WIFI CONNECTED» in esp01.connectWiFi(«ssid»,»pwd»): print(«ESP8266 connect with the WiFi..») break; else: print(«.») time.sleep(2) print(«\r\n\r\n») print(«Now it’s time to start HTTP Get/Post Operation…….\r\n») while(1): led.toggle() time.sleep(1) »’ Going to do HTTP Get Operation with www.httpbin.org/ip, It return the IP address of the connected device »’ httpCode, httpRes = esp01.doHttpGet(«http://www.httpbin.org/»,»/ip»,»RaspberryPi-Pico», port=80) print(«————- www.httpbin.org/ip Get Operation Result ————————«) print(«HTTP Code:»,httpCode) print(«HTTP Response:»,httpRes) print(«——————————————————————————\r\n\r\n») »’ Going to do HTTP Post Operation with www.httpbin.org/post »’ post_json=»abcdefghijklmnopqrstuvwxyz» #»{\»name\»:\»Noyel\»}» httpCode, httpRes = esp01.doHttpPost(«http://www.httpbin.org/»,»/post»,»RPi-Pico», «application/json»,post_json,port=80) print(«————- www.httpbin.org/post Post Operation Result ————————«) print(«HTTP Code:»,httpCode) print(«HTTP Response:»,httpRes) print(«———————————————————————————\r\n\r\n») #break

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

from machine import UART, Pin

import time

from esp8266 import ESP8266

esp01 = ESP8266()

esp8266_at_ver = None

led=Pin(25,Pin.OUT)

print(«StartUP»,esp01.startUP())

#print(«ReStart»,esp01.reStart())

print(«StartUP»,esp01.startUP())

print(«Echo-Off»,esp01.echoING())

print(«\r\n\r\n»)

»’

Print ESP8266 AT command version and SDK details

»’

esp8266_at_var = esp01.getVersion()

if(esp8266_at_var != None):

    print(esp8266_at_var)

»’

set the current WiFi in SoftAP+STA (устанавливаем режим WiFi)

»’

esp01.setCurrentWiFiMode()

#apList = esp01.getAvailableAPs()

#for items in apList:

#    print(items)

    #for item in tuple(items):

    #    print(item)

print(«\r\n\r\n»)

»’

Connect with the WiFi

»’

print(«Try to connect with the WiFi..»)

while (1):

    if «WIFI CONNECTED» in esp01.connectWiFi(«ssid»,»pwd»):

        print(«ESP8266 connect with the WiFi..»)

        break;

    else:

        print(«.»)

        time.sleep(2)

print(«\r\n\r\n»)

print(«Now it’s time to start HTTP Get/Post Operation…….\r\n»)

while(1):  

    led.toggle()

    time.sleep(1)

    »’

    Going to do HTTP Get Operation with www.httpbin.org/ip, It return the IP address of the connected device

    »’

    httpCode, httpRes = esp01.doHttpGet(«http://www.httpbin.org/»,»/ip»,»RaspberryPi-Pico», port=80)

    print(«————- www.httpbin.org/ip Get Operation Result ————————«)

    print(«HTTP Code:»,httpCode)

    print(«HTTP Response:»,httpRes)

    print(«——————————————————————————\r\n\r\n»)

    »’

    Going to do HTTP Post Operation with www.httpbin.org/post

    »’

    post_json=»abcdefghijklmnopqrstuvwxyz»  #»{\»name\»:\»Noyel\»}»

    httpCode, httpRes = esp01.doHttpPost(«http://www.httpbin.org/»,»/post»,»RPi-Pico», «application/json»,post_json,port=80)

    print(«————- www.httpbin.org/post Post Operation Result ————————«)

    print(«HTTP Code:»,httpCode)

    print(«HTTP Response:»,httpRes)

    print(«———————————————————————————\r\n\r\n»)

    #break

Видео, демонстрирующее работу проекта

Источник статьи

Загрузка… 74 просмотров

ESP8266-01 подключение

ESP8266 — 32-битный микроконтроллер фирмы Espressif Systems с интерфейсом Wi-Fi и тактовой частотой 80 МГц. Микроконтроллер поддерживает до 16 МБ внешней памяти программ.

Источник исполняемой программы ESP8266 задается состоянием портов GPIO0, GPIO2 и GPIO15 в момент окончания сигнала Reset (то есть подачи питания). Наиболее интересны два режима: исполнение кода из UART (GPIO0 = 0, GPIO2 = 1 и GPIO15 = 0) и из внешней ПЗУ (GPIO0 = 1, GPIO2 = 1 и GPIO15 = 0). Режим исполнения кода из UART используется для перепрошивки подключенной флеш-памяти, а второй режим — штатный рабочий.

В этой статье мы предлагаем схему подключения модуля ESP8266-01 к компьютеру через микросхему QinHeng Electronics HL-340 USB-Serial adapter встроенную в модуль Arduino NANO.

Обратите внимание, это схема подключения ESP8266-01 к компьютеру, а не к Arduino. В этой схеме работа Arduino полностью блокируется перемычкой GND-RESET.

Есть ещё одно замечание по этой схеме, модуль ESP8266-01 требует 3,3 Вольта питающего напряжения с током не менее 0,25 мА. Для связи с компьютером используется USB интерфейс платы Arduino.

Подключение к компьютеру.

Подключаем USB интерфейс платы Arduino к компьютеру. Микросхемы на плате Arduino питаются от USB интерфейса. Запускаем Arduino IDE. В программе выбираем порт, какая выбрана плата Arduino не важно. Запускаем монитор порта. В мониторе выставляем скорость 115200 бод и NL/CR. Включаем питание ESP8266 модуля 3,3 Вольта. На мониторе появится информация (у меня по Linux кракозябры). Даём команду AT+GMR, принимаем:

AT+GMR

AT version:1.3.0.0(Jul 14 2016 18:54:01)
SDK version:2.0.0(5a875ba)
Farylink Technology Co., Ltd. v1.0.0.2
May 11 2017 22:23:58
OK

В модуль ESP8266-01 установлен интерпретатор AT команд.

Замечание, ESP8266-01 передаёт в последовательный интерфейс отладочную информацию и информацию после старта или перезагрузки на скорости 74880 бод. Монитор порта IDE Arduino под Linux может работать не корректно. Воспользуйтесь другой программой, например CuteCom.

Ω ESP8266-01 подключение USB-UART >>>

BIGTREETECH SKR v1.3 + ESP-01S = простой способ подключить WiFi.

Периодически в комментариях к разным постам попадаются фразы «подключи WiFi напрямую к плате». При этом вроде как само собой разумеется, что все должны знать, как это сделать. Я не знал. Поэтому потратил пару вечеров на выяснение.

Сначала я пошёл «простым путём» — подключил модуль ESP-01S в подходящий разъём на плате умного дисплея TFT35. Всё заработало (предварительно нужно прошить ESP, об этом далее). Но потом я понял, что хочу оставить привычный и удобный LCD2004, и при этом сделать-таки возможность управлять принтером и заливать файлы на карту по WiFi.

Имеем: плату BIGTREETECH SKR v1.3 и модуль ESP-01S (!!! именно -01S, он с 1МБ памяти на борту).

Как собрать и залить прошивку ESP3D описано уже много раз, например тут, и тут, и тут.  Есть определённые тонкости, но в целом победить можно. В частности, есть момент с тем, что нужно руками запустить команду для питона, чтобы отключить лишний функционал и уместить прошивку в 1Мб память, или использовать вариант с вырезанными языковыми пакетами. Это всё описано на странице гитхаба, откуда собственно и берётся ESP3D.

Чтобы не ковыряться с проводами при прошивке модуля, я покупал сразу комплект ESP+программатор, например вот такой:

При этом прошивается esp как любой другой контроллер, нужно только поставить драйвера на Ch440 (если ранее их не было), чтобы система увидела переходник и подняла его как com-порт.

Теперь основное:

Поскольку SKR v1.3 собрана на LPC1768, который питается от 3.3v, и ESP-01S тоже кушает 3.3 вольта, их можно соединять по сигнальным выводам без всякого лишнего согласования. Берём набор коннекторов dupont, обжимку, кусочки проводов, и городим простейший переходник.

Чтобы плата ESP не болталась и не замкнула чего-нть случайно, я приклеил разъёмы друг к другу суперклеем.

А вот так всё выглядит в собранном виде:

Провод питания нужно воткнуть в выход 3.3v разъёма ISCP (слева от контроллера), а всю остальную конструкцию — в разъём tft (под контроллером), в который ранее подключался TFT35.

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

Краткая инструкция:

1. Берём SKR 1.3 + ESP-01S

2. Заливаем в ESP-01S ESP3D

3. Рукоделим переходник

4. Всё соединяем, включаем

5. ????????

6. PROFIT

Прошивка ESP-01 Wi-Fi , он же ESP8266. Подключение к AP/точке_доступа: alex_1101001 — LiveJournal

  Сегодня я расскажу вам как прошить модуль ESP-01(ESP8266) последней прошивкой версии 2.1.
Облазил весь инет, так и не нашел подробной инструкции как это делать, были разные версии прошивки, они шились, но я хотел последнюю SDK 2.1, которая вышла 05.05.2017 . В итоге решил сам все сделать. Соответственно дело оказалось не совсем простое. Напоролся я на кучу подводных камней. Но обо всем по порядку…

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

 К нему также для удобства подключения был куплен переходник. С помощью переходника ESP-01 можно подключать к 5в (т.к. питание модуля и особенно его логики используется 3,3в) и программировать посредством MICRO USB to UART TTL модулем через com-порт.

  В итоге понадобилось:






 Первое что надо сделать, это скачать FLASH_DOWNLOAD_TOOLS_v2.4 и последнюю прошивку SDKversion2.1.bin. Я выложил все одим архивом.
Для удобства я уже совместил необходимые куски прошивки в 1 файл, так что процедура прошивки упрощена.
Распаковываем скаченный архив в корень любого диска на компе. Это для того чтоб не было проблем с путями при прошивке (первый подводный камень).
Далее, убедитесь, что у вас качественный провод USB и подключен он напрямую к компу, а не через всякие там разветвители/хабы. (второй подводный камень) Иначе модуль будет успешно прошиваться, но работать не будет вообще, или часто станет зависать.
Запустить программу-прошивальщик и настроить так как указанно на скриншоте соответственно указав свой  путь к файлу прошивки:


  Убедитесь что модуль отключен от компьютера. Теперь нужно закоротить GND и GPIO0 на ESP-01. для этих целей я сделал маленькую перемычку из тонкой проволоки и вставил в переходник, после чего туда же вставил сам модуль ESP-01

  Теперь подключите модуль к компьютеру используя переходник
MICRO USB to UART TTL <<<—>>> ESP-01
5v   <<<—>>> 5v
RX   <<<—>>> TX
TX   <<<—>>> RX
GND <<<—>>> GND

Запустите ардуино IDE и посмотрите какой порт у устройства. Укажите этот порт в программе FLASH_DOWNLOAD_TOOLS_v2.4
Теперь можно прошивать, нажав кнопку START.

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

ЧАСТЬ 2. Настройка.
Так как моуль планировалось подключать к ардуино посредством SoftwareSerial, решил заранее его настроить на мою точку доступа.
Для этого воспользовался Arduino IDE.
Модуль подключил через MICRO USB to UART TTL. В ардуино IDE он определился как COM6 . Открыл Монитор порта и ускановил скорость 115200

В терминале вводим команду AT и нажимаем Отправить
В ответ должны получить OK, если этого не произошло, то либо неправильно настроено подключение, либо неправильно подключен сам модуль. Как вариант перепутаны RX-TX.

Далее переведем модуль в режим подключения к точке доступа (клиента), для этого отправим команду

AT+CWMODE=1
//будте внимательны, команды отправлять необхоимо без пробелов!

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

AT+CWJAP=»dlink-600″,»mypass123″

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

более подробно с командами можете ознакомиться в файле ESP8266 AT команды.pdf

Макетирование и программирование платы ESP-01 с помощью Arduino IDE

Добавлено 18 августа 2017 в 19:48

Сохранить или поделиться

ESP8266 – микроконтроллер / микросхема с модулем Wi-Fi

Новый микроконтроллер привлек внимание профессиональных разработчиков и любителей, и он может стать потенциальным лидером в интернете вещей. Микросхема под названием «ESP8266» представляет собой 32-битный RISC процессор со всеми свистелками и перделками, которые вы могли бы ожидать от полнофункционального микроконтроллера, но это еще не всё. ESP8266 также включает в себя встроенную схему Wi-Fi 802.11 b/g/n, которая готова к непосредственному подключению к антенне.

Микроконтроллер ESP8266

ESP8266 в настоящее время доступен только в 32-выводном корпусе QFN, в данном семействе присутствует только одна микросхема. Разработчик, Espressif, Шанхай, Китай, решил в полной мере использовать эффективность масштабного производства и предложить одну микросхему, которая подходит для использования в различных сборках печатных плат. В настоящее время существует более десятка печатных плат модулей ESP, которые отличаются в основном типом антенн и количеством доступных входов/выходов. Из-за QFN корпуса ESP8266, большинство любителей довольны этим решением, тем более, что рыночные цены начинаются с менее 5 долларов США за модель младшего класса, получившей название ESP-01 и изображенной ниже.

Модуль ESP-01 (вид сверху и снизу)

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

Варианты программирования

От поставщика многие (возможно, все) модули ESP8266 загружаются с прошивкой «AT» и могут программироваться через простую программу консоли. Если вы используете модуль в первую очередь для использования его Wi-Fi возможностей и управления им с помощью другого микроконтроллера, это может быть всё, что вам нужно.

Более сложный вариант доступен от NodeLua, который предлагает прошивку с открытым исходным кодом на основе языка программирования Lua. NodeLua всё еще находится в разработке, но уже содержит обширные возможности. Другие варианты включают в себя Python, BASIC и Arduino IDE, которая представлена в данной статье.

Входы и выходы ESP-01

Модуль ESP-01 содержит микроконтроллер ESP8266 и чип флэш-памяти. На нем также есть два светодиода: красный (указывает наличие питания) и синий (указывает на наличие потока данных и может также управляться программно пользователем). Wi-Fi антенна – это дорожка на печатной плате на верхней части модуля; она носит название MIFA-антенна (Meandered Inverted-F Antenna), и, на удивление, она эффективна и только слегка направлена.

Расположение выводов модуля ESP-01

В нижней части модуля находятся восемь контактов; на рисунке выше указан их функционал. Обычно на задней части модуля установлены два 4-пиновых разъема, которые припаяны сверху. Это делает входы/выходы доступными, но не очень подходящими для макетной платы, и требует перемычек между ESP-01 и макетной платой. Альтернативный способ размещения разъемов показан ниже.

Размещение разъемов модуля ESP-01

Разъем на передней части печатной платы использует стандартные прямоугольные выводы без каких-либо изменений. Разъем на задней части использует удлиненные выводы, которые были согнуты под прямым углом, чтобы выдержать корректное расстояние между рядами разъемов. Этот способ позволяет вставлять ESP-01 в беспаечную макетную плату в вертикальном положении над центральным зазором платы и делает все восемь контактов независимыми.

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

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

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

Более надежная схема прошивки приведена в этой статье.

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

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

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

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

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

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

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

Arduino IDE

Для использования совместно с ESP8266 рекомендуется использовать Arduino IDE версии 1.6.5. Если у вас более ранняя версия, то можете попробовать и её или обновить IDE до версии 1.6.5.

  • Как только у вас будет установлена подходящая версия Arduino IDE, запустите программу, перейдите в меню File (Файл) → Preferences (Настройки) и найдите в диалоговом окне поле ввода Additional Board Manager URLs (Дополнительные ссылки для Менеджера плат). Введите следующий URL точно, как он написан, и нажмите OK:
    • http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Затем нажмите Tools (Инструменты) → Board Manager (Менеджер плат) и прокрутите список вниз, чтобы найти «esp8266 by ESP8266 Community«. Выберите эту запись и нажмите кнопку Install (Установка); загрузка и установка начнутся и будут продолжаться несколько минут. Пока дополнение устанавливается, взгляните на поддерживаемые платформы. В дополнение к базовому модулю ESP826 обеспечивается поддержка NodeMCU, Huzzah и SweetPea. К тому моменту, когда вы будете читать данную статью, этот список возможно расширится.
  • Когда установка закончится, нажмите кнопку Close (Закрыть).
  • Теперь нажмите Tools (Инструменты), перейдите в список плат и выберите «Generic ESP8266 Module«.
  • Снова нажмите Tools (Инструменты) и убедитесь, что выбран Generic ESP8266 Module.
  • Нажмите File (Файл), Examples (Примеры) и прокрутите список вниз, пока не дойдете до ESP8266WiFi, а затем выберите WiFiScan. После этого должно будет открыться новое окно IDE со кодом примера WiFiScan.

Снова подключите схему к компьютеру и убедитесь, что на ESP-01 горит красный светодиод. Нажмите Tools (Инструменты), Port (Порт) и выберите порт, к которому подключен ESP-01. Наконец, вы готовы запрограммировать ESP-01.

Нажмите и удерживайте кнопку Reset, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку Reset и, удерживая нажатой кнопку Flash, нажмите кнопку со стрелкой Загрузка в Arduino IDE. Скетч должен скомпилироваться и загрузиться примерно за минуту, и когда компилирование будет завершено, отпустите кнопку Flash. Скомпилированный код будет отправлен в ESP-01; когда отправка будет завершена, на ESP-01 замигает синий светодиод.

Чтобы посмотреть результаты всех этих нажатий и выбираний, нажмите Tools (Инструменты), Serial Monitor (Монитор порта) и установите скорость передачи в правом нижнем углу окна монитора порта на 115200. Если у вас более ранняя версия ESP-01 (возможно на синей печатной плате), скорость передачи данных, скорее всего, равна 9600.

ESP-01 должен сканировать Wi-Fi сети и сообщать о результатах в окне монитора порта, как показано на примере ниже.

Результаты сканирования Wi-Fi сетей модулем ESP-01

Среди сообщений вы должны увидеть свою собственную сеть и все остальные сети, которые сумел поймать ESP-01. Числа в скобках показывают уровень сигнала сети (обратите внимание, что эти числа отрицательные; следовательно, уровень сигнала -41 выше, чем -92).

Двери открыты

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

Оригинал статьи:

Теги

ArduinoESP-01ESP8266IDEIoT (интернет вещей)MCUWi-FiWi-Fi модульМакетная платаМикроконтроллер

Сохранить или поделиться

Как запрограммировать модуль ESP8266 (ESP-01) с помощью Arduino UNO

Введение:

В предыдущей статье мы видели, как прошить прошивку на модуле ESP8266 ESP-01. Теперь мы увидим, как запрограммировать модуль ESP-01 с помощью Arduino UNO, выполнив несколько очень простых шагов.

Примечание:

Загрузите и установите библиотеки Blynk в Arduino IDE, это очень важно перед программированием (поищите на YouTube, вы можете легко найти).

Шаг 1:

Соединения для программирования

(Найдите код в приложениях)

ESP8266:————— >Arduino:

4 ———————— Заземление

GPIO-2 ——————— —— Не подключен (разомкнут)

GPIO-0 ———— GND

RXD —- ———————- RX

TXD ———————— — TX

CHPD ———————— 3.3V

RST ————————— Не подключен (разомкнут) *( См. ниже инструкцию )

VCC — ———————— 3,3 В

Очень важная инструкция:

Теперь, прежде чем нажать «Загрузить», подключите GPIO-0 к земле.

Затем RST заземлить, снять RST через полсекунды (синий светодиод мигает несколько миллисекунд).

Нажмите «Загрузить», синий мигает один раз, а затем мигает, пока не будет загружено.

Теперь все готово.

Шаг 2:

После программирования отсоедините последовательный кабель Arduino и подключите его снова, отсоедините GPIO-0 от GND и просто поменяйте местами соединения RX и TX, то есть RX подключается к TX, а TX подключается к RX.

Соединения после программирования

ESP8266:————— >Arduino:

GND —————- ———- GND

GPIO-2 ———— Не подключен (разомкнут)

GPIO-0 ————————— Не подключен (разомкнут)

RXD ————- ————- TX

TXD ———— RX

CHPD — ——————— 3.3V

RST ————————— Не подключен (разомкнут)

VCC ———— ————— 3.3V

Готово!!!

Откройте последовательный монитор Arduino IDE, где вы видите, что ESP подключен и готов.

Как запрограммировать модуль ESP8266 (ESP-01) с помощью Arduino UNO

Esp 8266 01 — популярный модуль Wi-Fi.
Он может работать с AT-командами с Arduino. Кроме того, его можно использовать как отдельную плату, например микроконтроллер.

Esp 8266 — 01 Wifi модуль

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

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

Как подключить esp8266 – 01 к Arduino Uno для программирования

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

Настройка макетной платы

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

Соединение

схема соединения

Контакт Tx Esp 01 подключается к TX Arduino Rx к Rx Arduino.

Нажимной переключатель подключается к контакту сброса и контакту GND Esp 01.

Подключите ChPD и VCC и подключите к 3,3 вольтам Arduino.

Подключите ESP 01 GND к Arduino GND

Переключатель SPDT подключен к GPIO 0, Led + и GND.

Чтобы включить режим флэш-памяти, вы должны подключить Gpio 0 к GND, поэтому здесь я использую переключатель для включения режима флэш-памяти и рабочего режима. Этот светодиод предназначен для индикации.

И вывод Arduino Rest подключается к GND.

Распиновка Esp 01

Вам нужно сделать экран

Штекерные и женские контакты
Светодиод
Плата с точками
Микропереключатель
Малый переключатель SPDT
Модуль ESP 01
и плата Arduino Uno

esp01ESP01 Подключение экрана

Программирование 6

Откройте Arduino Ide, перейдите в «Файл» — «Настройки» — вставьте этот дополнительный URL-адрес менеджера платы
.

ESP 01
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Щелкнуть — ок
Теперь идем в инструменты — Плата — Менеджер плат — поиск Esp 8266.
У меня уже установлена ​​плата версии 2.5. 1 и он работает нормально, поэтому я не собираюсь его обновлять. Вы должны установить его, а затем нажмите «Закрыть».

Теперь подключите ESP 01 и Arduino к компьютеру и убедитесь, что переключатель находится в режиме флэш-памяти. Если вы сделали временную настройку, то убедитесь, что GPIO 0 подключен к GND.

Теперь перейдите к инструментам — выберите универсальный модуль платы Esp 8266.

ESP 01

Перейти к инструментам — выберите COM-порт, к которому подключен Arduino

выберите COM-порт

Загрузка образца кода мигания светодиода в ESP 01

Перейти к файлу — Пример — Esp 8266 — Мигание

Измените этот встроенный параметр на 0 .
Наш светодиод подключен к GPIO 0

Теперь нажмите «Загрузить», вы увидите, что код загружается
и завершается.

Теперь измените положение переключателя и нажмите эту кнопку сброса один раз.

Ошибка при программировании модуля Esp8266 01

Иногда показывает какую-то ошибку подключения.

Решение проблем

1 проверьте соединения
2 проверьте правильность COM-порта
3 проверьте gpio 0 подключен к GND
4 нажмите кнопку сброса один раз перед показом соединения.
5 используйте электролитический конденсатор емкостью 220 мФд на VCC и GND ESP 01.

Обучающее видео

Как подключить ESP8266 к WiFi

В предыдущих проектах ESP8266 я дал краткое введение в WiFi-модуль ESP8266, как начать работу с ESP8266 и Arduino, какова конфигурация контактов модуля ESP8266 ESP-01 и как запрограммировать ESP8266, используя Arduino в качестве USB-порта. к последовательному интерфейсу.

Я также показал вам, как установить прошивку (прошивку AT-команд) на встроенное ПЗУ WiFi-модуля ESP8266.

Одна вещь (и это важно), которую я пропустил (не намеренно), это показать вам, как подключить ESP8266 к сети WiFi.

Итак, без лишних слов, позвольте мне показать вам, как подключить ESP8266 к WiFi и использовать его в нашем IoT (Интернете вещей) и других проектах, основанных на WiFi.

ПРИМЕЧАНИЕ:

  • Прежде чем продолжить, я настоятельно рекомендую вам обратиться к двум более ранним проектам по WiFi-модулю ESP8266: НАЧАЛО РАБОТЫ С ESP8266 И ARDUINO и КАК ОБНОВИТЬ/ПРОШИВАТЬ ПРОШИВКУ ESP8266 .
  • Есть много важных вещей, таких как конфигурация контактов модуля ESP8266 (ESP-01), как подключить ESP8266 к Arduino и т. д., о которых вы должны знать заранее, прежде чем приступать к подключению ESP8266 к WiFi.

Обзор

Крошечный WiFi-модуль ESP8266 (ESP-01) творит чудеса в сообществе DIY, поскольку он позволяет таким устройствам, как Arduino, получать доступ к веб-страницам, подключаясь к Интернету.

WiFi-модуль ESP8266 может быть подключен к любому другому микроконтроллеру (например, Arduino или 8051) через UART, и с помощью AT-команд микроконтроллер может управлять ESP8266 (подключаться к WiFi, обновлять прошивку и т. д.).).

Итак, чтобы использовать WiFi-модуль ESP8266 в наших проектах, связанных с Интернетом, нам нужно сначала подключить ESP8266 к WiFi, а затем получить к нему доступ из Интернета.

Прежде чем вдаваться в подробности того, как подключить ESP8266 к WiFi, вам необходимо понять режимы работы WiFi модуля ESP8266.

Режимы работы WiFi ESP8266

В WiFi-модуле ESP8266 есть три режима работы WiFi. Они:

  • Режим станции (STA)
  • Мягкая точка доступа (AP)
  • Мягкая точка доступа + станция
Режим станции (STA)

В режиме станции (STA) WiFi-модуль ESP8266 будет подключен к сети WiFi, которая уже настроена точкой доступа, например WiFi-маршрутизатором.

Мягкая точка доступа (AP)

Второй режим работы — режим точки доступа (AP). В этом режиме модуль ESP8266 действует как точка доступа и обеспечивает сеть Wi-Fi для других станций (например, мобильных устройств или ноутбуков).

Обычно точка доступа может предоставлять интернет своим станциям через проводную сеть, но поскольку проводного интерфейса нет, этот режим точки доступа называется Soft Access Point.

Модуль ESP сначала настраивается в режиме программной точки доступа, а затем настраивается в режиме станции.Это полезно, когда имя пользователя (SSID) и пароль сети Wi-Fi неизвестны.

Мягкая точка доступа + станция

В третьем режиме WiFi-модуль ESP8266 настроен на работу как в режиме станции, так и в режиме программной точки доступа.

Все эти режимы работы устанавливаются с помощью AT-команд. В этом уроке я расскажу о AT-командах, которые необходимы для подключения ESP8266 к сети WiFi. В отдельном уроке я расскажу о некоторых важных и полезных AT-командах ESP8266.

Принципиальная схема

Необходимые компоненты

  • Модуль Wi-Fi ESP8266 (ESP-01)
  • Arduino UNO (достаточно адаптера USB-Serial)
  • Кнопка
  • Ползунковый переключатель
  • Резистор 1 кОм (1/4 Вт)
  • Резистор 2,2 кОм (1/4 Вт)
  • Соединительные провода

Как подключить ESP8266 к сети WiFi с помощью AT-команд?

Прежде чем посмотреть, как подключить ESP8266 к сети Wi-Fi, вы должны помнить, что WiFi-модуль ESP8266 загружается с прошивкой AT-команд.

Пожалуйста, ознакомьтесь с проектом « КАК ПРОШИВАТЬ ПРОШИВКУ НА ESP8266 », прежде чем приступать к подключению WiFi-модуля ESP8266 к сети WiFi.

Итак, после подключения ESP8266 в режиме программирования и проверки наличия прошивки AT-команд, подключите Arduino к компьютеру и откройте последовательный монитор.

В моем случае я установил скорость передачи данных на 115200, а также выбрал опцию «Both NL & CR» в последовательном мониторе Arduino. Измените эти настройки в соответствии с вашими требованиями.

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

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

Теперь мне нужно установить Режим работы как Режим Станции. Для этого используйте следующую команду.

Режим работы был установлен как режим станции (STA). Теперь, чтобы просмотреть список всех ближайших сетей WiFi, используйте команду, показанную ниже.

Чтобы присоединиться к сети, используйте следующую команду.

AT+CWJAP=»SSID»,»ПАРОЛЬ»

Вместо SSID введите имя вашей сети Wi-Fi, а вместо ПАРОЛЯ введите пароль.

В течение нескольких секунд вы получите ответ с подтверждением подключения WIFI. Чтобы проверить IP-адрес WiFi-модуля ESP8266, введите команду.

Альтернативный способ подключения WiFi-модуля ESP8266 к сети WiFi

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

ПРИМЕЧАНИЕ: В коде введите данные вашей сети WiFi вместо «ssid» и «пароль».

Перед программированием выберите «Универсальный модуль ESP8266» из плат, а также выберите правильный COM-порт. Более подробную информацию о программировании WiFi-модуля ESP8266 (пример Blink) можно найти здесь: НАЧАЛО РАБОТЫ С ESP8266 И ARDUINO .

Теперь подключите GPIO0 к GND, сбросьте ESP и нажмите кнопку загрузки. WiFi-модуль ESP8266 будет автоматически подключен к указанной сети WiFi, а также ответит IP-адресом.

Заключение

В этом проекте/руководстве я показал вам, как подключить модуль Wi-Fi ESP8266 к сети Wi-Fi, используя как AT-команды, так и программирование. В следующем уроке я расскажу о некоторых важных AT-командах модуля ESP8266.

Подключение ESP-01 к макетной плате и FTDI

По сравнению с некоторыми другими платами микроконтроллеров (например, Arduino), ESP8266 немного сложнее подключить к последовательному порту для программирования.

В этом посте показано, как подключить модуль ESP-01 к макетной плате и программатору FTDI для «перепрошивки».

ESP8266 — это микросхема микроконтроллера, которая используется в модуле/плате микроконтроллера ESP-01. Чип имеет как минимум два разных режима загрузки: «обычный режим» и «режим программирования».«Программирование» (или «перепрошивка») относится к загрузке любого (пользовательского или стандартного) программного обеспечения (или прошивки) во флэш-память ESP8266.

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

Чтобы иметь возможность прошить новую прошивку на модуль ESP-01, его необходимо подключить к устройству программирования, содержащему копию прошивки (например,г. ПК). В качестве коммуникационного модуля будет использоваться модуль последовательного преобразователя FTDI USB в TTL.

Чтобы начать работу с модулем ESP-01, вам могут понадобиться некоторые из следующих аксессуаров.

Пожалуйста, поддержите нас, используя эти ссылки — они предоставляются бесплатно для вас, но мы получаем небольшую комиссию каждый раз, когда они используются. Эти и другие доступны на Amazon.com и BangGood.

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

Ссылки откроются в новом окне. (Мертвые или старые ссылки можно сообщить в разделе комментариев ниже.)

Режим программирования ESP8266 по сравнению с обычным режимом

ESP8266 может загружаться либо в режиме «программирования», либо в «нормальном» режиме. Во время (и только во время) загрузки состояние GPIO0 и GPIO2 рассматривается как входные контакты (как и выходные контакты), а их состояние напряжения используется для проверки того, в какой режим должен войти ESP8266.

Помимо соединений Tx и Rx, основное различие между проводкой для режима «программирования» (UART) и нормального режима работы (flash) заключается в подключении GPIO0 к GND.

Для загрузки в «нормальном» рабочем режиме состояние GPIO0 и GPIO2 должно быть ВЫСОКИМ (это их состояние по умолчанию, т. е. они подключены к подтягивающему резистору).

Чтобы войти в режим «программирования» (или загрузчика), GPIO0 должен быть подключен к земле, где он переведен в НИЗКИЙ уровень. GPIO15 также должен быть заземлен, но здесь он не требует рассмотрения и не будет обсуждаться в рамках данного поста.

Последовательное соединение TTL

ESP8266 имеет встроенный UART ( u универсальный a синхронный r приемник/ t передатчик), который можно использовать для последовательной связи TTL и/или прошивки чипа.

Чтобы использовать UART, требуется последовательный преобразователь 3,3 В USB в TTL. Последовательный преобразователь USB в TTL должен обеспечивать ток не менее 300 мА. Для целей этого поста будет использоваться модуль последовательного преобразователя FTDI USB в TTL, который имеет перемычку 3,3/5 В. Он будет подавать 500 мА через вывод Vc.

Модуль последовательного преобразователя FTDI USB в TTL с регулятором напряжения постоянного тока 5/3,3 В, USB-портом mini-B и контактами Rx/Tx.

Модуль последовательного преобразователя FTDI USB в TTL имеет порт USB mini-B, который подключается к устройству программирования с входом USB.На другом конце есть размыкающие контакты (Tx, Rx, Vc и GND), которые подключены к модулю ESP-01.

Контакты модуля преобразователя последовательного интерфейса FTDI USB в TTL четко обозначены. Выводы FTDI также подходят для макетной платы.

См. также
Модуль последовательного преобразователя FTDI USB в TTL.

Модуль ЭСП-01(С)

Штыри на ЭСП-01 не маркированы:

Распиновка ESP-01

Чтобы сделать макетную плату ESP-01 двумя, можно использовать 10-мм 4-контактные 2,54-мм штабелируемые разъемы с длинными ножками .Ножки можно согнуть, а две части можно «склеить» вместе.

Самодельный разъем для макетной платы ESP-01 с использованием 2x 10 мм 4-контактных 2,54 мм штабелируемых разъемов с длинными ножками. Большинство этих разъемов черного цвета, но также доступны красные, желтые, белые, зеленые и синие разъемы.

Подключение ESP-01 к модулю последовательного преобразователя FTDI USB в TTL

Модуль последовательного преобразователя FTDI USB в TTL используется в качестве источника питания и для программирования ESP-01. Чтобы использовать модуль последовательного преобразователя FTDI USB в TTL в качестве программатора ESP-01, соединения должны быть следующими:

Подключение ESP-01 к программатору FTDI.Изображение с сайта Pixhawk.org

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

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

Макетная плата может быть подключена с помощью соединительных кабелей для макетной платы без пайки . В верхнем левом углу опциональный 6-контактный 2,54-миллиметровый штекерный разъем с длинными ножками , загнутый внутрь, можно использовать для подключения модуля последовательного преобразователя FTDI USB в TTL. Это позволит модулю лежать плоско, а не перпендикулярно плате. 4-контактные 2,54-мм разъемные разъемы с длинными ножками , к которым будет подключаться ESP-01.

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

В дополнение к 3,3 В постоянного тока (красный провод) и заземлению (черный провод), эта конфигурация соединяет Tx/Rx (желтый/зеленый провода) модуля последовательного преобразователя FTDI USB в TTL с RX/Tx ESP-01.

На ESP-01 и Vcc, и CH-PD должны быть подключены к 3,3 В постоянного тока (красные провода), а GPIO0 также должен быть подключен к земле (коричневый/нижний провод).

Как упоминалось ранее, при заземлении GPIO0 он понижается до низкого уровня, что приводит к загрузке в режим программирования.

Фото разводки макетной платы.

Эта плата позволяет ESP-01 загружаться в программном режиме и только в программном режиме. Он работает хорошо, но когда дело доходит до тестирования, ESP-01 приходится переносить на другую плату.

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

Чтобы преодолеть эти недостатки, можно добавить переключатель сброса и ползунковый переключатель SPDT:

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

Для сброса платы между контактом GND ESP-01 и контактом RESET (фиолетовый провод) подключается тактильная кнопка. Тактильная кнопка должна быть нормально разомкнутой (НО), чтобы при ее нажатии происходило соединение.

Фотография разводки макетной платы, включая переключатель сброса и ползунковый переключатель SPDT.

Наконец, ползунковый переключатель SPDT можно использовать для подключения GPIO0 к земле (или нет). Это позволит переключаться между программным режимом и обычным режимом загрузки. После переключения можно нажать кнопку сброса, чтобы войти в это состояние.

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

Заключение

В этом посте показано, как подключить модуль ESP-01 к макетной плате и программатору FTDI. Используя 2 10-миллиметровых 4-контактных 2,54-миллиметровых штекерных разъема с длинными ножками и правильную распиновку, ESP-01 можно подключить к макетной плате для прототипирования.

Об авторе

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

Введение в ESP01 и ESP8266 в Arduino

В этом блоге, посвященном ESP01 и ESP8266 в arduino, мы рассмотрим одну из самых важных тем в мире IoT, а именно ESP01 и ESP8266 в arduino с использованием некоторых устройств IoT.

ESP8266_01 Руководство



ESP8266 ESP-01 — это модуль Wi-Fi, который позволяет микроконтроллерам получать доступ к сети Wi-Fi. Этот модуль представляет собой автономную SOC (систему на чипе), которой не обязательно нужен микроконтроллер для управления входами и выходами, как это обычно делается с Arduino. Конфигурация контактов ESP-01:
Настройка Arduino IDE для ESP8266

1) Установите программное обеспечение Arduino IDE по ссылке http://www.arduino.cc/en/main/software
2) откройте Arduino IDE
3) Откройте файл и нажмите «Настройки», как показано на рисунке

4) Добавление менеджера платы ESP8266

В Менеджере дополнительных плат введите ниже URL.
http://arduino.esp8266.com/stable/package_esp8266com_index.json

6) Выбор платы
Теперь откройте инструменты, в которых выберите плату : «Arduino/Genuino Uno» и щелкните Менеджер плат , как показано на рисунке

.

7) Комплект платы ESP8266

8) Выбор платы Arduino ESP8266

Подключение ESP8266 к сети WIFI
WiFi-модуль ESP8266 может быть подключен к любому другому микроконтроллеру

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

  • Режим станции (STA)
  • Мягкая точка доступа (AP)
  • Мягкая точка доступа + станция

Режим STA:  В режиме станции (STA) модуль WIFI ESP8266 будет подключен к сети WIFI, которая уже настроена точкой доступа, например маршрутизатором WIFI.

Мягкая точка доступа: Второй режим работы — режим точки доступа (AP). В этом режиме модуль ESP8266 действует как точка доступа и обеспечивает сеть WIFI для других станций (например, мобильных устройств или ноутбуков).

Обычно точка доступа может предоставлять интернет своим станциям через проводную сеть, но поскольку проводного интерфейса нет, этот режим точки доступа называется Soft Access Point.

Программная точка доступа + станция:  В третьем режиме модуль WIFI ESP8266 настроен на работу как в режиме станции, так и в режиме программной точки доступа.

Все эти режимы работы устанавливаются с помощью AT-команд. В этом уроке я расскажу о AT-командах, которые необходимы для подключения ESP8266 к сети WIFI.

Как подключить ESP8266 к сети WIFI с помощью AT-команд
1) Сначала вы должны проверить, что WiFi-модуль ESP8266 загружен с прошивкой AT-команд Arduino к компьютеру и откройте последовательный монитор.
2) Сначала введите следующую команду, чтобы проверить, успешно ли установлено соединение.
AT
3) Затем перезапустите модуль ESP8266 с помощью следующей команды, просто чтобы убедиться, что он запускается заново
AT+RST
4) Теперь установите режим работы как режим станции. Для этого используйте следующую команду.
AT+CWMODE=1
5) Режим работы установлен как режим станции (STA). Теперь, чтобы просмотреть список всех ближайших сетей WiFi, используйте команду, показанную ниже.
AT+CWLAP
6) Чтобы присоединиться к сети, используйте следующую команду.
AT+CWJAP=»SSID»,»PASSWORD»
Вместо SSID введите имя вашей сети Wi-Fi, а вместо PASSWORD введите пароль.
7) В течение нескольких секунд вы получите ответ с подтверждением, что WIFI подключен. Чтобы проверить IP-адрес WiFi-модуля ESP8266, введите команду.
АТ+ЦИФСР

Примечание:  вы не можете выполнить OTA на ESP-01 из-за ограничений памяти 

Альтернативный способ подключения WiFi-модуля ESP8266 к сети WiFi

ПРИМЕЧАНИЕ: В коде введите данные вашей сети WiFi вместо «ssid» и «пароль»

Введение в NodeMCU

NodeMCU — это прошивка на основе LUA с открытым исходным кодом, разработанная для Wi-Fi-чипа ESP8266.Изучая функциональность чипа ESP8266, прошивка NodeMCU поставляется с платой/комплектом разработки ESP8266, т. е. платой разработки NodeMCU
Комплект/плата разработки NodeMCU состоит из чипа ESP8266 с поддержкой Wi-Fi. ESP8266 — это недорогой чип Wi-Fi, разработанный Espressif Systems с протоколом TCP/IP

.
Конфигурация контактов NodeMCU
Подключение NodeMCU к сети WIFI и создание точки доступа

В этом руководстве вы узнаете, как настроить ESP8266 NodeMCU в качестве точки доступа (AP) с помощью Arduino
. В этом сценарии маршрутизатор действует как точка доступа, а ESP8266 настроен как станция.Итак, вам нужно подключиться к вашему маршрутизатору (локальной сети), чтобы управлять ESP8266.

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

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

Если вы все еще сталкиваетесь с проблемой, связанной с ESP01 и ESP8266 в Arduino, не стесняйтесь задавать вопросы в поле для комментариев ниже и не забудьте подписаться на нас в 👍 социальных сетях😉

Как использовать ESP-01 с Arduino UNO

Загрузите пример BareMinimum , чтобы убедиться, что никакие предыдущие программы не запущены и не используют канал последовательной связи.Затем откройте последовательный монитор и введите следующую команду:

  AT  

Вы должны получить ответ «ОК». Это означает, что модуль работает и все готово. Теперь мы готовы протестировать двустороннюю связь между модулем и другим устройством.

Базовый по командованию

Модуль ESP8266 ESP-01 имеет три режима работы:

  1. точка доступа (AP)

  2. станция (sta)

в AP Wi -Fi-модуль действует как сеть Wi-Fi или точка доступа (отсюда и название), позволяя другим устройствам подключаться к нему.Это не означает, что вы сможете проверить свой Facebook со своего устройства, пока модуль ESP-01 работает в режиме AP. Он просто устанавливает двустороннюю связь между ESP8266 и устройством, которое подключено к нему через Wi-Fi.

В режиме STA ESP-01 может подключаться к точке доступа, например к сети Wi-Fi, из вашего дома. Это позволяет любому устройству, подключенному к этой сети, взаимодействовать с модулем.

Третий режим работы позволяет модулю действовать как AP и STA.

В этом руководстве мы собираемся настроить модуль для работы в режиме STA, введя следующую команду:

  AT+CWMODE=1  

Соответствующий номер для каждого режима работы выглядит следующим образом:

Если вы хотите проверить, в каком режиме находится ваш модуль Wi-Fi, вы можете просто ввести следующую команду:

  AT+CWMODE?  

Здесь будет отображаться число (1, 2 или 3), связанное с соответствующим режимом работы.

Когда ESP-01 работает в режиме STA, нам нужно подключиться к сети Wi-Fi.Сначала мы можем проверить, подключены ли мы уже к одному, отправив команду:

  AT+CIFSR  

Это отобразит IP-адрес станции нашего модуля ESP-01. Если вы не получили IP-адрес после ввода предыдущей команды, используйте следующую команду для подключения к вашей сети:

  AT+CWJAP= «Wi-FiNetwork», «Пароль»  

Введите имя вашего Wi-Fi -Fi сеть и пароль для подключения к ней. Убедитесь, что вы включили кавычки.Через пару секунд вы должны получить ответ «ОК». Вы можете еще раз проверить, есть ли у вас IP-адрес, используя команду AT+CIFSR.

Затем нам нужно включить несколько подключений, прежде чем мы сможем настроить модуль ESP8266 ESP-01 в качестве сервера. Введите следующую команду:

  AT+CIPMUX=1  

Еще раз, каждый номер связан с типом соединения:

Следующим шагом является запуск сервера на порту 80:

  AT+CIPSERVER= 1,80  

Первое число используется для указания, хотим ли мы закрыть режим сервера (0) или открыть режим сервера (1).Второе число указывает порт, который клиент использует для подключения к серверу. Мы выбрали порт 80, потому что это порт по умолчанию для протокола HTTP.

Теперь, когда мы открываем веб-браузер и вводим IP-адрес нашего модуля ESP, мы получаем следующий ответ:

Начало работы с WiFi-трансивером ESP8266 (обзор)

ESP8266 — это модуль Wi-Fi, который отлично подходит для проектов IoT и домашней автоматизации. Эта статья представляет собой руководство по началу работы с платой разработки ESP8266.

О ESP8266

ESP8266 — это модуль Wi-Fi стоимостью 4 (до 10 долларов США). Он позволяет вам управлять входами и выходами, как если бы вы делали это с Arduino, но поставляется с Wi-Fi.
Таким образом, он отлично подходит для домашней автоматизации/интернета вещей.

Итак, что вы можете сделать с этим дешевым модулем?

Если вы хотите создать веб-сервер с ESP8266, мы настоятельно рекомендуем следовать нашему руководству: Создание веб-сервера ESP8266

Технические характеристики ESP8266

  • 11 протокол b/g/n
  • Wi-Fi Direct (P2P), программная точка доступа
  • Встроенный стек протоколов TCP/IP
  • Встроенный 32-разрядный процессор с низким энергопотреблением
  • SDIO 2.0, SPI, UART

Если сравнивать ESP8266 с другими решениями Wi-Fi на рынке, это отличный вариант для большинства проектов «Интернета вещей»! Легко понять, почему он так популярен: он стоит всего несколько долларов и может быть интегрирован в сложные проекты. Мы опубликовали десятки бесплатных проектов и руководств по ESP8266.

Существует преемник ESP8266 — ESP32. ESP32 сочетает в себе Wi-Fi и Bluetooth и является двухъядерным. Прочтите следующую статью, чтобы узнать о различиях между ESP8266 и ESP32:

.

ESP8266 Версии

ESP8266 выпускается в самых разных версиях (как показано на рисунке ниже).На наш взгляд, ESP-12E или часто называемый ESP-12E NodeMCU Kit в настоящее время является наиболее практичной версией.

Мы настоятельно рекомендуем использовать ESP8266-12E NodeMCU Kit, который имеет встроенный программатор и множество GPIO. Встроенный программатор упрощает создание прототипов и загрузку ваших программ.

Для сравнения различных плат ESP8266 вы можете прочитать следующую статью:

ESP8266 Распиновка

Наиболее широко используемыми отладочными платами ESP8266 являются ESP-01, ESP8266-12E NodeMCU Kit и Wemos D1 Mini.Мы покажем вам распиновку этих плат. Если вы используете другую плату для разработки, убедитесь, что у вас правильная распиновка.

Распиновка комплекта ESP-12E NodeMCU

Вот краткий обзор распиновки комплекта ESP-12E NodeMCU:

Миниатюрная распиновка WeMos D1

Вот распиновка Wemos D1 Mini:

ESP8266-01 Распиновка

Вот распиновка ESP-01.

Мы рекомендуем ознакомиться с нашим руководством по GPIO ESP8266, в котором подробно показаны функции каждого GPIO и способы их использования:

Программирование ESP8266 с помощью Arduino IDE

Существует несколько способов программирования ESP8266.Мы часто используем Arduino IDE или MicroPython.

Вы можете следовать одному из следующих руководств, чтобы начать работу с ESP8266 в Arduino IDE или MicroPython:

Рекомендуемые проекты ESP8266

После установки надстройки платы ESP8266 в Arduino IDE или прошивки MicroPython вы можете начать создавать проекты с ESP8266.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *