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

• Программирование

Программирование микроконтроллеров на C / C++ и популярных фреймворках: Arduino и ESP-IDF (FreeRTOS)

Компоненты ESP-IDF и их подключение к проекту через IDF Component Manager и не только
5 (2)

В статье рассмотрено – что такое компоненты ESP-IDF, а также рассмотрены различные способы их подключения к вашему проекту ESP-IDF. Во второй части приведен небольшой обзор реестра компонентов ESP-IDF.

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

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

Arduino ESP32 шаг за шагом. Телеметрия через WiFi и MQTT для чайников
5 (26)

Arduino ESP32 для чайников. Подробное руководство по созданию проекта на ESP32 и фреймворке Arduino ESP32 с управлением через WiFi и MQTT. Программирование ESP32 в Arduino IDE.

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

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

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

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

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

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

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

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

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

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

OTA обновления прошивки “по воздуху” для ESP8266 и ESP32 на платформе Arduino
4 (5)

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

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

Добрый день, уважаемые читатели! В этой статье я расскажу, как достаточно просто и легко выполняются 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

HTTPS, SSL/TLS соединения на Arduino и ESP8266
5 (2)

Добрый день, уважаемый читатель! Продолжаем тему HTTP-запросов, но сегодня поговорим об защищенных соединениях. В наше время HTTPS обязателен для каждого веб-сайта, браузеры уже давно помечают сайты без TLS как небезопасные. Впрочем, все сказанное в данной статье относится не только к HTTP(S) протоколу, но и к шифрованным соединениям посредством других “прикладных”… Подробнее »HTTPS, SSL/TLS соединения на Arduino и ESP8266

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

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

[Архив] 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.3 (10)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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