Search
Write a publication
Pull to refresh
-1
0
Павлов Дмитрий @Dimonyga

System architect

Send message

Создание операционной системы на базе ядра linux. С нуля

Reading time7 min
Views214K
Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.
Читать дальше →

ARM — это сложно…?

Reading time3 min
Views105K
После моей недавней статьи на хабре про рвущие все по цене армы было высказано много мнений, что ARM-у нужна 4-6-слойная плата, ну уж 2 то как минимум, и куча обвязки.

Я решил попробовать доказать, что это далеко от истины, и сделал платку, проще которой трудно: 1 сторонняя, 1 обязательный конденсатор (до стабилизатора не обязательно), 1 резистор, один стабилизатор 3.3V, и наконец младший STM32: STM32F100C4T6B — 16кб флеш, 4кб SRAM, 48 ног, Cortex-M3(!!!) с DMA, дебагом на лету, 32*32+32->32 за 1 такт и всеми прочими радостями за 28 рублей.
Читать дальше →

Создаем систему видеонаблюдения с помощью motion

Reading time3 min
Views115K
В этой статье я хочу рассказать о настройке и использовании домашней системы слежения. Вы сможете сделать за любой территорией, попадающей в поле зрения вышей веб-камеры, отправлять себе сообщение при обнаружении активности в этой области, делать снимки, транслировать изображение по сети (можно прикрутить авторизацию для доступа видео с вашей веб-камеры и смотреть удаленно, если у вас есть статический ip) вообще что захотите — полный контроль и свобода выбора, что в общем характерно для ос gnu/linux и подобных (в дальнейшем речь пойдет именно о linux).
Читать дальше →

Разработка своего первого USB устройства. Маленький шаг вперед

Reading time5 min
Views62K
Давным-давно уже бредил мечтой собрать какое-нибудь устройство, пусть незамысловатое, но которое бы выполняло определенные действия под управлением компьютера. По профессии я web-разработчик, опыта в программировании микроконтроллеров никакого, но тема интересная. Навыков пайки тоже мало (ну наушники или проводки разные могу спаять конечно, но чипы паять не пробовал). Поэтому решил, что начинать необходимо с чего-то простого — например на основе уже готовой макетной платы с микроконтроллером. 

Что будет в посте?

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

Android Development Tutorial. Часть 1/?

Reading time6 min
Views121K
Ларс Вогель — евангелист Eclipse.
Под катом Вы обнаружите перевод его статьи, которая описывает процесс создания Android-приложений с помощью Eclipse. Используется Eclipse 3.6, Java 1.6 и Android 2.3 (Gingerbread).
Часть 2
Читать дальше →

Это должен знать каждый

Reading time3 min
Views83K
Спрос на Android-разработчиков весьма велик сейчас. Я решил подготовить список того, что нужно знать каждому разработчику под эту платформу. Это не только то, что вас могут спросить на собседовании, а весь спектр знаний, который скорее всего пригодится в работе. Бонусом идет пара интерсных вопросов про платформу.
Читать дальше →

Подробное руководство по установке Android-x86

Reading time3 min
Views256K
Эмулятор который идет в комплекте с Android SDK, не очень шустрый.
Основная идея использовать VirtualBox + Android X86, для преодоления проблем с производительностью.

Что нам необходимо:
Среда разработки Eclipse + Android SDK тут,
а также VirtualBox.

Под катом много картинок, и процесс установки, а также некоторые полезные советы.
Читать дальше →

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

Reading time10 min
Views20K
AnybotsДобрый день, уважаемые хабрапользователи.

Началось всё с того, что однажды в новостях я увидел робота телеприсутствия от фирмы AnyBot (слева на картинке). Это был уже их второй робот, стоимость которого им удалось снизить аж в два раза, с 30 до 15 килодолларов. Эта сумма мне показалось несколько великоватой для «вебкамеры на колёсиках». Хотя я тут несколько лукавлю, у этого бота весьма неплохая основная камера с большим разрешением и оптическим зумом, плюс дополнительная «навигационная камера», всенаправленный и узконаправленный микрофоны и прочие прелести профессиональных устройств. Но, тем не менее, за те же деньги можно купить новенький автомобиль. Посему, из сугубо спортивного интереса, было решено сделать простейшее устройство телеприсутствия из подручных средств и с минимальными затратами. «Под руками» оказались папин ноутбук Toshiba Satellite с мёртвым аккумулятором и живым LPT портом, моторредуктор стеклоподъёмника его же Нивы и еще разная мелочёвка.
Что из этого получилось, можно узнать под катом.
Читать дальше →

Прозрачное кэширование в nginx для всех и каждого

Reading time2 min
Views115K
Представим, что у нас есть сайт, на который регулярно дают ссылки с хабра.
Нам нужно подготовить его к резким всплескам посещаемости. Как это сделать?

С версии 0.8.46 в nginx появились опции, позволяющие легко и просто настроить прозрачное кэширование для анонимных пользователей.

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

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

Операционная система реального времени QNX: Знакомство

Reading time6 min
Views148K
Так сложилось, что моя деятельность связана с операционной системой реального времени (ОСРВ) QNX. Уже несколько лет занимаюсь разработкой как под эту ОС, так и некоторых частей самой системы. Обратил внимание на то, что поиск на хабре выводит немного результатов по запросу QNX, однако, мне кажется, что эта ОСРВ может быть интересна не только специалистам по встраиваемым и высоконадёжным системам, но и более широкой публике. Не секрет, что планшетный компьютер BlackBerry PlayBook производства компании RIM основан на QNX и имеет популярность и у нас.

Немного о QNX


ОСРВ QNX это не клон или дистрибутив Linux или ответвление какой-то другой UNIX-подобной системы. QNX самостоятельная UNIX-подобная операционная система реального времени, основанная на микроядре и передаче сообщений. Современные версии QNX имеют поддержку стандартов POSIX (и сертифицированны по ним). Первая версия QNX вышла в далёком 1981 году. С тех пор утекло достаточно много времени и поколения QNX сменяли друг друга: QNX2, QNX4 и, наконец, QNX 6 (или QNX Neutrino). Старичок QNX2 и сейчас ещё используется, хотя его расцвет пришёлся на 80-е годы прошлого столетия. Надёжная и более современная ОСРВ QNX4 могла конкурировать на десктопе с Windows в середине 90-х
Да, я хочу узнать больше о QNX.

Охранная система, проект умный дом (часть 2)

Reading time3 min
Views8.5K
охранная системаВ предыдущем посте был описан начальный этап создания охранной системы, с подробным описанием выбора и подключения датчиков к микроконтроллеру, передачи информации на компьютер и создание макета комнаты для тестирования и отладки самой системы. Прочитать об этом можно здесь на хабре и более подробно вот здесь, на сайте проекта. И в конце той статьи, мы поделились своими планами по поводу дальнейшего развития проекта, которые были скорректированы после некоторых комментариев (за это огромное спасибо).
Ниже, после хабраката будет небольшой рассказ, как можно использовать для оповещения — социальные ресурсы, а в частности twitter, а так же как сделать из подручных средств поворотную камеру, управляемую от микроконтроллера, ну и в конце будут итоги и планы по развитию.
Читать дальше →

Автоматическая установка Citrix XenServer

Reading time3 min
Views11K
Недавно и я стал обладателем сервера HP ProLiant MicroServer N36L. То, что на нем будет стоять Citrix XenServer, было решено заранее, тем более положительный опыт установки на этот сервер имеет место быть. Задачу установки немного усложняло то, что я был в отпуске. Дома, кроме буков и пары мышек, больше компьютерной техники нет. А для установки хотелось бы иметь клавиатуру, которую можно было принести с работы, и монитор. Проблема с монитором решилась просто, на телевизоре оказался VGA-разъем, дома нашелся кабель для него. Решил попробовать установить XenServer в автоматическом режиме, наблюдая за установкой по телевизору. Так как на сервере отсутствует оптический привод, устанавливать будем с флэшки.
Читать дальше →

Skype to SIP Gateway своими руками

Reading time4 min
Views14K

Шлюз на базе Asterisk — Skype for Asterisk и alix.



Сделать такой шлюз я решил когда понял что SFA можно будет купить только до 26 июля и зарегистрировать его нужно тоже до 26 июля, Лицензия SFA привязывается как минимум к мак адресу железа на котором он установлен и для этого я взял ALIX и Voyage Linux.

Задачи:
1) Обеспечить входящий вызов из сети Skype в SIP.
2) Обеспечить исходящие вызовы из SIP сеть в Skype.

Для начала купил тут собранную коробку на базе плат ALIX с предустановленной Askozia. Поскольку Askozia никак не дружит с SFA снес ее сразу :). Выбор пал на дистрибутив Voyage который прекрасно работает на ALIX-ах и устанавливается за 5 минут на любую CF карту.
Читать дальше →

Текстильный принтер своими руками с минимумом затрат

Reading time2 min
Views48K
Как то захотел я напечатать себе картинку на футболку. Залез в интернетик — а там, оказывается, у людей суперпринтеры есть, которые на этих футболках и печатают. Отлично, подумал я — а не купить ли мне такой же? Но, посмотрев цены на них со мной случилась драма и трагедия. Как то дороговато они стоят — тысяч за пять вечнозеленых можно найти какой нибудь б/у и это будет дешево. В общем немного не та сумма, что бы покупать его как игрушку. И тут я вспомнил про старый добрый EPSON 1290, который пылился в чулане на офисе…

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

Текстильный принтер своими руками — продолжение

Reading time2 min
Views91K
Недавно я тут писал про текстильный принтер из, практически, подручных материалов.
Суть была исключительно убедиться в работоспособности идеи — и это удалось. Но на этих выходных я решил довести дело до конца, устранить выявленные косяки и максимально приблизить аппарат по функционалу к продаваемым решениям. Итак, начал с изготовления рамы.
image
Читать дальше →

Повышение производительности netfilter, использование ipset

Reading time3 min
Views41K
iptables — интерфейс к файрволу Linux (netfilter). При большом количестве правил iptables нагрузка может быть достаточно высокой и создавать проблемы. В этой заметке я постараюсь описать, что влияет на производительность iptables и как ее повысить.
Читать дальше →

AEL в asterisk

Reading time3 min
Views35K
В последнее время на хабре появилось довольно много статей, посвященных астериску и во всех статьях авторы для описания dial plan'а используют стандартный extensions.conf. Я не буду описывать здесь формат записи в extensions.conf, а лишь постараюсь кратко описать его различия с конфигурационными файлами в формате AEL(extensions.ael), которых на самом деле совсем немного, а вот удобств ael добавляет значительно. В дальнейшем, для удобства, dial plan, описанный в extensions.conf буду называть «обычным» форматом, ну а ael — соответственно ael. Давайте рассмотрим пример простейшего dial plan'a в обычном формате:
;
[internal]
exten => s,1,Answer                                                             
exten => s,n,Background(someivr)
exten => s,n,Read(intgroup,,3)
exten => s,n,Goto(${intgroup},1)
exten => XXX,1,Dial(SIP/${EXTEN})
exten => XXX,n,HangUp


А вот так этот же контекст будет выглядеть в синтаксисе ael:

context internal {
	s=> {
		Answer;
		Background(someivr);
		Read(intgroup,,3);
		Goto(${intgroup},1);
	}
	XXX => {
		Dial(SIP/${EXTEN});
		HangUp;
	}
}

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

SMS и SIP шлюз — Мультифон, Asterisk, Kannel

Reading time5 min
Views85K
В данной статье дается описание того, каким образом можно объединить достоинства Asterisk как PBX или IVR, Kannel как SMS-шлюза используя один телефонный номер.

Для этого я использовал Freebsd 8.2 на сервере, модем Huawei E171, но можно использовать любой модем МТС или Мегафон производства huawei (так же было проверено на модеме E1551), сим-карту Мегафона. В качестве софтфонов использовались Telephone и SJphone.
Читать дальше →

Архитектура Aggregation-Access сети крупных провайдеров

Reading time5 min
Views12K

Архитектура сетей современных операторов связи отлично описана во всяческих мануалах, гайдах по подготовке к сертификациям Cisco и просто умных и хороших книжках. Но многие из них концентрируются именно на MPLS Core с интересными особенностями этой технологии (как то Traffic Engineering, MPLS BGP Multipath и прочее), обходя внимание distribution-access сегмент. Предлагаю поговорить именно об архитектуре сети доступа, принятой в крупных провайдерах. В качестве примеров будем рассматривать сети доступа одного из операторов ОАЭ (назовем его UAE Telecom) и Tier 1 оператора из США (скажем, USA Telecom), с которыми мне посчастливилось работать. По информации, такую же aggregation-access архитектуру имеет IP сеть одного из крупных украинских операторов.
Читать дальше →

Обзор шины SPI и разработка драйвера ведомого SPI устройства для embedded Linux (Часть вторая, практическая)

Reading time15 min
Views49K
Это вторая часть моей статьи по разработке драйверов для ведомых SPI устройств в Linux. Предыдущая часть находится здесь.

3. Разработка userspace протокольного SPI драйвера с использованием spidev


Как уже было сказано выше, для SPI устройств существует ограниченная поддержка userspace API, с поддержкой базовых полудуплексных read() и write() вызовов для доступа к ведомым SPI устройствам. Используя ioctl() вызовы, можно производить полнодуплексный обмен данными с ведомым устройством, а также изменение параметров устройства.
Читать дальше →

Information

Rating
Does not participate
Location
Вильнюс, Литва, Литва
Date of birth
Registered
Activity