Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Моя цель здесь - поделиться своим опытом работы с ESP8266 через модули ESP-01, ESP-12 и NodeMCU.
Я объясню:
1. Как подключить ESP-01 к компьютеру
2. Перезагрузить прошивку АТ
3. Используйте Arduino IDE для программирования чипа.
4. Опыт работы с Node MCU
5. DeepSleep или питание модуля от аккумулятора.
6. Pure ESP12 - подключите его к компьютеру и приготовьтесь к встроенным проектам.
Шаг 1: ESP-01 - Тест связи
Тебе нужно:
- Модуль ESP-01 конечно
- Адаптер Serial-USB
- Регулятор 3,3 В, я использовал LE33CZ (макс. 100 мА), он работает, но я рекомендую модель с макс.
Следуйте схеме.
Примечание. CH_PD необходимо подключить к + VCC, как указано в таблице данных ESP8266.
Общайтесь с ESP:
Обычно при покупке такого модуля:
- прошивка AT уже в памяти
- серийная скорость по умолчанию - 115200 бит / с
Теоретически вы можете использовать любое программное обеспечение для последовательной связи. Просто позаботьтесь о добавлении новой строки и возврата каретки после каждой команды.
Я попытался использовать PutTTY для отправки AT-команд, но безуспешно из-за этих символов новой строки и возврата каретки. Я не нашел способа сделать это
Итак, я использовал последовательный монитор ARDUINO, позаботьтесь о том, чтобы установить «Оба NL&CR», иначе это не сработает
Когда вы будете готовы:
- Попробуйте ввести: AT
- ESP должен ответить: ОК
Теперь вы в деле. Обратитесь к документации Espressif для AT-команд.
С помощью AT-команд вы можете подключиться к Wi-Fi и создать HTTP-сервер. Но вы не можете управлять GPIO.
Шаг 2: ESP-01 - перезагрузите прошивку AT
В случае, если вы получаете модуль, внутри него нет программного обеспечения (но обычно оно есть), я объясняю здесь, как перезагрузить его с помощью многоплатформенного инструмента.
Вы можете пропустить этот шаг, если предыдущий вам подошел.
Первое, что вам нужно знать:
- Чтобы войти в программный режим, вам нужно установить GPIO0 на 0 В и выполнить СБРОС, пока GPIO0 все еще находится на 0 В.
- После этого модуль готов к загрузке прошивки во флеш-память.
Перейдите на Espressif.com, чтобы загрузить SDK:
В папке bin / at файл README сообщит вам, какие файлы загружать в память и начальные адреса
Пример:
# НЕЗАГРУЗОЧНЫЙ РЕЖИМ ## загрузка
eagle.flash.bin 0x00000
eagle.irom0text.bin 0x10000
blank.bin
Размер флэш-памяти 8 Мбит: 0x7e000 и 0xfe000
Размер флэш-памяти 16 Мбит: 0x7e000 и 0x1fe000
Размер флэш-памяти 16 Мбит-C1: 0xfe000 и 0x1fe000
Размер флэш-памяти 32 Мбит: 0x7e000 и 0x3fe000
Размер флэш-памяти 32 Мбит-C1: 0xfe000 и 0x3fe000
esp_init_data_default.bin (необязательно)
Размер флэш-памяти 8 Мбит: 0xfc000
Размер флэш-памяти 16 Мбит: 0x1fc000
Размер флэш-памяти 16 Мбит-C1: 0x1fc000
Размер флэш-памяти 32 Мбит: 0x3fc000
Размер флэш-памяти 32 Мбит-C1: 0x3fc000
Примечание. Вам необходимо знать размер и тип памяти, установленной в вашем модуле. Это вопрос, которым мы займемся через несколько секунд …
Используйте esptool.py для загрузки прошивки:
- Espressif рекомендует использовать собственное программное обеспечение, но оно на Windows
- Так что https://github.com/espressif/esptool - хорошая альтернатива
- python esptool.py --port / dev / ttyUSB0 --baud 115200 write_flash 0x00000./at/noboot/eagle.flash.bin
- python esptool.py --port / dev / ttyUSB0 --baud 115200 write_flash 0x10000./at/noboot/eagle.irom0text.bin
- python esptool.py --port / dev / ttyUSB0 --baud 115200 write_flash 0x7e000./bin/blank.bin
- python esptool.py --port / dev / ttyUSB0 --baud 115200 write_flash 0xfc000./bin/esp_init_data_default.bin
- …
Важная заметка:
Вы не можете этого сделать, если не знаете, какая память у вас в модуле.
Даю совет:
python esptool.py --port / dev / ttyUSB0 --baud 115200 flash_id
Затем посмотрите комбо на
производитель c8 - GigaDevice, а устройство 4013 - GD25Q40, которое является устройством 4 Мбит = 512 Кбайт.
производитель ef - Winbond (бывший Nexcom), а устройство 4016 - W25Q32, которое является устройством 32 Мбит = 4 Мбайт
Шаг 3. Используйте ARDUINO IDE
В настройках предпочтений добавьте этот URL-адрес в «Дополнительные URL-адреса Boards Manager»:
arduino.esp8266.com/stable/package_esp8266c…
После этого перезапустите ARDUINO. Затем в «TOOL-> BOARD» вы сможете выбрать Generic ESP8266 Module.
В Файл-> Примеры вы найдете примеры скетчей, которые помогут начать программирование с ARDUINO.
Примечания:
- При загрузке программы не забудьте войти в режим программирования (GPIO0 = 0V и RESET).
- После того, как вы загрузили программу Arduino на ESP, микропрограмма AT больше не доступна, поэтому команды AT не будут доступны.
- Используйте опцию: эскиз + настройки Wi-Fi
Шаг 4: узел MCU
Если вы купите такой модуль, это действительно удобно:
- ESP-12 внутри
- У вас есть кнопка вспышки + сброса, чтобы легко войти в режим программирования
- Булавки
- Встроенный порт USB…
Но если вы хотите интегрировать его в проект, он может быть не лучшим. Мы увидим «чистый» ESP12 в конце этой инструкции.
Шаг 5: DeepSleep или питание вашего модуля от батареи
Иметь Wi-Fi - это круто, но он требует энергии. Если вы позволите модулю ВКЛЮЧИТЬСЯ, то не уверены, что сможете надолго встраивать его в проект батарей.
К счастью, ESP может перейти в режим глубокого сна. Затем он потребляет несколько микроампер.
Это можно сделать с помощью AT-команд.
Но я покажу это через программирование Arduino.
Сначала подключите WakeUpPin = GPIO16 к RESET ESP. Потому что, когда ESP входит в режим глубокого сна, он выходит из спящего режима, перезагружая себя через контакт GPIO16.
Для входа в режим DeepSleep используйте код: ESP.deepSleep (, WAKE_RF_DEFAULT);
в микросекундах. ESP перейдет в спящий режим во время работы US перед сбросом.
Шаг 6. Чистый ESP12 - подключите его к компьютеру и приготовьтесь к встраиваемым проектам
Не бойтесь покупать чистый модуль ESP12. Он дешевый, легкий и миниатюрный.
Подключите его так же, как и модуль ESP-01, с помощью адаптера Serial-USB.
Не забывайте, что CH_PD должен быть на Vcc.
Тогда вы сможете создавать встраиваемые проекты на батарейках, с WiFi и мощным микроконтроллером !!