Pull to refresh
2
2.3
Send message

Как я сделал свою Arduino

Level of difficultyMedium
Reading time7 min
Views19K

Привет, читатель!

Сегодня существуют десятки вариантов платы Arduino. Их популярность обусловлена, по моему мнению, фреймворком Wiring для микроконтроллеров, распространением «шилдов» (нет необходимости паять компоненты) и, что самое удобное, загрузкой программ по USB. В рамках этой статьи расскажу, как я создал небольшую оценочную плату для микроконтроллера и добавил в нее загрузочную запись.

По своей сути, большинство «ардуинок» (оценочных плат) — это печатные платы с минимально необходимыми для микросхемы деталями. Такие прототипы позволяют сделать работу с чипами удобнее, проще и приятнее. Однако бывает, что под контроллер либо нет подобных решений, либо они универсальные и имеют некоторые неточности. С этим можно бороться, но возникают различные костыли, поэтому я решил разработать оценочную плату для отечественного чипа. Самому чипу посвящена отдельная статья на Хабре, его я использую в паре пет-проектов. Приступим к разработке!
Читать дальше →
Total votes 52: ↑50 and ↓2+63
Comments21

Устанавливаем и применяем Docker на Repka Pi

Level of difficultyEasy
Reading time16 min
Views3K

Сейчас уже, наверное, трудно найти IT-специалиста, который никогда не слышал про Docker — открытую платформу разработки, доставки и запуска приложений в контейнере. У этой платформы много достоинств, в том числе эффективное использование ресурсов, легковесность, скорость, масштабирование, управление версиями приложений и образов, быстрое развертывание и запуск приложений, а также возможность запуска Docker и его приложений практически на любой платформе.

Если можно на любой, то давайте запустим Docker на микрокомпьютере Repka Pi российской разработки и сборки, оснащенной ОЗУ объемом 2 ГБайт. Прочитав нашу статью, вы научитесь использовать Repka Pi для изучения всех основных возможностей Docker, а также создавать приложения Docker, работающие с оборудованием через GPIO и I2C.

Мы расскажем, как установить Docker на Repka Pi, как с помощью двух команд запустить WordPress, как работать из контейнера Docker с пинами GPIO микрокомпьютера, а также напишем программу, получающую данные с погодной станции BME280 через интерфейс I2C.

Зачем Docker нужен на микрокомпьютерах

Установка Docker на Repka Pi

Установка WordPress

Создаем контейнер для работы с GPIO

Контроль и освобождение ресурсов

Загрузка образа контейнера на Docker Hub

Контейнер для работы с I2C

Полезные ссылки

Итоги

 

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments0

Простая имитационная модель мобильного робота в ROS и Gazebo

Level of difficultyHard
Reading time49 min
Views3.3K

В данной работе представлен процесс разработки и симуляции мобильного робота с использованием платформы ROS Noetic и среды Gazebo. Описано создание URDF-модели робота, которая включает в себя детальное описание всех его компонентов. Рассмотрена разработка Docker контейнера, что позволяет обеспечить унификацию и воспроизводимость среды разработки. Также описаны файлы конфигурации для управления моделью в Gazebo и настройка PID контроллеров для оптимизации управления движением. Проект включает в себя формирование собственного мира в Gazebo, что позволяет тестировать робота в контролируемой и настраиваемой среде.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments0

Учебно-развлекательный проект «Мобильная платформа». Управление жестами руки

Level of difficultyMedium
Reading time8 min
Views1.8K

Учебно-развлекательный проект "Мобильная платформа", который использует управление жестами руки для управления роботом. В ней подробно рассматриваются технические аспекты сборки платформы, программирование Arduino и обработка жестов с помощью Python и библиотеки mediapipe.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments23

Главные отличия PCA от UMAP и t-SNE

Level of difficultyMedium
Reading time10 min
Views6.4K

Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.

Читать далее
Total votes 40: ↑40 and ↓0+52
Comments12

Читаем нажатия ИК-пульта под Linux

Level of difficultyEasy
Reading time3 min
Views3K

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

Нажатия будем принимать с помощью YS-IRTM, это дешевая плата с ИК-приёмником и передатчиком, использует микроконтроллер на базе 8051, в котором прошивка для декодирования сигналов с пультов. Интерфейс подключения: UART 5V. Есть подробное описание в этом репозитории на GitHub.

Умеет принимать NEC протокол, который используется на большинстве дешевых пультов. Но есть недостаток, не принимает коды повторов, если клавиша удерживается. Существуют и другие ИК-протоколы, например у Sony есть свой, поэтому пульты Sony не поддерживаются.

Читать далее
Total votes 13: ↑13 and ↓0+17
Comments20

Как правильно передавать секреты запускаемым программам?

Level of difficultyMedium
Reading time6 min
Views7.3K

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

Бывает встречаются Unix-системы, на которых некоторые администраторы передают процессам пароли в открытом виде, совершенно не заботясь о том, что их видят все пользователи данной системы.

Если вы смогли зайти на систему под непривилегированным пользователем, то вы можете набрать команду, отображающую список запущенных процессов

$ ps -ef

и возможно и увидеть некоторые секреты, которых видеть не должны, например, у одного из процессов ниже открыт пароль basicAuth.password (пароль в тексте изменен).

$ strings /proc/1101/cmdline
/usr/local/bin/vmagent
--remoteWrite.url=http://vm-cluster.local:1234/api/v1/write
--remoteWrite.basicAuth.username=user-rw
--remoteWrite.basicAuth.password=123456
--promscrape.config=/usr/local/etc/vmagent-config.yml

Как же быть? Есть несколько способов этого избежать.

Читать далее
Total votes 18: ↑17 and ↓1+19
Comments11

Как физик-ядерщик делает алюминиевые палки и продает на 20 млн ₽ в год

Level of difficultyEasy
Reading time8 min
Views137K

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

Читать далее
Total votes 133: ↑108 and ↓25+114
Comments226

NumPy для самых маленьких

Level of difficultyEasy
Reading time7 min
Views18K

Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сферы ресерча пользуются исключительно питоном для всяких научных изысканий — сегодня мы поговорим про библиотеку NumPy и работу с массивами. 

Самая новичковая "библиотека" с примочками в виде SciPy и Matplotlib предназначена для работы с многомерными массивами. NumPy – основа для многих других библиотек для машинного обучения, таких как SciPy, Pandas, Scikit-learn и TensorFlow. 

Pandas, например, строится поверх NumPy и позволяет работать со структурами данных высокого уровня по типу DataFrame и Series. При помощи NumPy можно проводить преобразование категориальных данных в числовой формат, например, с использованием кодирования one-hot.

Читать далее
Total votes 20: ↑17 and ↓3+18
Comments2

Дрон художник нарисовал самую большую картину и другие необычные применения Robot Operating System на ROS Meetup 2024

Level of difficultyMedium
Reading time3 min
Views1.1K

Репортаж с прошедшего мероприятия по Robot Operating System (ROS) - фреймворку, который предназначен для разработки программного обеспечения роботов. В него входит целый набор различных инструментов, библиотек и определённых правил, цель которых — создать единую и удобную среду разработки роботов. Выкладываем видеозаписи докладов с подробными описаниями.

Смотреть доклады
Total votes 6: ↑6 and ↓0+7
Comments4

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

Level of difficultyMedium
Reading time15 min
Views12K

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Total votes 22: ↑22 and ↓0+25
Comments13

Плавный вход в FPV. Или сборка первого учебного комплекта

Level of difficultyEasy
Reading time6 min
Views11K

Лирическое отступление.

Внезапно мне очень захотелось летать! Просто до дрожи в ногах! Почему? По тому что одна из ног была не пригодна даже для хождения по квартире в виду последствий любви к спорту. И холодным осенним вечером я понял что до безумия хочу одеть FPV шлем и хотя бы полетать по квартире… Почувствовать свободу перемещения! Если описывать ощущения от полёта в FPV то это похоже на параллельную реальность. Я летал несколько лет назад, и смотрел во вторые очки когда летал проф пилот… Это незабываемые ощущения. И вот я не могу ходить временно но могу собрать дрон летающий или ездящий… И управлять им от первого лица, компенсируя физический недостаток! А главное я совсем немного инженер-электронщик, чутка программист и собрал до травмы пару железок так сказать:)

Когда то давно лет 6ть назад я занимался сборкой квадрокоптера на 350той вроде раме. Его останки до сих пор покоятся у меня на полках стеллажей. Всё как обычно в юношеских начинаниях уперлось в деньги:( вернее в их отсутствие. Я собрал квадрик на Ardupilot выглядело это как то так.

Читать далее
Total votes 14: ↑14 and ↓0+15
Comments23

Все, что нужно знать перед сдачей ISTQB

Level of difficultyEasy
Reading time9 min
Views7.9K

Всем привет!

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

Если вы читаете эту статью, то, вероятнее всего, вы уже знаете, что обозначают эти загадочные буквы «ISTQB», зачем вообще сдавать какой-то экзамен и почему к нему надо плотно готовиться. 

Тем не менее для тех, кто забрёл сюда случайно или вчера в первый раз мельком услышал что-то об ISTQB и решил погуглить, я объясню:

Читать далее
Total votes 14: ↑13 and ↓1+14
Comments4

Тестируем PCIe в новом Raspberry Pi 5

Level of difficultyEasy
Reading time9 min
Views33K

Если вы ещё не в курсе, то недавно было объявлено о выходе Raspberry Pi 5.

Я специально снял ролик, где разобрал всю аппаратную часть – что изменилось, что появилось и чего не стало. В этой статье я представлю вам спецификацию новой модели, расскажу о некоторых особенностях и о том, что выяснил в ходе тестирования её работы с десятком различных устройств PCIe.
Читать дальше →
Total votes 62: ↑61 and ↓1+90
Comments31

Обнаружение движущихся объектов с помощью OpenCV с использованием обнаружения контуров и вычитания фона

Reading time12 min
Views20K

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

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments8

Обучение нейронной сети обнаружению людей на аэроснимках

Level of difficultyEasy
Reading time6 min
Views10K

Если вам понадобилось обучить нейронную сеть обнаруживать объекты на изображении или в видеопотоке, то для вас есть хорошие новости - уже существуют простые в использовании готовые инструменты. Наверняка кто-то из читателей такими пользуется. Например модель YOLOv8 хорошо тренируется на новых данных "из коробки". И, наверное, права была посетитель выставки, которая около стенда демонстрирующего обнаружение животных на видео c БПЛА сказала: "Что тут такого. Я за 10 строчек кода такое сделаю".
Но что, если сделал все по инструкции, а оно не работает так как хочется?

Читать далее
Total votes 6: ↑3 and ↓30
Comments11

Как развернуть виртуальную среду модели машинного обучения на любой машине?

Level of difficultyMedium
Reading time8 min
Views9.9K

Иногда возникают проблемы с развертыванием среды разработки в облаке, ведь бесплатных сервисов с большими облачными вычислительными мощностями почти нет. Тот же Google Collab имеет свои лимиты по использованию GPU, после израсходования всей памяти необходимо ждать сутки. А цена платной версии порой не совсем оправдана... Если у вас есть своя неплохая видеокарта, всегда можно отказаться от облачной разработки и перейти к домашнему варианту.  

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

Итак, как же контейнизировать собственную виртуальную среду и развернуть ее с использованием своего GPU? 

Читать далее
Total votes 5: ↑4 and ↓1+4
Comments11

Range Extender на NRF24L01+PA+LNA: обмен текстовыми сообщениями между устройствами там, где нет сотовой связи

Level of difficultyEasy
Reading time11 min
Views11K
Картинка Pressfoto, Freepik

Эта идея появилась у меня достаточно давно, и наконец-то дошли руки её частично реализовать. А именно: хотелось попробовать сделать средство общения с помощью известного радиопередатчика NRF24L01+PA+LNA.

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

Читать дальше →
Total votes 44: ↑42 and ↓2+56
Comments36

«Машинное чтение» цифровых и не только индикаторов без ИИ и нейронок на Python

Reading time9 min
Views5.4K

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

Не будет машинного обучения, нейросетей, только стандартные библиотеки Python для работы с изображениями.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments14

Простой Blender. Часть 1

Reading time6 min
Views231K
image
КДПВ. По мотивам.

О чем пост


Пост написан по мотивам этого комментария . Особенно вдохновила картинка в ответах к этому комментарию. Изначально хотел здесь написать про UI и основы моделлинга в Blender, но выходит многовато (я словообилен). Поэтому, про моделлинг — позже (если публика захочет). А здесь — про UI Blender с точки зрения непрофессионала.
Тоже хочу танк нарисовать!
Total votes 55: ↑53 and ↓2+51
Comments38

Information

Rating
1,258-th
Registered
Activity