Pull to refresh

Как работать с «определенными» токенами

Reading time5 min
Views13K

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

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

Виртуальный COM-порт на STM32 или как управлять контроллером через USB не привлекая внимания санитаров

Reading time24 min
Views25K

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

как же оно всё-таки работает
Total votes 38: ↑36 and ↓2+34
Comments9

Загадочное дело о Raspberry Pi в шкафу для сетевого оборудования

Reading time4 min
Views56K
Как-то я получил от своего отца (мы вместе с ним работаем на одного клиента) сообщение с приложенной фотографией.


Сообщение от отца

Я попросил его отключить устройство, положить в безопасное место, сфотографировать со всех сторон и сделать образ SD-карты (потому что в основном я работаю удалённо). Я работал над многими проектами с Raspberry Pi и был уверен, что разберусь в назначении этого устройства.

В тот момент ещё никто не думал, что оно может быть зловредным, скорее, все думали, что это экспериментирует кто-то из сотрудников клиента.
Читать дальше →
Total votes 160: ↑159 and ↓1+158
Comments51

Подключение USB-Ethernet адаптера в Azure RTOS

Reading time4 min
Views5.4K

Чтобы подключиться к локальной сети обычно используют интерфейс Ethernet. Но не всегда удобно размещать его на своей плате. Интерфейс USB может дать больше возможностей и обходится гораздо дешевле. Здесь расскажу как к микроконтроллеру с USB подключить недорогой USB-Ethernet адаптер и получить выход в локальную сеть. Для примера использован полифункциональный зарядник.

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

Разъём USB-C спустя 10 лет стал единым стандартом в Европе, а вот в США всё гораздо сложнее

Reading time6 min
Views17K

Для многих из нас разъём USB Type-C быстро стал привычным и удобным стандартом. У USB-C масса достоинств, включая отсутствие необходимости тыкать коннектором в разъём, надеясь на попадание с первого раза. Плюс ко всему скорость передачи данных интерфейса — 10 Гбит/с, с возможностью удвоения этого значения в ближайшем будущем.

Есть у этого стандарта и недостатки, но преимуществ всё же больше. Понимая это, пользовательское лобби и законодатели разных стран долгое время активно занимались продвижением USB-C с намерением сделать его единым разъёмом хотя бы для смартфонов и других электронных устройств. Наконец, европейцам это удалось — на Хабре уже писали, что с осени 2024 года, то есть через пару лет, USB-C станет обязательным для устройств, которые продаются в ЕС. Достичь этого удалось, хотя и не сразу. Но вот в США подобная инициатива хоть и существует, но до практической её реализации ещё далеко. Почему?

Читать далее
Total votes 23: ↑22 and ↓1+21
Comments138

Write Once Run Anywhere

Reading time14 min
Views3.1K

Вспоминается мем, где человек говорит: «JavaScript — это круто, на нем можно делать роботов и мобильные приложения», а потом его душит собака. Я себя представляю таким человеком, но надеюсь, меня никто не задушит, потому что я делаю на JavaScript вещи, которые в принципе не положено на нем делать. Например, пульт управления машинкой с телефона или любого другого устройства. Прошивка, и вообще всё на JS. Мы разберем подробнее такую машинку, джойстик, часы и другие устройства, и посмотрим как их самостоятельно запрограммировать.

Меня зовут Илья Черторыльский, я Senior Community Lead в Райффайзен банке. Эта статья про WebBluetooth, WebUSB, WebSerial и WebHID. Полную версию выступления можно посмотреть на YouTube.

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

Семь способов передачи телеметрии из Azure RTOS через интернет

Reading time13 min
Views3.1K

Решаем задачу  непрерывной передачи данных от встраиваемой системы c Azure RTOS на персональный компьютер. Рассмотрим проблему с точки зрения наиболее эффективных и доступных способов приёма телеметрии. Сопроводим все открытым демонстрационным проектом.

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

Будни техпода. Пробрасываем USB наĸопитель через RDP соединение

Level of difficultyMedium
Reading time6 min
Views14K

Если вдруг кто-то не знает, или не внимательно следит за нашим блогом, то первого августа был праздник. Не такой грандиозный, как Новый год, День защитника Отечества, 8 Марта и др., чтобы выделить на него пару выходных и отмечать всей страной, но для нас, не менее значимый — «Всемирный день работника техподдержки». В честь этого события, было принято решение взять специалиста поддержки, поставить его на праведный путь и запрячь немного написать о непростых буднях работника поддержки (очевидно, это шутка. Или нет…). Возможно, всё закончится здесь, а может — будет небольшая серия из нескольких статей (если клиенты не загрызут его раньше), описывающих достаточно популярные вопросы и их простые и наглядные решения.

Передаём слово нашему специалисту поддержки.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments3

Флешка Rubber Ducky стала ещё опаснее

Reading time4 min
Views45K


Rubber Ducky — известное хакерское устройство, давно знакомое специалистам по информационной безопасности (и любителям сериала Mr. Robot). Первая версия вышла более десяти лет назад. С виду обычная флешка при подключении выдаёт себя за USB-клавиатуру и запускает произвольный скрипт. Это позволяет проводить необычные атаки, которые сложно обнаружить с помощью антивируса.

Атака Rubber Ducky — просто последовательность нажатий клавиш (чтобы открыть консоль и ввести в ней некоторые команды).
Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments112

Неизвестный UART: теория

Reading time12 min
Views28K

Можно с уверенностью сказать, что с момента публикации первой версии стандарта RS‑232 в мае 1960 года и по настоящее время, было написано приблизительно 109 независимых реализаций UART на всём, чём угодно. Однако, подобно «Hello world» в мире прикладного ПО, а также мигания светодиодом — «Hello world» в мире цифровой электроники (сигнализирующий об успешной настройке оборудования и среды разработки) — процесс написания UART способен проиллюстрировать особенности языка или платформы, демонстрируя применение тех или иных синтаксических конструкций для решения практических, насущных и понятных проблем.

В данном цикле статей будет рассказано про написание модуля UART на SystemVerilog, про синтез данного модуля на различных платформах и про некоторые другие аспекты применения UART в ПЛИС. Но прежде, чем писать код, поговорим про сам протокол и про особенности аппаратной части вне контекста ПЛИС.

СТАРТ_БИТ
Total votes 91: ↑91 and ↓0+91
Comments33

Два модема

Reading time6 min
Views14K

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

Читать далее
Total votes 126: ↑125 and ↓1+124
Comments13

Пишем драйвер ядра Linux для неизвестного USB-устройства

Reading time15 min
Views16K
image

В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет рассказано о простом инструменте для пользовательского пространства; при помощи этого инструмента можно управлять таким устройством. Конечно, придется углубиться в подробности, касающиеся конкретного прибора, но не сомневайтесь – описанный процесс с тем же успехом применим и к другим USB-устройствам.
Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments9

Всё про USB-C: введение для электронщиков

Level of difficultyMedium
Reading time8 min
Views26K

Прошло уже почти пять лет, как во всевозможных устройствах начали появляться порты USB-C. Это стандарт, за рамки которого могут выходить многие производители и электронщики. Поначалу существовало много путаницы относительно того, что он в себе несёт, и всяческие отклонения со стороны производителей некоторых людей отталкивали. Однако теперь USB-C уже прочно вошёл в нашу жизнь, и я хочу показать вам, как именно этот стандарт используется, чего могут ожидать от него пользователи, а что он способен предложить электронщикам.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments17

Всё про USB-C: высокоскоростные интерфейсы

Level of difficultyMedium
Reading time12 min
Views11K

Одной из прекрасных возможностей USB-C является его высокоскоростной потенциал. Распиновка в этом стандарте предоставляет вам четыре высокоскоростные дифференциальные пары и ещё несколько низкоскоростных, что позволяет передавать огромные объёмы данных через разъём размером с центовую монету. Не все устройства используют эту возможность, но от них этого никто и не требует – USB-C спроектирован так, чтобы подходить для любого портативного девайса. Однако, когда у вас есть устройство USB-C с потребностью в высокой скорости, нельзя не отметить весь потенциал этого стандарта и то, насколько хорошо он может работать.

Возможность получения высокоскоростного интерфейса через USB-C называется Alternate Mode (альтернативный режим), или коротко «altmode». Сегодня можно встретить три варианта altmode – это USB3, DisplayPort и Thunderbolt. При этом некоторые, например HDMI и VirtualLink, канули в лету, а другие, например USB4, только собираются появиться на свет. Для большинства альтернативных режимов требуется цифровая коммуникация через USB-C, предполагающая передачу определённых сообщений по каналу Power Delivery (PD). Тем не менее способны на это не все, и самым простым примером является USB3. Давайте разберём, что же лежит в основе альтернативного режима.
Читать дальше →
Total votes 60: ↑60 and ↓0+60
Comments2

Бюджет потерь USB 3.2

Reading time17 min
Views29K

Откуда столько названий стандартов USB? Какие допустимые потери сигнала в кабеле по спецификации, и почему почти никто ей не следует? Как измерить потери в дифференциальной линии и не продать почку?

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

Страх и ненависть в спецификации USB
Total votes 156: ↑155 and ↓1+154
Comments60

РЖДфон десять лет спустя

Reading time13 min
Views13K
Приветствую всех.

Сегодня поговорим об одном уже достаточно древнем и во многих областях уникальном девайсе — нашумевшем в своё время защищённом терминале сбора данных для РЖД. В ходе статьи проведём неофициальный обзор данного аппарата, сравним его с устройством того же класса, попробуем разобраться, какова была история и дальнейшая судьба данного проекта, и собрать в одном месте всю известную мне информацию по теме. Постараемся воздержаться от реплик типа «Аццтой!!!1» или «Вы ничего не понимаете, это же топ за свои деньги!» и быть максимально объективными.


Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments22

Stm32 + USB на шаблонах C++. Продолжение'. Делаем MSC

Reading time12 min
Views5.8K

В продолжение темы применения современного C++, а именно шаблонов, в программировании микроконтроллеров рассматриваю реализацию еще одного популярного класса USB - Mass Storage, а также вопрос создания композитного устройства.

Читать далее
Total votes 19: ↑16 and ↓3+13
Comments10

В помощь разработчикам гаджетов. «USB-Разрыватель» — что это, зачем и для чего?

Reading time11 min
Views6K

Привет, Хабр! В этой статье рассказываем о созданном нами устройстве, которое помогает тестировать электронные девайсы в процессе разработки.  Речь идет об устройстве для автоматизации и имитации процесса отключения/переподключения USB-гаджетов. Подробности разработки и самого устройства – под катом.

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

Считываем и эмулируем карты с магнитной полосой

Reading time9 min
Views23K
Приветствую всех!

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



Итак, в данной статье поговорим о том, как работает запись данных на карты с магнитной полосой, разберёмся, в каком формате хранится там информация, узнаем, как устроены считыватель и энкодер и, конечно же, ещё много чего интересного.
Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments36

Всё про USB-C: типы кабелей

Level of difficultyMedium
Reading time8 min
Views53K

Тема кабелей и разъёмов стандарта USB-C является довольно запутанной, и тому есть объективные причины. Множество вариантов реализации и нюансов вкупе с не всегда добросовестными производителями вносят на рынок кабелей неразбериху. Тем не менее в статье я покажу, что всё в этом вопросе не так уж плохо, если вы готовы прибегнуть к ряду приёмов и скорректировать собственные ожидания.
Читать дальше →
Total votes 96: ↑90 and ↓6+84
Comments30