Как стать автором
Обновить
0
0
Юрий @rj45

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

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

Генерируем произвольные последовательности на выводах платы Raspberry Pi

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


Автор: Николай Хабаров, Embedded Expert DataArt, евангелист технологий умного дома.

В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени.

Когда речь заходит о необходимости сгенерировать сложную последовательность импульсов, например, для шаговых двигателей, обычно используют старые добрые простенькие микроконтроллеры с установленной специальной операционной системой реального времени или вообще без операционной системы. Реализация при этом, в лучшем случае, написана на C++. Сейчас процессоры шагнули далеко вперед и имеют массу преимуществ: производительность, возможность использования операционной системы Linux со всей инфраструктурой и ПО, а также высокоуровневых языков программирования, таких как Python. И все же современные микроконтроллеры для генерирования сложных последовательностей на выводах GPIO, как правило, не используют.

Я реализовал генерацию импульсов для управления шаговыми двигателями проекта PyCNC — проекта контроллера машин с ЧПУ, станков, 3D-принтеров, полностью написанного на Python и запускаемого на современном ARM-процессоре на плате Raspberry Pi.

Статья может быть полезна желающим реализовать генерацию сложных последовательностей установки уровней на выводах одного или нескольких GPIO на других высокоуровневых языках программирования, используя DMA-модули других процессоров.
Всего голосов 8: ↑7 и ↓1+6
Комментарии22

Космонавтика-2016 на Geektimes, часть 2

Время на прочтение6 мин
Количество просмотров13K
Все события и темы из области космонавтики, о которых мы говорили на Geektimes в 2016 году, невозможно было добавить в одну статью. И даже в две. Поэтому продолжаем разговор. Первую часть читайте по этой ссылке.

image
Всего голосов 28: ↑28 и ↓0+28
Комментарии7

Верстка для самых маленьких. Верстаем страницу по БЭМу

Время на прочтение14 мин
Количество просмотров389K
Недавно хабраюзер Mirantus написал статью «Как сверстать веб-страницу», в которой рассказывал о том, как же сверстать веб-страничку. В его статье было подробно рассмотрено, как выделить отдельные элементы из заданного шаблона, подобрать шрифты и т.п. Однако его подход к написанию, собственно, веб-страницы мне показался не очень хорошим, о чем я написал в комментариях.

В данной статье я хочу рассказать, о том, как можно сверстать «хорошо» (по крайней мере структурировано ;), а заодно рассказать и о методологии, которая может «упростить жизнь» при верстке. Структура поста будет следующей:

  • BEM
  • Собственно пример — как сверстать страницу

Читать дальше →
Всего голосов 154: ↑133 и ↓21+112
Комментарии172

Как сделать из мухи слона

Время на прочтение21 мин
Количество просмотров75K
Многим известна такая старая добрая игра со словами, сделать из мухи слона. Суть её в том, что нужно из начального слова сделать конечное, на каждом шаге меняя только одну букву, получая при этом на каждом шаге осмысленное существительное.

Известный автор книг по занимательной математике Е. Я. Гик в своей книге "Занимательные математические игры" опубликовал такое 16-ходовое решение, как из мухи сделать слона: муха-мура-тура-тара-кара-каре-кафе-кафр-каюр-каюк-крюк-урюк-урок-срок-сток-стон-слон.

муха и слон

И вот, в один прекрасный день мне довелось заняться решением этой задачи в программном виде.
Читать дальше →
Всего голосов 42: ↑32 и ↓10+22
Комментарии17

Дайджест интересных материалов для мобильного разработчика #117 (17-23 августа)

Время на прочтение3 мин
Количество просмотров12K
На этой неделе получился большой дайджест – более 50 материалов про виртуальную реальность, про новый Android, который теперь маршмэллоу, про Sailfish OS, про борьбу с Google Play и поиск в магазине, про нестандартные способы монетизации приложений и 19 метрик, о которых вы, возможно, не знали.

Добро пожаловать!
Всего голосов 29: ↑23 и ↓6+17
Комментарии3

Как пасти котов. Наставление для программистов, руководящих другими программистами

Время на прочтение7 мин
Количество просмотров135K
Привет, Хаброжители!
У нас вновь вышла книга Дж. Рейнвотера.

image«Как пасти котов» — это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды программистов. Даже если вы еще месяц назад были блестящим и дисциплини-рованным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руко-водства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач. В таком случае без этой книги вам не обойтись. А может быть, вы — опытный менеджер, желающий пересмотреть свои принципы лидерства? Тогда, опять же, эта книга для вас. Вне зависимости от возраста, пола и социального статуса она поможет вам укрепить свои позиции в роли лидера программистов. Материал изложен довольно компактно и легко укладывается в голове. Стоя в книжном магазине и раздумывая, что же купить, задайте себе один простой вопрос: «Нужно ли мне совершенствовать свои лидерские навыки?» Полагаю, вы ответите: «Да», — а значит, данная книга окажется для вас небесполезной.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии32

Простейший физический движок

Время на прочтение4 мин
Количество просмотров64K
Вас интересуют игры? Хотите создать игру но не знаете с чего начать? Тогда вам сюда. В этой статье я рассмотрю простейший физический движок, с построения которого можно начать свой путь в GameDev'e. И да, движок будем писать с нуля.
Читать дальше →
Всего голосов 42: ↑32 и ↓10+22
Комментарии38

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №173 (16 — 23 августа 2015)

Время на прочтение7 мин
Количество просмотров30K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии3

PHP-Дайджест № 68 – интересные новости, материалы и инструменты (27 июля – 24 августа 2015)

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


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии8

Кластеризация графов и поиск сообществ. Часть 1: введение, обзор инструментов и Волосяные Шары

Время на прочтение10 мин
Количество просмотров48K
Привет, Хабр! В нашей работе часто возникает потребность в выделении сообществ (кластеров) разных объектов: пользователей, сайтов, продуктовых страниц интернет-магазинов. Польза от такой информации весьма многогранна – вот лишь несколько областей практического применения качественных кластеров:

  1. Выделение сегментов пользователей для проведения таргетированных рекламных кампаний.
  2. Использование кластеров в качестве предикторов («фичей») в персональных рекомендациях (в content-based методах или как дополнительная информация в коллаборативной фильтрации).
  3. Снижение размерности в любой задаче машинного обучения, где в качестве фичей выступают страницы или домены, посещенные пользователем.
  4. Сличение товарных URL между различными интернет-магазинами с целью выявления среди них групп, соответствующих одному и тому же товару.
  5. Компактная визуализация — человеку будет проще воспринимать структуру данных.

С точки зрения машинного обучения получение подобных связанных групп выглядит как типичная задача кластеризации. Однако не всегда нам бывают легко доступны фичи наблюдений, в пространстве которых можно было бы искать кластеры. Контентые или семантические фичи достаточно трудоемки в получении, как и интеграция разных источников данных, откуда эти фичи можно было бы достать. Зато у нас есть DMP под названием Facetz.DCA, где на поверхности лежат факты посещений пользователями страниц. Из них легко получить количество посещений сайтов, как каждого в отдельности, так и совместных посещений для каждой пары сайтов. Этой информации уже достаточно для построения графов веб-доменов или продуктовых страниц. Теперь задачу кластеризации можно сформулировать как задачу выделения сообществ в полученных графах.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии17

Обход авторизации через социальные сети при подключении к публичным Wi-Fi

Время на прочтение2 мин
Количество просмотров95K
Все началось с того что я наткнулся на статью. Вкратце, в ролике показано, как два пользователя подключаются к сети заведения и заходят в браузер, в котором открывается страница с предложение авторизоваться через «ВКонтакте»: необходимо ввести логин/пароль, вот только домен не vk.com, типичный фишинговый сайт. В итоге, при такой авторизации передаются третьей стороне учетные данные, и устанавливается приложение с неограниченными правами, которое имеет круглосуточный доступ к вашей странице.

Если погугулить можно найти большое количество компаний, готовых сделать подключение к вашему Wi-Fi через регистрацию в SMM.


Читать дальше →
Всего голосов 46: ↑40 и ↓6+34
Комментарии43

Ктулхи в банке: как мы решали ICFPC 2015

Время на прочтение21 мин
Количество просмотров12K
Небольшой отчет о том, как мы решали ICFP Contest 2015. Мы участвовали в данном соревновании впервые, однако результат получился довольно неплохой. Можно поискать нас в таблице промежуточных результатов под именем «WILD BASHKORT MAGES». Финальные результаты ожидаются в течение нескольких ближайших недель, когда организаторы протестируют все решения на полном наборе тестов.



В этом году в качестве задачи предлагалось написать решалку (или ИИ, кому как удобнее) для гексагонального тетриса. Все как в обычном тетрисе — укладываем фигурки, убираем заполненные строки, получая за это очки. Решение должно работать для разных размеров игрового поля и укладываемых фигурок произвольной конфигурации. Команды действий с фигурками (перемещения и повороты) кодируются обычными символами, в итоге решением является строка команд. За специальные секретные последовательности символов в строке-решении, называемые power words, даются дополнительные бонусные очки. По сюжету — данные строки именовались даваром, и организаторы собирали его для того, чтобы отсрочить пробуждение Ктулху.
Осторожно, около 3Мб картинок и гифок под катом
Всего голосов 54: ↑53 и ↓1+52
Комментарии1

Карьера в информационной безопасности

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


Во всех делах очень полезно периодически ставить знак вопроса к тому, что Вы с давних пор считали не требующим доказательств. Бертран Рассел.

Несмотря на высокую популярность профессии, связанной с информационной безопасностью, даже в условиях кризиса рынок испытыват нехватку квалифицированных кадров. Как правило, уровнь подготовки соискателей не соответвует их финансовым ожиданиям. Таким образом, компании вынуждены нанимать низкоквалифицированных специалистов, что негативно отражается как на качестве работы, так и на мотивации и лояльности к работодателю.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии12

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность