Pull to refresh
39
1.4

болтун

Send message

Как превратить игрушечного робота-доставщика в ровер с беспроводным управлением через мобильное приложение

Level of difficultyEasy
Reading time9 min
Views11K

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

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

В один из таких моментов во время очередного просмотра содержимого Яндекс Маркета я наткнулся на игрушечного робота-курьера. Он показался мне достаточно милым, так что я решил его купить.

В общем ровер милый, выполнен неплохо и тут можно было бы остановиться, но в моей голове промелькнула одна мысль:

«А может сделать его управляемым?»

В этой статье я расскажу, как модифицировал игрушечного робота-доставщика Яндекса и реализовал управление им по BLE с помощью мобильного приложения на Flutter.

Читать далее

Радиоэфир без регистрации и СМС

Level of difficultyEasy
Reading time23 min
Views56K

Пост для тех, кто любит радиосвязь, но не радиолюбитель с позывным

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

В старшем возрасте я понял, что могу позволить завалить себя радейками и время от времени покупал различные недорогие модели, которые выбирал лишь по цене и внешнему виду. Но на удивление связать серенькие радиостанции с фиолетовыми или чёрными не получалось, даже если выбрать один и тот же номер канала. Пришлось разбираться, и всё оказалось куда сложнее, чем просто выбрать переключателем номер канала и нажать кнопку PTT (Push-To-Talk). Ну и осложнилось всё задачей не получить по шапке за эфир на частотах, где не следует этого делать. Для прояснения ситуации для начинающих и создан этот пост.
Читать дальше →

Опыт использования свободного ПО OSS-CAD-SUITE для программирования FPGA Gowin

Level of difficultyMedium
Reading time9 min
Views2.7K

Для программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет разместить Verilog HDL / VHDL проект по логическим блокам и развести связи между ними используя заданные временные ограничения.

Возможно ли использование open source инструментов для FPGA проектирования?

Я расскажу о своем опыте использования Yosys oss-cad-suite для платы Марсоход3GW-2 на базе ПЛИС китайской компании Gowin GW1NR-LV9QN88PC6/I5. Фото платы показано выше в начале статьи.

Читать далее

Домашняя нейронка. Какое «железо» выбрать для Stable Diffusion?

Level of difficultyEasy
Reading time7 min
Views41K


Нейросетями теперь пользуются почти все мои знакомые. Чат-боты с искусственным интеллектом в плане сбора информации намного удобнее поисковых систем, а нейросети, генерирующие картинки по запросу, нашли свое применение в рекламе и иллюстрировании контента. Однако как раз с ними не все столь гладко, как хотелось бы. Доступ к одним без плясок с бубном и нервотрепки невозможно оплатить из России, другие не радуют качеством изображений, путаясь в количестве пальцев, изгибая конечности персонажей невообразимым образом или выдавая в ответ на запрос совсем не то, что требовалось. Тут у меня и возникла идея развернуть Stable Diffusion на локальной машине, чтобы не мучиться с оплатой и токенами. А для этого сначала следует разобраться, какое железо потребуется для реализации подобной задумки.
Читать дальше →

Нейросетевой чип с интерфейсом, привычным Embedded программисту

Level of difficultyMedium
Reading time11 min
Views6.7K
Обычно я пишу циклы статей по двум причинам. Либо я участвую в какой-то разработке и, с одной стороны, хочу рассказать о ней, но с другой – описать что-то интересное про применённые там технологии, так как овладел ими в достаточной мере. Самый большой цикл был про комплекс Redd, который перерос в разработку USB-анализатора на его базе. Другая причина засесть за клавиатуру – я нашёл какую-то интересную поделку

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

Речь пойдёт про чип, который по задумке разработчиков должен помочь Embedded-программистам начать работу с Искусственным Интеллектом, не погружаясь в его недра, а оперируя только привычными им сущностями. Давайте разбираться более детально.


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

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

Level of difficultyEasy
Reading time7 min
Views18K


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

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

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

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

Разработка системы управления электроприводом постоянного тока. Часть 1 — математическая модель

Level of difficultyHard
Reading time17 min
Views9.2K

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

Читать далее

Активация discard (TRIM) на Linux для SSD

Reading time6 min
Views95K

Современные накопители данных такие как SSD нуждаются в команде TRIM интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем:


  • discard — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправлять команду TRIM на устройство, как только об этом сообщит файловая система.
  • fstrim — утилита которая запускается вручную или по расписанию как сервис ОС, отправляет список удаленных блоков с ФС для зачистки их на устройстве.

Для включения fstrim достаточно активировать сервис fstrim.service в systemd, но лучше вместо сервиса, который будет висеть в памяти, использовать таймер fstrim.timer который будет запускать еженедельный TRIM.


Пример включения сервиса:


# Включение, старт и вывод статуса сервиса:
systemctl enable fstrim.service && \
systemctl start fstrim.service && \
systemctl status fstrim.service

Но этих мер недостаточно, если у вас файловые системы располагаются на томах LVM, а LVM в LUKS игла в яйце, яйцо в утке, утка в зайце:



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

Взламываем головное устройство автомобиля Nissan

Reading time22 min
Views20K

В комплекте с моим Nissan Xterra поставлялось современное (на то время) головное устройство с сенсорным экраном, встроенной навигацией, дисплеем камеры заднего вида, мультимедийными функциями и возможностью подключения смартфона. Некоторые из самых продвинутых функций доступны только через приложение NissanConnect, требующее регистрации и подписки. Я никогда не пользовался им и даже не уверен, поддерживается ли оно сейчас.

Разве не здорово было бы добиться выполнения кода на устройстве и даже разрабатывать собственные расширения и приложения?

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

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

KatWalk C2: ч2, подслушаем, подсмотрим и разнюхаем или как общаться с незнакомым железом на незнакомом языке

Level of difficultyMedium
Reading time27 min
Views1.2K

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

Однако, получение данных требует постоянно висящего приложения (на C#), и надо понять что же конкретно оно делает.

Давайте разберёмся как общаться с железом и избавимся от балласта!.. Переписав на Kotlin. Почему Kotlin? Потому что я на нем никогда еще не писал.

Погружаемся

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

Level of difficultyMedium
Reading time28 min
Views29K

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

Читать далее

KolibriOS: пробуем ассемблер

Level of difficultyEasy
Reading time4 min
Views11K

Решил потренироваться на ассемблере под x86 и выбор мой пал на KolibryOS. Ведь как-никак это ОС была написана на ассемблере и для использования ассемблера. И я хотел именно из самой KolibriOS писать код. Но... Наверное, зря я это всё затеял.

Как оказалось, примеров кода не мало и не много. А так как я привык к Dos, Windows или Linux, то и ожидал что-нибудь в этом роде. Код, код и ещё раз код. Макросы не так часто встречаются. Ну и уж точно не весь код из одних макросов (утрирую).

Пример кода из «официального источника» вносит больше сумятицы, чем понимания, что происходит в данном коде. И... там нет никакого объяснения этим «буквенным значениям». Есть только то, что ссылаются на файл «macros.inc». Если просматривать источники интернета, то где‑то более понятно написано и даже рассказывают, что взять «macros.inc» (и многие другие файлы можно на SVN KolibriOS и, как оказалось, ещё можно на GitHub (дублируется?).

Покопавшись в файле «macros.inc», а так же на просторах интернета и найдя пример (смотрите код Fasm), я понял, что всё становится на свои места и более‑менее проясняется.

Читать далее

Пиксельные Пои или Pixel Poi своими руками

Level of difficultyEasy
Reading time3 min
Views4.6K

В этой публикации речь пойдет о тестировании светодиодной ленты APA102 высокой плотности, совместно с модулем WeAct Black Pill V3.0 (MiniF4 V3.0) или «Черная таблетка» с AliExpress в качестве контроллера пиксельных пои. Пиксельные пои — представляют собой световой реквизит на основе управляемых светодиодов, при вращении которого можно отображать разнообразные картинки, эффекты, надписи и т. п.

Читать далее

Sub-GHz во Flipper Zero и бесконечное множество внешних модулей

Level of difficultyMedium
Reading time9 min
Views22K

Большинство владельцев Flipper Zero хоть иногда, но пользуются приложением Sub-GHz, чтобы взаимодействовать с различными приборами, работающими на частотах ±433 MHz: открыть шлагбаум или ворота, управлять устройствами умного дома или даже использовать флиппер для теста “пищалок” на фудкортах. И всегда находятся люди, кому нужно больше, дальше и лучше, чем есть в стоке, и вот об этом и хочется поговорить.

Читать далее

BadUSB: Эксперименты с Arduino и Flipper Zero

Level of difficultyEasy
Reading time9 min
Views16K

Часть 1. Arduino

Если верить Википедии, BadUSB — класс хакерских атак, основанный на уязвимости USB устройств. Благодаря отсутствию защиты от перепрошивки в некоторых USB‑устройствах, злоумышленник может видоизменить или полностью заменить оригинальную прошивку и заставить устройство имитировать любое другое устройство. BadUSB предназначен для доставки и исполнения вредоносного кода. При этом я бы хотел уточнить, что BadUSB — это атака против USB стека компьютера, который по умолчанию слепо доверяет любому устройству (в том числе и зловредному).

Впервые понятие BadUSB было введено в августе 2014 года, исследователями организации Security Research Labs, Карстеном Нолом и Джейкобом Леллом, которые выступили с докладом «BadUSB — On Accessories that Turn Evil» на конференции BlackHat USA 2014. Данной уязвимости подвержены все устройства с незащищенными USB контроллерами на борту. При этом для успешного проведения данной атаки не требуется наличия особого ПО на компьютере «жертвы», а так же она работает под любыми операционными системами, поддерживающими USB‑HID устройства.

BadUSB — это целое семей­ство атак на USB‑порт, при которых под­клю­чаемое устрой­ство выда­ет себя за дру­гой девайс, нап­ример:

Читать далее

Измерение частоты на STM32

Level of difficultyEasy
Reading time9 min
Views22K

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

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

Читать далее

Превращаем TV-box в мини-компьютер: установка Linux Armbian на примере X96 Max+ 100W

Level of difficultyMedium
Reading time19 min
Views73K

Одноплатные компьютеры своим появлением взяли на себя огромное количество задач и с каждым днём решают всё больше наших проблем. Но многие окружающие нас бытовые устройства являются одноплатными компьютерами с практически с идентичной многим привычным SBC (single board computer) начинкой и телевизионные приставки классический тому пример.

Когда-то я приобрел ТВ приставку X96 Max Plus 100W на Android чтобы потестить ее вдоль и поперек и пришел к тому что классическое ее применение для просмотра мультиков и Android игр мне не интересно.

Читать далее

Реверс-инжиниринг ToumaPet, китайского клона тамагочи с цветным экраном

Level of difficultyMedium
Reading time15 min
Views11K

Когда становишься слишком взрослым, то просто играть в игры становится не интересно. Зато разбираться в их устройстве увлекательно, я нашел себе новый объект для развлечения. На самом деле я с детства разбирал/ломал игрушки, чтобы посмотреть как внутри устроено. Так что, это не лечится и с возрастом никак не связано.

Читать далее

У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868

Level of difficultyEasy
Reading time15 min
Views9.1K

Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи.

Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 pin разъёма, поддерживающего все наиболее популярные промышленные интерфейсы. Становится интересным пробовать решать разные задачи такого типа со ставшими доступными уже год назад Российскими одноплатниками Repka Pi, разработанными на основе китайской элементной базы, но разработанные и производимые уже в России и имеющие хорошую поддержку, что сильно меняет и расширяет возможности применения и получения ответов на возникающие вопросы, так как работы с такими задачами часто сопряжена с возникающими техническими вопросами.

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

Это четвертая статья серии, посвященной модулю GSM/GPRS/GNSS Bluetooth HAT. В этой статье рассмотрим как добавить в ваше IoT-устройство или другое оборудование функции мобильного телефона. Ранее мы рассматривали как принимать и отправлять сообщения и многое другое и вот настало время для реализации функционала полноценной телефонной голосовой связи.

Настало время превратить модуль GSM/GPRS/GNSS Bluetooth HAT, созданный на базе SIM868, в самый настоящий телефон, способный звонить и принимать звонки. Мы расскажем о том, как это можно делать из программы, составленной на языке Python, а также опишем соответствующие AT-команды. Вы проверите их в работе с помощью терминала minicom.

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

Читать далее

Как я поменял профессию: из тканевой инженерии в adult-индустрию

Level of difficultyEasy
Reading time11 min
Views69K

Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.

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

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

Работает у нас это примерно так — у бизнеса наступает момент, когда приходит осознание, что все. Приехали. Инфраструктура работает, вроде бы все в порядке, но построена на костылях, которые заботливо укладывали три поколения сотрудников назад. Документации нет, как все это работает — никто не помнит. Если сервер сдохнет, воскресить в случае чего никто не сможет.

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

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

Читать далее

Information

Rating
2,588-th
Registered
Activity