В предыдущих статьях мы заложили фундамент: разобрали Введение в ESP-NOW: Беспроводная связь на ESP8266, научились писать кроссплатформенный код в Arduino IDE и рассмотрели базовое управление светодиодом с кнопки.
Однако при переносе теории в практику разработчики часто сталкиваются с тремя критическими проблемами:
0 против ESP_OK) вызывают ошибки компиляции.В этой статье мы публикуем полностью протестированную, исправленную и рабочую версию кроссплатформенного скетча. Этот код учитывает все аппаратные и программные нюансы, позволяя использовать ESP8266 и ESP32 в одной связке без единой ошибки.
Разработка проектов для нескольких платформ (ESP8266 и ESP32) в одном проекте может быть сложной задачей, но с правильными подходами это становится управляемым процессом. В этой статье мы рассмотрим, как эффективно использовать обе платформы в одном проекте с помощью Arduino IDE, избегая распространенных ошибок.
#ifdef (if defined) — это директива препроцессора, которая позволяет включать или исключать части кода в зависимости от определенных макросов. Это полезно для разделения кода между разными платформами.
В мире IoT-устройств стабильное подключение к Wi-Fi — это не просто удобство, а критическая необходимость. Роутеры перезагружаются, сигнал пропадает за стеной, DHCP-сервер выдаёт новые адреса, а ваше устройство должно оставаться онлайн и выполнять свои задачи круглосуточно.
Многие разработчики, столкнувшись с потерей связи, интуитивно добавляют WiFi.reconnect() прямо в loop(). Результат? Зависания, перезагрузки контроллера, "мёртвые" устройства в поле и часы отладки.
В этой статье мы разберём, почему так происходит, как правильно организовать автоматическое переподключение без блокировки основного цикла, и предоставим готовое, протестированное решение для ESP32 и ESP8266. Вы узнаете, как заставить ваше устройство "жить" в нестабильной сети, экономить энергию и никогда не терять связь без причины.
Зачем нужен статический IP для ESP32?
Если вы когда-либо запускали веб-сервер на ESP32, то замечали, что при каждом перезагрузке устройства его IP-адрес может меняться. Это означает, что вам всегда нужно проверять монитор порта, чтобы узнать новый адрес. Использование статического IP-адреса решает эту проблему:
Что такое автодополнение кода?
Arduino IDE 2 вводит новую функцию — Editor Quick Suggestions (быстрые предложения редактора). Когда эта функция включена, IDE автоматически предлагает варианты завершения кода по мере ввода. Это также называют автодополнением (autocomplete).
Как включить автодополнение: Шаг 1: Открыть Arduino IDE.
Советы для эффективной работы:
Ctrl + S каждые 5-10 минут.Ctrl + T для чистого кода.Ctrl + F для навигации по коду.Ctrl + / вместо ручного добавления //Ctrl + RВ прошлой статье мы знакомили вас с первой версией нашего «Графического редактора схем от Arduino-tex.ru». Мы создавали этот инструмент с простой целью: дать радиолюбителям, студентам и преподавателям возможность быстро набросать понятную схему без изучения сложных профессиональных САПР.
Благодаря вашим отзывам и нашей работе над ошибками, мы рады представить версию 1.2. Мы сохранили простоту, за которую вы полюбили первую версию, но кардинально улучшили удобство работы и добавили функции, о которых вы просили.
Любой ардуинщик, хоть раз создававший интерфейс для OLED дисплея, знает эту боль. Вы пишете oled.setCursor(10, 20), загружаете прошивку, смотрите на экран — криво. Меняете на (12, 20),
снова компилируете, снова загружаете. Это бесконечный процесс подбора координат, который убивает творчество и тратит драгоценное время.
Решение этой проблемы найдено командой Arduino-tex.ru. Мы представляем бесплатный визуальный редактор (OLED редактор), который позволяет нарисовать интерфейс мышкой и получить готовый, оптимизированный C++ код.
Фундаментом для проекта послужила библиотека GyverOLED от Алекса Гайвера. Она выбрана не случайно: это одна из самых быстрых и легких библиотек, обладающая отличной поддержкой кириллицы и гибкой работой с буфером дисплея.
Подготовка к работе: Библиотека и Железо.
Быстрое создание схем без лишних сложностей.
Вам когда-нибудь было нужно быстро набросать схему для проекта, учебной работы или статьи, но не хотелось разбираться в сложных и громоздких САПР? Мы создали "Графический редактор схем" именно для вас! Это простой и интуитивно понятный инструмент для радиолюбителей, студентов, преподавателей и всех энтузиастов, работающих с электроникой.
Основные возможности программы:
После очередного улучшения программы EasyHMI 0.1.4.1b была добавлена поддержка новых плат DCM-AT001 — Display controller mini, которые позволяют создать HMI-дисплей практически из любого SPI-дисплея, обладая большим набором возможностей и работая стабильнее, чем дисплеи, о которых пойдет речь в данной статье. Но так как прошивка для дисплеев ESP32-2432S024С, ESP32-3248S035 и пр. пользуется спросом, я сделал прошивку и для них. Также я подготовил «Демо прошивку», которую вы можете скачать внизу статьи в разделе «Файлы для скачивания».
Скачать прошивку без ограничений вы можете, как всегда, по подписке на «Бусти».
Скачать прошивку для создания информера можно отсюда.
Что такое прошивка для создания информера?