Pull to refresh
45
0
Алексей @Odinokij_Kot

User

Send message

Два в одном: USB хост и составное USB устройство

Reading time12 min
Views33K

image



Не так давно, была опубликована статья «Пастильда — открытый аппаратный менеджер паролей». Так как данный проект является открытым, то мы решили, что будет интересно, если мы будем писать небольшие заметки о процессе проектирования, о задачах, которые перед нами стоят и о трудностях, с которыми мы сталкиваемся.

Основная суть Пастильды заключается в том, что она является своеобразным переходником между клавиатурой и ПК. Таким образом, она должна уметь:
  • быть USB хостом для клавиатуры, которая к ней подключается,
  • быть клавиатурой для ПК, чтобы либо перенаправлять сообщения от реальной клавиатуры, либо самой быть клавиатурой,
  • быть дисковым накопителем, чтобы можно было редактировать базу данных паролей в удобном для человека виде.

Данный функционал является скелетом нашего проекта, поэтому первая заметка будет посвящена именно ему.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments63

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

Reading time2 min
Views246K

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Total votes 117: ↑114 and ↓3+111
Comments66

IoT-решение за 1,5 часа

Reading time13 min
Views28K
Или как мы зажгли лампочку со смартфона через облачную службу на глазах изумленных студентов НГУ.

Полное техническое описание решения мы приводим внизу, а начнем с лирическо-философского пролога.

Глава 1. Лирическая


Практически все наши сотрудники получили высшее образование, и очень многие именно в Новосибирском государственном университете. Кто-то буквально недавно, кто-то – 10-20 лет назад, и все сталкивались с выбором будущей профессии. На последних курсах студентами мы выбирали кафедру, на которой проходили специализацию и защищали дипломы. И была такая замечательная традиция как Дни открытых дверей в институтах, лабораториях и компаниях, где сотрудники рассказывали, чем они занимаются, какие вопросы сейчас стоят перед наукой и технологиями и как можно в этом поучаствовать.

Что самое интересное в Днях открытых дверей для студента? Ходить, задавать вопросы, смотреть на реальных людей, которые занимаются настоящим делом, которое кому-то нужно.
Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments21

Замена аналоговой регулировки на цифровую в лабораторном блоке питания HY3005D

Reading time9 min
Views20K
     В статье пойдет речь о замене штатных потенциометров на механические энкодеры EC11 (накапливающие датчики угла поворота) в блоке питания Mastech HY3005D с использованием микроконтроллера PIC16F1829 и сдвигового регистра 74HC595 реализующей ЦАП на резисторной матрице R2R
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments61

Использование mbed кода в собственном проекте на STM32 — опыт разгона китайского LCD

Reading time6 min
Views14K
Иногда чужой код очень помогает в деле подключения к микроконтроллеру периферийного железа. К сожалению, адаптировать чужой код к своему проекту бывает сложнее, чем переписать его самому, особенно если речь идет о мега фреймворках вроде arduino или mbed. Желая подключить китайский LCD на базе ILI9341 к плате STM32L476G DISCOVERY, автор задался целью воспользоваться в демо-проекте от ST драйвером, написанным для mbed, не изменив ни строчки в его коде. В результате удалось заодно разогнать экран до невиданных скоростей обновления в 27 fps.



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

Измерим гармонию — анализатор звукового спектра на STM32L4 Discovery

Reading time7 min
Views17K
В предыдущей публикации мы подключали дешевый китайский LCD экран к плате STM32L4 Discovery. Теперь мы попробуем реализовать на этой комбинации что-то выходящее за рамки традиционного моргания светодиодом, а именно анализатор звукового спектра, который использует имеющийся на плате микрофон. Заодно я расскажу, как пользоваться операционной системой FreeRTOS, и зачем она нужна, а также почему в нотной октаве 12 нот, и чем 53 ноты лучше, чем 12.



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

Orange Pi PC — полноценный мини-пк за 15 долларов на Linux

Reading time11 min
Views263K
image

Уже не раз замечал интерес к новой плате-клону всем известной Raspberry Pi от китайских энтузиастов из компании Xunlong под звучным названием Orange Pi PC. Прославилась она, в основном, своим неплохим «железом» (4-ядерный процессор Allwinner H3, 1Gb RAM и GPU Mali-400MP2 600MHz), наличием неплохого функционала (HDMI, AV, Ethernet, 3 USB, microUSB-OTG, инфракрасный порт для управления с пульта и GPIO-гребенка, по словам разработчиков, якобы «100% совместимая с Raspberry Pi), а главное — ЦЕНА. Создатели оценили свой девайс всего лишь в $15, ПЯТНАДЦАТЬ долларов, Карл! (скоро мы увидим, что это на самом деле весьма лукавое заявление, и конечный девайс стоит дороже).

Итак, давайте рассмотрим данную плату повнимательнее.

В рунете уже есть на нее обзоры, но все они представляли из себя нечто вида „установил андроид и подключил к телеку на кухне“. Я предлагаю взглянуть на плату с другой стороны, а именно — установить туда линукс, поюзать её как настоящий ПК, и даже немного поиграть.

Для тех, кому лень читать полностью, прорезюмирую:

Интересная штука, на данный момент вполне юзабельная, но имеется огромное количество огрехов и косяков, требующих допиливания напильником. Покупать только на свой страх и риск! Простому пользователю, рассчитывающему иметь готовое решение „из коробки“, я бы посоветовал обратить внимание на ТВ-боксы на базе Android или Windows. Продвинутому пользователю, знакомому с Linux, который не боится неизведанных челенджей в сыром продукте, и которому хотелось бы иметь неттоп для интернет-серфинга, работы с документами, программирования и скромных игр — must have! Особенно с учетом цены.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments56

Защита утилиты шифрования Scrypt с помощью Intel® Tamper Protection Toolkit

Reading time20 min
Views7.4K
В нашей статье мы покажем, как Intel Tamper Protection Toolkit позволяет защитить критически важные участки кода и ценные данные в утилите шифрования Scrypt против статического/динамического реверс-инженеринга и изменений. Scrypt – наиболее новая и безопасная функция выработки ключа по паролю, широко применяемая на практике. Однако существует угроза фальсификации параметров функции scrypt, что приведет к появлению уязвимостей пароля пользователя. Инструментарий позволяет уменьшить эти угрозы. Мы определяем модель угроз для рассматриваемого приложения, объясняем как провести его рефакторинг для дальнейшей защиты, учитывая особенности применения инструмента Tamper Protection к приложению.
Основной целью этой статьи является демонстрация возможностей Intel Tamper Protection Toolkit по защите от атак на критически важные участки кода и ценные данные, находящиеся в реальных приложениях. Инструментарий позволяет противодействовать статическому и динамическому реверс-инженерингу путем обфускации и препятствовать внесению изменений в защищаемое приложение путем контроля целостности во время выполнения.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments17

Слон и Моська, или подключение LCD к Attiny13A

Reading time9 min
Views25K
Вновь приветствую читателей «Хабра»!

Присказка.
Честно сказать, хотел написать статью несколько другого содержания, которая затрагивала бы тему применения и использования сдвиговых регистров, когда сам, даже не думал, что в моих проектах это станет необходимым.
Но так однажды случилось, что я решил втянуть в область программирования микроконтроллеров своего друга, который во многих вопросах с легкостью разберется сам, а в других....
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments39

Самомодифицирующийся код

Reading time12 min
Views29K
В статье подробно рассказано о самомодифицирующимся коде (СМК), и о том, как его использовать в своих программах. Примеры написаны на C++ с использованием встроенного ассемблера. Ещё я расскажу о том, как выполнять код на стеке, что является существенным козырем при написании и выполнении СМК.



1. Вступление


Ну что ж, поехали. Статья обещает быть длинной, так как мне хочется написать её такой, чтобы у вас не возникло никаких вопросов. На тему СМК уже существует миллион статей, но здесь представлено моё видение проблемы – после сотен часов написания СМК… Я попытаюсь впихнуть все свои труды сюда. Всё, хватайте томатный сок (или что вы там предпочитаете пить), делайте музыку громче и готовьтесь узнать, как избавить своё приложение от начинающих кракеров! Попутно, я расскажу вам о памяти Windows и некоторых других вещах, о которых вы даже и не подозреваете.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments12

Моя реализация системы домашней автоматизации

Reading time12 min
Views29K
Давно читаю статьи на Хабре о системах домашней автоматизации, захотелось описать то, над чем я работаю уже более 2 лет. Для лучшего понимания моей ситуации необходимо сделать небольшое вступление.

Три года назад мы с семьей переехали в новую трехкомнатную квартиру (67.5 кв.м), хотя технически квартира конечно старая — сталинка, дом 1946 года постройки. Алюминиевая двухпроводная проводка с кусками медного многожильного кабеля 1 кв.мм в некоторых местах. Ремонт предстоял капитальный, делать решил все сам, и начал с полной замены проводки. Было куплено 700м силового кабеля на освещение и розетки 1.5 и 2.5 кв.мм, бухта витой пары, немного коаксиала для телевизионных антенн (на всякий случай). Зачем так много и что из из этого вышло — прошу под кат.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments56

Тысяча первый способ управления радиорозетками

Reading time3 min
Views12K
Заинтересовал меня DIY-гаджет под названием RF-TOY, купить можно здесь, у автора этого открытого проекта или на Родине под названием MP1516 RFToy — Универсальный, Ардуино совместимый радиомодуль.



Фактически это специализированная плата Ардуино на ATmega 328P, 8 МГц, заточенная под эксперименты с передачей данных по радиоканалу, либо бюджетному 433 МГц, либо «продвинутому» 2,4 ГГц. Подкупило наличие небольшого, но графического экрана и возможность визуализировать процессы. Изучение начал с простого — управления радиорозетками.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments0

Продление жизни аккумуляторам электроинструмента — часть 2

Reading time4 min
Views28K
Мда. С момента написания первой части прошло уже 4 года.
Время летит…


Как ни странно, мой шуруповерт Stayer все еще жив, хотя и побывал в ремонте. Также живы и 4 из 5 аккумуляторов (один пошел на элементы для восстановления остальных).
Выведенные на корпус батарей разъемы позволяли дозаряжать проблемные ячейки и поддерживать батареи в годном состоянии. Но, боже, как это нудно!
В общем, когда меня окончательно достал этот процесс, я начал усиленно копать инет в поисках чипа, годного для балансировки аккумулятора на 15 Ni-Cd элементов.
И. Сюрприз! Я такого чипа просто не нашел. Ну, вот нету и всё тут. Для литиевых еще туда-сюда (и то на меньшее количество «банок») для никеля — глухо. Или я искать не умею, или производителям просто плевать на эту нишу.

Но, нету в жизни не решаемых задач!
Total votes 27: ↑27 and ↓0+27
Comments89

Добавление потока от IP-камеры на свой сайт

Reading time5 min
Views164K

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

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

Пользователь, желающий внедрить в свой сайт поток с IP-видеокамеры, должен выбрать способ организации онлайн-трансляции. При написании данной статьи для демонстрации я использовала IP-камеру Axis. Аналогичным образом можно использовать камеры других производителей.
Первый способ организации онлайн-трансляции
Total votes 14: ↑11 and ↓3+8
Comments5

Выводим цифровую фоторамку в интернет

Reading time6 min
Views39K
image
Наверное многие, глядя на цифровую фоторамку, задумывались — можно ли выводить на нее собственную информацию, меняющуюся во времени? Поскольку я уже несколько лет являюсь владельцем фоторамки, то такая мысль приходила в голову и мне — рамка отлично подошла бы для отображения прогноза погоды и информации с «умного дома». О том, как же реализовать подобный функционал, не вмешиваясь при этом в конструкцию рамки — читайте под катом.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments10

1-Wire slave на МК. Часть 1: Железо

Reading time3 min
Views16K

Для одного из проектов по автоматизации потребовалось сделать устройство, которое является подчинённым 1-Wire устройством, принимает команды от мастера и выставляет на своих выходах значение аналогового сигнала в диапазоне от 0 до 10В.
Проанализировав линейку стандартных микросхем 1-Wire от Maxim, стало ясно, что нет микросхемы, которая позволит реализовать подобный функционал.
Потому было принято решение реализовывать 1-Wire slave на микроконтроллере. Надеюсь, данный материал будет интересен и полезен людям, которые делают «умный дом» своими руками, т.к. 1-Wire достаточно популярная шина в подобных проектах. В качестве камня был выбран МК Cortex M0+ ATSAMD20G16 от Atmel, но о реализации в коде расскажем во второй части. Забегая немного вперед, скажу что в третьей части цикла пойдет речь о реализации собственного семейства устройств для линуксовой библиотеки OWFS (One Wire File System). А сегодня расскажем о некоторых аппаратных решениях, к которым мы пришли в процессе разработки.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments8

Безопасность Wi-Fi сетей: обнаружение атак

Reading time1 min
Views44K
image

Продолжение серии статей, посвященной вопросам современных угроз, сценариев атак и мерам противодействия. На этот раз мы рассмотрим примеры обнаружения атак на беспроводные сети.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments4

Asterisk. Начало

Reading time10 min
Views153K
На написание этой статьи меня побудило практически полное отсутствие how-to по настройке Астериска, с понятными новичку примерами. В сети можно найти кучу информации по настройке IVR, по настройке авторизации SIP-пользователей через LDAP, мануалов по созданию HA-кластеров с Астерисками внутри, etc., но нет ни одной статьи о том, как завести его с нуля, да и еще с примерами. Практически везде предлагается сразу же использовать все возможности, которые предлагает Астериск, а если убрать часть функционала, предлагаемого в мануале, то в большинстве случаев это приведет к получению неработоспособной конструкции. Эта статья — результат хождения по граблям… чтения мануалов. Если вы находитесь в такой же ситуации, что и я пару лет назад — добро пожаловать под кат.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments40

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity