Pull to refresh
3
0
Send message

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views43K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Total votes 310: ↑310 and ↓0+369
Comments129

Кунг-фу стиля Linux: разбираемся с последовательными портами

Reading time8 min
Views21K
Раньше последовательные порты были буквально повсюду. И они, в каком-то смысле, никуда и не делись, так как многое, что подключается к компьютеру по USB, на самом деле, выглядит для системы как последовательный порт. Проблема тут заключается в том, что в наши дни всё в мире завязано на компьютерные сети. Конечно, можно купить терминальный сервер, который преобразует последовательный порт в интерфейс Ethernet. Но это совсем не интересно. Здесь я хочу рассказать о том, как пробрасывать последовательные порты по сети с использованием существующих Linux-инструментов. Решение это не идеальное, оно оказывается работоспособным далеко не всегда, но если оно работает, то работает оно хорошо.


Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments21

Думаешь, ты знаешь Си?

Reading time4 min
Views53K
image

Многие программисты утверждают, что знают С. Ну что ж, у него самый известный синтаксис, он существует уже 44 года и он не захламлен непонятными функциями. Он прост!

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

Если вы думаете что он прост — пройдите этот тест. В нем всего 5 вопросов. Каждый вопрос в принципе одинаковый: какое будет значение возврата?
Total votes 60: ↑44 and ↓16+28
Comments270

История одного наследства: как я с помощью OSINT и социальной инженерии заскамил скамера

Level of difficultyEasy
Reading time12 min
Views25K

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

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

Читать далее
Total votes 42: ↑38 and ↓4+43
Comments13

Как устроено автоматическое удаление мёртвого кода в Meta*

Level of difficultyMedium
Reading time7 min
Views9.5K

В фреймворке Systematic Code and Asset Removal Framework (SCARF) компании Meta* есть подсистема выявления и удаления мёртвого кода.

SCARF использует статический и динамический анализ программ для выявления кода, мёртвого с точки зрения как бизнеса, так и языков программирования. Этот фреймворк автоматически создаёт запросы изменений, удаляющие мёртвый код, выявленный при помощи анализа программ, таким образом, минимизируя трудозатраты разработчиков.

В своём предыдущем посте об автоматическом выводе из эксплуатации продуктов мы говорили о сложностях этого процесса, а также о созданном Meta* решении под названием Systematic Code and Asset Removal Framework (SCARF). В качестве примера мы рассмотрели Moments — приложение обмена фотографиями, запущенное Meta в 2015 году и закрытое в 2019 году. В статье говорится о том, как SCARF помогает в проведении процесса вывода из эксплуатации благодаря его функциям управления рабочим процессом. Мы сказали, что SCARF экономит время разработчиков, выявляя правильный порядок задач для очистки продукта, и указали, что можно заблокировать автоматическую очистку при наличии межсистемных зависимостей. Это естественным образом приводит нас к следующему вопросу: как автоматически разблокировать SCARF при наличии кода, ссылающегося на ресурс?
Читать дальше →
Total votes 28: ↑25 and ↓3+34
Comments2

Взлом YouTube для быстрого скачивания видео

Reading time9 min
Views66K
Мы неоднократно рассказывали о специальном софте, который позволяет скачивать видео с YouTube. Это в первую очередь youtube-dl (yt-dl) и его клоны, такие как yt-dlp и yt-dlc. С ними воюют могучие копирасты, пытаются удалить их из поисковой выдачи, с хостингов, с Github и так далее, по известной схеме «тотальная война».

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

Сами программки — просто технические инструменты для скачивания общедоступного контента, они ничего не воруют и не пиратят. Просто доступ происходит нестандартным способом, который не предусмотрен официально. Посмотрим, как это делается.
Читать дальше →
Total votes 123: ↑113 and ↓10+148
Comments421

Опыт использования ЖК-дисплеев на основе продукции МЭЛТ

Reading time18 min
Views15K
Эта статья посвящена увлекательному приключенческому квесту, который мне пришлось пройти в процессе создания обновленного внешнего датчика для метеостанции, описанной вот в этой статье полтора года назад. По опыту эксплуатации предыдущей версии очень хотелось создать датчик с контрольным дисплеем, чтобы можно было без проблем периодически проверять (и поверять) наиболее капризный компонент станции — датчик скорости ветра. Приключения начались тогда, когда я стал подбирать для этой цели дисплей и по ряду причин, о которых далее, остановился на продукции родного МЭЛТ. Но прежде чем я перейду к описанию приемов нетрадиционного секса способов справиться с выбранными мной произведениями этой фирмы, стоит кратко остановиться на главной причине всей этой грандиозной модернизации, которую я затеял.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments19

Arduino и сегментный ЖК индикатор

Reading time6 min
Views7.8K
image

Arduino, как известно, имеет прекрасную встроенную библиотеку для вывода информации на ЖК индикаторы, которая, однако, поддерживает только матричные знакосинтезирующие индикаторы. Так получилось, что у меня в руках оказался обычный сегментный индикатор, простейший 10-ти разрядный MT-10T8. Поставленная задача вполне соответствовала способностям этого индикатора – выводить текущую температуру для одного прибора, который для простоты назовём лабораторным измерителем температуры. Прибор управляется с помощью Arduino, конкретно его разновидностью Seeduino Mega (аналог Arduino Mega). После беглого знакомства с достаточно лаконичным даташитом на MT-10T8 было принято решение потратить немножко времени и подружить Arduino с данным индикатором.
Читать дальше →
Total votes 11: ↑7 and ↓4+3
Comments3

Сказ о том, как два сервера изменили судьбу сетевой команды

Level of difficultyMedium
Reading time12 min
Views21K

Привет. Я Марат Сибгатулин — сетевик в Яндексе, работаю в команде Yandex Infrastructure. И сегодня я расскажу вам одну поучительную историю.

Жили были два сервера. Да и не сервера вовсе, а виртуальные машины. Жили не тужили, добро наживали, скриптами разными обрастали. Три года они трудились на славу облака да во имя автоматизации. Пока не наступили чёрные дни для RAID-массива на гипервизоре.

Это присказка, не сказка. Сказка впереди
Total votes 44: ↑43 and ↓1+56
Comments23

Волны от кораблей

Reading time13 min
Views18K

Волны от кораблей. Что они говорят и о чём молчат.

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

Так носовая волна возникает от раздвигания масс воды вторгающимися в них корпусом корабля.

Читать далее
Total votes 48: ↑43 and ↓5+53
Comments41

Подключаем дисплей к любому одноплатнику с SPI: большой мануал о поиске экранчиков для ваших проектов

Level of difficultyMedium
Reading time14 min
Views26K
image

Сейчас появилось достаточно много различных дешевых одноплатников с очень достойными характеристиками, которые вполне можно назвать экономичными и портативными. Однако очень часто встает вопрос вывода изображения на дисплей: к сожалению, в подобные устройства обычно ставят урезанные версии чипсетов без видеовыхода на обычные матрицы. Конечно в них практически всегда есть HDMI, но это совершенно не выход для портативного устройства: прожорливый чип скалера будет очень негативно влиять на время работы от АКБ. Да и сами подобные дисплеи очень дорогие: почти 2.000 рублей за матрицу со скалером — это действительно бьет по карману. Сегодня я расскажу Вам о существующих протоколах для дисплеев, подскажу, как применить экранчики от старых навигаторов/мобильников и мы подключим с вами SPI-дисплей к одноплатнику без видеовыхода. Причем мы реализуем как просто библиотеку, которая позволяет выводить произвольную графику из ваших программ, так
и службу, которая будет напрямую копировать данные из фреймбуфера и преобразовывать в формат для нашего дисплея. Интересно? Тогда жду вас в статье!
Читать дальше →
Total votes 69: ↑69 and ↓0+69
Comments36

Как снять данные с весового модуля со своей спецификацией протокола передачи данных и отправить на MQTT сервер

Reading time8 min
Views5K

Данная статья написана для тех кто на начальном уровне знает Python и немного разбирается в АСУ ТП. Задача достаточно распространенная, надо взять данные со старого, со своей специфичной реализацией протокола оборудования и перевести ее в такой вид, что бы ее можно было легко достать (MQTT сервер) и обрабатывать (SCADA или любое ПО, которое умеет работать с MQTT).

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

90% «умных» телевизоров можно взломать вредоносной ТВ-передачей и шпионить за телезрителями

Reading time3 min
Views28K

Загрузка эксплойта для Array.prototype.sort() через встроенный браузер телевизора, направленный по указанному адресу командой по DVB-T. Атака происходит в фоновом режиме, пока жертва смотрит передачу про птичек

Как известно, у всех «умных» телевизоров есть разъём USB, куда можно вставить флешку и установить на ТВ вредоносный софт, именно так поступали агенты ЦРУ (см. эксплойт Weeping Angel для телевизоров Samsung). Но есть и альтернативный способ взлома, когда необязательно проникать в квартиру жертвы, а взламывать можно миллионы телевизоров одновременно. Правда, для этого нужен доступ к телевещательной станции, то есть атаку можно проводить на государственном уровне в своей собственной стране. Как вариант, можно купить передатчик DVB-T по цене от $50 до $150 — и провести нелегальную трансляцию, это может сделать кто угодно.

На семинаре по кибербезопасности медиа Media Cyber Security Seminar специалист по безопасности из немецкой компании Oneconsult AG прочитал очень интересный доклад о взломе «умных» телевизоров и даже наглядно продемонстрировал представителям медиаиндустрии, как удалённо заражать телевизоры с помощью обычного телевизионного сигнала DVB-T (Digital Video Broadcasting — Terrestrial), который они постоянно транслируют на своих частотах.
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments54

Маскировка трафика OpenVPN при помощи обфускации

Reading time6 min
Views46K

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

Читать далее
Total votes 21: ↑19 and ↓2+23
Comments30

Согласование импедансов: о пользе формул

Reading time17 min
Views21K

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

Подставить значения
Total votes 35: ↑35 and ↓0+35
Comments43

К вопросу о рабочей точке светодиода и (внезапно) импортозамещению

Reading time6 min
Views9.8K

«Имея ввиду какое-либо предприятие, помысли, точно ли оно тебе удастся»


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

«Осторожно, там обитает математика».
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments16

Умные телевизоры Samsung, LG, Vizio и TCL ежесекундно снимают «отпечатки» экрана и отправляют на сервер

Reading time5 min
Views100K

Сетевая активность телевизора Samsung 5 Series. Скриншот: Geoffrey Fowler/The Washington Post

Когда-нибудь думали, почему телевизоры так подешевели? Конечно, технический прогресс играет свою роль. Но дело не только в нём.

Об этом не принято говорить, но факт: если из умного телевизора убрать «умную» функциональность, то он станет дороже. Дело в том, что производители ТВ плотно вовлечены в индустрию контента, рекламы, маркетинга, дата-майнинга и торговли данными пользователей. По объёму собираемых данных эти платформы догоняют Google и Apple.

Издание The Washington Post провело небольшой эксперимент и отследило, как четыре крупнейших производителя ТВ записывают всё, что мы смотрим. Сетевой трафик телевизоров Samsung, LG, Vizio и TCL изучали программой IoT Inspector от Принстонского университета.
Читать дальше →
Total votes 97: ↑97 and ↓0+97
Comments391

Опусы про Его Величество Клей. Часть первая — вводная

Reading time12 min
Views66K
Есть такие области знания, которые «аршином общим не измерить...». В принципе, в моей «домашней» области, коллоидной химии, под такое направление можно спокойно помещать любое фундаментальное понятие, будь-то адсорбция (с адсорбентами) или адгезия (с клеями). Честно говоря, мысль написать про клей у меня не возникала. Но когда читатели в каждой теме, связанной с полимерами начинают просить рассказать про клеи — об этом поневоле задумаешся (ну и хочется конечно же отпарировать на «все надо клеить суперклеем»). Адгезия и клеи — очень обширная тема, поэтому я все-таки решил за нее взяться, но разбить повествование на несколько частей. Сегодня первая часть — вводно-информационная. Чтобы узнать за счет чего клей клеит, какие бывают клеи и какой клей лучше подходит для склеивания _____ (вписать нужное), традиционно идем под кат (и кладем в закладки).

Читать дальше →
Total votes 166: ↑163 and ↓3+160
Comments155

Вы не того параноите! (пред-пятничный пост)

Reading time3 min
Views40K
— А прикинь — сказал наш админ весело — если во вторник в московский полдень вся винда по стране одновременно выполнит команду «UNINSTALL»? Типа «ваш регион больше не поддерживается, доллар неустойки за серийник и подпись на еуле получите лично в нашем оофисе в Риге»… Ну закладка была не в свежем апдейте, а ещё в новогоднем — его не столь сурово тестили.
Я прикинул — число бухгалтерий, банков и касс — и понял, что отмена товарно-денежных в одной отдельно взятой может случиться «са-а-а-всэм нэ так», как мечтали классики…
— Не-е-е, уже успели — линуксы развернуть. Хоть ~как-то ~где-то. Это отрефлексированная угроза.
Лучше вот смотри: силовой контактор солидной фирмы. В любом большом щите таких — рядами. Для электрика это атомарная вещь — простая и надёжная.
Устроен, думаете, элементарно? – от малой кнопки катушка соленоида тянет якорь — замыкает контакты с большими токами и напряжениями:

Ха! как бы не так. Внутри у ей - ... компьютер!
Total votes 58: ↑45 and ↓13+32
Comments73

Воссоздание шрифтов с экрана ЭЛТ

Reading time4 min
Views16K
Изучение глифов на терминалах DEC VT100 и VT220

Недавно я немного увлёкся эмуляцией аналоговых медиа: хотелось воссоздать растровую графику ЭЛТ, как на «стеклянных терминалах» прошлого, таких как культовая серия VT от Digital Equipment Corporation (DEC). В процессе возник ряд вопросов об особенностях отображения шрифтов в пиксельной графике ЭЛТ. Интересно, как на самом деле выглядели шрифты и можно ли реконструировать их по спецификациям?


Современные шрифты TrueType воссоздают глифы VT220. Имейте в виду, что VT-терминалы поддерживали два режима разрешения: один на 132 символа в строке и один на 80 символов (char-matrix 9×10 и 10×10, соответственно), в последнем интервал расширен на один пиксель

Благодаря обилию технической информации на сайтах вроде vt100.net и bitsavers.org можно легко определить внешний вид тех шрифтов. Например, мы можем восстановить глифы из прошивки терминалов. Есть даже шрифты TrueType, которые повторяют типографику VT220: Glass TTY VT220 с растровыми строками и DEC Terminal Modern с современными, гладкими очертаниями (на иллюстрации вверху).
Читать дальше →
Total votes 101: ↑101 and ↓0+101
Comments14
1

Information

Rating
Does not participate
Registered
Activity