ESP8266 Руководство по устранению неисправностей

Урок 3. ESP32 и ESP8266 с выводом статуса на веб-страницу и на OLED дисплей.

Хотите добавить информативности, и сделать более интересными свои проекты с ESP32? Или, может быть, вы хотите отобразить IP-адрес вашего ESP32, не прибегая к выводу информации в последовательный монитор порта? OLED-дисплеи (органические светодиоды) могут идеально подойти! Они сверхлегкие, достаточно тонкие, теоретически гибкие, и дают более яркое и четкое изображение.

Для изучения данного урока рекомендую посмотреть предыдущий урок про ESP32 и ESP8266:

  • Веб-сервер ESP32 (ESP8266) в среде Arduino IDE

Базовый код, основного примера, будем использоваться из вышеуказанного урока.

Также, в данном уроке, расскажу поверхностно про OLED дисплей, и его возможности. Больше информации в моих уроках по подключению OLED дисплея к Arduino:

  • Дисплей SSD1306 подключаем к Arduino. Выводим текст, рисуем фигуры.

Устранение неполадок ESP8266 — NodeMCU Flasher

Где скачать флешер NodeMCU?

Перейдите в репозиторий GitHub флешера NodeMCU и загрузите флешер для вашей версии Windows, нажав кнопку «Raw»:

Какие настройки следует использовать с флешером NodeMCU?

Флешер NodeMCU уже поставляется с правильными настройками по умолчанию.

Настройки по умолчанию:

image_1.png

После нажатия кнопки «Flash» ничего не происходит, прошивальщик NodeMCU не запускает процесс перепрошивки

Если вы нажали кнопку «Flash» и ничего не происходит . Это может быть одно из двух:

  • ESP не находится в режиме прошивки (перепроверьте, подключен ли GPIO 0 к GND при включении питания)
  • программатор FTDI не может подать достаточный ток на ESP

image_2.png

Проблема 1 — Как заставить ESP перейти в режим прошивки:

  1. Закройте окно флешера NodeMCU
  2. Отключите питание от вашего ESP8266
  3. Подключите ESP следующим образом (дважды проверьте, что GPIO 0 подключен к GND)
  4. Подайте питание на ESP8266 и откройте флешер NodeMCU Нажмите кнопку «Flash»

Если он все еще сообщает «Ожидание MAC», попробуйте следующее:

  1. Подключите провод от вашего reset ESP8266 к GND
  2. Отсоедините этот провод от GND и присоединитесь к VCC

Повторите шаги несколько раз, пока ESP не перезагрузится, и, скорее всего, флешер NodeMCU сможет обнаружить ESP и начать процесс перепрошивки.

Проблема 2. Если FTDI не может обеспечить достаточный ток, возможно, придется купить новый программатор FTDI или подключить ESP8266 к внешнему источнику питания.

Флешер NodeMCU зависает или останавливается на определенном проценте

image_3.png

  1. Отключите питание от ESP + FTDI: Закройте окно флешера NodeMCU
  2. Подключите ESP + FTDI к компьютеру снова
  3. Откройте флешер NodeMCU и попробуйте скорость передачи 19200 бод

Если этот процесс завершится неудачно, повторите ту же процедуру для следующих скоростей передачи (38400, 57600, 74880 и 115200).

Ппо крайней мере 5 человек столкнулись с той же проблемой, и этот способ решил ее.

Как должен выглядеть NodeMCU после успешной прошивки?

У него должна быть зеленая стрелка внизу слева.

image_4.png

Разблокировка программатора FTDI на ПК с Windows

Если у вас новый программатор FTDI то сначала необходимо установить драйверы FTDI в Windows, посетите официальный веб-сайт для получения официальных драйверов: http://www.ftdichip.com/Drivers/VCP.htm.

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

Если возникли проблемы с установкой драйверов FTDI в Windows 7/8 / 8.1 / 10, вполне вероятно, что FTDI заблокирован.

Загрузка прошивки Grbl_Esp32 в отладочную плату esp32 devkit v1.

ESP32 devkit v1 использую как пример. Вы можете использовать другую отладочную плату.

Для загрузки кода подключаем ESP32 к компьютеру и в Arduino IDE выбираем следующие параметры: Плата «ESP32 Dev Module», «Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)», и порт, к которому подключена плата ESP32.

Для загрузки кода подключаем ESP32 к компьютеру и в Arduino IDE выбираем следующие параметры

Нажимаем кнопку загрузить.

Нажимаем кнопку загрузить.

При компиляции скетча вам выдаст предупреждение «ПРЕДУПРЕЖДЕНИЕ: библиотека arduino_484469 должна запускаться на архитектурах (avr) и может быть несовместима с вашей платой на архитектуре (esp32)». Это компилятор ругается на библиотеку «TMCStepper».

Это компилятор ругается на библиотеку «TMCStepper»

Когда вы увидите вот такую надпись «Connecting. _____. __», необходимо нажать на кнопку «Boot» на плате ESP32, и удерживать ее, пока не начнется загрузка.

Когда вы увидите вот такую надпись Connecting. _____. __, необходимо нажать на кнопку Boot на плате ESP32

По завершению загрузки вы увидите надпись «Загрузка завершена».

По завершению загрузки вы увидите надпись Загрузка завершена

Поздравляю, прошивка прошла успешно, и пришло время проверить, что у нас получилось, и приступить к дальнейшим настройкам.

Первый запуск ЧПУ станка на ESP32 по Wi-Fi.

Первичная настройка прошивки сделана, загрузка прошла успешно. Как же нам посмотреть что получилось? Для этого открываем Wi-Fi подключение, и найдем сеть с именем «GRBL_ESP32»,- это ESP32 создала точку доступа. Подключаемся к данной сети.

открываем Wi-Fi подключение, и найдем сеть с именем «GRBL_ESP32

Пароль для подключения, по умолчанию, «12345678», который можно будет изменить через веб-интерфейс устройства.

Пароль для подключения, по умолчанию, 12345678

После того, как мы подключились к нашему устройству, автоматически открывается сайт «http://www.msftconnecttest.com/redirect » в браузере. На данной странице вы сможете произвести первичные настройки станка, а также установить веб-интерфейс для управления станком прямо из браузера, чем мы и займемся.

На данной странице вы сможете произвести первичные настройки станка

В разделе «Flash Filesystem» выбираем файлы веб-интерфейса, которые мы скачали вместе с прошивкой, они располагаются в папке «Grbl_Esp32-mainGrbl_Esp32srcdata»

В разделе Flash Filesystem выбираем файлы веб-интерфейса, которые мы скачали вместе с прошивкой

 выбираем файлы веб-интерфейса

После того, как файлы выбраны, нажимаем на кнопку «Go to ESP3D interface». После установки вы увидите интерфейс управления станком.

После того, как файлы выбраны, нажимаем на кнопку Go to ESP3D interface

Теперь мы можем посмотреть, что собой представляет веб-интерфейс управления ЧПУ станком на ESP32. Первое, что нужно сделать, это поменять язык интерфейса на Русский.Можно сделать это в 2-х пунктах меню. 1. На момент установки мной, данный метод не работал, но я все же его опишу. Заходим в пункт меню «Setup», открывается окно настройки станка.

открывается окно настройки станка

Выполняем настройки в 4-х пунктах меню, после чего первичные настройки будут выполнены. Но в моем случае, кроме первого пункта меню, и последнего, ничего не отображалось, и при этом, все изменения не сохранялись. Поэтому я воспользовался вторым способом настройки.

Переходим в пункт меню Preferences

2. Переходим в пункт меню «Preferences», и в выпадающем меню выбираем русский язык. Не забываем нажать кнопку «сохранить», и интерфейс будет на Русском языке, но не все пункты. Перевод сделан не полностью. Но это не страшно.

интерфейс будет на Русском языке

Затем заходим в этот же пункт меню, сейчас он называется «Настройки», и можно поставить вот эти 2 галочки. Первая выведет в основном окне интерфейса возможность снять блокировку с панели управления, и мы сможем перемещать оси станка. Вторая галочка добавит в основное меню раздел «Камера», в нем можно настроить IP камеру, которая установлена на станке и следит за процессом работы.

Затем заходим в этот же пункт меню, сейчас он называется Настройки, и можно поставить вот эти 2 галочки

Основные функции веб-интерфейса управления ESP32 ЧПУ.

Раздел «Команды» — аналог консоли любой управляющей программы, тут выводятся команды и положение станка в данный момент. Вывод можно настроить. Отключить подробный режим и настроить время вывода информации о положении осей.

Раздел «Команды» - аналог консоли любой управляющей программы

Раздел «Управление» позволяет перемещать оси станка и показывает текущие координаты. А также позволяет создавать макросы. Макросы — это быстрые команды, по аналогии пользовательских кнопок в программе LaserGRBL, которые мы рассматривали в статье: «Установка grbl 1.1 на Arduino uno. Основы работы в программе LaserGRBL».

Раздел «Управление»

Раздел «GRBL», в нем можно управлять скоростью вращения шпинделя, включать и отключать шпиндель и охлаждение.

Раздел «Управление»

Раздел «Файлы на SD-карте» говорит сам за себя. Тут будут отображаться файлы, которые хранятся на карте памяти. Но так как она не подключена, тут пока ничего нет.

Раздел «Файлы на SD-карте»

Пункты меню GRBL и ESP3D.

Если мы перейдем на вкладку меню «GRBL», тут мы увидим настройки станка, аналогичные настройкам, которые мы рассматривали в предыдущей статье «Установка grbl 1.1 на Arduino uno. Основы работы в программе LaserGRBL». Правда тут настроек больше, так как данная прошивка позволяет управлять вплоть до шести осями ЧПУ станка.

Если мы перейдем на вкладку меню «GRBL»

На вкладке меню «ESP3D» мы можем настраивать подключение к ESP32. Можно изменить точку доступа на режим станции. Что это такое и чем они отличаются, я рассказывал в уроке: «Веб-сервер ESP32 (ESP8266) в среде Arduino IDE»

На вкладке меню «ESP3D»

Также на вкладке «Настройки ESP3D» можно перезагрузить устройство, обновить прошивку, обновить веб-интерфейс и посмотреть состояние устройства.

Вывод.

Не смотря на то, что прошивка еще не совсем доработана, и встречаются недочеты, является достаточно перспективной и позволяет расширить представление о самодельном ЧПУ станке.

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

Понравился проект Установка и настройка GRBL ESP32.? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Какую плату выбрать?

Когда неофит от IoT полезет в интернет, одним из первых модулей, которые он найдет, будет ESP8266. И действительно, он обладает массой достоинств: дешевый, много различных плат на его основе, позволяющих использовать его как самостоятельное устройство и подключать к сложным Arduino-based проектам. Но ESP8266, выпущенный в 2014 году, довольно быстро перестал удовлетворять запросы пользователей, и в 2015 году компания-разработчик Espressif выпускает новый микроконтроллер — ESP32.

Различия между ESP8266 и ESP32

Различия между ESP8266 и ESP32

Точно так же, как и в случае с ESP8266, разработчики создали довольно много плат, базирующихся на новом микроконтроллере. В данной статье все примеры тестировались и проверялись на плате MH-ET LIVE ESP32 DevKit. Плата для обзора была любезно предоставлена интернет-магазином Amperkot.

Pinoutmap платы

Pinoutmap платы

Настройка официальной среды разработки ESP-IDF (Espressif IoT Development Framework)

Среду ESP-IDF можно установить на Windows. Для этого нужно:

  • Скачать с официального сайта среду разработки;
  • Распаковать архив, поместить его на диск C;
  • Затем появится каталог msys32, в который нужно перейти и запустить программу mingw32.exe;
  • Появится окно терминала, где нужно создать каталог с именем esp;
  • Нужно перейти в созданный каталог;
  • Подключить необходимые библиотеки с помощью команды git clone –recursive https://github.com/espressif/esp-idf.git;
  • Затем устанавливаются пакеты Python командой python -m pip install –user -r $IDF_PATH/requirements.txt.

После этого можно начинать работу. В каталоге esp-idfexamples есть различные примеры скетчей для работы с модулем.

Память и ЦПУ

  • Двухядерный 32-битный микропроцессор Xtensa LX6 160-240МГц
  • ОЗУ — 520Кб
  • ПЗУ — 448Кб
  • Дополнительно RTC таймер с 16Кб ОЗУ
  • Внешняя флэш память 4-16Мб
  • Питание 2.2 — 3.6В
  • WiFi 802.11n 2.4Гц с максимальной скоростью 150Мбит/сек
  • WPA)/WPA2/WPA2-Enterprise/Wi-Fi Protected Setup (WPS
  • Bluetooth v4.2 BR/EDR and BLE

Установка драйвера для CP2102 в Windows

1. Подключаем ESP32 к ПК с помощью USB-кабеля.

2. Скачиваем архив с драйвером. Ниже приводятся ссылки на драйверы для ОС Windows и MacOS.

3. Распаковываем архив.

4. Запускаем файл CP210xVCPInstaller_x64.exe для 64-битной или CP210xVCPInstaller_x86.exe для 32-битной версии Windows.

Нажмимаем «Далее» в окне приветствия инсталлятора.

Соглашаемся с лицензией.

Нажимаем «Готово» в окне сообщения об успешной установке.
Установка драйвера закончена.

Характеристики ESP32

ESP32 поддерживает весь стек протоколов стандартов Wi-Fi 802.11n и BT4.2, обеспечивая данный функционал через интерфейсы SPI/SDIO или I²C/UART.

Чип Espressif ESP 32 может работать в качестве центрального процессора (поддержка Open CPU) и как подчинённое устройство (slave device), управляемое микроконтроллером.

Отличительные особенности:

CPU: Xtensa Dual-Core 32-bit LX6, 160 MHz или 240 MHz (до 600 DMIPS)
Memory: 520 KByte SRAM, 448 KByte ROM
Flash на модуле: 1, 2, 4… 64 Мб

Wireless:

  • Wi-Fi: 802.11b/g/n/e/i, до 150 Mbps c HT40
  • Bluetooth: v4.2 BR/EDR и BLE

Peripheral interfaces:

  • 12-bit SAR ADC до 18 каналов
  • 2 × 8-bit DAC
  • 10 × touch сенсоров
  • Temperature сенсор
  • 4 × SPI
  • 2 × I²S
  • 2 × I²C
  • 3 × UART
  • 1 host (SD/eMMC/SDIO)
  • 1 slave (SDIO/SPI)
  • Ethernet MAC с поддержкой DMA и IEEE 1588
  • CAN 2.0
  • IR (TX/RX)
  • Motor PWM
  • LED PWM до 16 каналов
  • Hall sensor
  • Ultra low power analog pre-amplifier

Security:

  • IEEE 802.11 безопасность WFA, WPA/WPA2 и WAPI
  • Secure boot
  • Flash encryption
  • 1024-bit OTP, включая до 768-bit под задачу
  • Cryptographic движок: AES, SHA-2, RSA, ECC, RNG

Распновка чипа ESP32:

ESP32b pinout v1 0

(Скачать в PDF)

в ESP32 есть JTAG интерфейс на ножках IO12, IO13, IO14, IO15.

ESP32 также доступен в виде модуля:

wroom32

Распиновка модуля WROOM32:

WROOM32 pin

Модуль WROOM-32 может поставляться со специальной отладочной платой:

board

Эта плата позволяет быстро программировать модуль благодаря встроенному адаптеру USB-TTL. На ней также расположены кнопки программирования и сброса, а также регулятор напряжения для питания микроконтроллера ESP32 напряжением 3.3 В. Также плата дает удобный доступ к выводам модуля, шаг между которыми довольно узок, чтобы без проблем работать с ними. Шаг же между выводами платы составляет 2.54 мм, что является стандартом для DIP-корпусов, с которыми удобно работать обычному радиолюбителю без специальных инструментов.

Распиновка отладочной платы ESP32:

Esp32board pinmap

Мигающий светодиод

Итак, первая программа, которую мы собираемся обсудить, — это мигание светодиода. Весь код для мигания светодиода написан в Arduino IDE.

В комплект разработчика ESP32 встроен светодиод, который подключен к общему выводу ввода/вывода 2. Еще одна вещь, которую нам нужно проверить перед написанием своего кода, — это убедиться, что встроенный светодиод в плате разработки ESP32 поддерживается Arduino IDE.

Если он распознается Arduino IDE, тогда мы можем писать свой код, в противном случае вам нужно сделать его распознаваемым Arduino IDE, используя следующий фрагмент кода

К каждой плате ESP32 подключен внутренний светодиод, но они подключены к разным входным/выходным контактам общего назначения. В нашем случае внутренний синий светодиод подключен к входному выходу общего назначения. Итак, давайте напишем код.

Программный поток каждого кода, который мы пишем в Arduino IDE, заключается в том, что сначала мы инициализируем переменные. Переменные могут быть локальными или глобальными. Мы не будем вдаваться в подробности этих локальных и глобальных переменных.

После инициализации переменных вызывается функция настройки setup(), которая используется для присвоения значений инициализированным переменным, а затем вызывается функция основного цикла loop(). Функция setup() вызывается только один раз, в то время как loop() выполняется непрерывно.

Если мы хотим снова вызвать функцию настройки setup(), мы должны повторно запустить нашу программу или перезапустить плату разработки, либо с помощью кнопки на плате, либо путем отключения и повторного подключения нашей платы.

Итак, если мы посмотрим на наш код, помня о перечисленных выше пунктах, то видим что мы сначала инициализировали наш встроенный светодиод на входном/выходном контакте общего назначения 2. После инициализации мы объявляем этот вывод как выход. Затем переходим в основной рабочий цикл, который будет выполняться бесконечно, пока мы не отключим нашу плату или не остановим выполнение этой программы.

В loop() мы сначала включаем светодиод с помощью функции DigitalWrite, установив HIGH. Затем мы ждем 1 секунду. Далее выключаем светодиод, назначив DigitalWrite значение LOW и снова ждем 1 секунду. После этого цикл повторяется сначала.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector