WiFi ESP8266 ESP-202 (ESP-12F)

Views: 7699


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



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


  • Проект с использованием MCC часть 12-2Проект с использованием MCC часть 12-2
    Views: 1057 Настало время для изучения шины I2C. Изучать будем на примере работы с индикатором RET012864E. Что изменили со старой схемы: В прошлой теме я затупил и не добавил подтягивающие резисторы …
  • APA102 – светодиоды со встроенным драйвером и SPI интерфейсомAPA102 – светодиоды со встроенным драйвером и SPI интерфейсом
    Views: 3265 APA102 В 2014 году фирма Shenzhen Led Color Optoelectronic Co., Ltd http://www.szledcolor.com/ начала производство светодиодов на драйвере APA102. Это серия так называемых светодиодов со встроенным драйвером. Основной особенностью этих …
  • PIC18 – модуль DMAPIC18 – модуль DMA
    Views: 1181 Введение   Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной  обработки …
  • Проект с использованием MCC часть 12-1Проект с использованием MCC часть 12-1
    Views: 962 В настоящее время без визуализации информации уже не интересно. Поэтому научимся выводить информацию на дисплей. Для это возьмет простенький OLED RET012864E/REX012864J я такой приобретал в фирме “Гамма-Украина”, описание можно …
  • Moving average – скользящее среднееMoving average – скользящее среднее
    Views: 2255 Скользящая средняя, скользящее среднее (англ. moving average, MA) — общее название для семейства функций, значения которых в каждой точке определения равны среднему значению исходной функции за предыдущий период. Скользящие средние обычно используются с данными временных рядов для сглаживания …
  • Мониторинг температурыМониторинг температуры
    Views: 1378 Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то …
  • Тестирование модуля генератораТестирование модуля генератора
    Views: 883  Тестирование модуля генератора Настройка, запуск и проверка рабочей частоты на примере PIC18F26K40. PIC18F26K40 Чтобы понять из-за чего зависит производительность микроконтроллера просто надо понять как работает его задающий тактовый …
  • Проект с использованием MCC часть 02Проект с использованием MCC часть 02
    Views: 2304 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
  • PIC18F25K42 – v. A001 – выявленные баги.PIC18F25K42 – v. A001 – выявленные баги.
    Views: 612 Модуль I2C Не работает при использовании в стандартной конфигурации MCC. Требует особой нестандартной конфигурации и управления для нормальной работы. Обойти Обход проблемы возможен библиотека см статью. Модуль ADC2 На …
  • Модуль CAN в микроконтроллерах PIC18Модуль CAN в микроконтроллерах PIC18
    Views: 5772 Введение   CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований …



 

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

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

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

НазадДалее