Pull to refresh
@Polarisruread⁠-⁠only

User

Send message

Управление обратным маятником в MATLAB Simulink без формул. Настройка PID регуляторов

Level of difficultyEasy
Reading time2 min
Views1.8K

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

Объект управления (Plant)

Модель перевернутого маятника соберем в библиотеке Multibody. Для этого нам не понадобится знание физики и математики. Библиотека Multibody предоставляет нам готовые блоки степеней свободы, твердых тел, преобразований координат, которые нужно только верно соединить. Собираем подсистемы отдельно для маятника и отдельно для тележки, и собираем все вместе. Результат на рисунке, модель в прикрепленных файлах.

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

Начало Aircrack-ng и WEF

Reading time7 min
Views6.5K

Предисловие

Рад приветствовать всех читателей статьи! С сегодняшнего дня запускаю новую рубрику моих статей "Без про-v-ода", в серии этих статей я буду обозревать различные методы, фишки, инструменты, устройства и всё что связано в вардрайвингом. Думаю не секрет, что довольно многие скажем так начинали свой путь с того "Как взломать Wi-Fi соседа?", а дальше углублялись в эту тему и находили что-то намного интересней чем просто бесплатный интернет.

Введение

Поскольку эта статья является первой в рубрике, я хочу познакомить тебя с основой инструментов вардрайвинга Aircrack-ng и с инструментами которые ты сможешь использовать практически сразу в Kali Linux. Так же хочу тебя дополнительно познакомить с хорошим фреймворком по атакам на беспроводные сети, который лёгок в установке и настройке, и послужит отличным помощником в изучении атак на беспроводные точки доступа.

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

Aircrack-ng

Читать далее
Total votes 12: ↑9 and ↓3+6
Comments12

SDR приемник GPS на микроконтроллере

Level of difficultyMedium
Reading time28 min
Views20K

В этой статье я расскажу о том, как я делал самодельный SDR GPS приемник на микроконтроллере. SDR в данном случае означает, что приемник не содержит готовых GPS-модулей или специализированных микросхем для обработки GPS сигналов - вся обработка "сырых" данных выполняется в реальном времени на микроконтроллере (STM32 или ESP32).
Зачем я это сделал — просто Just for fun, плюс - получение опыта.

Читать далее
Total votes 162: ↑161 and ↓1+160
Comments227

Лучшие практики модульного тестирования

Reading time7 min
Views3.2K

В этой статье мы рассмотрим лучшие практики модульного тестирования. Сначала я объясню, что такое модульное тестирование и почему мы должны использовать его в наших проектах. Затем мы рассмотрим лучшие практики модульного тестирования. Я приведу пример кода с использованием фреймворка xUnit для написания модульных тестов в проектах на .Net.

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

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

Level of difficultyMedium
Reading time54 min
Views77K

Привет, Хабр)

Публикую шпаргалку по SQL, которая долгое время помогала мне, да и сейчас я периодически в неё заглядываю.

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

Читать далее
Total votes 125: ↑122 and ↓3+119
Comments7

Разбираемся с Bluetooth Low Energy на примере превращения USB-клавиатуры в беспроводную

Level of difficultyMedium
Reading time16 min
Views15K


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

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

Не имея навыков пайки, вы сможете создать полезное Bluetooth-устройство, а ваше понимание Bluetooth и Linux уже не будет прежним, если вы, конечно, не являетесь экспертом в этих областях.

Данная статья ставит целью на примере разработки собственной Bluetooth-клавиатуры помочь разобраться в базовых понятиях Bluetooth, так как чтение скучных спецификаций и статей с введением в технологию даёт мало пользы.
Читать дальше →
Total votes 76: ↑74 and ↓2+72
Comments76

Делаю игрулю на Playdate на чистом C. Глава 1

Level of difficultyMedium
Reading time11 min
Views10K

Не так давно (год назад на самом деле) я приобрёл необычную игровую консоль Playdate.

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

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

Решение школьных задач по химии в Python

Level of difficultyEasy
Reading time5 min
Views11K

Изображение от rawpixel.com на Freepik

Я попробовал решить несколько простых школьных задач по химии в Python с помощью библиотек mendeleev, chemlib и chempy, в том числе несколько заданий из ОГЭ и ЕГЭ.

к задачам
Total votes 15: ↑15 and ↓0+15
Comments13

Эльфы и пингвины: что такое ELF и как он работает в Linux?

Level of difficultyEasy
Reading time37 min
Views21K

image


Всем привет! С вами как всегда я, Аргентум. Сегодня я расскажу и поведаю вам древние тайны, которые хранят горные старцы-сисадмины — тайны об эльфах, и как они взаимодействуют с древним народцем пингвинов. Дамы и господа, встречайте — статья о работе ELF и двоичных файлов в Linux!


Что такое ELF? Чем он отличается от PE в Windows? И многие другие ответы на ваши вопросы.


Перед тем как погрузиться в технические детали, будет нелишним объяснить, почему понимание формата ELF полезно. Это позволяет изучить внутреннюю работу операционной системы. Когда что-то пошло не так, эти знания помогут лучше понять, что именно случилось, и по какой причине. Также возможность изучения ELF-файлов может быть ценна для поиска дыр в безопасности и обнаружения подозрительных файлов. И наконец, для лучшего понимания процесса разработки. Даже если вы программируете на высокоуровневом языке типа Go или Rust, вы всё равно будет лучше знать, что происходит за сценой.


Итак, зачем изучать ELF?


  • Для общего понимания работы операционной системы
  • Для разработки ПО
  • Цифровая криминалистика и реагирование на инциденты (DFIR)
  • Исследование вредоносных программ (анализ бинарных файлов)
Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments22

Подобие CI/CD c микроконтроллерами. Jenkins + GitLab + HeadlessBuild

Level of difficultyEasy
Reading time7 min
Views3.6K

Прежде всего – хотелось избавить себя от рутинных операций, которые необходимо прокручивать в каждый релиз артефакта каждого проекта. Второе – понять, нужен ли мне вообще такой подход у разработке и сколько от него профита. Третье – узнать немного нового

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

Выбор графического движка (GUI) для встраиваемой электроники

Reading time15 min
Views25K

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

В нашем полифункциональном заряднике есть небольшой графический дисплей. Разберём что тут можно подобрать. 

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

WinnerMicro Wi-Fi SoC W801/W806 (SPI, I2C – дисплей и температура)

Level of difficultyEasy
Reading time4 min
Views2.5K

Пробуем завести SPI и I2C на китайском чипе WinnerMicro Wi-Fi SoC W801/W806. Подключение дисплея на ST7789 и датчика температуры и влажности AHT10.

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

Цикл статей от технолога по запуску печатных плат в производство: от выбора материалов до поиска ошибок проектирования

Level of difficultyHard
Reading time4 min
Views4.8K

Нормы проектирования печатных плат зафиксированы в ряде многостраничных спецификаций, которыми пользуются специалисты. При этом есть нюансы, о которых можно узнать лишь на практике. Проводником в непростой мир изготовления печатных плат для вас станет Александр Патутинский, технолог по подготовке и запуску печатных плат в производство и специалист по DFM- и DFA-анализам. 

Цикл из трех статей погрузит вас в тему — от выбора материалов для производства плат до особенностей, которые стоит учесть в конструкторской документации, чтобы защититься от проблем на этапе автоматизированного монтажа компонентов на плате. Вы также познакомитесь с подходами Design for Manufacturing (DFM) и Design for Assembly (DFA), которые Александр постарался доступно объяснить. 

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

Читать далее
Total votes 17: ↑16 and ↓1+15
Comments13

Добавляем Unit-тестирование в проекты STM32CubeIDE

Level of difficultyEasy
Reading time5 min
Views1.3K

А именно, мы будем добавлять отличную систему Сeedling. Данная система содержит в себе сразу два инструмента – Unity – непосредственно для проведения и написания тестов и CMock для генерации объектов-заглушек. Но самая большая заслуга данного пакета – простота во всех аспектах – начиная от генерации тестируемых модулей и до релиза проекта. Использование Сeedling превращает рутинное TDD (Разработка через тестирование) или TLD(если захочется так) в обычный рабочий процесс.

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

Запускаем кодек OPUS на микроконтроллере

Level of difficultyEasy
Reading time13 min
Views3.3K

Исходные данные – есть контроллер STM32 с очень ограниченной памятью, а мы хотим записывать на нем звук. Допустим, что примеров с подключением выбранного нами микрофона гора и маленькая тележка. В итоге имеем контроллер, который умеет выдавать нам WAV-подобный сигнал. Хотелось бы этот WAV-сигнал куда-то записать или передать. Таких данных будет очень много, есть ненулевая вероятность, что мы не влезем по полосе пропускания используемого канала или заполним память до того, как получим нужную информацию. На помощь нам спешит компрессия!

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

STM32 SAI и микрофон INMP441

Level of difficultyEasy
Reading time4 min
Views2.2K

Представим, что у нас есть STM32L4 серии и на нем мы пытаемся подключить микрофон INMP441 через интерфейс SAI. Данный микрофон выводит данные сразу в PCM коде и имеет хорошие звуковые характеристики для своего ценового диапазона.

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

Компилятор за выходные: синтаксические деревья

Level of difficultyMedium
Reading time11 min
Views24K

Вам когда-нибудь приходилось задаваться вопросом, как работает компилятор, но так руки и не дошли разобраться? Тогда этот текст для вас. Мне тоже не доводилось заглядывать под капот, но тут так случилось, что мне нужно прочитать курс лекций о компиляторах местным третьекурсникам. Кто встречался с некомпетентными преподавателями? Здравствуйте, это я :)

Итак, чтобы самому разобраться в теме, я собираюсь написать транслятор с эзотерического языка программирования wend (сокращение от week-end), который я только что сам придумал, в обычный ассемблер. Задача уложиться в несколько сотен строк питоновского кода. Основной репозиторий живёт на гитхабе (не забудьте заглянуть в мой профиль и посмотреть другие tiny* репозитории).

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

Zigbee датчик температуры для бассейна

Level of difficultyMedium
Reading time7 min
Views10K
Приветствую всех читателей Habr! В эти новогодние каникулы хочу поделиться с вами своим летним открытым проектом zigbee датчика температуры для бассейна. Идея разработать такой датчик появилась довольно спонтанно, летом 2023 года после установки бассейна на даче, появилось желание мониторить температуру воды. К тому времени у меня было разработано несколько проектов zigbee датчиков с дисплеями и датчиков температуры с выносными сенсорами. Датчики температуры можно было привязывать к датчикам с дисплеями и выводить температуру, присланную с этих внешних датчиков. Датчик температуры я закреплял на стенке бассейна, а сенсор на проводе опускался в воду. Но как оказалось это не очень то и удобно. Как только пришел к такому выводу то сразу решил что мне нужен плавающий zigbee датчик температуры.


Читать дальше →
Total votes 56: ↑54 and ↓2+52
Comments42

Упрощение отладки с помощью unit-тестов

Level of difficultyMedium
Reading time9 min
Views3.6K

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

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

CH32V003 первый проект. Мигаем OLED дисплеем и делаем измеритель концентрации CO2

Level of difficultyEasy
Reading time15 min
Views13K

В последнее время разработчики электроники испытывают трудности с поставками электронных компонентов. Одним из решений данной проблемы является переход на "исконно китайскую" элементную базу. Это решение подкупает ценой и доступностью, но пугает плохой документацией и небольшим количеством информации на понятных нам языках. В данной публикации расскажу о любопытном микроконтроллере на ядре RISC-V и сделаю простое первое устройство - датчик концентрации углекислого газа в воздухе/мигалку OLED дисплеем и светодиодом (куда ж без мигалки светодиодом). В репозитории размещен проект для тех, кто захочет воспользоваться данными наработками.

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

Information

Rating
Does not participate
Registered
Activity