Как стать автором
Обновить
7
0
Равиль Аитов @rrrav

Пользователь

Отправить сообщение

Всё про USB-C: обеспечение питания

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров52K

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

Технология USB-C приходит на смену проприетарным круглым разъёмам зарядных устройств, которые мы привыкли использовать для ноутбуков и огромного числа других девайсов. Она соперничает с проприетарными разъёмами телефонных зарядок, постепенно делая их «изгоями» и подталкивая производителей к переходу на использование универсальных широкодоступных решений. Любителям мастерить электронику своими руками больше нет нужды использовать крохотные разъёмы MicroUSB и несоответствующие спецификации кабели, чтобы подать 3 А на свой жаждущий тока Pi 4. Сегодня для этого достаточно иметь гнездо USB-C с двумя резисторами или специальной микросхемой, если резисторы стоящую задачу решить неспособны.

Используя USB-C, вы получаете гораздо большую отдачу от вложенных средств. Это касается и питания, ведь не всем устройствам достаточно 15 Вт – некоторые требуют большего. Об этом и будет наша статья. В ней мы разберёмся, как можно обеспечить для вашего девайса бо́льшую мощность через USB-C.
Читать дальше →
Всего голосов 48: ↑45 и ↓3+59
Комментарии74

HabraTab — девайс для хаброзависимых

Время на прочтение9 мин
Количество просмотров14K

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

Что же получилось?
Всего голосов 92: ↑90 и ↓2+141
Комментарии53

Воспитай свой второй мозг. Увеличь продуктивность

Время на прочтение9 мин
Количество просмотров77K

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

Хотели бы вы иметь второй мозг? Мозг, способный запомнить всё. Мозг, в котором содержится вся полезная информация из книг, статей, видео, полученная вами?

Звучит прекрасно, не так ли? Может, когда‑то и казалось сказками, однако не сейчас.

Хочу всё знать!
Всего голосов 62: ↑55 и ↓7+56
Комментарии111

Эволюция фрактальных монстров

Время на прочтение9 мин
Количество просмотров27K
Сегодня будем рисовать геометрические фракталы, которым уделяют незаслуженно мало внимания. А между тем, тут каждый фрактал — маленький шедевр, поражающий воображение!


Дальше много картинок и gif-анимация. Но прежде, чем переходить под кат, посмотрите на картинку выше и скажите, что на ней нарисовано?
Читать дальше →
Всего голосов 66: ↑66 и ↓0+66
Комментарии16

Горизонтальное масштабирование. Что, зачем, когда и как?

Время на прочтение17 мин
Количество просмотров123K
Александр Макаров

Александр Макаров ( SamDark )


Здравствуйте! Я Александр Макаров, и вы можете меня знать по фреймворку «Yii» — я один из его разработчиков. У меня также есть full-time работа — и это уже не стартап — Stay.com, который занимается путешествиями.

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

Что такое масштабирование, вообще? Это возможность увеличить производительность проекта за минимальное время путем добавления ресурсов.

Обычно масштабирование подразумевает не переписывание кода, а либо добавление серверов, либо наращивание ресурсов существующего. По этому типу выделяют вертикальное и горизонтальное масштабирование.
Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии17

МиниАТС у себя дома

Время на прочтение13 мин
Количество просмотров48K
У меня есть стационарный телефон от Укртелекома. И все бы хорошо, если бы не воровали телефонный кабель. И вот оставшись очередной раз без городской связи, я решил заняться поиском альтернатив. Интернет у меня идет по оптике. Узнав что Укртелеком предоставляет услуги SIP телефонии я уже обрадовался решению проблемы малой кровью. Однако оказалось, что номер при этом у меня изменится. А ведь старый номер это единственное, что меня останавливало от ухода с Укртелекома. Ну раз потери номера мне было не избежать, тогда я решил более плотно заняться вопросом обеспечения себя связью.
Всего голосов 23: ↑22 и ↓1+21
Комментарии55

Техники захвата внимания пользователя — от фокусника и специалиста по вопросам дизайнерской этики в Google

Время на прочтение13 мин
Количество просмотров63K
Я эксперт в области того, как в технологиях используются слабые места нашей психики. Вот почему я проработал последние три года как специалист Google по этике в дизайне. Моя работа состояла в проектировании ПО таким образом, чтобы защитить умы миллиарда людей от «уловок».

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

Как технология эксплуатирует слабые места нашего разума?


Я научился так думать, когда был фокусником. Фокусники всегда начинают с поиска слепых пятен, краев, уязвимостей и пределов восприятия, так что они способны влиять на поведение людей, а последние даже не осознают этого. После того, как вы узнаете, как правильно нажимать на эти людские «кнопки», вы можете начать играть на них, будто на фортепиано.

image
Это я, творящий «волшебство» при помощи ловкости рук, на дне рождения моей матери

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

И я хочу показать вам, как они это делают.
Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии60

Linux в кармане — на службе у фотографа

Время на прочтение6 мин
Количество просмотров50K
Так получилось, что фотография, это мой основной профессиональный вид деятельности, а программирование — хобби, которое иногда позволяет размять мозг. Кроме непосредственно разминки для мозга, программирование помогает и в работе. Например, писал полезные штуки, такие как это или это, или это.

Недавно поставил себе задачу, как бы еще порадовать своих клиентов. Вспомнил многочисленные просьбы клиентов на свадебную съемку: «Как хорошо было бы, если бы на банкете вы смогли показать коротенькое слайдшоу из фотографий, которые отсняли за день». На эти просьбы приходилось отказывать, по нескольким причинам: лень таскать с собой ноутбук для сборки слайдшоу, нет времени на отбор пары десятков снимков из сотен, из raw опять же нужно конвертировать, и самое главное — на это все нужно время, которого нет.

Это рассказ, о том, как мне удалось сделать для себя инструмент, который с минимальным моим участием и минимальным дополнительным весом в рюкзаке, помогает сделать красивые слайдшоу. И конечно же рассказ о python, ffmpeg и linux на android.
Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии75

Let's Encrypt выходит в публичную бету: HTTPS всюду, каждому, отныне и навсегда бесплатно

Время на прочтение3 мин
Количество просмотров67K
Let's Encrypt

Let's Encrypt — это некоммерческая инициатива, предоставляющая бесплатный, автоматизированный и открытый CA (certificate authority — центр сертификации), созданный ISRG на благо общества:

  • бесплатно: владелец всякого доменного имени может воспользоваться Let's Encrypt и получить доверенный (читать как «признаётся любым современным браузером») TLS-сертификат (TLS — наследник SSL) совершенно бесплатно;
  • автоматизированно: Let's Encrypt предоставляет бесплатное и свободное программное обеспечение (клиент), которое, будучи настроенным на веб-сервере, может полностью автоматически запрашивать безвозмездно предоставляемые сертификаты Let’s Encrypt, автоматически конфигурировать и обновлять их;
  • безопасно: Let’s Encrypt строится как платформа для продвижения наилучших практик безопасности TLS как на стороне центра сертификации (CA), так и на стороне веб-сайтов, помогая администраторам должным образом настраивать веб-серверы;
  • прозрачно: информация о выпуске и отзыве каждого сертификата Let's Encrypt доступна вполне и публично так, что любой желающий изучить её сможет это сделать;
  • свободно: протоколы взаимодействия со CA, позволяющие автоматизировать процессы выпуска и обновления сертификатов, будут опубликованы как открытый стандарт для максимального внедрения;
  • кооперативно: как и любой протокол, лежащий в основе Интернета и Всемирной паутины, Let’s Encrypt является совместным, неподконтрольным какой-либо конкретной организации некоммерческим проектом созданным исключительно для того, чтобы принести пользу обществу.

Читать дальше →
Всего голосов 72: ↑71 и ↓1+70
Комментарии138

Моя система тестирования и повышения качества GSM шлюза, часть первая: функциональный и схемный уровень

Время на прочтение12 мин
Количество просмотров21K

Вторая часть

С чего всё начиналось


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

Но проблема в том, что для нас даже 1% брака недопустим: на каждый случай у тех поддержки и разработчиков уходило очень много времени на клиента. Да и для всех нас это недопустимо чисто из соображений профессиональной гордости. Мы хотели такой шлюз снять с производства, даже несмотря на то, что у нас была доля от каждого изделия. Это очень стыдно, когда дилеры про остальные изделия говорят: «у вас вообще брак бывает?», а про наши «мы боимся их продавать — у нас же потом ничего не купят».

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

Как мы от этого

Снизу платы только китайский GSM модуль

Пришли к этому
Верх:



Низ:



Расскажу как полностью изменилось изделие и появилась система тестирования и сопровождения производства. Расскажу как изменилась функциональная схема, объясню как работает электрическая схема доработанного варианта. А в следующих частях расскажу про логи и алгоритмы тестирования и чем тестируется плата. Приведу немного исходного кода. И расскажу об распределённой АРМ для прошивки, тестирования и анализа логов, что была развернута на производстве и у разработчиков.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии53

Создаем универсальный Install Server для автоматической сетевой инсталляции Linux и Windows на основе Cobbler

Время на прочтение33 мин
Количество просмотров31K
Cobbler — инструмент в мире Linux, который можно использовать как Install Server, создания многих сценариев инсталляции по сети на основе одного или нескольких дистрибутивов Linux. Есть также поддержка инсталляций FreeBSD, VMware, Xen и Nexenta.

Хотелось бы при помощи него также гибко и универсально создавать свои сценарии сетевой инсталляции с разных дистрибутивов Windows (XP, 2003, 7, 8, 2008, 2012).

Про то как настроить и использовать cobbler для инсталляции Linux исчерпывающе написано на его официальном сайте — https://cobbler.github.io. Я же здесь сосредоточусь на своем варианте решения задачи относительно Windows.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии11

Как надо дружиться с STM32

Время на прочтение3 мин
Количество просмотров355K
Не, не, не, все не так!

Давайте дружиться с STM32 правильно!

Самая главная ошибка, сделанная автором — это неправильно выбранный инструментарий.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии79

Попытка подружиться с STM32

Время на прочтение3 мин
Количество просмотров133K


В прошлый раз я издевался над микроконтроллерами ATtiny 85, сопрягая бедные восьминогие чипы с Arduino IDE. А потом мне захотелось посмотреть, что же за чудо такое — STM32, поклонники которых смотрят на программистов AVR (не говоря уж об ардуинщиках) с некоторым неодобрением. В процессе беглого гугления выяснилось, что STM32 «для идиотов» существует — есть проект Leaf Maple, в рамках которого — две платы на STM32F103 и среда разработки, являющая собой клон Arduino IDE.

Решающим фактором стала стоимость. Китайская версия Leaf Maple Mini продается за 4$ — это немногим дороже Arduino Nano. Заказав три штуки, я принялся ждать.

Пожалуй, со ставкой на Maple я немного поторопился — проект скорее мертв, чем жив. IDE не развивается, драйверов без бубна под Windows 8 нет, библиотеки в зачаточном состоянии, полное уныние и запустение. Ради интереса я поморгал светодиодом, запустив Maple IDE под OS X (заработало из коробки), а затем стал думать, с какой стороны подходить к плате для дальнейшего изучения.

Неведома зверушка
Всего голосов 33: ↑22 и ↓11+11
Комментарии25

STM32CubeMX — продвинутый генератор проектов для STM32

Время на прочтение3 мин
Количество просмотров104K
Пару недель назад STMicroelectronics выкатили обновление своей программы MicroXplorer, которая позволяла графически настроить инициализацию портов в конкретном STM32 для своих нужд, в том числе и делать ремап портов и визуально видеть что занято\свободно на текущий момент.
Выглядела эта программа следующим образом:
image
И позволяла на выходе получить *.c, *.h файлы в которых содержались функции по инициализации портов в соотвествии с заданными требованиями с использованием Standard Peripheral Library.
Что же решили изменить на этот раз?
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии8

ARM-ы для самых маленьких

Время на прочтение8 мин
Количество просмотров207K


Пару дней назад я опубликовал и потом внезапно убрал в черновики статью о плане написать про создание своей ОС для архитектуры ARM. Я сделал это, потому что получил много интересных отзывов как на Хабре, так и в G+.

Сегодня я попробую подойти к вопросу с другой стороны, я буду рассказывать о том, как программировать микроконтроллеры ARM на нарастающих по сложности примерах, пока мы не напишем свою ОС или пока мне не надоест. А может, мы перепрыгнем на ковыряние в Contiki, TinyOS, ChibiOS или FreeRTOS, кто знает, их там столько много разных и интересных (а у TinyOS еще и свой язык программирования!).

Итак, почему ARM? Возиться с 8-битными микроконтроллерами хотя и интересно, но скоро надоедает. Кроме того, средства разработки под ARM обкатаны долгим опытом и намного приятнее в работе. При этом, начать мигать светодиодами на каком-то «evaluation board» так же просто, как и на Arduino.

Читать дальше →
Всего голосов 129: ↑124 и ↓5+119
Комментарии66

Обзор платформы для разработчиков ST Nucleo на примере Nucleo-F401RE

Время на прочтение5 мин
Количество просмотров87K
Оценочные платы ST Nucleo:

image

Это открытая, недорогая и легко расширяемая отладочная платформа для разработки с широким выбором специальных плат расширения, для всей линейки 32-х битных микроконтроллеров STM32 архитектуры ARM Cortex-M3 и Cortex-M4.

image

Платы «ST Nucleo» дают возможность выбирать из различных сочетаний производительность, энергопотребление, и архитектурные особенности микроконтроллера. Платформа позволяет быстро, удобно и легко изучить особенности архитектуры и программирования микроконтроллера, опробовать свои идеи, создать прототипы с любым микроконтроллером семейства STM32.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии28

НЕ Arduino за 55 центов

Время на прочтение3 мин
Количество просмотров104K


Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.

Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.

А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии26

MPEG-DASH в nginx-rtmp-module: живое видео в браузере без флеша

Время на прочтение6 мин
Количество просмотров59K

Что такое MPEG-DASH


MPEG-DASH — технология нового поколения, позволяющая вещать адаптивный видео-поток. Данные разбиваются на фрагменты и передаются клиенту по протоколу HTTP. Это позволяет надежно передавать видео через существующую HTTP-инфрастуктуру, преодолевать прокси-сервера, а также безболезненно переносить проблемы с сетью, изменения сетевых адресов итд.
DASH — Dynamic Adaptive Streaming over HTTP. Стандарт DASH ISO/IEC 23009-1:2012 был разработан группой MPEG в 2011 году
Технология MPEG-DASH в целом аналогична другой известной технологии HLS (HTTP Live Streaming), разработанной компанией Apple и широко используемой на мобильных устройствах с iOS и Android. Поток представлен в виде небольших по длительности фрагментов и плейлиста (манифеста), содержащего метаданные потока и ссылки на фрагменты.

Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии25

Сервер онлайн-вещаний на базе nginx

Время на прочтение10 мин
Количество просмотров239K

Введение


Привет всем! Несколько месяцев назад на Хабре была опубликована статья «Вещание онлайн-видео с помощью nginx» , в которой Aecktann рассказал о своем опыте внедрения разрабатываемого мной модуля к nginx для вещания видео — nginx-rtmp-module. С тех пор продукт активно развивался и в этой статье я более подробно расскажу о нем.

Вещатель нужен для передачи видео-потока клиенту. Речь идет либо о живом потоке, либо о вещании записанного видео (VOD, Video-on-demand). Существует большое количество технологий вещания видео. Среди них можно выделить традиционные протоколы, такие как RTMP или MPEG-TS, а также появившиеся в последнее время технологии адаптивного вещания поверх HTTP. К последним относятся HLS (Apple), HDS (Adobe), Smooth Streaming (Microsoft), MPEG-DASH. При выборе технологии основным фактором является ее поддержка на клиентской стороне. Именно поэтому вещание в формате RTMP на текущий момент является одним из самых распространенных. Протокол HLS поддерживается устройствами компании Apple, а также некоторыми версиями Android.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии99

Захват видео с сетевых камер, часть 2

Время на прочтение19 мин
Количество просмотров257K

В первой своей статье «измерение расстояния до объекта и его скорости» я рассмотрел захват изображений с веб-камер через Video4Linux2 и через DirectX. В следующей статье «захват видео с сетевых камер, часть 1» я рассмотрел как работать с сетевыми Motion-JPEG камерами. Сейчас я поведаю Вам о захвате изображений с сетевых RTSP камер, в частности поток Motion-JPEG по RTSP.

Задача эта более сложная нежели Motion-JPEG по HTTP, так как необходимо больше действий, больше подключений, но взамен мы получаем большую гибкость, скорость, функциональность и даже некую универсальность. Честно говоря, RTSP для простых задач избыточен, но я не сомневаюсь, что найдутся ситуации, где он будет необходим.

Приступим
Всего голосов 64: ↑63 и ↓1+62
Комментарии39
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Backend Developer, System Software Engineer