WiFi ESP8266 ESP-202 (ESP-12F)

Views: 7698


cat_esp8266Первое знакомство, сначала надо его купить… http://voron.ua/catalog/024404


Схема для подключения и тестирования

Cat_ESP8266_05

По схеме ставим две кнопки, сброс и кнопку BT2, для перевода в режим обновления прошивки. Если надо сделать аппаратный сброс нажимаем сброс (в зависимости от прошивки) светодиод моргнет два раза, если перевести в режим обновления прошивки, нажимаем и удерживаем BT2 и нажимает и отпускаем сброс, потом отпускаем BT2. Светодиод моргнет короткой вспышкой. Резистор R3 для возврата модуля из режима глубокого сна. Суть возврата, это при подаче команды AT+GSLP модуль переходит в режим глубокого сна, для возврата его можно вывести только через аппаратный сброс, для этого в модуле запускается таймер (время задается в команде) и его выход выведен на выход GPIO15, соединив вывод сброс с этим выводом мы активируем опцию “просыпания” модуля. Для работы с связке с микроконтроллером, запуск модуля можно использовать n-channel транзистор, стоком подключено к точке цепи сброса.


Изготовление прототипа для тестирования:

Cat_ESP8266_10

Cat_ESP8266_11

Cat_ESP8266_12

Все было собрано с использованием печатных плат из проекта Иллисси (проект умер, но платы делают свое дело!)


Обновление прошивки

(на 18/04/2016 – ESP8266 NONOS SDK V1.5.3 и ESP8266 RTOS SDK v1.4.0)

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

Официальная программа обновления, можно загрузить https://www.espressif.com/en/support/download/other-tools или http://bbs.espressif.com/viewtopic.php?f=5&t=433.

Cat_ESP8266_01

1. 4Mbit флэш

С выпуском версии ESP8266 NONOS SDK v1.5.0, AT_V0.51, прошивка версии требует 8Mbit или больший размер флэш. Все версии последние больше не предназначены для 4Mbit Flash!

2. 8Mbit флэш

Если размер флэш составляет 8 Мбит или больше, вы можете использовать режим загрузки, который поддерживает обновление встроенного программного обеспечения AT через WiFi с помощью команды “AT+CIUPDATE”. Если используете Espressif флэш программу загрузки и выберите флэш размер: 8Mbit.

bin файл Адрес размещения Описание
 esp_init_data_default.bin 0xFC000   Необязательный файл, внем распологаются настройки RF по умолчанию 
 blank.bin  0x7E000 Инициализировать области флэш-памяти параметров пользователя 
blank.bin  0xFE000  Инициализировать области флэш-памяти параметров системы 
 boot.bin 0x00000  \bin 
 user1.1024.new.2.bin 0x01000   \bin\at\512+512 

3. 16 Мбит флэш, карта: 512KB + 512KB

Для программы Espressif флэш загрузки и выберите флэш размер: 16Mbit.

bin файл Адрес размещения Описание
 esp_init_data_default.bin 0x1FC000  Необязательный файл, внем  распологаются настройки RF по умолчанию 
 blank.bin 0x7E000 Инициализировать области флэш-памяти параметров пользователя 
blank.bin  0x1FE000 Инициализировать области флэш-памяти параметров системы 
 boot.bin 0x00000  \bin 
 user1.1024.new.2.bin 0x01000   \bin\at\512+512 

4. 16 Мбит флэш, карта: 1024KB + 1024KB

Для программы Espressif флэш загрузки и выберите флэш размер: 16Mbit-С1.

bin файл Адрес размещения Описание
 esp_init_data_default.bin 0x1FC000  Необязательный файл, внем  распологаются настройки RF по умолчанию 
 blank.bin 0xFE000 Инициализировать области флэш-памяти параметров пользователя 
blank.bin  0x1FE000 Инициализировать области флэш-памяти параметров системы 
 boot.bin 0x00000  \bin 
user1.2048.new.5.bin 0x01000   \bin\at\1024+1024

5. 32 Мбит флэш, карта: 512KB + 512KB

Для программы Espressif флэш загрузки и выберите флэш размер: 32Mbit.

bin файл Адрес размещения Описание
 esp_init_data_default.bin 0x3FC000  Необязательный файл, внем  распологаются настройки RF по умолчанию 
 blank.bin 0x7E000 Инициализировать области флэш-памяти параметров пользователя 
blank.bin  0x3FE000 Инициализировать области флэш-памяти параметров системы 
 boot.bin 0x00000  \bin 
user1.1024.new.2.bin 0x01000   \bin\at\512+512 

6. 32 Мбит флэш, карта: 1024KB + 1024KB

Для программы Espressif флэш загрузки и выберите флэш размер: 32Mbit-С1.

bin файл Адрес размещения Описание
 esp_init_data_default.bin 0x3FC000  Необязательный файл, внём  распологаются настройки RF по умолчанию 
 blank.bin 0xFE000 Инициализировать области флэш-памяти параметров пользователя 
blank.bin  0x3FE000 Инициализировать области флэш-памяти параметров системы 
 boot.bin 0x00000  \bin 
user1.2048.new.5.bin 0x01000   \bin\at\1024+1024

Заметки:
• Убедитесь, что правильно BIN (/ESP8266_NONOS_SDK/bin/at) уже в микросхеме (ESP8266), прежде чем можно использовать команды AT, приведенные в этой документации.
• AT уже принял приоритет 0 и 1 из system_os_task, поэтому только одна задача приоритета 2 разрешается устанавливать пользователем.
• AT возвращает сообщения ниже, чтобы показать статус Wi-Fi подключения станции ESP8266

‣ WiFi Connected – Wi-Fi подключен
‣ WiFi GOT IP – ESP8266 станция получила IP от AP
‣ WiFi DISCONNECT – Wi-Fi отключен

Как обновить свой модуль, заводской прошивкой.

    1. Заходим на сайт производителя http://espressif.com/en/support/download/sdks-demos?keys=&field_technology_tid=All&field_type_tid%5B%5D=14 и выбираем необходимою сборка последняя ESP8266 NONOS SDK V1.5.3 и ESP8266 RTOS SDK v1.4.0.
    2. Скачиваем нужную сбоку. получаем файлы esp8266_nonos_sdk_v1.5.3_16_04_18_0.zip (esp8266_rtos_sdk_v1.4.0_16_02_26_0.zip).
    3. Распаковываем.
    4. Загружаем программу для прошивки ESP_DOWNLOAD_TOOL_V2.4.exe, откроется два окна.Cat_ESP8266_02
    5. Выполняем настройку, это первое – порт с которым связан модуль и скорость, стандартная 115200 (но если нет связи пробуйте 9600). В моем варианте это был com5 и 115200.Cat_ESP8266_03
    6. Проверяем, конфигурацию нашего модуля, для этого незабываем его перевести в режим обновления. Нажимает кнопку START. Выполняется чтение данных с модуля
      (True, [])
      test running : False
      serial port opened
      Connecting...
      chip sync ok!
      0x3ff00050: d2050000
      0x3ff00054: 020007b6
      0x3ff00058: 6400b000
      0x3ff0005c: 005ccf7f
      EFUSE MODE : 1
      reg0:d2050000
      reg1:020007b6
      reg2:6400b000
      reg3:005ccf7f
      check_err_0: 0b
      check_err_1: 00
      check_err_2: 00
      check_err_3: 02
      check_err_4: 0b
      ====================
      EFUSE NORMAL MODE
      ====================
      =========================
      CRC IN MODE 1:
      crc_calc_res: 100
      target crc val: 100
      =========================
      =========================
      CRC IN MODE 1:
      crc_calc_res: 5
      target crc val: 5
      =========================
      
      
      
      ==================
      EFUSE LOG:
      ======================
      EFUSE LOG:
      ---------------
      REG0:D2050000
      REG1:020007B6
      REG2:6400b000
      REG3:005CCF7F
      ----------------
      ====================
      EFUSE NORMAL MODE
      ====================
      EFUSE CHECK PASS...
      =================
      reg2>>13: 5
      =================
      48bit mac
      debug:
      -----------------------
       5c cf 7f 07 b6 d2
      ID FOR XM: 06 40 00 00 00 00 50 00
      XM_ID: 0640000000005000
      -----------------------
      crc_efuse_4bit: 0
      crc_calc_4bit: 3
      48bit mac
      MAC AP : 5E-CF-7F-07-B6-D2
      MAC STA: 5C-CF-7F-07-B6-D2
      get mac res:  True
      ('tttest uuuuuuuuuuart : uart reg: ', 460)
      (' baudrate: ', 115200)
      get crystal: 26496000
      head: 0 ;total: 0
      erase size : 0
      get flash id : 0xff1640e0
       manufacturer_id: 0xe0
      
       device_id: 0x4016
      
      vendor: 224
      mode: 64
      size: 22
      com closed

      В основном окне итоговые данныеCat_ESP8266_04

    7. мой модуль имеет следующие параметры
      flash vendor:
      E0h : N/A
      flash devID: 4016h QUAD; 32Mbit
      crystal: 26 Mhz
    8. Я буду прошивать для варианта  6. 32 Мбит флэш, карта: 1024KB + 1024KB, смотрим в таблицу и настраиваем программу для прошивки модуля последней версией.Cat_ESP8266_06
    9. Проверяем командой (используем программу CommUart Assistant) Cat_ESP8266_07
    10. На этом обновление модуля закончено.

Примечание, при старте и перезапуске модуля видно, что на выходе UART присутствует неопределенное состояние, которое воспринимается как “мусор” в виде разного рода символов.


Тестирование AT команд 

Для тестирования удобно использовать терминальные программы китайской фирмы Cmsoft Technology. Загрузить пакет программ для дальнейшей работы 

Значок

ESP8266 ESP-12F терминальный софт 1.39 MB 1160 downloads

Catcatcat_терминальный_софт.rar NetAssist PuTTY SSCOM ...

Особенности программа CommUart Assistant предназначена для отладки AT команд, это возможность сохранять команды в стеке и потом их оперативно вызывать:

Cat_ESP8266_08

Менеджер команд:

Cat_ESP8266_09

Использование, необходимо ввести команду в окне и нажать Энтер (формируем в команде код возврата каретки и код перевода строки, эти коды необходимы, так как они являются для модуля окончанием команды и условием её выполнения). Нажимая клавишу Send отсылаем её в порт. Для записи устанавливаем курсор в окно ввода, нажимает Ctrl+A – выделяем все, Ctrl+S и сохраняем набранную команду в менеджере.


Базовые AT команды

Команда Описание 
AT Тест AT для проверки связи при включении 
AT+RST Перезапуск модуля 
AT+GMR Просмотр информации о версии 
AT+GSLP Enter deep-sleep mode Вход в режим глубокого сна 
ATE  AT команды эхо или нет
AT+RESTORE  Сброс к заводским настройкам
AT+UART  UART конфигурация (не рекомендуется для новых проектов)
AT+UART_CUR  UART текущая конфигурация
AT+UART_DEF  UART по умолчанию конфигурация, с сохранением на флэш
AT+SLEEP  Режим сна
AT+RFPOWER  Установка значения мощности радио передатчика
AT+RFVDD Установить RF TX мощность в соответствии с VDD33

Команды
1. AT  тест связи с модулем по UART при включении
Тип этой команды “выполнено”. Он используется для тестирования функции настройки беспроводного модуля Wi-Fi.

AT – Test AT startup
Отклик OK 
Параметр null
Пример (команда – ответ) AT

OK

 2. AT+RST – Перезапуск модуля
Тип этой команды “выполнено”. Он используется, чтобы перезапустить модуль.

AT+RST – Restart module
Отклик OK 
Параметр null
Пример (команда – ответ) AT+RST

OK

ets Jan 8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000

rl??§с (мусор…перезапуск модуля)
read

3. AT+GMR – Просмотр информации о версии прошивки
Эта AT команды используется для проверки версии AT команд и SDK, которую использует модуль, тип её “выполнено”.

AT+GMR – View version info
Отклик <AT version info>
<SDK version info>
<compile time>
OK
Параметр <AT version info> information about AT version
<SDK version info> information about SDK version
<compile time> Время bin был составлен
Пример (команда – ответ) AT+GMR
AT version:1.0.0.0(Apr 16 2016 13:02:45)
SDK version:1.5.3(aec24ac9)
compile time:Apr 18 2016 14:11:00
OK

4. AT+GSLP – Enter deep-sleep mode
Эта команда предназначена для вызова “глубокого спящего режима” модуля, тип которого является “установить”. Незначительная корректировка должна быть сделана до того, как ввести модуль режим глубокого сна, надо соединить XPD_DCDC(GPIO16) с EXT_RSTB(RST) через 0 Ом резистор.

AT+GSLP=<time>
Отклик <time>

OK

Параметр Единица времени <time> в ms.
ESP8266 проснетесь после глубокого сна <time> ms.
Пример (команда – ответ) AT+GSLP=5000

OK
rlrl??§с
ready

5. ATE – AT commands echo
Эта команда ATE представляет собой команду триггера управления эхо-сигналом. Это означает, что подаваемые команды могут быть транслированы обратно отправителю. Возможны всего два параметра. Команда возвращает “OK” в обычных случаях и “ERROR”, когда параметр был определен, отличный от 0 или 1. По умолчанию эхо включен. Для обучения эхо желательно иметь включенным, а для работы можно выключить, чтобы убрать лишние данные.

ATE – AT commands echo
Отклик OK
Параметр ATE0 – Переключатель эхо отключен
ATE1 – Переключатель эхо включен
Пример (команда – ответ) ATE0

OK

ATE1

OK

6. AT+RESTORE – Factory reset
Эта команда используется для “сброса всех параметров”, восстанавливаются значения сохраненных во флэш (в соответствии с приложением), восстановление к заводским настройкам, значению по умолчанию. Модуль будет пере запущен, когда после выполнения команды.

AT+RESTORE – Factory reset
Отклик OK
Параметр Восстановление заводских настроек.
Перезапуск модуля.
Пример (команда – ответ) AT+RESTORE

OK

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot versioboot version : 1.5
SPI Speed PI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000

rlЋ‚rlЊћвЊb lЊbr|м bаrb ЋаlbмтnоЂnnв lbl Њ lЊ?l§Ю?? ?l l`?n§о
ready

7. AT+UART – UART configuration
Эта команда устанавливает конфигурацию UART и записывает новую конфигурацию во флэш. Он хранится в качестве параметра по умолчанию, а также будет использоваться в качестве скорости передачи данных по умолчанию в дальнейшем.

AT+UART=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
Эту команду не рекомендуется применять в разработках. Для новых разработок использовать команды AT+UART_CUR и AT+UART_DEF.
Пример AT+UART=115200, 8, 1, 0, 0
Отклик OK
Параметр <baudrate> Baudrate range: 110 to 115200*40 (4.608 Mega)
<databits> 5: 5 bits data
6: 6 bits data
7: 7 bits data
8: 8 bits data
<stopbits> 1: 1 bit stop bit
2: 1.5 bit stop bit
3: 2 bit stop bit
<parity> 0: None
1: Odd
2: EVEN
<flow control> 0: disable flow control
1: enable RTS
2: enable CTS
3: enable both RTS and CTS
Заметки • Эта конфигурация будет также хранить скорость передачи данных в качестве скорости по умолчанию в области параметров пользователя во флэш-памяти для загрузки.
• Управление потоком нуждается в поддержке аппаратных средств: MTCK в
UART0 CTS и MTDO в UART0 RTS.
Пример (команда – ответ) AT+UART=115200,8,1,0,0

OK

8. AT+UART_CUR – current UART configuration
Эта команда устанавливает текущую конфигурацию UART, она не сохраняет значение во флэш памяти. Эти настройки будут актуальны, только для текущего сеанса работы модуля. Эти настройки действуют до момента выключения питания или рестарта.

AT+UART_CUR=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
Пример AT+UART_CUR=115200, 8, 1, 0, 0
Отклик OK
Параметр <baudrate> Baudrate диапазон: 110 до 115200*40 (4.608 Mega)
<databits> 5: 5 bits data
6: 6 bits data
7: 7 bits data
8: 8 bits data
<stopbits> 1: 1 bit stop bit
2: 1.5 bit stop bit
3: 2 bit stop bit
<parity> 0: None
1: Odd
2: EVEN
<flow control> 0: disable flow control
1: enable RTS
2: enable CTS
3: enable both RTS and CTS
Заметки • Эта конфигурация не будет сохранять параметры во флэш-памяти для загрузки.
• Управление потоком нуждается в поддержке аппаратных средств: MTCK в
UART0 CTS и MTDO в UART0 RTS.
Пример (команда – ответ) AT+UART_CUR=115200,8,1,0,0

OK

9. AT+UART_DEF – default UART configuration
Эта команда устанавливает конфигурацию UART по умолчанию, она сохраняет значение во флэш памяти. И эта конфигурация будет вступать в силу при сбросе или при включении модуля и будет использоваться в дальнейшем.

AT+UART_DEF=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
Пример AT+UART_DEF=115200, 8, 1, 0, 0
Отклик OK
Параметр <baudrate> Baudrate диапазон: 110 до 115200*40 (4.608 Mega)
<databits> 5: 5 bits data
6: 6 bits data
7: 7 bits data
8: 8 bits data
<stopbits> 1: 1 bit stop bit
2: 1.5 bit stop bit
3: 2 bit stop bit
<parity> 0: None
1: Odd
2: EVEN
<flow control> 0: disable flow control
1: enable RTS
2: enable CTS
3: enable both RTS and CTS
Заметки • Эта конфигурация будет сохранять параметры во флэш-памяти для загрузки.
• Управление потоком нуждается в поддержке аппаратных средств: MTCK в
UART0 CTS и MTDO в UART0 RTS.
Пример (команда – ответ) AT+UART_DEF=115200,8,1,0,0

OK

10. AT+SLEEP – sleep mode
Эта команда переключает ESP8266 спящий режим. Она может быть использован только в режиме станции. По умолчанию, установлен режим – Модем-сон.

AT+SLEEP – sleep mode
Команда AT+SLEEP?
Отклик +SLEEP : <sleep mode>
OK
Параметр <sleep mode>
0 : Отключить спящий режим
1 : режим Легкий-сон
2 : режим Модем-сон
Пример (команда – ответ) AT+SLEEP?
+SLEEP:2OK
Команда AT+SLEEP=<sleep mode>
Отклик OK
Пример (команда – ответ) AT+SLEEP=0

OK

11. AT+RFPOWER– set maximum value of RF TX Power
Эта команда устанавливает значение выходной мощности радио передатчика ESP8266.

AT+RFPOWER – set RF TX Power
Команда AT+RFPOWER=<TX power>
Отклик OK
Параметр <TX power>
0 : минимальное
82 : максимальное
Единица – 0.25 dBm
Пример (команда – ответ) AT+RFPOWER=82

OK

12. AT+RFVDD– set RF TX Power according to VDD33
Эта команда устанавливает ESP8266 RF TX мощность в соответствии с VDD33. Для того, чтобы получить напряжение мощности ESP8266 VDD3P3, TOUT вывод должен быть приостановлен. TOUT вывод должен быть приостановлен для измерения VDD33.

AT+RFVDD – set RF TX power according to VDD33
Команда AT+RFVDD?
Отклик +RFVDD:<VDD33>
OK
Параметр <VDD33> Параметр VDD33  единица измерения: 1/1024 V. TOUT передача должна быть приостановлена для изменения VDD33.
Пример (команда – ответ) AT+RFVDD?
+RFVDD:65535OK
Команда AT+RFVDD=<VDD33>
Отклик OK
Параметр <VDD33> power voltage of ESP8266 VDD33, range [1900, 3300]
Пример (команда – ответ) AT+RFVDD=3000

OK

Команда AT+RFVDD
Отклик OK
Параметр “AT + RFVDD” автоматически установит RF TX мощность в соответствии с VDD33. TOUT передача должна быть приостановлена для изменения параметра.
Пример (команда – ответ) AT+RFVDD

OK

 Читайте продолжение  WiFi ESP8266 – AT команды связанные с функцией Wi-Fi



Это может быть интересно


  • Четырех канальный терморегулятор ch-4000Четырех канальный терморегулятор ch-4000
    Views: 3198  Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать …
  • Самый простой диммер для светодиодного освещенияСамый простой диммер для светодиодного освещения
    Views: 3035 Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы …
  • My libraries for Altium DesignerMy libraries for Altium Designer
    Views: 3962 Attention, this version of the database is outdated today. See updates in articles https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure  and https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure-v23-2/    My libraries for Altium designer  (Updated V – 29/05/2022) (c) 2021 …
  • Kitchen timer with contactless gesture controlKitchen timer with contactless gesture control
    Views: 653    Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …
  • ESP8266  процедура получение данных даты и времени от серверов точного времени.ESP8266 процедура получение данных даты и времени от серверов точного времени.
    Views: 5884 Эта функция доступна уже в версии 1.6.1. Для многих приложений, необходимо часы реального времени,  если в вашем проекте есть модуль WiFI ESP8266, то легко можно сделать следующим образом. …
  • Сенсорный выключатель светаСенсорный выключатель света
    Views: 12232 Хотя в настоящий момент актуальны системы управления освещением с передачей данных по электросети, но я думаю, что проекты такого рода тоже имеют право на жизнь. Анонс Три вида …
  • Проект с использованием MCC часть 09Проект с использованием MCC часть 09
    Views: 913   Эта часть будет посвящена созданию практического проекта управления освещение. Тех задание: Два выхода управления ШИМ – светодиодным освещением. Две кнопки управления, каждая кнопка управляет, своим каналом, логика самая …
  • УКВ – радиоприем, часть 1УКВ – радиоприем, часть 1
    Views: 9606 Музыкальная тема к статье, слушаем: Первый мой радиоприемник, выглядел так. Использовал исключительно в школе на уроках, держась за одно ухо и преданно смотря на училку и сладко улыбаясь. …
  • AD9833 – Programmable Waveform Generator – part twoAD9833 – Programmable Waveform Generator – part two
    Views: 1772 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
  • Temperature measurement with NTC thermistor.Temperature measurement with NTC thermistor.
    Views: 325 Проекты в которых присутствовало измерение температуры начинал с цифровых датчиков, т.к. в них все просто и не надо ничего преобразовывать и вычислять. При использовании цифровых датчиков ты получаешь …



 

Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее