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

💠 IoT и микроконтроллеры

Домашняя автоматика, умный дом, программирование микроконтроллеров

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

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

ESP32: чипы, модули, платы…
5 (13)

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

Установка PlatformIO
5 (2)

Добрый день, уважаемый читатель! Прежде чем начать программирование микроконтроллеров, необходимо установить и настроить соответствующие инструменты. Начинал я, как наверное и большинство, с Arduino IDE, но со временем стало понятно, что это “слишком короткие штанишки”. В настоящее время использую связку VSCode + PlatformIO на Windows 10. В их установке нет нечего… Подробнее »Установка PlatformIO

XY-MD02 или SHT20 over RS485 Modbus
0 (0)

Добрый день, уважаемый читатель! Предлагаю вашему вниманию мини-обзорчик датчика температуры и влажности XY-MD02, полученный мною на днях из поднебесной, который я заказал для одного из своих проектов. Это один из двух датчиков RS485, которые я получил, есть ещё один с SHT30, поинтереснее, но о нем будет другая статья.   Итак, что… Подробнее »XY-MD02 или SHT20 over RS485 Modbus

Обработка прерываний 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

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

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

Подключение двухпроводных детекторов дыма к Arduino и ESP
5 (1)

Предлагаю Вашему вниманию вариант подключения двухпроводных детекторов дыма (Рубеж ИП 212-xxx или аналогичных) к Arduino или ESP с согласованием уровней напряжения и без необходимости постоянного измерения напряжения на входе, например по прерыванию. Предлагаемая схема практически полностью повторяет штатное устройство согласования УС-02, схема которого приведена в некоторых паспортах детекторов дыма, но… Подробнее »Подключение двухпроводных детекторов дыма к Arduino и ESP

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

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

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

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

Защита входов микроконтроллера от помех и наводок
4.7 (3)

Разрабатывая устройства на микроконтроллерах (MCU), неизбежно сталкиваешься с необходимостью подключения к MCU различных внешних датчиков и устройств. В данной статье рассматривается подключение только цифровых входов (0 или 1), аналоговые входы нужно защищать по другому. Обычно цифровые входы MCU рассчитаны на совсем небольшое напряжение, не превышающее напряжение питания самого MCU –… Подробнее »Защита входов микроконтроллера от помех и наводок

Отправка данных на open-monitoring.online с устройств на базе Adruino и ESP
5 (1)

Сервис open-monitoring.online позволяет накапливать и хранить данные с контроллеров, а затем отображать их в виде графиков и гистограмм. Создан сервис компанией “НСК Электро” для мониторинга параметров солнечных электростанций, которые они продают. Но никто не запрещает пользоваться данным сервисом, так сказать, “в личных целях”, и причем абсолютно бесплатно. Чем мы и… Подробнее »Отправка данных на open-monitoring.online с устройств на базе Adruino и ESP

Поднимаем личный MQTT сервер на роутере Keenetic
5 (2)

Самый простой и удобный протокол для управления различными “умными” устройствами, на мой взгляд – это MQTT. На этом сайте Вы можете найти перечень публичных облачных MQTT-серверов (брокеров), с помощью которых можно связать один или несколько микроконтроллеров с устройствами управления (например смартфоном) или даже между собой. Но использование только публичных MQTT-брокеров… Подробнее »Поднимаем личный MQTT сервер на роутере Keenetic

Переползаем на PlatformIO
5 (6)

Доброго времени, уважаемые читатели! Зачем и для кого эта статья??? В первую очередь для тех, кому поднадоел спартанский интерфейс Arduino IDE. На текущий момент существует несколько различных IDE для разработки на ESP8266 и ESP32 (подробнее это рассмотрено здесь), и PlatformIO – один из них. Почему именно PlatformIO? Просто это самая… Подробнее »Переползаем на PlatformIO

Датчики температуры и влажности для Arduino
5 (2)

Сейчас на небезызвестной торговой площадке китайских друзей имеется довольно много моделей датчиков для измерения температуры и влажности воздуха. В этой статье я попытаюсь сравнить характеристики популярных датчиков, дабы можно было проще определить, какой датчик выбрать для той или иной поделки. В данной статье рассмотрены только цифровые датчики, NTC, термопары и… Подробнее »Датчики температуры и влажности для Arduino

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

Публичные облачные сервера для IoT устройств
5 (1)

Замечательная штука – ESP8266. Довольно мощный процессор, много памяти, встроенный WiFi контроллер. ESP32, конечно, еще лучше, но речь сейчас не о них. На ESP очень легко соорудить практически любую домашнюю автоматику, причем с удаленным контролем и управлением со смартфона или компьютера. Пример такого устройства есть на этом сайте. Одна проблема… Подробнее »Публичные облачные сервера для IoT устройств

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

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