Обновить
4
0
Николай Египко@Nikeware

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

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

Простой цифровой радиоприемник на базе контроллера STM32G4 своими руками

Время на прочтение44 мин
Охват и читатели49K

Обучающие проекты по созданию простого цифрового радиоприемника на базе микроконтроллера STM32G431KB.

Читать далее

Светодиодная матрица: управляем домашним уютом с помощью голоса

Время на прочтение10 мин
Охват и читатели16K

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

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

Поехали!

Библиотеки для цифровой обработки сигналов на C++

Время на прочтение3 мин
Охват и читатели13K

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

Подобрали три библиотеки на C++ для звукового синтеза.

Читать далее

Если у вас нашли SCRUM

Время на прочтение3 мин
Охват и читатели16K

Сразу хочу успокоить. Сегодня SCRUM это уже не так страшно как десять лет назад. Современная медицина достигла невероятных высот. Люди со SCRUM живут полноценной жизнью. Остаются активными членами общества. Главное -  своевременно подобрать правильный режим лечения.

Анамнез

Fiddler = удобный сниффер + прокси сервер

Время на прочтение8 мин
Охват и читатели181K

Привет. В данной статье расскажу как и зачем можно изменять HTTP пакеты при отправке на сервер и при получении ответов от сервера.
В статье много практических примеров.

Читать далее

Использование UDB в микроконтроллерах PSOC 4 и 5LP Infineon (Cypress) для управления светодиодами WS2812

Время на прочтение14 мин
Охват и читатели6.1K

Светодиоды типа WS2812 очень популярны, ими удобно управлять, передавая по одному проводу команды для сотен светодиодов. Они имеют, с одной стороны, очень простой протокол, а с другой стороны, в микроконтроллерах нет аппаратных интерфейсов для этого протокола и его приходится формировать программно управляя выводом микроконтроллера. В этом посте я расскажу, как с помощью UDB микроконтроллеров серии PSOC 4 и PSOC 5LP компании Infineon сделать периферийный модуль для управления этими светодиодами.

Очень длинный пост, много картинок→

Скриптинг в C# или динамическое выполнение в runtime

Время на прочтение4 мин
Охват и читатели27K

умаю, не многие знают, что в C# есть штука на подобии eval из других языков. Благодаря Rosyln API, можно во время выполнения скомпилировать и выполнить C# код. Пример использования можете посмотреть в моей реализации REPL-а для C#.

Впервые с такой штукой, как REPL, я познакомился когда теребил питона. В мире .NET есть похожая вещь под названием C# Interactive (CSI). Довольно удобная штука, но у нее есть один большой минус — она входит в состав инструментов Visual Studio, так что без установки VS, не получится ее использовать, а чтобы запускать ее без запуска VS, вообще надо лезть в ее недра (а точнее, через консоль запустить C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat), что так себе.

Есть еще такие проекты, как dotnet-script и cs-script (они работают через Microsoft.CodeAnalysis.CSharp.Scripting), но у них есть фатальный недостаток — они написаны не мной. Вот и появилась мысль, написать свой корявый велосипед, но со своими фичами! (которые тоже коряво работают). После недолгих поисков, мой взор упал на сие чудо: Microsoft.CodeAnalysis.CSharp.Scripting. Из плюсов — удобный API, возможность выполнять код без классов и namespace-ов.

Для начала...

Читать далее

Полное руководство по CSS Flex + опыт использования

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

Как и CSS Grid, Flex Box довольно сложен, потому что состоит из двух составляющих: контейнера и элементов внутри него.

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

Читать!

Интернационализация поиска по городским адресам. Реализуем русскоязычный Soundex на Sphinx Search

Время на прочтение14 мин
Охват и читатели3.9K

Как много в вашем городе иностранных туристов? В моём мало, но встречаются, как правило стоят потерянные посреди улицы и повторяют одно единственное слово – название чего бы то ни было. А прохожие пытаются им на пальцах объяснить куда пройти, а когда «моя твоя не понимать» – берут за руку и ведут к пункту назначения. Как это не удивительно, обычно цель в пяти минутах ходьбы, т.е. какое-то примерное представление о городе эти туристы всё же имели. Может по бумажной карте ориентировались.

А как часто лично вы оказывались в такой ситуации, в незнакомом городе в другой стране?

Появление смартфонов и приложений для навигации решило много проблем. Ура, можно посмотреть свою геолокацию, можно найти куда идти, прикинуть в каком направлении и даже проложить маршрут.

Осталась одна проблема: все улицы в приложении подписаны местными иероглифами на местном наречии, и ладно если в стране пребывания принята латиница, клавиатура на латинице есть во всех смартфонах и мир к ней привык, и то я испытывал дискомфорт, из-за диакритических знаков, принятых в чешском алфавите. А боль и страдания иностранцев, видящих кириллицу, могу только представить, посмотрите псевдокириллицу и поймёте. Если бы я оказался на их месте, я бы писал названия и адреса латиницей, пытаясь воспроизвести звучание - фонетический поиск.

В публикации опишу как реализовать фонетические алгоритмы поиска Soudex на движке Sphinx Search. Одной транслитерацией здесь не обойдётся, хотя и без неё никуда. Получившийся конфигурационный файл, доступен на GitHub Gist.

Длиннопост

Как удалить «неудаляемые» приложения со смартфона

Время на прочтение5 мин
Охват и читатели304K


Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →

Raspberry Pi в роли сервера для хостинга сайтов

Время на прочтение8 мин
Охват и читатели111K
Raspberry Pi — это недорогой одноплатный компьютер, отличающийся крайней экономичностью в плане потребления электроэнергии. Он хорошо подходит на роль платформы, на базе которой создают устройства, которые постоянно должны быть включены. Среди множества способов применения Raspberry Pi можно выделить использование этого компьютера в качестве веб-сервера. И, на самом деле, хостить сайты на Raspberry Pi очень просто. Если посчитать стоимость услуг обычного хостинг-провайдера, то окажется, что они не так уж и дёшевы. Альтернативой таким услугам может стать собственный хостинг на Raspberry Pi, обслуживание которого не стоит практически ничего. Кроме того, платформа Raspberry Pi постоянно развивается, поэтому тому, кто решает ей пользоваться, можно не беспокоиться о том, что в будущем ему придётся работать с устаревшим аппаратным и программным обеспечением.


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

Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал

Время на прочтение31 мин
Охват и читатели175K


Доброго времени суток, друзья!

Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid.

Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid.

В конце статьи вас ждет небольшой туториал по созданию тренажера по Flexbox.

Без дальнейших предисловий.


Как мы внедрили скрытие аккаунтов в Telegram или #ДуровДобавьДвойноеДно

Время на прочтение8 мин
Охват и читатели240K

Если анимация не воспроизводится, смотрите её здесь.

Здравствуйте, Павел Дуров! Мы надеемся, что Вы нашли время ознакомиться с данным открытым письмом. Мы разработали решение для Telegram-клиента, которое позволяет скрывать аккаунты и открывать их только через уникальный код-пароль (см. анимированное превью). Нет никаких следов присутствия скрытых аккаунтов. Невозможно узнать, есть ли в мессенджере скрытые аккаунты и какое их количество. Решение именуется как «Двойное дно».

Все нюансы были тщательно нами продуманы, а сам Telegram-клиент с точки зрения интерфейса и пользовательского опыта никак не изменился. Практически никаких доработок со стороны команды Telegram не требуется. «Двойное дно» сделано полностью «под ключ», Вам нужно лишь принять наш «Pull Request» в Вашем репозитории. Перед тем как отправить «Pull Request», мы возьмем несколько дней на сбор обратной связи от пользователей, чтобы исправить мелкие недочеты. Для ознакомления Вы можете установить нашу сборку через TestFlight, а если под рукой нет iOS-устройства, то посмотреть видео. Исходный код сборки доступен на GitHub.
Читать дальше →

Как мы воспринимаем цвет. Занимательные факты. Просто об очень сложном

Время на прочтение11 мин
Охват и читатели67K
image

Фото сетчатки в разрезе с электронного микроскопа.

Дорогие читатели, в этой статье о цвете я не буду приводить аналогии с цифровым фотоаппаратом и фотошопом для «лучшего» понимания физиологии зрения, как не делал этого и в прошлой статье «О разрешении нашего зрения». Такой приём, при кажущемся удобстве, только усложнит картину мира и запутает вас. Буду вести рассказ последовательно и в меру сложно.

Введение в CSS3 Grid Layout. Работаем с сетками

Время на прочтение10 мин
Охват и читатели113K
Update: Часть сведений в данной статье устарели. Рекомендую свежие материалы на css-live.ru.

Введение


intuition game grid

Модуль CSS3 Grid Layout — это один из самых интересных, на мой взгляд, модулей в семействе CSS3. Официальная история модуля в виде черновика спецификации насчитывает сегодня чуть менее года. О предварительном анонсе еще с названием CSS Grid Alignment на TPAC 2010 Владимир Юнев писал еще в декабре 2010. Надо также отметить, что с чуть другим названием и несколько отличным синтаксисом, но с той же сутью, он был заявлен в качестве WD еще в 2007г. Сегодня работы по доводке модуля идут полным ходом, предварительная реализация уже есть в Internet Explorer 10 и есть надежда, что поддержка новых возможностей также появится в будущих версиях других популярных браузеров.

Зачем нужен Grid Layout?


Задача, которую решает модель CSS3 Grid Layout, очень проста и понятна любому веб-верстальщику (да и не только ему): предоставить удобный механизм расположения контента по виртуальной сетке.

В отличие от старых табличных подходов, основанных на использовании table, здесь не замусоривается семантика документа и представление четко отделено от содержания. В отличие от различных вариаций блочной верстки со становящимися при сколь-нибудь сложной структуре безумными и многоэтажными float'ами в сочетании с вручную просчитанными отступами, здесь описание стилей становится тривиально простым и прозрачным. В отличии от абсолютного позиционирования с привязкой к координатам, здесь сохраняется гибкость. В отличие от популярных сегодня css/js-библиотек для разметки по сетке путем указания соответствующих классов (взять хоть те же bootstrap или yui css grids), здесь не замусоривается привязка классов.

Сплошное удовольствие! Осталось только дождаться широкой поддержки :) Впрочем, если вы планируете делать приложения в стиле Metro для Windows 8 на html/js, ключевые возможности, описываемые в модуле CSS3 Grid Layout, уже работают — и можно двигаться вперед, используя удобные и практичные механизмы.
Читать дальше →

Руководство по FFmpeg libav

Время на прочтение24 мин
Охват и читатели117K

Долго искал книгу, в которой было бы разжёвано, как использовать FFmpeg-подобную библиотеку, известную как libav (название расшифровывается как library audio video). Обнаружил учебник «Как написать видеоплеер и уложиться в менее чем тысячу строк». К сожалению, информация там устаревшая, так что пришлось создавать мануал своими силами.

Большая часть кода будет на C, однако не волнуйтесь: Вы легко всё поймёте и сможете применить на любимом языке. У FFmpeg libav уйма привязок ко многим языкам (в том числе и к Python и к Go). Но даже если Ваш язык прямой совместимости не имеет, всё равно можно привязаться через ffi (вот пример с Lua).

Начнём с краткого экскурса о том, что такое видео, аудио, кодеки и контейнеры. Затем перейдем к ускоренному курсу, посвященному использованию командной строки FFmpeg, и, наконец, напишем код. Не стесняйтесь переходить сразу в раздел «Тернистый путь изучения FFmpeg libav».

Есть мнение (и не только моё), что потоковое интернет-видео уже приняло эстафету от традиционного телевидения. Как бы то ни было, FFmpeg libav точно достоин изучения.

Оглавление


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

STM32CubeMonitor стоит попробовать

Время на прочтение2 мин
Охват и читатели19K

Введение


STM32CubeMonitor — утилита для удобного отображения данных с контроллеров семейства STM32. Причем не требуется никакого дополнительного оборудования, только плата с контроллером и программатор (я пробовал и китайский свисток и оригинальный st-link\v2). Слово «Cube» в название не означает привязку к CubeMx\HAL, от вас требуется всего лишь прошивка в формате "*.elf", что не может не радовать. Данная утилита позволяет чрезвычайно быстро и просто выводить данные с контроллера в реальном времени в виде графика, а так же осуществлять постобработку(присутствуют наборы основных математических и тригонометрических функций).
Читать дальше →

Программирование видео слоя в Raspberry Pi с использованием DispmanX API

Время на прочтение7 мин
Охват и читатели4.8K

В этой статье я хочу продемонстрировать использование DispmanX API одноплатных компьютеров Raspberry. DispmanX API предоставляет возможность создавать на десктопе Raspberry новые отображаемые слои. Слои висят над слоями. Их можно динамически создавать, удалять, перемещать, их можно масштабировать. При этом, сам видеоконтроллер будет их объединять и отображать на экране монитора. Интересно, что слои могут иметь альфа канал, и тогда, изображения всех слоев будут сами собой смешиваться. Так же, кроме 32-ти двухбитных ARGB слоев можно создавать, например, YUV420 слои, или слои других типов. В Raspberry по умолчанию уже есть два слоя. Самый нижний содержит изображение десктопа. Весь вывод через иксы идет в этот слой. И есть второй, самый верхний слой, в котором живет изображение курсора мыши.

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

Простой способ подключения произвольного видеоисточника в Qml

Время на прочтение4 мин
Охват и читатели9.9K

Преамбула


Все нижеизложенное приводится в контексте Qt версии 5.3.1 (как наиболее актуальной на данный момент), но имеет смысл в контексте любой версии ветки 5.x, а возможно даже 4.8.x (не проверял за ненадобностью).

Операционная система — Windows, среда разработки — QtCreator 3.1.2 в связке с MinGW и gcc 4.8.2 От использования других платформ/IDE/компиляторов суть не меняется.

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

Raspberry Pi и модем SIM7600E 4G HAT

Время на прочтение3 мин
Охват и читатели48K
Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети.

Параметры системы


Raspberry Pi 3B+
OS: Raspbian GNU/Linux 10 (buster)
Модем SIM7600E 4G HAT, версия прошивки LE11B08SIM7600M22

image

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

Информация

В рейтинге
Не участвует
Откуда
Германия
Дата рождения
Зарегистрирован
Активность