Системный администратор, программист
0,0
рейтинг
7 ноября 2014 в 12:03

Работа с ESP8266: Первоначальная настройка, обновление прошивки, связь по Wi-Fi, отправка-получение данных на ПК recovery mode

На Хабре уже было пару статей о чипе ESP8266 китайской компании Espressif. Статья №1 и Статья №2. Не так давно я получил плату ESP-01 для проведения тестирования. Кому интересно, прошу под кат.


Мной была заказана самая простая плата с ESP8266 — ESP-01, выглядит она так:



В старой ревизии платы на разьем были выведены только VCC, GND, URXD и UTXD.
В последней ревизии добавились RST, GPIO0, GPIO2 и CH_PD.

Всего есть 11 модификаций плат, различающихся количеством выводов и вариантом исполнения:
ESP-01: PCB antenna, after matching the distance to do about the open 400 meters, easy to use.
ESP-02: SMD package for submission limit, the antenna can be drawn with the IPX header casing.
ESP-03: SMD package, the built-in ceramic antenna technology, all available IO leads.
ESP-04: SMD package, customers can customize the antenna types, flexible design, all the IO leads.
ESP-05: SMD package, only leads to serial and RST pin, small external antenna.
ESP-06: bottom mount technology, leads all the IO ports, with metal shielding shell, can be had FCC CEcertification, recommended.
ESP-07: Semi-hole chip technology, all the IO leads, with metal shielding shell, can be had FCC CE certifiedIPX external antenna, can also be built-in ceramic antenna.
ESP-08: with the ESP-07, except that the antenna is in the form of customers can define their own.
ESP-09: Ultra-small size package, only 10 * 10 mm, four-layer board technology 1M bytes!..
ESP-10: SMD interface, narrow-body design, 10 mm wide, suitable for light with controller.
ESP-11: SMD interface, ceramic antenna, small volume.

Распиновка разъёма ESP-01:



Назначение выводов платы ESP-01 такое:
VCC, GND — питание платы (+3.3В);
URXD,UTXD — выводы RS232 толерантны к 3.3В
RST — Аппаратный сброс (reset)
GPIO0, GPIO2 — выводы GPIO
CH_PD — Chip enable, для работы должен быть подключен к +3.3В.

Для переключения в режим обновления прошивки нужно подать низкий уровень на GPIO0 и высокий на CH_PD.

Для подключения платы ESP-01 к ПК я использовал USB-to-RS232 преобразователь на FT232R с выходами TTL 3.3В, можно использовать например такой.
Питание ESP-01 нужно строго 3.3В, поэтому пришлось воспользоваться DC-DC преобразователем, можно использовать такой.

С базовой прошивкой плата ESP-01 управляется AT командами, поэтому нам потребуется программа-терминал, я использовал CoolTerm.

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

Естественно более выгодным является 2-й вариант, тем более потенциал чипа ESP8266 достаточно велик.

Для начала мы попробуем вариант №1, то есть управлять платой ESP-01 через RS232.

Схема подключения очень простая:
Вывод VCC — питание платы (+3.3В);
Вывод GND — общий;
Выводы URXD,UTXD — подключаем к конвертеру USB-to-RS232 (в режиме 3.3В)
Вывод CH_PD — подключаем к питанию платы (+3.3В);

В терминале (CoolTerm) устанавливаем скорость COM-порта 57600. Установить нужно именно такую скорость, т.к. если в чипе ESP8266 стоит старая прошивка (а скорее всего это так и есть), то он будет работать только с такой скоростью порта.

Жмем Connect, вводим команду AT, в ответ должно прийти OK. Если все так, то плата работает, можно двигаться дальше.



Процедура обновления прошивки

Вводим команду AT+GMR — проверка версии AT и SDK, в ответ выдает 0016000902, где 0016 — версия SDK, 0901 — версия AT

На текущий момент (06.11.2014) уже доступна прошивка 0018000902 (Версия SDK — 0018, в версия AT — 0902)

Теперь можно и нужно обновить прошивку:
1. Качаем утилиту XTCOM отсюда.
2. Качаем прошивку ESP_8266_v0.9.2.2 AT Firmware.bin отсюда
3. Отключаем питание платы, вывод GPIO0 соединяем с общим проводом, включаем питание.
4. Запускаем XTCOM_UTIL.exe, переходим в Tools -> Config Device, выбираем COM-порт к которому подключена плата, ставим скорость порта 57600, жмем Open, потом Connect, программа должна сказать «Connect with target OK!», закрываем окно настроек. Переходим в меню API TEST, выбираем (4) Flash Image Download, указываем путь к файлу «ESP_8266_v0.9.2.2 AT Firmware.bin», адрес оставляем 0x00000, жмем DownLoad. Должна начаться загрузка прошивки, по окончании будет выдано сообщение.
5. Отключаем питание платы, вывод GPIO0 отсоединяем от общего провода, включаем питание, запускаем терминал (ВНИМАНИЕ! Меняем скорость порта на 9600), проверяем готовность платы командой AT и версию прошивки командой AT+GMR.

После обновления до версии 0018000902 изменится дефолтная скорость COM-порта с 57600 на 9600, но эту скорость в новой прошивке теперь можно задать командой AT+CIOBAUD. Смотрим AT+CIOBAUD=? доступные скорости и ставим командой AT+CIOBAUD=115200 скорость 115200, в ответ должно выдать ОК. Даем команду на рестарт: AT+RST. Меняем скорость порта в программе-терминал на 115200.

Пример:
AT 
OK
AT+CIOBAUD=? +CIOBAUD:(9600-921600)
OK
AT+CIOBAUD=115200 BAUD->115200
OK


Настройка подключения к Wi-Fi

Теперь попробуем подключить нашу плату ESP-01 к Wi-Fi точке доступа.
Выполняем следующие команды:
1. Устанавливаем режим работы Wi-Fi командой:
AT+CWMODE=<mode>
Доступны следующие режимы: 1 — STA, 2 — AP, 3 — BOTH
Пример:
AT+CWMODE=1
OK
2. Смотрим список точек доступа командой: AT+CWLAP
Пример
AT+CWLAP +CWLAP:(3,"WiFi-DOM.ru-0474",-85,"c8:d3:a3:30:17:40",8)
+CWLAP:(4,"Intersvyaz_516C",-89,"2c:ab:25:ff:51:6c",10)
+CWLAP:(4,"pletneva",-96,"f8:1a:67:67:2b:96",11)
+CWLAP:(4,"Test",-69,"64:70:02:4e:01:4e",13)
OK
В скобках указывается: SECURITY, SSID, RSSI, BSSID, CHANNEL
SECURITY может принимать значения:
0 — OPEN, 1 — WEP, 2 — WPA-PSK, 3 — WPA2-PSK, 4 — MIXED (WPA-WPA2-PSK)
3. Подключаемся в нашей AP командой:
AT+CWJAP="SSID","PASSWORD"
Пример:
AT+CWJAP="Test","habrahabr" 
OK
Подключение длится 2-5 секунд, после чего в случае успешного выполнения появится OK.
3. Посмотрим какой IP адрес получила наша плата командой: AT+CIFSR
AT+CIFSR 192.168.1.104
OK
Отключение от точки доступа делается командой AT+CWQAP.
Адрес получен, можно двигаться дальше.

Плата ESP-01 может выступать в качестве Soft-AP, для включения этого режима выполняем следующие команды:
1. Отключаемся от точки доступа: AT+CWQAP.
2. Меняем режим работы Wi-Fi командой: AT+CWMODE=2
3. Создаем свою AP командой:
AT+CWSAP="SSID","PASSWORD",CHANNEL,SECURITY
Пример:
AT+CWSAP="Test2","habrahabr",10,4
OK
4. Пробуем подключиться в нашей AP с компьютера. Посмотрим результат:

Как видно на картинке скорость только 54Мбит/с и еще меня смущают адреса DNS серверов, думаю они явно китайские, поставить свои через AT-команды нельзя.
Адрес AP можно узнать командой: AT+CIFSR
Пример:
AT+CIFSR 192.168.4.1
OK
Список клиентов нашей AP можно посмотреть командой: AT+CWLIF
Пример:
AT+CWLIF 192.168.4.101,f4:ec:38:8d:05:62
OK


Настройка режима TCP-сервер

На плате ESP-01 можно запустить TCP-сервер для приема-отправки данных или она может выступать TCP-клиентом для приема-отправки данных на сервер.
Для запуска TCP-сервера выполним следующие команды:
1. Устанавливаем режим передачи командой
AT+CIPMODE=<mode>
mode = 0 — not data mode (сервер может отправлять данные клиенту и может принимать данные от клиента)
mode = 1 — data mode (сервер не может отправлять данные клиенту, но может принимать данные от клиента)
Пример:
AT+CIPMODE=0
OK
2. Устанавливаем возможность множественных соединений:
AT+CIPMUX=<mode>
mode 0 — single connection
mode 1 — multiple connection
Проверить режим соединений можно командой AT+CIPMUX?
Пример:
AT+CIPMUX=1 
OK
AT+CIPMUX? +CIPMUX:1
OK
3. Запускаем сервер на порту 8888:
AT+CIPSERVER= <mode>[,<port>]
mode 0 — to close server
mode 1 — to open server
Пример:
AT+CIPSERVER=1,8888
OK

Теперь можно подключиться к ESP-01 и отправить-принять какие-нибудь данные. Для подключения будем использовать утилиту SocketTest
Запускаем java -jar SocketTest.jar, на вкладке Client вводим адрес и порт ESP-01, жмем Connect. Если подключение будет успешным, то в терминале появится сообщение Link и в SocketTest станет активной строка Message и кнопка Send.
Посмотреть список активных подключений к ESP-01 можно командой AT+CIPSTATUS
Пример:
AT+CIPSTATUS STATUS:3
+CIPSTATUS:0,"TCP","192.168.1.100",44667,1
OK
Закрыть активное соединение можно командой
AT+CIPCLOSE=<id>
или все соединения AT+CIPCLOSE без параметров.
Пример:
AT+CIPCLOSE=0 
OK
Unlink
4. Отправляем данные с ESP-01 на ПК
Для режима Single connection (+CIPMUX=0) отправка идет так:
AT+CIPSEND=<length>
Для режима Multiple connection (+CIPMUX=1) отправка идет так:
AT+CIPSEND=<id>,<length>
После выполнения AT+CIPSEND нужно ввести текст, завершение ввода и отправка осуществляется по Enter.
Пример:

AT+CIPSEND=0,16 > Ping Habrahabr SEND OK
5. Отправляем тестовое сообщение с ПК:

В терминале появляется строка
+IPD,0,16:Ping Habrahabr
Сообщение принято.
Формат принятых данных такой:
Для режима Single Connection (CIPMUX=0):
+IPD,<len>:<data>
Для режима Multiple Connection (CIPMUX=1):
+IPD,<id>,<len>:<data>


Настройка режима TCP-клиента

Теперь поменяем роли, ПК — сервер, ESP-01 — клиент, пробуем:
1. Рестартуем плату AT+RST
2. Устанавливаем режим передачи командой
AT+CIPMODE=<mode>
mode = 0 — not data mode (клиент может отправлять данные серверу и может принимать данные от сервера)
mode = 1 — data mode (клиент не может отправлять данные серверу, но может принимать данные от сервера)
Пример:
AT+CIPMODE=0
OK
3. Режим соединений ставим Multiple connection: AT+CIPMUX=1
4. На ПК в SocketTest запускаем сервер на порту 8888
5. Запускаем клиента на ESP-01
Для режима Single connection (+CIPMUX=0) формат такой
AT+CIPSTART=<type>,<addr>,<port>
Для режима Multiple connection (+CIPMUX=1) формат такой
AT+CIPSTART=<id><type>,<addr>,<port>
Возможные значения параметров:
id = 0-4
type = TCP/UDP
addr = IP адрес
port= порт
Пример:
AT+CIPMUX=1 
OK
AT+CIPSTART=0,"TCP","192.168.1.100",8888 
OK
Linked
6. Отправляем данные с ESP-01 на ПК
Для режима Single connection (+CIPMUX=0) отправка идет так:
AT+CIPSEND=<length>
Для режима Multiple connection (+CIPMUX=1) отправка идет так:
AT+CIPSEND=<id>,<length>
После выполнения AT+CIPSEND нужно ввести текст, завершение ввода и отправка осуществляется по Enter.
Пример:

AT+CIPSEND=0,16 > Ping Habrahabr SEND OK

Пример отправки и получения данных:


Полезная документация:
Описание AT-команд (На китайском)
Спецификация на чип ESP8266 (На китайском)
Спецификация на чип ESP8266 (На английском)

Заключение:

Как мы видим, плата успешно справляется с поставленными задачами, а именно — подключение к Wi-Fi в качестве клиента, может выступать в роли Soft-AP, на плате можно поднять TCP-сервер для приема-отправки данных, а можно быть TCP-клиентом.
В данной статье мы рассмотрели работу с платой ESP-01 через RS232, в качестве управляющего контроллера выступал ПК, можно без проблем подключить плату Arduino или любой микроконтроллер с UART и выполнять отправку-прием данных через Wi-Fi сеть между контроллерами или ПК.

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

Буду рад ответить на вопросы, хотя до конца я еще не узучил плату ESP-01.
Михаил Григорьев @Sleuthhound
карма
7,0
рейтинг 0,0
Системный администратор, программист
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (41)

  • +1
    Перепрошивать еще не пробовал — сам вожусь только пару дней, но у меня по умолчанию сторость 115200 стоит. Устройство с таким же номером. На одном сайте (где брал инфу по устройству, как подключать, описание команд и прочее) видел прошивки по датам. Номер прошивка в чипе совпадал с номером во втором линке (то есть не самая старая, а вторая с конца).

    Долопзу до дома, попробую подключить 57600, а потом перепрошить.

    Кстати, проверку соединения не обязательно с сокеттестами делать, достаточно и браузера и telnet. Для браузера лучше открывать сразу 80й порт на работу. Хотя можно и любой другой.
    • 0
      svd71 а на каком сайте брали прошивки?

      Правильно перепрошить как раз проблема, например в моей статье прошивка монолитная, шьётся с нулевого адреса, а есть прошивки шьются частями (boot, user0, user1 и т.д.), по разным начальным адресам и вот они как раз не всегда начинают работать :(
      • 0
        Сначала начал с примерно такого же опинания с этого сайта. Далее там в форуме куча ссылок тоже есть. По ним ходил и игде-то нашел список всех возможных прошивок по датам их создания. Всвязи с тем, что 57600 у меня не завелосось, я не стал для начала этим заморачиваться а посвятил этих пару дней изучению команд.
        • 0
          Хотя проверил сейчас прошивку: номер такой же 00160901. Странно, что у них разная скорость инициализации бауда.
      • 0
        В общем поэкспериментировал с возможностью прошивать.
        Пробую на компе с ХП. Запускаю XTCOM и выставляю скорость 115200 (на такой девайс точно общается). Делаю соединение в GetDeviceStatus — устройсво соединенно, скорость подтверждена. Пробую читать регистр — все читается прекрасно. Пытаюсь записать этот имидж выкидывает окно «Operation Failed! Flash image download fail! () gets a error code: 4». Минуты через 4 выкидывает блюскрин и система перегружается.

        Потом решил изменить условия: поставил скорость 57600. Результат такой же. Сменил операционку на Win7 — так же блюскрин в окончании с теми же сообщениями.

        На всякий случай проверил подключение: на CH_PD с самого начала 3.3, еще добавил контакт для безопасности. GPIO0 точно сидит на нуле. После всех экстерименов отключаю GPIO0, переподключаю девайс, соединяюсь терминалом и он у меня видит све точки AP.

        В чем может быть проблемка?
        • 0
          GPIO2 на + ещё надо.
          • 0
            такая же беда. Теже самые сообщения. Пробовал правда на ХП, но на обеих скоростях.

            Еще идеи есть?
            • 0
              «Operation Failed! Flash image download fail! () gets a error code: 4» возможно из-за неправильной установки скорости, я всегда шью на 57600, после каждой перепрошивки нужен ребут ESP-01 и повторять операцию Tools -> Config Device, выбираем COM-порт к которому подключена плата, ставим скорость порта 57600, жмем Open, потом Connect, программа должна сказать «Connect with target OK!»

              MaksMS GPIO2 на + не нужно для перепрошивки, откуда такая информация?
              • 0
                другой источник
                Connect the top two pins (UTXD, GND) and bottom two pins (VCC, URXD) to the RXD, GND, VCC, TXD pins of a microcontroller. Note that VCC must be no more than 3.6V. The middle four pins are should be pulled up to VCC for normal operation. However, if you need to upgrade the firmware of the module, you need to pull the GPIO0 pin to ground — that way upon booting ESP8266 will wait for a new firmware to be uploaded through serial.

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

                ПС: пины были не причем — виноват драйвер от UART.
              • 0
                Вот сам сейчас не помню где такое прочитал, где-то на англ инструкции, да, без GPIO2 прошивает, попробовал. но похоже он подтянут по умолчанию к + и если его посадить на gnd, то прошивки не будет. Так что при некоторых обстоятельствах прошивка не пройдет, если случано на GPIO2 окажется минус или просто помеха.
                Прошиваю в линуксе через питоновский скрипт. Кстати, там всегда ошибку при 99% выдает 'Failed to leave Flash mode' — это нормально.
                • 0
                  Кстати, вопрос по работе в Линуксе. У меня терминал отказывается что либо принимать от клавиатуры, но зато довольно неплохо выводит. Через VirtualBox настраиваю чип как точку (если перетыкать между компьютерами, некоторая информация сбрасывается). Затем соединяюсь тем же gtkterm (или попробовал даже CoolTerm — тоже самое): вводит ничего не могу, хотя синий светодиод мигает и эхо печатает символы. При нажатии Enter ничего не отправляется.
                  Но если уже при настроенной точке доступа попытаться что либо отпрвить, то данные вываливаются в терминал.

                  Что нужно докрутить?
                  • 0
                    Я тупо пользуюсь терминалкой от Arduino IDE. Не было желания разбираться с консольными терминалами…
                  • 0
                    Насколько я понял из своих экспериментов, если горит синий светодиод, то значит плата брикнулась или прошивка глюканула и как правило при этом ничего не работает, помогал только ребут, если ребут не лечил недоступность платы, то только перепрошивка ESP_8266_v0.9.2.2 AT Firmware.bin.

      • 0
        Нашел в чем проблема. Дело в драйвере от бриджа (cp2102). Он и крэшит систему. Заменил бридж на другой. Апдейт проходит. Но нарвался на другую засаду.

        После обновления чип в терминале уже подключается на 9600 бод, дает что-либо печатать, но не работает символ возврата каретки. Если при подключенном терминале выбрать сделать чипу ресет, то выводит такую беду:
        0�~?�4�!���A$2:����O�:�CO&�
        [System Ready, Vendor:www.ai-thinker.com]


        Думал, что все дело в скорости обновления: напомню, что изначально было задана 115200, обновление проводил на 57600, затем на 115200, затем на 9600 — результат одинаковый. Взял новый модуль, проверил работоспособность на 115200, обновил на 115200 — и результат такой же.

        • 0
          нашел решение.
          В общем фирмвара, указанная ТС у меня отказалась летать напрочь. Я решил попробовать прошивку от электродрагон. Она тоже от 0.9.2.2. И вот с ней один кристалл уже востановил. Вроде первые изыскания отображаются совсем отлично.
          • 0
            ESP_8266_v0.9.2.2 AT Firmware.bin из моей статьи скачана с electrodragon.com, так что она тоже должна работать.
            Если что, пишите мне на email sleuthhound@gmail.com, тут я не могу отвечать оперативно из-за кармы :(
            • 0
              Да, прошу прощения. Разлад произошел от того, что работаю я под Линуксом, изначально все попробовал в линуксовских терминалах. Оказалось, что и «новая версия» так же ведет себя в Линуксе. Зато в Винде она работает отлично.
        • 0
          Нормальное сообщение, первая строка просто на китайском -вот и аброкадабра тут… Вторая же строчка в нормальной кодировке, английскими символами
  • +1
    Вот тут Есть несколько разных вариантов прошивок, в том числе от electrodragon, где встроенно дергание пинов 0 и 2.
    Некоторое время «пытаю» данный модуль и уже немнго научился его программировать — использую модуль без дополнительных м/к с поднятием на нем веб интерфейса и дерганием gpio. К сожалению имею в наличии тот же вариант esp-01 — а тут всего 2 gpio, которые необходимы для управления режимом входа в прошивку и это иногда мешает- не удается запустить i2c…
  • 0
    Прошивку от electrodragon где можно дергать GPIO я пробовал, работает, есть проблема — настройки не сохраняются, то есть каждый раз при включении нужно вначале поднять TCP-сервер, потом дать команду AT+SETIO=1 и только потом можно дергать GPIO.
    • 0
      Да, так и есть, но можно взять исходную прошивку и сделать по своему.
  • 0
    Есть такая программа-конфигуратор специально для ESP8266: github.com/AppStackTH/ESP8266-Config
  • 0
    А свою логику в нее зашить можно? то есть приложение под нее написать.
    • 0
      Конечно можно, об этому будет 2-я статья.
      • 0
        Здорово! А какой там микроконтроллер? На какой архитектуре?
  • 0
    Вот вам для затравки пару тестовых прошивок: esp_at_www.zip и esp_www.zip. Вариант без АТ команд работает стабильнее. Доступные команды и функции:
    Управление GPIO выводами вкл/выкл, командой ip_adres/set?pin1=1 — что значит включить логическую единицу на выходе 1(gpio2). Доступен так же gpio0 -имеющий номер 2.
    Корневой веб адрес прошивки открывает интерфейс управления этими gpio с помощью кнопок, необходим доступ браузера к интернету для подгрузки jquery.
    Адрес ip_adress/config?main открывает страничку текущих настроек wi-fi. В будущем эти настройки можно будет менять.

    Сначала можно настроить модуль через программу ESP8266_Config а уже потом шить эти прошивки…
    • +1
      А исходники прошивок дадите? А то голые бинарники не сильно интересны.
      • 0
        Исходники можно глянуть в сдк /examples/IoT_Demo/ — почти то же самое и даже больше, там управление через json запросы.
        • 0
          В IoT_Demo намного больше чем нужно. Ну да ладно, напишем свое, раз Вам жалко.
          • 0
            Чтобы превратить IoT_Demo в веб сервер http страниц достаточно в функции data_send поменять строчку в os_sprintf на Content-type: text/html — смысл публиковать код, если он же имеется в примере IoT_Demo ??
            Странички с определенными адресами добавляются в функции webserver_recv…
  • 0
    Сори за линк, вот еще свежая статья по подключению ESP8266 к AVR
  • 0
    Добавлю.
    Есть бесплатный сервер виртуальных портов. HW Virtual serial Port. Фирма HW Group делает всякие COM-Ethernet адаптеры, и к ним предлагает этот сервер.

    Штука работает наподобие описанного «Socket test»-а, только вдобавок делает в системе виртуальный COM-порт, на который валятся все данные из TCP. Очень удобно, если хочется связать по WiFi какую-нибудь железку с программой, которая кроме последовательных портов ничего не понимает (а таких, надо сказать, большинство)
  • –1
    Объясните пожалуйста, простым языком, что означает:

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


    В частности режим — mode = 1. Для чего нужна такая настройка?

    2.
    Устанавливаем возможность множественных соединений:
    mode 0 — single connection
    mode 1 — multiple connection


    Что значит множественные соединения? Приведите пожалуйста пример.

    • +1
      1. Тут трудно не понять. Режим трансивера или режим приемника.

      2. Сингл означает, что только одно внешнее устройство может производить соединение. В момент такого соединения есп для других будетзанят и другие устройства Получат таймаут слединения.
      • –1
        Благодарствую за ответ. Со вторым пунктом всё ясно, а вот по первому, если не затруднит, растолкуйте на примере.
        • +1
          Что может быть непонятного в слове Трансивер? См. википедию:
          Трансиверная радиостанция, трансивер, приёмопередатчик — радиостанция, выполненная по трансиверной схеме, когда часть функциональных узлов работает как на приём, так и на передачу.

          Приемник — блин, ну значит может только принимать данные, передавать не может.
          • –1
            Зачем Вы потратили своё время?
        • 0
          Ваше устройство на ESP будет получать запросы от внешних устройств и отвечать на них или только всегда будет работать на передачу. иными словами будет ли сфромирован на ESP режим сервера или ESP будет только клиентом и только на передачу информации.
          • 0
            будет ли сфромирован на ESP режим сервера или ESP будет только клиентом

            Спасибо. Теперь всё понятно.

            Дело в том, что в замешательство приводят вот эти строки:

            Для запуска TCP-сервера выполним следующие команды:
            1. Устанавливаем режим передачи командой

            AT+CIPMODE=mode = 0 — not data mode (сервер может отправлять данные клиенту и может принимать данные от клиента)
            mode = 1 — data mode (сервер не может отправлять данные клиенту, но может принимать данные от клиента)
            Не понятно кто в данном случае ESP — клиент или сервер?

            Иными словами вот так?

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

            • 0
              Точнее, так?

              mode = 0 — not data mode (сервер)
              mode = 1 — data mode (клиент)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.