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

🔹 ESP-IDF & FreeRTOS

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

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

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

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

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

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

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

Механизм OTA обновлений прошивки “по воздуху” для ESP32 и ESP-IDF

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

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

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

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

Добрый день, уважаемый читатель! Продолжаем тему защищенных соединений, но теперь уже применительно к 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

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

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

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

Работа с шиной I2C на ESP32 и ESP-IDF

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

ESP-IDF 5.0.0: что придется исправить в уже работающем проекте

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

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

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

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

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

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

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

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

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

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

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

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

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

Очереди FreeRTOS

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

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

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

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

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

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

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

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

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

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

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

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

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

ESP_LOG или Отладка через UART

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

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

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