Search
Write a publication
Pull to refresh
0
0
Send message

Самостоятельная сборка 3d-принтера или покупка готового оборудования для конструирования. ПО. Часть 2

Reading time3 min
Views58K
В первой части, было показано и рассказано как собрать машину судного дня 3D-принтер. Теперь, настало время оживить механическое чудо, при помощи программного обеспечения, мозгов и проводов.



Для этого я использовал open source бесплатный софт: Repetier-host (для связи компьютера с платой управления 3D-принтером) и Arduino IDE (для работы с прошивкой микроконтроллера). И сам 3D-принтер.О тонкостях настройки этого программного обеспечения будет рассказано в этой части:

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

Стань повелителем загрузки Linux

Reading time24 min
Views93K
Сначала мы познакомимся с udev и научимся с его помощью исследовать установленные в компьютере устройства прямо во время загрузки: в качестве примера будем автоматически выбирать настройки видеокарт для Xorg. Затем решим задачу работы с одним образом на десятках компьютеров одновременно путём внедрения собственного обработчика в initramfs, а заодно оптимизируем систему для сетевой загрузки. Чтобы дополнительно уменьшить время загрузки и снизить нагрузку на сеть попробуем NFS заменить на NBD, и помочь TFTP с помощью HTTP. В конце вернёмся в начало — к загрузочному серверу, который также переведём в режим «только для чтения».



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

Начало смотрите здесь:
Первоначальная настройка сервера
Подготовка образа для загрузки по сети
Читать дальше →

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 3. переходная)

Reading time7 min
Views153K


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



Начать экономию

Портативная походная метеостанция MiniBTH

Reading time24 min
Views73K
Добрый день. В этой публикации расскажу о портативной походной метеостанции, которую я давно задумал и недавно реализовал в железе.

image

Я часто езжу на природу, как в длинные походы, так и в короткие вылазки на выходные. Инструментальное наблюдение с одной стороны просто позволит удовлетворить любопытство, ответив на вопрос «Теплее ли сегодня чем вчера?», или «Насколько холодно было ночью?», с другой стороны, наличие даже примитивной метеорологической информации может помочь предсказать улучшение или ухудшение погоды или выпадение тумана. Отсюда возникает желание создать автономный прибор для измерения, логгирования и отображения метеоинформации, пригодный для походного использования, и удовлетворяющий следующим требованиям:
  • Герметичное ударозащищенное исполнение корпуса;
  • Постоянное отображение реального времени и текущих метеоданных: давления, температуры, влажности, а также истории их изменения в течение последних несколько часов и нескольких дней на экране;
  • Читаемый на ярком солнце экран;
  • Работа прибора в течение всего похода без подзарядки или замены элементов питания или подзарядки;
  • Желательно сохранение истории метеоданных в энергонезависимой памяти.

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

Мой дом — моя крепость. Часть 1

Reading time5 min
Views26K
Доброго времени суток! Хочу поделиться своим опытом по созданию системы видеонаблюдения в доме. Полностью весь процесс от идеи до воплощения в реальность, начну обо всем по порядку.


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

PiJuice: портативная батарея для Raspberry Pi

Reading time1 min
Views20K


Линейка мини-ПК Raspberry не теряет актуальности. На основе «малинок» уже создано большое количество разного рода устройств и систем. Это и медиа-центры, и игровые приставки, и даже суперкомпьютеры с роботами. Для того, чтобы использовать Raspberry Pi, нужно подключить питание, клавиатуру, мышку, дисплей. Ну, а если нужно работать с Raspberry Pi в автономном режиме, без доступа к электрической сети?

В таком случае можно использовать PiJuice. Это модуль батареи для «малинки», проект, который сейчас собирает средства на Kickstarter.
Читать дальше →

IPv6 — это весело, часть 2

Reading time14 min
Views166K
Введение: Добрый день или вечер, или даже ночь дорогие хабравчане. В данной статье продолжим изучать особенности протокола IPv6 и его отличия от IPv4. В данной статье будет минимальное количество теории и максимальное количество настройки. Начнем с настройки DHCPV6 и рассмотрим особенности работы этого протокола на основе протокола IPv6, также посмотрим на то, как настраиваются протокола динамической маршрутизации на основе IPv6. Оборудования для настройки выберем Cisco (в третей части Juniper).

IPV6 — это весело. Часть 1
Читать дальше →

Система централизованного управления авторизацией пользователей на FreeIPA в Docker

Reading time6 min
Views92K
На волне популярности Docker на Хабре, после участия в некоторых дискуссиях в комментариях относительно Docker, и в связи с недавней необходимостью настроить централизованную авторизацию для кластера Linux машин, я решил написать небольшую заметку. Здесь будет показан яркий, на мой взгляд, пример применения Docker'a для небольшой частной задачи.

Вот так, кстати, выглядит FreeIPA WebUI (официальное демо) (кликабельно):



Какие задачи я хотел решить при помощи FreeIPA:
  1. Иметь возможность создавать/изменять/удалять акаунты пользователей централизовано, а не на каждом отдельном сервере
  2. Централизованные плавила для sudo
  3. В последствии мы подключим к этой системе ещё и VPN авторизацию, а потом может и другие внутриофисные сервисы

Да, скорее всего FreeIPA в нашем случае это выстрел пушкой по воробьям, но с другой стороны — альтернатив что-то не видно. Я рассматривал такие варианты: NIS (по-моему он уже давно должен отправиться на отдых), OpenLDAP +… +… (не очень дружелюбно, да и FreeIPA в итоге под собой имеет LDAP, только нам не приходится с ним иметь дело напрямую), тут перечень заканчивается, я не нашёл ничего больше.

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

Создание плагина для логической репликации в PostgreSQL 9.4+

Reading time7 min
Views12K
Как многие интересующися знают, в PostgreSQL в версии 9.4 появилось (наконец-то) логическое декодирование (logical decoding). Теперь, чтобы сделать свою репликацию, необязательно разбираться с форматом бинарных wal файлов или писать триггеры (может были еще способы), а преобразовать данные в удобный для себя формат. Для этого достаточно написать плагин к PostgreSQL, который будет этим заниматься. В статье описывается плагин, который преобразует данные в JSON.
Читать дальше →

Реверс-инжениринг драйверов USB-устройств на примере машинки на радиоуправлении

Reading time10 min
Views55K
Перевод статьи DRIVE IT YOURSELF: USB CAR

image

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

Красота свободного софта в том, что эту проблему можно решить самостоятельно (если вы программист). Конечно, всё зависит от сложности оборудования. С трёхмерной веб-камерой у вас может и не получится – зато многие USB-устройства довольно просты, и вам не придётся нырять в глубины ядра или закапываться в С. В этом уроке мы с вами при помощи Python по шагам изготовим драйвер к игрушечной радиоуправляемой машинке.

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

Стальной манипулятор HEXAPOD

Reading time7 min
Views76K
image

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

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

Дешифрация TLS трафика Java приложений с помощью логов

Reading time8 min
Views21K


Отладка защищенных по SSL/TLS интеграций у Java приложений порой становится весьма нетривиальной задачей: соединение не ставится/рвется, а прикладные логи могут оказаться скудными, доступа к правке исходных кодов может не быть, перехват трафика Wireshark'ом и попытка дешифрации приватным ключом сервера (даже если он есть) может провалиться, если в канале применялся шифр с PFS; прокси-сервер вроде Fiddler или Burp может не подойти, так как приложение не умеет ходить через прокси или на отрез отказывается верить подсунутому ему сертификату…

Недавно на Хабре появилась публикация от ValdikSS о том, как можно с помощью Wireshark расшифровать любой трафик от браузеров Firefox и Chrome без обладания приватным ключом сервера, без подмены сертификатов и без прокси. Она натолкнула автора нынешней статьи на мысль — можно ли применить такой подход к Java приложениям, использовав вместо файла сессионных ключей отладочные записи JVM? Оказалось — можно, и сегодня, уважаемые однохабряне, я расскажу, как это сделать.
Читать дальше →

Плохо документированные особенности Linux

Reading time8 min
Views67K
Привздохнув, произнесла:
«Как же долго я спала!»
image Когда-то, впервые встретив Unix, я был очарован логической стройностью и завершенностью системы. Несколько лет после этого я яростно изучал устройство ядра и системные вызовы, читая все что удавалось достать. Понемногу мое увлечение сошло на нет, нашлись более насущные дела и вот, начиная с какого-то времени, я стал обнаруживать то одну то другую фичу про которые я раньше не знал. Процесс естественный, однако слишком часто такие казусы обьединяет одно — отсутствие авторитетного источника документации. Часто ответ находится в виде третьего сверху комментария на stackoverflow, часто приходится сводить вместе два-три источника чтобы получить ответ на именно тот вопрос который задавал. Я хочу привести здесь небольшую коллекцию таких плохо документированных особенностей. Ни одна из них не нова, некоторые даже очень не новы, но на каждую я убил в свое время несколько часов и часто до сих пор не знаю систематического описания.

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

Обратите внимание, в заголовке я написал «плохо документированные» а не «малоизвестные», поэтому тех кто в курсе прошу выкладывать в комментариях ссылки на членораздельную документацию, я с удовольствием добавлю в конце список.
Читать дальше →

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

Reading time13 min
Views53K
Представьте себе высокоуровневый язык, в котором не нужно указывать КАК получить результат, вместо этого нужно просто указать ЧТО вы хотите получить. При этом область применения языка не ограничена и язык способен решать те же задачи, что и любой другой высокоуровневый язык, наподобие JAVA. Кажется фантастикой, не правда ли? Однако такой язык есть и называется он PROLOG. Посмотрим как PROLOG справляется с этой задачей на примере загадывания прологу некоторых загадок и попросим PROLOG выдать доказательство теоремы.

image

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

Наручные часы на основе Arduino, созданные на 3D-принтере за один субботний вечер

Reading time2 min
Views65K
В прошлой публикации я рассказал, как сделать начинку для светобудильника на основе Arduino.
Сегодня же поделюсь описанием другого простого решения. Дело в том, что захотелось создать на 3D-принтере что-то для себя, индивидуальное, личное, не слишком примитивное, и что бы радовало. Была выбрана идея — сделать наручные часы. И польза от них есть, и выглядят необычно. В итоге сделал все на одном дыхании и всего за несколько часов. Получился неплохой аксессуар. Судите сами.


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

Защита устройств от неправильной подачи полярности питания

Reading time3 min
Views223K
image
При проектировании промышленных приборов, к которым предъявляются повышенные требования по надёжности, я не раз сталкивался с проблемой защиты устройства от неправильной полярности подключения питания. Даже опытные монтажники порой умудряются перепутать плюс с минусом. Наверно ещё более остро подобные проблемы стоят в ходе экспериментов начинающих электронщиков. В данной статье рассмотрим простейшие решения проблемы — как традиционные так и редко применяемые на практике методы защиты.
Читать дальше →

IPV6 — это весело. Часть 1

Reading time13 min
Views298K
Возникла у меня идея познакомить публику Хабра с IPv6 и настройкой протоколов на основе этого замечательного и еще плохо изученного сетевыми специалистами протокола. Для этих целей я остановлюсь на двух основных вендорах, это Juniper и Cisco. Моя статья будет состоять из трех частей. В первой части я соберу всю самую скучную, но очень нужную теорию. Рассмотрим поля протокола ipv6, принципы работы, разбиение на подсети и поставлю себе задачу, как можно больше акцентировать внимание на отличии его от любимого IPv4.

Ну что же, начнем, и начнем мы с плана.

План


• Заголовок IPv6 в сравнении с IPv4
• Представление IPv6-адресов
• Типы совместного использование протоколов IPv4 и IPv6
• Типы адресов
• Разбиение на подсети
Читать дальше →

Электронная подпись в доверенной среде на базe загрузочной Ubuntu 14.04 LTS и Рутокен ЭЦП Flash

Reading time5 min
Views23K
Процедура наложения электронной подписи, призванная обеспечить подтверждение целостности подписанного документа и его авторства, сама по себе может быть небезопасной.
Основные атаки на ЭП — это кража ключа и подмена подписываемой информации, а также несанкционированный доступ к средству ЭП (например, USB-токену) посредством кражи его PIN-кода.

Реализуются данные атаки различными способами и на различных уровнях. На уровне ОС это внедрение вредоносного ПО (вирусы, программы-шпионы, руткиты и т.п.), которое способно похищать ключи, PIN-коды и делать подмену документов посредством чтения и/или подмены данных в памяти системного процесса, используя различные механизмы «хака», заложенные в ОС.
Если мы говорим о подписи в браузере, то к данным атакам добавляется возможность проведения атаки man-in-the-middle, направленной на модификацию подписываемых данных на web-странице или на кражу PIN-кода или на перехват secure token для возможности злоумышленнику прикинуться абонентом системы. Кроме того, на сайтах возможна атака типа CSS, обусловленная безалаберностью разработчиков сайта.

Очевидно, что максимально защитить клиента при проведении процедуры ЭП возможно лишь комплексом мер.
К данным мерам можно отнести:
  • применение для электронной подписи криптографических смарт-карт/USB-токенов с неизвлекаемыми ключами
  • использование правильной реализации протокола TLS на сайте
  • правильное конфигурирование этой правильной реализации протокола TLS
  • использование специальных аппаратных средств для визуализации подписываемых данных перед наложением подписи (trustscreen)
  • корректная реализация браузерных плагинов и расширений, которые обеспечивают ЭП в браузере
  • регламентирование процедуры подписи для пользователя с учетом встроенных в браузер механизмов безопасности
    • проверка сертификата TLS-сервера пользователем перед ЭП
    • запуск браузерных плагинов и расширений только на доверенном сайте (сейчас правильно настроенные браузеры предупреждают пользователя о запуске)
    • ввод PIN-кода токена по запросу только доверенного сайта
    • реагирование на предупреждение браузера о получении «смешанного» контента — часть по HTTPS, часть по HTTP
  • защита ОС от вредоносного ПО (создание доверенной среды)

Некоторое время назад наша компания выпустила новый Рутокен ЭЦП Flash. Это устройство «два в одном» — криптографический токен и управляемая FLASH-память в едином корпусе. При этом контроллер позволяет настраивать FLASH-память таким образом, что атрибуты настройки нельзя изменить без знания PIN-кода к устройству.

В данной статье мы сделаем кастомную Ubuntu 14.04 LTS, в которую «упакуем» смарткарточные драйвера и Рутокен Плагин. Эту ОС запишем на FLASH-память Рутокен ЭЦП Flash (USB-live) и специальными средствами сделаем ее read-only, так, что без знания PIN-кода злоумышленник не сможет снять этот атрибут.

Таким образом, получим загрузочное устройство, при загрузке с которого пользователь сразу получит возможность подписи документов в браузере на неизвлекаемых ключах в доверенной среде, целостность которой гарантируется управляющим контроллером USB-токена.
Читать дальше →

Разбираемся с загрузкой ArchLinux по сети

Reading time11 min
Views41K
В предыдущей статье мы подготовили базовую систему. Закончим настройку в следующей статье.

Здесь мы создадим новую систему Arch Linux, способную загружаться по сети и автоматически запускать браузер Firefox, а между делом разберёмся с необходимой функциональностью загрузочного сервера. Потом настроим сам сервер и попробуем с него загрузиться. Всё произойдёт в точности, как на картинке, которую нашёл гугл по запросу «PXE»:


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

Проект инфо-панели оповещения об авариях (Часть 3)

Reading time3 min
Views21K
Приветствую всех.
Вот уже третья часть довольно сильно затянувшейся истории (раз, два).
Устройство ещё не завершено, хотя почти все основные блоки в настоящий момент собраны:
— Индикаторы (2);
— Процессорный модуль (в этой части);
— Блок питания (импульсный преобразователь 48V -> 5V до 6А) (в процессе, пауза из-за окончательно сломавщихся щупов к осциллографу (кЕтай));

План действий:
[+] SD-Card-Sector
[+] FAT-FS
[+>] OneWire async
[-] Slave firmware
[part] Ethernet
[-] Протокол обмена между процессорами
[-] Bootloader

Осторожно, фото.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity