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

🔹 ESP-IDF & FreeRTOS

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

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

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

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

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

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

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

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

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

Настройка таблицы разделов FLASH-памяти для ESP32
4.4 (7)

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

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

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

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

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

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

HTTP запросы на ESP8266 и ESP32
5 (4)

Добрый день, уважаемый читатель! Сегодня поговорим о том, как выполнять различные HTTP-запросы из устройств на базе: ESP8266 или ESP32 под управлением фреймворка Arduino ESP32 под управлением фреймворка ESP-IDF В данной статье рассмотрим самый простой вариант – без шифрования, а в следующей части марлезонского балета поговорим как прикрутить ко всему этому… Подробнее »HTTP запросы на ESP8266 и ESP32

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

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

Работа с шиной I2C на ESP32 и ESP-IDF версий 4.х – 5.1
5 (1)

Добрый день, уважаемый читатель! В данной статье я поделюсь информацией, как работать с шиной I2C на ESP32 из Espressif IoT Development Framework (ESP-IDF). Внимание! Информация, изложенная в статье, справедлива для версий ESP-IDF до 5.1.3 включительно! В ESP-IDF 5.2.0 и выше API существенно изменились! I2C — это последовательный, синхронный, полудуплексный протокол… Подробнее »Работа с шиной I2C на ESP32 и ESP-IDF версий 4.х – 5.1

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: что придется исправить в уже работающем проекте

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

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

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

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

Подключение к точке доступа WiFi из ESP32 с ESP-IDF
5 (2)

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

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

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

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

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

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

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

Очереди FreeRTOS
4.8 (6)

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

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

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

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

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

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

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

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

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

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

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

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

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

rLog :: универсальный логгер для ESPxx и Arduino
5 (3)

Представляю Вашему вниманию еще одну маленькую библиотечку. Для чего она нужна? Пожалуй самый популярный способ “отладки” программ для Arduino – добавление в код скетча текстовых отладочных сообщений, а затем их отслеживание через подключение по COM-порту. Что-то вроде этого: HTTPClient https; if (https.begin(wifiClient, httpRequest)) { int httpCode = https.GET(); if (httpCode… Подробнее »rLog :: универсальный логгер для ESPxx и Arduino

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

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

Особенности программирования ESP32 из Arduino IDE
4.7 (6)

Эта небольшая статья ориентирована в первую очередь на тех, кто только начинает осваивать микроконтроллер ESP32 в среде Arduino IDE. Я далеко не гуру в микроконтроллерах и в свое время я потратил много времени, пытаясь понять, чем же отличается программирование для ESP32 от уже привычных Adruino и ESP8266; и почему почти все примеры для ESP32 написаны как задачи для FreeRTOS. Меня долго занимал вопрос – что же это за FreeRTOS такая, и так ли уж необходимо ее осваивать, когда начинаешь работать с новым микроконтроллером.

Отправка сообщений в Telegram на ESP8266 или ESP32
5 (1)

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