Search
Write a publication
Pull to refresh
0
@geof_01read⁠-⁠only

User

Send message

Очередное Интернет-радио на базе ESP*, но с изюминкой

Level of difficultyEasy
Reading time3 min
Views14K

Да, это еще одно интернет-радио. Их уже сотни. Но в этой статье я хочу рассказать не только о самом устройстве, но и о одном из наших подходов, который мы применяем в IoT-разработке. Эти решения помогут вам упростить взаимодействие конечных пользователей с вашими устройствами.

Читать далее

Как я научился оценивать популярность статей через парсинг показателей сайтов

Level of difficultyEasy
Reading time7 min
Views2.4K

Я уже давно пишу статьи про различные аспекты IT-технологий, инвестиции, автоматизацию и умные дома на разных площадках: Хабр, Т—Ж, СмартЛаб, Пикабу, VC.ru и других.

За всё время накопилось примерно 250 статей, которые по итогу свёл в таблицу. Но вот задумываться о популярности статей и их реальном эффекте стал относительно недавно.

Почему я решил собирать статистику публикаций?

Главной целью всех этих публикаций было поделиться своим опытом и при этом попытаться понять насколько вообще это важно и актуально для читателей. Однако обратная связь была не всегда очевидной: где-то комментариев вообще не было, а иногда на Хабре статьи набирали большой рейтинг при малом количестве комментариев (но это редко).

Однако очевидно одно - статистика заставляет посмотреть на материалы со стороны. Например статья про то, как я при помощи двух скриптов смог автоматически сгенерировать опись документов для 700 страниц на непрофильном Пикабу собрала три месяца назад почти 75 тысяч просмотров и 80 комментариев, а на Хабре эта же тема была не особо популярна.
Или статья про то, что читали на Хабре в 2024 году: анализ статей с Node.js, Google Sheets и каплей ChatGPT - собрала на Хабре три недели назад рейтинг +68, но «всего» 7 тысяч просмотров.

Зачем я написал Open Source скрипт?

Извлечение просмотров, комментариев, закладок и рейтинга из каждой статьи вручную занимало бы много времени, поэтому я решил пойти путём автоматизации. Написал скрипт, который скачивает эти данные по статьям и помещает сразу в одну удобную таблицу, где я вижу, какие темы стоит развивать дальше и на каких ресурсах.

Это Open Source скрипт, размещенный на Гитхабе, который состоит из Google Apps Script и Node.js частей и обе эти части работают с итоговой сводной Google Таблицей.

Собираем показатели 🤖

STM32. CMSIS. Пять способов генерации (псевдо-)случайного сигнала на выводе микроконтроллера

Level of difficultyMedium
Reading time17 min
Views5.5K

Псевдослучайные и случайные сигналы применяются для различных целей. В этой статье будет рассмотрено несколько способов их генерации на микроконтроллерах серии STM32.

Читать далее

FreeRTOS для самых маленьких на примере ESP-IDF

Level of difficultyMedium
Reading time19 min
Views32K

Все мы знаем, что FreeRTOS — это операционная система для проектов, где каждой задаче установлены строгие рамки времени, чтобы любое действие было гарантированно обработано. На этом познания об этой системе у большинства айтишников заканчиваются, по той простой причине, что 99% из нас не собираются никогда в жизни разрабатывать ничего наподобие софта тормозной системы автомобиля или медицинского оборудования. Но я бы хотел сегодня немного рассказать об этой системе, потому как она вполне может пригодиться многим из нас по другим причинам. Ведь FreeRTOS вполне может оказаться отличным следующим шагом для саморазвития после Arduino, потому как поддерживает невероятное количество процессоров и при разрастании проекта немногим сложнее «Hello World» её использование будет проще для написания кода за счёт своей продуманной архитектуры. Её можно использовать на микроконтроллерах, с которыми многие уже привыкли работать в своих проектах выходного дня и которые обходятся в смешные деньги, например AVR, ESP32 и STM32. Сегодня я покажу, насколько просто использовать преимущества FreeRTOS на примере контроллера ESP32 и фреймворка от производителя Espressif — ESP-IDF, для своей линейки микроконтроллеров.
Читать дальше →

Создание барабанного круглошлифовального станка

Reading time7 min
Views20K

Введение, предыстория


Мне бы хотелось рассказать о процессе конструирования и изготовления деревообрабатывающего станка. Описать именно сам процесс, в комплексе, со всеми нюансами, с небольшими вставками по специализации в каждой из затрагиваемых отраслей знаний (проектирование, конструирование, электротехника, изготовление и проч.). Без углубления в излишнюю эмоциональность и процесс, и, в то же время — без сухих научных фактов и теоретизирования. Ориентируюсь на популярное и научное изложение, но не без деталей и субъективного мнения )

Предыстория такова: одно время я занимался деревообработкой и мне нужно было шлифовать и плавно выводить криволинейные поверхности на заготовках из твердых пород дерева. начал я этот путь с напильника и ножовки, но быстро понял, что ручной труд хорош только в школе, а для производства надо использовать энергию электричества.

За первым подобным станком я поработал у родственника в гараже, второй сделал самостоятельно, сейчас представляю вам третью реализацию этого изделия.


Читать дальше →

Управление для DIY-проекта с помощью Bluetooth геймпада. Часть 1 (Arduino)

Level of difficultyEasy
Reading time6 min
Views5.5K

Некоторые DIY-проекты включают в себя тот или иной вид дистанционного управления. Есть множество способов и протоколов для его реализации, и один из них – Bluetooth. В этой статье будет рассказано о подключении Bluetooth геймпада к Arduino.

Читать далее

4 типовые ловушки в работе со строками в С и С++ и как их избежать

Reading time9 min
Views17K

Некорректное использование строк может стать настоящей ахиллесовой пятой защиты программы. Поэтому так важно применять актуальные подходы к их обработке. Под катом разберём несколько паттернов ошибок при работе со строками, поговорим о знаменитой уязвимости Heartbleed и узнаем, как сделать код безопаснее.

Читать далее

Прошиваем программу не только в начало FLASH памяти STM32

Level of difficultyMedium
Reading time3 min
Views8.2K

Знаете ли вы куда попадает ваша программа после того, как вы нажали кнопку RUN или DEBUG в IDE? Если да, то как изменить этот адрес или даже выйти за пределы постоянной памяти и прожигаться сразу в оперативную память? Небольшая статья, которую я сам в свое время не нашел и потратил много часов и нервов на сбор этой не хитрой информации.

Читать далее

Как стать C#-разработчиком с нуля? Бесплатная программа обучения

Level of difficultyEasy
Reading time2 min
Views45K

Если вбить слово «С# разработка» в поисковую строку, можно найти огромное количество курсов по данному направлению. Проблема в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей.

Чтобы разбавить засилие платных курсов, мы подготовили для вас программу обучения «C#-разработчик с нуля», которая состоит только из бесплатных материалов.

Читать далее

Аппаратный DIY аудиомикшер

Level of difficultyEasy
Reading time7 min
Views12K

Меня это задолбало - управлять громкостью, если источников звука больше одного, особенно больно, когда это надо сделать быстро, за пару секунд. Если играете в динамичные игры с дискордом, да ещё и музыку фоном включаете, думаю вы прекрасно знаете эти неудобства. И вот, в один прекрасный день я наткнулся на deej...

Читать далее

Проект: погодная станция (метеостанция) своими руками. Часть первая

Reading time2 min
Views4.1K

Вы когда ни будь хотели сделать что-то сами, Вас посещали крутые идеи, но Ваших знаний было недостаточно что бы их воплотить в жизнь?
Предлагаю попробовать интерактивный проект: погодная станция (метеостанция) своими руками. Пока стационарная, но позже будет походная, чтобы можно было взять её с собой на отдых и заранее знать, что скоро будет дождь или ураган.
Что бы не начинать проект с нуля, в качестве фундамента я реализовал три начальные функции:

Читать далее

Вольтамперметр на базе ESP8266 с записью данных в лог и передачей их по сети Интернет

Level of difficultyEasy
Reading time2 min
Views24K

Сегодня мы с Вами соберём вольтамперметр на безе ESP8266, он оснащён модулями: INA226, модуль реального времени, цифровой датчик температуры, сенсорный экран, SD карта для сохранения логов, WI-FI модуль, контроллер для управления силовыми ключами.

Такой прибор отлично подойдёт не только для использования его в блоке питания, но и в электронной нагрузке, в бортовой сети автомобиля, системе солнечных батарей и для других систем, где при достижении определённого порога по напряжению, силе тока или температуре, прибор должен отключить или подключить необходимые модули.

На главной странице у нас отображаются данные: напряжение, сила тока, ватты, миллиампер в час, милливатт в час, текущая температура с цифрового датчика температуры и скорость вращения вентилятора.

В верхней части экрана у нас отображается текущее время и IP адрес, по которому мы можем подключится к нашему устройству с помощью телефона, планшета или компьютера из любой точки мира.

Читать далее

Освоение программирования за 2 года с нуля или как я пытался автоматизировать реальное производство

Reading time4 min
Views28K

Моя профессия далека от IT технологий. Я работаю на производстве кажется всю жизнь довольно давно. Тематика - производство и ремонт металлообрабатывающих станков. Производим станки как новые, так и ремонтируем. Стараемся все делать локализировано (импортозамещение ж)- все железки точим, шлифуем, собираем и т.д

Читать далее

Умный дом на openHAB+MQTT+Arduino. Часть 1: Кластер

Level of difficultyMedium
Reading time14 min
Views6.7K

Изначально была мысль повысить доступность openHAB средствами виртуализации. Ставим два гипервизора, настраиваем High availability, при отказе хоста виртуалка с openHAB перезапустится на соседнем сервере. И все бы ничего, но для работы HA нужно общее хранилище. Какой-то NAS допустим у меня есть, но выход его из строя даже более вероятен, чем отказ хоста. А городить что-то на DRBD или подобном не хотелось. Поэтому было решено кластеризовать openHAB другим способом. 

см. рисунок ниже

TDD для микроконтроллеров. Часть 1: Первый полет

Reading time10 min
Views16K
TDD для микроконтроллеров. Часть 1: Первый полет
TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей
TDD для микроконтроллеров. Часть 3: Запуск на железе


Встраиваемые системы широко применяются в бытовой электронике, промышленной автоматике, транспортной инфраструктуре, телекоммуникациях, медицинском оборудовании, а также в военной, аэрокосмической технике и т. д. Хотя последствия любой ошибки проектирования обходятся дорого, ошибку в ПО для ПК или в большом корпоративном приложении обычно относительно легко исправить. А если дефект будет во встраиваемом ПО (далее – ВПО) электронного блока управления тормозной системой автомобиля, то это может вызвать массовый и дорогостоящий отзыв продукции.


Сфера применения встраиваемых систем постоянно расширяется, сложность выполняемых ими задач растет. Это в свою очередь повышает риск внесения ошибок в процессе разработки, что увеличивает вероятность весьма дорогостоящих дефектов в ПО.


Одной из наиболее популярных методологий улучшения качества разрабатываемых приложений является Test-driven development (TDD). Но эффективна ли методология TDD для разработки встраиваемых систем? Ответ на этот вопрос будем искать под катом.

Читать дальше →

Полуавтоматическая регистрация юнит-тестов на чистом С

Reading time4 min
Views8.9K
После прочтения книги Test Driven Development for Embedded C я начал знакомство с миром юнит-тестирования с фреймворка cppUtest. Не в последнюю очередь потому, что в нем свеженаписанный тест регистрируется и запускается самостоятельно. За это приходится платить — использованием C++, динамическим выделением памяти где-то в глубинах фреймворка. Может быть, можно как-то попроще?
Совсем недавно я узнал о минималистичном фреймворке minUnit, который умещается всего в 4 строчки.
Читать дальше

Калибровка магнитометра с помощью обобщённого фильтра Калмана

Level of difficultyMedium
Reading time9 min
Views4.9K


В настоящее время широко доступны датчики на основе магнитометров. Они позволяют легко получить направление на магнитный север (или истинный, если, конечно, вы учтёте магнитное склонение в вашей местности). Это может быть полезно для определения ориентации оси рысканья/курса беспилотных аппаратов. Одна из проблем магнитометров связана с их калибровкой, поскольку на магнитометр влияют находящиеся рядом с ним магнитотвёрдые (имеют собственное магнитное поле) и магнитомягкие (легко намагничиваются от внешнего магнитного поля, в том числе от поля Земли) материалы. Ниже я расскажу, как избавиться от влияния этих материалов и откалибровать магнитометр.
Читать дальше →

Полноценный трехпортовый USB-Serial адаптер на STM32 Blue Pill (STM32F103C8T6)

Reading time4 min
Views28K

Некоторое время назад мне в очередной раз потребовался USB-Serial адаптер. И не просто адаптер c RX/TX, а чтобы еще присутствовали управляющие сигналы. И не один UART, а несколько. И еще желательно, в виде одного композитного устройства, чтобы все это хозяйство не занимало больше одного USB-порта. Так и началась эта история...

Читать дальше →

Энциклопедия контроллеров и обучающий проект (на Хабре)

Level of difficultyEasy
Reading time7 min
Views18K


Я давно занимаюсь микроконтроллерной тематикой и делюсь своими изысканиями (частью изысканий) в блоге на Хабре. Делаю я это довольно давно и количество статей уже перевалило за сотню, и, в полном соответствии с воззрениями (старины) Гегеля, количество явно переросло в качество.

Сам я уже пользуюсь своим блогом как справочником, когда мне нужно найти ту или иную информацию по контроллерам, но делать это не очень удобно, поскольку не так легко найти нужную статью среди десятков других.

Настало время как-то систематизировать эту информацию, прокомментировать и поделиться своими мыслями на эту тему. А в практическом плане этот каталог (мини-энциклопедию) можно использовать для выбора DIY контроллеров для своих проектов или, учитывая опубликованные примеры кода и переводы туториалов, как обучающее пособие по их программированию.

Итак…
Читать дальше →

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Level of difficultyEasy
Reading time25 min
Views107K

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать

Information

Rating
Does not participate
Registered
Activity