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

ESP32 & ESP-IDF

Программируем ESP32 без Arduino

Шина I2C: принципы функционирования или зачем ещё тут нужны какие-то резисторы?

Добрый день, уважаемый читатель! Некоторое время назад я начал сочинительствовать на тему работы с шиной I2C с использованием фреймворка ESP-IDF. И она таки будет, но немного позже. Но вовремя сообразил, что придется отталкиваться от принципов функционирования данной шины, про которые… Подробнее »Шина I2C: принципы функционирования или зачем ещё тут нужны какие-то резисторы?

ESP32 pinout: ещё раз о GPIO & pаспределяем выводы с помощью excel

Добрый день, уважаемый читатель! Я уже кратко писал о модулях ESP32, палатах на их основе, и о том какие выводы можно либо нельзя использовать и почему. Сегодня я хочу немного продолжить данную тему, в конкретно – ещё раз пройтись по… Подробнее »ESP32 pinout: ещё раз о GPIO & pаспределяем выводы с помощью excel

EventGroup – группы событий

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

Библиотека циклов событий FreeRTOS

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

Термостат на ESP32 с удаленным управлением. Часть 5. Добавляем выгрузку данных на внешние сервисы

Добрый день, уважаемый читатель! В прошлых статьях я рассказывал, как собрать устройство телеметрии на базе микроконтроллера ESP32 DevKitC WROOM-32x и фреймdорка Espressif IoT Development Framework. Если вы ещё не знакомы с данными статьями – рекомендую начать с них, иначе может… Подробнее »Термостат на ESP32 с удаленным управлением. Часть 5. Добавляем выгрузку данных на внешние сервисы

Термостат на ESP32 с удаленным управлением. Часть 3. Телеметрия

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

Работа с динамическими строками без класса String

Добрый день, уважаемый читатель! Практически в каждой прошивке приходится в том или ином виде работать со строковой информацией. Это могут быть топики, уведомления, отладочные сообщения (логи) и т.д. В данной статье я расскажу про свой способ работы с динамическими строками.… Подробнее »Работа с динамическими строками без класса String

Термостат на ESP32 с удаленным управлением. Часть 1. Вводная

Добрый день, уважаемый читатель! Начиная с этой статьи я начну рассказывать, как создать готовое устройство своими руками на базе ESP32 и ESP-IDF. Без Arduino, регистрации и СМС. А необходимые теоретические сведения буду выкладывать параллельно, по мере необходимости. Материала очень много,… Подробнее »Термостат на ESP32 с удаленным управлением. Часть 1. Вводная

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

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

Очереди FreeRTOS

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

Создаем задачу FreeRTOS: динамический и статический способ

Добрый день, уважаемый читатель! В этой статье я расскажу, как можно создать и запустить на выполнение задачу FreeRTOS применительно к ESP32 и ESP-IDF. Все сказанное в данной статье справедливо не только для Espressiff IoT Development Framework (ESP-IDF), но и для Arduino… Подробнее »Создаем задачу FreeRTOS: динамический и статический способ

Настройка ESP-IDF проекта

Добрый день, уважаемый читатель! Продолжаем тему ESP-IDF, сегодня обсудим конфигурирование собственно самой Espressiff IoT Development Framework. Делается это с помощью специального файла sdkconfig.h, в котором объявлено великое множество макросов препроцессора с различными настройками. Этот файл можно найти в каталоге /.pio/config и он доступен… Подробнее »Настройка ESP-IDF проекта

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

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

Связные списки и очереди

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

ESP32: чипы, модули, платы…

Добрый день, уважаемый читатель! В данной статье мы поговорим про усы, лапы, и хвост; (тьфу, крылья, ноги, хвосты, опять не то) чипы, модули и платы ESP32. Разбираться в модулях Esspressif, которые поставляет компания, дело не очень благодарное. В списке доступных к заказу… Подробнее »ESP32: чипы, модули, платы…

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

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

Работа с портами ввода-вывода GPIO из ESP-IDF

Добрый день, уважаемый читатель! В этой статье обсудим методы работы со встроенными портами ввода-вывода GPIO в цифровом режиме. Если вы создавали скетчи для Arduino IDE, то наверное, знаете, как осуществляется работа с GPIO для Arduino: pinMode(10, OUTPUT); // Настраиваем PIN10 на выход… Подробнее »Работа с портами ввода-вывода GPIO из ESP-IDF

Использование таймеров на ESP32

Добрый день, уважаемый читатель! Сегодня поговорим о таймерах, которые предоставляет нам платформа ESP32. Наверное я не сильно погрешу против истины, если скажу что в практически всех прошивках используются таймеры для отсчета необходимых временных интервалов. В том или ином виде. Это… Подробнее »Использование таймеров на ESP32

Почему я выбрал ESP-IDF для программирования ESP32, а не Arduino?

Данная статья – начало цикла статей, посвященных программированию популярного ESP32 на “родном” для этого микроконтроллера фреймворке ESP-IDF. Без использования Arduino. В статье рассмотрен вопрос, зачем же это все-таки нужно и почему в конце-концов я выбрал ESP32 как основу для всех… Подробнее »Почему я выбрал ESP-IDF для программирования ESP32, а не Arduino?

Распределение памяти в ESP32

Добрый день, уважаемый читатель! В этой статье поговорим о использовании оперативной памяти ( RAM ) в FreeRTOS и ESP-IDF. С оперативной памятью на ESP32 не всё так просто и очевидно, как в однопоточных контроллерах. Предполагается, что вы знакомы с общими… Подробнее »Распределение памяти в ESP32

Расшифровка адресов ESP32 backtrace в PlatformIO

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

Удаленный перехват backtrace на ESP32

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

Переползаем на PlatformIO

Доброго времени, уважаемый читатель! Зачем и для кого эта статья??? В “этих ваших ынтерьнетах” довольно много статей, посвященных установке PlatformIO (кратко – “pio”), зачем нужна еще одна? Да и процесс установки, в принципе, не представляет собой ничего сложного. Но когда… Подробнее »Переползаем на PlatformIO

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

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

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

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