Search
Write a publication
Pull to refresh
49
0.8

Embedded HW & SW. Больше HW.

Send message

DIY-проекты на базе Raspberry Pi: если работает фантазия, сделать можно много хорошего и интересного

Reading time4 min
Views7.5K

Мини-компьютер Raspberry Pi уже много лет используется в самых разных DIY-проектах. Описывали собственные самоделки и пользователи Хабра. Сегодня расскажу о нескольких интересных проектах, которые привлекли внимание, когда сам искал варианты разработки чего-то на основе этого мини-ПК. И конечно, если вы что-то разработали сами, расскажите об этом в комментариях.

Читать далее

Пишем и отлаживаем код для ARM64 на голом железе

Level of difficultyHard
Reading time7 min
Views7K
Я немного изучил arm64 (aarch64) и решил: попробую написать для него код на голом железе.
Я хотел понять, проанализировать и тщательно рассмотреть машинный код, который выдают на моём MacBook Air M1 такие среды исполнения WebAssembly, как v8 или wasmtime. Для этого я (немного) изучил ассемблер arm64. Коллега Саул Кабрера порекомендовал мне почитать книгу Стивена Смита «Programming with 64-Bit ARM Assembly Language», и я могу только поддержать эту рекомендацию.

image

«Programming with 64-Bit ARM Assembly Language» by Stephen Smith, APress 2020

В книге отлично объясняется набор инструкций, приёмы оптимизации, а также действующие соглашения и интерфейсы ABI. Но с ней вы научитесь писать программы только под операционную систему. Я же люблю загружать с нуля мой собственный BBC Microbit или Rasperry Pi. В этом посте я набросал пару шагов, которые успел сделать в этом направлении.
Читать дальше →

Как правильно мерять производительность диска

Reading time14 min
Views354K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


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

Как мерять правильно

Анализирую прошивки контроллеров Schneider Electric

Level of difficultyEasy
Reading time6 min
Views7.6K

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

На Хабре, да и в целом русском сегменте интернета, очень мало уделяется внимания данной теме, поэтому постараюсь на сколько мне хватило знаний поведать, что я выяснил за эту неделю отпуска. Производитель выбран исходя из популярности и частого упоминания в списках CVE.

Читать далее

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android

Level of difficultyMedium
Reading time10 min
Views22K
image

Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций. Интересно? Жду вас в статье!
Читать дальше →

Как понять (и простить) теорию вероятностей?

Level of difficultyEasy
Reading time6 min
Views9.5K

Всем привет! На связи вновь Меликян Маргарита, мы уже знакомились в статье, где поговорили немного о математическом анализе, а теперь (после принятых зачётов и экзаменов) захотелось сказать пару слов и по поводу курса теории вероятностей.

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

Читать далее

Переписка про спамеров: избранное

Level of difficultyEasy
Reading time6 min
Views4K
Сотрудник ФАС, задремавший над спамом, в представлении художника эпохи романтизма

В предыдущих статьях (первая, вторая) я рассказывал, как спамеры и прочий «солидный бизнес», будучи пойманы за руку надзорным органом, начинают выкручиваться, отрицать очевидное, лгать и подделывать документы – в общем, вести себя как обычная шпана, пойманная за кражей яблок. Однако надзорный орган подчас даст фору самому изобретательному спамеру.
Читать дальше →

Холод без электричества? Да, бывает: абсорбционный холодильник

Level of difficultyMedium
Reading time10 min
Views60K
Картинка BRGFX, Freepik

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

Когда заходит разговор о не совсем стандартных способах получения низких температур, интернет заполнен в основном различными вариациями одного и того же способа — использованием элементов Пельтье: больше, меньше элементов, с радиаторами, без радиаторов и т. д. и т. п.

А если я скажу вам, что существует способ получения достаточно низких минусовых температур без какого-либо электропитания?
Читать дальше →

Высокоточное измерение ЭКГ

Level of difficultyEasy
Reading time9 min
Views5.4K

Последние годы ознаменовались быстрым развитием кардиологии в области как диагностики, так и лечения сердечно‑сосудистых заболеваний.

При этом электрокардиография, как и прежде, остается простым, но важным методом исследования.

Читать далее

VOX для «зомбоящика». Пет-проект

Level of difficultyMedium
Reading time5 min
Views3.3K

После перехода с аналогового телевещания на DVB-T - в доме появилась приставка к телевизору со своим пультом управления. Наличие двух пультов меня ничуть не волновало, так как сам смотрю телевизор очень мало. Но в какие-то из новогодних праздников бытовое пьянство приелось настолько, что я решил сделать что-нибудь несложное и быстрое головой и руками. Целью оказалось объединение двух пультов в один.

Включить телик силой мысли?

Зализняк: основа русской прикладной лингвистики

Reading time8 min
Views9.9K

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

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

Со славянскими языками сложнее из-за развитой грамматики и глубокой изменчивости — любое русское прилагательное, к примеру, имеет как минимум двадцать четыре разных грамматических формы: три рода и множественное число, да по шесть оставшихся на сегодня падежей. А то и все двадцать девять, если принять во внимание краткие формы (широк, широка, широки) и образуемое от многих прилагательных наречие.

Для решения задачи отождествления разных форм существует некоторое количество реализаций морфологических анализаторов русского. Но почти все они — во всяком случае, заслуживающие внимания — растут из одного корня...

(По материалам внутреннего семинара компании МойОфис)

Читать далее

Zigbee-LAN координатор на EFR32MG21 Silicon Labs

Level of difficultyMedium
Reading time11 min
Views21K

ZigbeeLink это open-source проект координатора Zigbee. В статье вы узнаете, как собрать, прошить и настроить Zigbee-LAN координатор на чипе Silicon Labs EFR32MG21.

Читать далее

Микро-40-SVXO: ещё одно простейшее радио

Level of difficultyMedium
Reading time6 min
Views8.3K

Время отпуска, а также немного вдохновения поспособствовали возвращению к паяльнику и реализации ещё одной вариации на тему миниатюрного КВ‑трансивера «Микро-80». Два кварцевых резонатора, шесть транзисторов, плата 80×40 мм, питание от «Кроны» и до 0.5 Вт выходной мощности на диапазоне 7 МГц. Подключаем антенну, телеграфный ключ, наушники — и в эфир. Если хочется пошалить и занять руки на пару вечеров, то, кажется, это прекрасная возможность предаться ностальгии по простейшим конструкциям в духе классического радиокружка.

Читать далее

PROFIBUS DP-V0 & STM32

Level of difficultyMedium
Reading time7 min
Views10K

В этой статье я расскажу опыт разработки ведомого устройства для промышленных контроллеров Siemens с протоколом PROFIBUS DP-V0. Реализованный функционал достаточный для разработки простых устройств, но не полон. Статья нацелена на людей, которые знакомы с промэлектроникой и микроэлектроникой.

Читать далее

Переписка со спамерами: избранное – 2

Level of difficultyEasy
Reading time6 min
Views14K

Спамер демонстрирует комиссии ФАС свою полную неуиноуность (доллары подкинули враги, спам – ветром надуло).

Я радуюсь, получая спам, ведь у меня появляется возможность пополнить бюджет любимой страны (откуда берутся деньги на пенсии, больницы, школы и домики для уточек). Каждое полученное от спамеров сообщение я аккуратно пересылаю в ФАС, давая ей возможность пополнить бюджет на 2-500 тысяч рублей штрафа, а потом наслаждаюсь материалами «расследований», проливающих свет на грязную подноготную «солидного бизнеса» и его подручных. Вранье, подтасовка документов и далее со всеми остановками…

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

Геолокация: Используем методы OSINT

Reading time6 min
Views14K

Сегодня обсудим «извечный вопрос»: как обнаружить точное местоположение пользователя методами OSINT? Первым делом вспомним, что OSINT – это совокупность методов и приемов работы с открытыми источниками информации. И в этом контексте самые очевидные способы обнаружения геолокаций заключаются в анализе той публичной информации, которую пользователи оставляют о себе в глобальной паутине. Это геометки и чекины в социальных сетях, анализ публичных записей, координаты в метаданных загружаемых фотографий, исследование фото и видео контента для выявления местоположения оператора и тому подобные.

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

Читать далее

Zabbix-мониторинг устройств IoT метеостанции с помощью Repka Pi

Reading time18 min
Views6.2K

Эта статья посвящена Zabbix-мониторингу устройств IoT простой метеостанции, подключенных через порт GPIO к микрокомпьютеру отечественной сборки Repka Pi 3 производства НПО Рэйнбовсофт (Rainbowsoft). Здесь будут представлены скрипты мониторинга, измеряющие температуру, давление, влажность, освещенность, а также контролирующие наличие воды (затопление).

Метеостанция оборудована контроллером BME280, измерителем освещенности BH1750, а также сенсором наличия воды YL-38. Результаты измерений периодически отправляются в Zabbix с помощью агента zabbix-agent2 и шаблона, работающего в активном режиме.

Помимо этого, в статье будет описан скрипт Python, который можно запускать периодически через crontab. Этот скрипт выводит результаты измерений на OLED-монитор SSD1306. На время проведения измерений зажигается светодиод, подключенный к GPIO.

Мониторинг самого микрокомпьютера был описан ранее в статье Zabbix-мониторинг российского микрокомпьютера Repka Pi.

Читать далее

Altera Quartus Prime и ModelSim под Linux. Вводное руководство

Level of difficultyMedium
Reading time9 min
Views11K
В очередной раз, начав изучать что-то новое для себя, я столкнулся с типичной для меня проблемой: нет нигде быстро гуглящегося how-to и step-by-step руководства по быстрому созданию какой-либо простой конструкции на Verilog и описания способа эту конструкцию быстро симулировать без необходимости запуска кода в железе для проверки конечного результата. Я надеялся очень быстро найти готовый материал о том, как под Altera Quartus 20.1 и ModelSim 2020.1 под Linux всё по-быстрому сделать и идти дальше. В итоге не найдя ничего системно и последовательно описанного в одном месте я традиционно разобрался самостоятельно и решил это исправить своей очередной статьей на Хабре. 

Возможно, этот материал поможет таким же как я новичкам на самом старте и позволит не растерять энтузиазм во время танцев по граблям. Всем, кто заинтересовался — добро пожаловать под кат. 

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

Прифронтовая разведка методами OSINT

Reading time3 min
Views31K

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

Читать далее

Зачем разработчику нужен Linux вообще и терминал в частности

Level of difficultyEasy
Reading time8 min
Views29K

Тема "Windows vs Linux" является частой причиной холиваров. Спорить бессмысленно, так как для каждой задачи требуется свой инструмент. Позвольте заинтересовать вас чудесным миром Linux и теми бонусами, которые вы можете получить от использования терминала в повседневной деятельности. Всё разберём на примерах реального использования.

Читать далее

Information

Rating
3,413-th
Location
Москва и Московская обл., Россия
Registered
Activity

Specialization

Embedded Software Engineer, Hardware Engineer