WiFi ESP8266 ESP-202 (ESP-12F)

Visits: 7622


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 1125 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



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


  • USB K-L-line адаптерUSB K-L-line адаптер
    Visits: 5924 USB K-L-line адаптер предназначен для связи персонального компьютера с диагностической шиной автомобиля – интерфейс ISO-9141. Этот проект предназначен для сборки недорого устройства с использованием специально для этой цели …
  • I2C MODULE – PIC18F25K42 Device ID Revision = A001I2C MODULE – PIC18F25K42 Device ID Revision = A001
    Visits: 1045 I2C MODULE Обход ошибок в версии I2C MODULE – PIC18F25K42 Device ID Revision = A001 В Серии K42 применен совершенно новый модуль шины I2C, который позволяет поддерживать все …
  • LATINO – открытый проект ch-светомузыкиLATINO – открытый проект ch-светомузыки
    Visits: 1631   Проект построенный на некоторых принципах ch-светомузыка. Проект ознакомительный предназначен, для самостоятельного построения простого и эффективного светосинтезатора. Вывод осуществляется на ВОУ собранной на драйверах HL1606. Для этого была …
  • Самый простой диммер для светодиодного освещенияСамый простой диммер для светодиодного освещения
    Visits: 2953 Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы …
  • Интерактивные LedИнтерактивные Led
    Visits: 440 Тема проекта   продолжение следует…. Это может быть интересно Метки: LED
  • BMP280 – температура и атмосферное давление – учебный проектBMP280 – температура и атмосферное давление – учебный проект
    Visits: 2014 Учебный проект на PIC32 и светодиодной панели P5 (2121)-168-6432-80 (32*64). Проект позволяет ознакомиться с простой графикой и с чтением давления и температуры с датчика BMP280. Для тестирования необходимо …
  • LCD индикаторы на драйвере ML1001LCD индикаторы на драйвере ML1001
    Visits: 1837  ML1001 – статический LCD GOG (чип в стекле) драйвер для 40-сегментного LCD в позолоченном противоударном исполнении. На них можно каскадно строить цельные из 80 или 120 сегментов LCD индикаторы. …
  • Дифференциальный терморегуляторДифференциальный терморегулятор
    Visits: 3969 Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. …
  • Проект с использованием MCC часть 09Проект с использованием MCC часть 09
    Visits: 853   Эта часть будет посвящена созданию практического проекта управления освещение. Тех задание: Два выхода управления ШИМ – светодиодным освещением. Две кнопки управления, каждая кнопка управляет, своим каналом, логика самая …
  • Счетчики посетителейСчетчики посетителей
    Visits: 1251 Вас сосчитали!? или счетчики посетителей.   Для чего нужны счетчики посетителей? Какие они бывают? ТОРГОВЛЯ. Подсчитайте, сколько ваш магазин посещает человек за день. Кок много человек приходит утром, какое …



 

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

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

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

НазадДалее