Перейти к содержимому

ESP-IDF

Программирование ESP32 всех серий с использованием фреймворка ESP-IDF

Как и на чём программировать ESP32 и ESP8266
5 (48)

Выбор среды программирования ESP8266 и ESP32: сравнительный обзор фреймворков (платформ) и IDE для разработки собственных программ для микроконтроллеров ESP8266 и ESP32. Как перестать сомневаться и начать программировать микроконтроллеры

Работа с шиной RS485 и протоколом Modbus RTU на ESP32
4.9 (23)

В данной статье разберем основные принципы работы с интерфейсом RS-485 и протоколом Modbus RTU применительно к микроконтроллеру ESP32 при условии использования для программирования платформы (фреймворка) ESP-IDF.

Создание PlatformIO / ESP-IDF проекта и настройка platformio.ini
5 (14)

Добрый день, уважаемый читатель! В данной статье я расскажу как создать проект, как настроить файл конфигурации PlatformIO, как подключить внешние библиотеки к вашему проекту. Это статья для начинающих, то есть для тех, кто будет переходить на ESP-IDF с Arduino. Если Вы всё это знаете и умеете – то вы можете… Подробнее »Создание PlatformIO / ESP-IDF проекта и настройка platformio.ini

Обработка прерываний GPIO на ESP-IDF
4.8 (13)

Добрый день, уважаемый читатель! В данной статье продолжим обсуждать тему портов ввода/вывода ESP32, а конкретно рассмотрим работу с прерываниями. /********************************************** * СХЕМА СОЕДИНЕНИЙ: * * На GPIO 18 подключена кнопка: одним выводом на GPIO 18, другим на землю. * GPIO 18 подтянут резистором 10кОм на шину питания +3,3В (но можно… Подробнее »Обработка прерываний GPIO на ESP-IDF

Практические примеры программирования задач FreeRTOS
5 (11)

Добрый день, уважаемые читатели! Я уже несколько раз писал статьи про то, что такое задачи FreeRTOS, как передавать в задачу данные извне, какие объекты FreeRTOS для этого можно использовать и т.д. На эту тему написано множество прекрасных академических статей и на других ресурсах. Но новичку, который впервые сталкивается с FreeRTOS,… Подробнее »Практические примеры программирования задач FreeRTOS

Настройка ESP-IDF проекта
5 (11)

Добрый день, уважаемый читатель! В данной статье обсудим конфигурирование проекта для ESP32, собранного на базе Espressiff IoT Development Framework. Примечание: конфигурация проектов, созданных на базе Arduino Framework for ESP32 (то есть либо в Arduino IDE, либо в PlatformIO, но с использованием Arduino платформы), не может быть изменена пользователем – по… Подробнее »Настройка ESP-IDF проекта

ESP-IDF: а что под капотом? Обзор базовых объектов
4.3 (10)

Добрый день, уважаемый читатель! На создание этой статьи меня натолкнул один из моих постоянных читателей и подписчиков. Эта статья ориентирована на начинающих разработчиков и представляет собой очень краткий обзор инструментов и средств, которые предоставляет ESP-IDF и FreeRTOS, для чего и в каких случаях они могут применяться. Как правило начинающим программистам,… Подробнее »ESP-IDF: а что под капотом? Обзор базовых объектов

Очереди FreeRTOS
4.9 (8)

Добрый день, уважаемый читатель! Тема сегодняшней статьи – очереди. Но не всякие подряд очереди (потому что на си могут быть и другие очереди – связные, с головами и хвостами), а конкретно – очереди FreeRTOS. Про очереди написано довольно много статей, например: тыц, тыц, и тыц.  Однако это не помешало мне… Подробнее »Очереди FreeRTOS

Библиотека циклов событий FreeRTOS
5 (7)

Добрый день, уважаемый читатель! Продолжим знакомство с “внутренностями” ESP-IDF. В этой статье я расскажу, что такое циклы событий, и нафига козе баян зачем они нужны в нашей программе. Что вы обычно делаете в своей программе, когда вам требуется узнать о наступлении того или иного события в устройстве, например о подключении к WiFi, и… Подробнее »Библиотека циклов событий FreeRTOS

EventGroup – группы событий
5 (7)

Добрый день, уважаемый читатель! Сегодня поговорим об ещё одном очень полезном объекте FreeRTOS – группах событий или EventGroup. Принцип работы группы событий Группа событий — это набор бит, которым ваше приложение может присваивать значение “0” (бит не установлен) или “1” (бит установлен). На первый взгляд, того же самого можно достичь,… Подробнее »EventGroup – группы событий

NVS: энергонезависимая библиотека хранения параметров
5 (6)

Добрый день, уважаемые читатели! Практически любой проект автоматики требует применения настраиваемых во время работы программы параметров – ну например желаемая температура для термостата или пароль для подключения к сети WiFi. Получить эти данные с сервера или с панели управления не особо сложно, но сразу же возникает следующий вопрос – а что… Подробнее »NVS: энергонезависимая библиотека хранения параметров

Отправка сообщений в Telegram на ESP32 с использованием фреймворка ESP-IDF
5 (6)

Добрый день, уважаемые читатели! В данной статье внось поговорим об отправке сообщений в Telegram, но на этот раз для микроконтроллера ESP32 с использованием фреймворка ESP-IDF. ESP32 по сравнению с ESP8266 предоставляет программисту гораздо больше возможностей и позволяет не особо заботится о количестве активных TLS-соединений в системе. На этот раз я… Подробнее »Отправка сообщений в Telegram на ESP32 с использованием фреймворка ESP-IDF

Работа с датой и временем и SNTP-синхронизация на ESP32 и ESP8266
5 (5)

Добрый день, уважаемый читатель! В прошлой статье я рассказывал про подключение к сети WiFi, что нужно сделать сразу после этого? Ну, не строго обязательно, конечно, но строго желательно? Подключаться к MQTT-брокеру? Нет, рановато – защищенное подключение потребует проверки TSL-сертификата, а для этого потребуется проверить срок его действия. А чтобы проверить… Подробнее »Работа с датой и временем и SNTP-синхронизация на ESP32 и ESP8266

FreeRTOS Task Notifications – легкий способ синхронизации задач
5 (5)

FreeRTOS Task Notifications – легкий по ресурсам и времени выполнения способ передачи данных в задачу, без необходимости создания дополнительных объектов синхронизации (очередь, группа событий, семафоры или мьютексы)

Отправка данных на open-monitoring.online с устройств на базе Adruino и ESP
5 (5)

Добрый день, уважаемый читатель! Сервис open-monitoring.online позволяет накапливать и хранить данные с контроллеров, а затем отображать их в виде графиков и гистограмм. Создан сервис компанией “НСК Электро” для мониторинга параметров солнечных электростанций, которые они продают. Но никто не запрещает пользоваться данным сервисом, так сказать, “в личных целях”, и причем абсолютно… Подробнее »Отправка данных на open-monitoring.online с устройств на базе Adruino и ESP

Связные списки и очереди
5 (4)

Добрый день, уважаемый читатель! Сегодня я хочу познакомить вас с одной замечательной библиотекой, “встроенной” в ESP-IDF – библиотекой для работы с однонаправленными или двунаправленными связными списками. Строго говоря, эта библиотека не является частью ESP-IDF, как и Espressif не является авторами данной библиотеки. Создана она аж в 1993 году в University… Подробнее »Связные списки и очереди

Библиотека ESP32 для мигания светодиодами
5 (4)

Добрый день, уважаемый читатель! Казалось бы – зачем нужна какая-то библиотека для мигания светодиодом на ESP? Мигание светодиодом сложности особой не представляет. Делов-то – “дергай” соответствующий вывод микроконтроллера, вот светодиод и мигает. Мало того – все “демки” для микроконтроллеров с этого начинаются, своеобразный “Hello, world” для ардуинщиков. Однако всё меняется,… Подробнее »Библиотека ESP32 для мигания светодиодами

OTA обновления прошивки “по воздуху” для ESP32 и платформы ESP-IDF
4 (4)

Добрый день, уважаемые читатели! В этой статье я расскажу, как достаточно просто и легко выполняются OTA-обновления на микроконтроллере ESP32 и фреймворке ESP-IDF. Совсем не сложно провернуть то же самое и на ESP8266 / ESP32 и для платформы Arduino. Но в данном тексте речь пойдет только об ESP32 и ESP-IDF. Если… Подробнее »OTA обновления прошивки “по воздуху” для ESP32 и платформы ESP-IDF

[Архив] Подключение к точке доступа WiFi из ESP32 с ESP-IDF
5 (3)

Добрый день, уважаемый читатель! [Архив] – не рекомендуется к прочтению. Вместо этой опубликована новая статья: Подключение к сети WiFi в режиме STA на ESP-IDF В данной статье обсудим довольно непростую тему – подключение к WiFi-точке доступа в режиме STA. ESP32 не был бы так популярен, если б в нем не… Подробнее »[Архив] Подключение к точке доступа WiFi из ESP32 с ESP-IDF

Файл прикладных параметров проекта
5 (3)

Добрый день, уважаемый читатель! В прошлых статьях мы обсуждали, как настроить проект PlatformIO и ESP-IDF (если вы не знакомы с этими разделами, но статьи почему-либо пропустили, рекомендую ознакомиться). Но в реальном проекте нам дополнительно может понадобиться довольно большое количество “прикладных” параметров, которые не входят в “стандартные” файлы конфигурации ESP-IDF. Например: номера выводов GPIO, задействованные… Подробнее »Файл прикладных параметров проекта

HTTPS, SSL/TLS соединения на ESP32 и ESP-IDF
5 (3)

Добрый день, уважаемый читатель! Продолжаем тему защищенных соединений, но теперь уже применительно к ESP32 и Espressif IoT Development Framework (ESP-IDF). В ESP-IDF за безопасные соединения “по умолчанию” отвечает открытая библиотека Mbed TLS — это библиотека C, которая реализует криптографические примитивы, манипулирование сертификатами X.509 и протоколы SSL/TLS и DTLS. Небольшой размер… Подробнее »HTTPS, SSL/TLS соединения на ESP32 и ESP-IDF

Расшифровка адресов ESP32 backtrace в PlatformIO
4.7 (3)

В статье рассмотрен сравнительно простой способ дешифровки адресов backtrace в среде VSCode + PlatformIO. Под дешифровкой backtrace в контексте данной статьи понимается преобразование адресов в имена файлов и номера строк исходного кода. В настоящее время я занимаюсь разработкой для ESP32 (и иногда ESP8266), поэтому в статье рассмотрен пример именно для… Подробнее »Расшифровка адресов ESP32 backtrace в PlatformIO

rLoadControl: индикация состояния нагрузки на MQTT DASH
5 (2)

Добрый день, уважаемые читатели! В одной из прошлых статей я рассказывал, как управлять нагрузкой с помощью класса rLoadController. В этой статье я расскажу, как сделать очень удобную индикацию состояния этой самой нагрузки в популярном MQTT клиенте MQTT DASH. Про него я тоже как-то писал статью. На одной плитке можно разместить… Подробнее »rLoadControl: индикация состояния нагрузки на MQTT DASH

ESP_LOG или Отладка через UART
5 (2)

Добрый день, уважаемый читатель! Сегодня поговорим о библиотеках – логгерах, основное назначение которых – отладка кода через текстовый монитор порта UART (его ещё иногда называют просто “монитор” или “монитор порта” или “терминал” или даже “консоль”). Программисты “взрослых” настольных систем. как правило, имеют достаточно обширный инструментарий для отладки своего кода –… Подробнее »ESP_LOG или Отладка через UART

Удаленный перехват backtrace на ESP32
4.5 (2)

Иногда уже после сборки и отладки очередного устройства, а затем и установки его “на место”, вдруг начинают проявляться самопроизвольные перезагрузки из-за паники. Это означает, что в прошивке где-то присутствует ранее незамеченная проблема. Возникает задача: определить место возникновения сбоя. Зная файл исходного кода и номер строки, можно с большой степенью вероятности… Подробнее »Удаленный перехват backtrace на ESP32

[Архив] ESP-IDF 5.0.0: что придется исправить в уже работающем проекте
5 (1)

Добрый день, уважаемый читатель! Давно не следил за новыми версиями Espressif32 и ESP-IDF, но сегодня то-то навеяло, видимо. Вроде бы недавно обновился до ESP-IDF 4.4.3, а сегодня опять обновление “прилетело”. ? На этот раз уж как прилетело, так прилетело – версия Espressif32 6.0.1, которая содержит в себе ESP-IDF 5.0.0. Никогда… Подробнее »[Архив] ESP-IDF 5.0.0: что придется исправить в уже работающем проекте

Термостат на ESP32 с удаленным управлением. Часть 6. Переход на ESP-IDF 5.0.0
5 (1)

Добрый день, уважаемый читатель! В прошлых статях серии я рассказывал, как собрать и запрограммировать устройство домашней автоматики с удаленным управлением на базе ESP-IDF без использования Arduino, на “голом” ESP-IDF. Но, к сожалению, некоторое время назад стали поступать многочисленные сообщения, что проект не компилируется, а выдает кучу ошибок: Всё это было… Подробнее »Термостат на ESP32 с удаленным управлением. Часть 6. Переход на ESP-IDF 5.0.0

Влияние опций Mbed TLS на расход оперативной памяти
5 (1)

Добрый день, уважаемый читатель! В одной из прошлых статей я рассказывал о библиотеке Mbed TLS, которая служит для создания шифрованных соединений на ESP32. В конце статья я упомянул о том, что некоторые настройки этой библиотеки напрямую влияют на расход оперативной памяти при установке TLS-соединений. В справочной системе к ESP-IDF даже… Подробнее »Влияние опций Mbed TLS на расход оперативной памяти