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

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

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

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

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

Очереди FreeRTOS
4 (1)

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

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

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

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

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

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

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

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

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

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

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

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

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

Временные интервалы и таймеры на ESP32
5 (2)

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

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

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

Распределение памяти в ESP32
5 (2)

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

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

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

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

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

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

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

Библиотека Arduino для мигания светодиодами
0 (0)

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

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

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

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

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

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

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

Телеметрия на ESP8266 через MQTT и ThinkSpeak
5 (2)

Вступление Это несколько устаревшая статья (но она всё равно может быть полезной). Если вы нашли эту статью в поиске, то я рекомендую вам ознакомиться с более новой и подробной статьей на моем сайте: пошаговое руководство по созданию проекта телеметрии на ESP8266 и MQTT – в ней все этапы создания скетча… Подробнее »Телеметрия на ESP8266 через MQTT и ThinkSpeak

Алкогометр на arduino
3.3 (3)

“Что на arduino не собирай, все равно получится термометр” – народная мудрость. В этой статье описана сборка термометра для самогонного аппарата, который пересчитывает считанные показания температуры в относительное содержание спирта в “выходных” парах самогонного аппарата. Очень удобное приспособление для тех, кто занимается так называемой “дробной” перегонкой. Это был мой первый… Подробнее »Алкогометр на arduino