Статьи по работе с ESP32, ESP8266, NodeMCU, ESP-01, ESP32-CAM, а так же полезные и интересные советы, описание решений распространенных ошибок и многое другое.
В предыдущих статьях мы заложили фундамент: разобрали Введение в 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-адреса решает эту проблему:
После очередного улучшения программы EasyHMI 0.1.4.1b была добавлена поддержка новых плат DCM-AT001 — Display controller mini, которые позволяют создать HMI-дисплей практически из любого SPI-дисплея, обладая большим набором возможностей и работая стабильнее, чем дисплеи, о которых пойдет речь в данной статье. Но так как прошивка для дисплеев ESP32-2432S024С, ESP32-3248S035 и пр. пользуется спросом, я сделал прошивку и для них. Также я подготовил «Демо прошивку», которую вы можете скачать внизу статьи в разделе «Файлы для скачивания».
Скачать прошивку без ограничений вы можете, как всегда, по подписке на «Бусти».
Скачать прошивку для создания информера можно отсюда.
Что такое прошивка для создания информера?
Микроконтроллер ESP32-S3 от Espressif Systems представляет собой мощную двухъядерную систему-на-кристалле (SoC), оснащенную Wi-Fi 2.4 ГГц, Bluetooth 5 (LE) и расширенными возможностями для искусственного интеллекта (AI) и интернета вещей (IoT). Для упрощения прототипирования и разработки на базе этого чипа была создана отладочная плата ESP32-S3 DevKitC, которая быстро завоевала популярность среди инженеров и энтузиастов.
Данная плата содержит 45 выводов, и их расположение (распиновка) существенно отличается от предыдущих поколений плат на базе чипа ESP-WROOM-32. Некорректное использование выводов может привести к сбоям в работе устройства или даже к его повреждению.
Цель данной статьи — предоставить исчерпывающее техническое руководство по распиновке платы ESP32-S3 DevKitC.
Как быстро создать интерфейс для TFT-дисплея с сенсором или без? Достаточно просто использовать обновленную версию программы Easy HMI. Новая версия программы поддерживает использование иконок в проекте и беспроводную связь: Wi-Fi, UDP и MQTT. Но обо всём по порядку.
Как создать HMI на ESP32 и TFT?
Первым делом нужно подключить дисплей к ESP32 по следующей схеме.
Вышло новое обновление программы EasyHMI. Текущая версия поддерживает возможность добавлять иконки в проект, работать по Wi-Fi, UDP и MQTT. Подробнее вы можете прочитать вот в этой статье. Прошивка для моих дисплеев также уже доступна для всех, кто приобрел дисплеи AT HMI. Пришло время сделать прошивку и для сторонних дисплеев с поддержкой всех новых возможностей EasyHMI.
Интеграция дисплея с умным домом.
В прошлой статье я рассказывал о настройке работы дисплея ESP32-2432S028 с программой Easy HMI. Поддерживаемых дисплеев было немного, и настройка была не самой простой. Сейчас я расширил спектр поддерживаемых дисплеев от 2,4 до 3,5 дюймов с поддержкой резистивного и емкостного сенсора. Загрузка прошивки осуществляется из программы Easy HMI. Процесс максимально упрощен.
Решил я адаптировать под разные устройства свое программное
обеспечение Easy HMI. Настолько увлекся, что появилась возможность
работать не только с дисплеями ESP32-2432S028R и аналогичными моделями
данной линейки производителя (о чем я рассказывал в предыдущей статье),
но и создать возможность самостоятельно собирать устройства из
TFT-дисплея и ESP32. Используя мое ПО, можно создавать интерфейсы и
применять их как HMI-дисплей. Но обо всем по порядку.
При разработке я протестировал 4 различных дисплея с разными драйверами и разрешением:
Читайте также
Мы в соц сетях