Как стать автором
Обновить
25
0
Максим @mkrentovskiy

КМС по игре на скрипке в борделе

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

PKI для IOT, архитектура защищенной сети ESP32 + Mosquitto SSL и Flash Encryption для хранения сертификатов

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров2.2K

Цель статьи - показать вариант построения защищенной Iot-инфраструктуры для сети устройств на базе ESP32 и обменяться опытом. 

Общую идею и весь проект разделил на темы:

развертывание mosquitto SSL/TLS из docker-контейнера

создание сертификатов для брокера Mosquitto SSL и клиентов ESP32

архитектура хранилища сертификата для ESP32 и практические способы защиты

подготовка защищенной прошивки устройства с применение встроенных средств безопасности и шифрования ESP32.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии20

Универсальная плата для E-Ink экранов. Ч1. Разработка системы питания

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

Однажды мне попался один весьма интересный проект платы, поддерживающей большое количество разнообразных E-Ink экранов. Проект довольно быстро заинтересовал, появилось желание несколько переработать плату, внести улучшения, узнать и попробовать что-нибудь новое. Больше всего изменений претерпела система питания: она была разработана практически с нуля. Процесс оказался очень познавательным и увлекательным, а отладка прототипа преподнесла много поучительных и забавных сюрпризов. Это жизненный рассказ о разработке как есть.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии30

Как устроены функции Мультирум и Стереопара на устройствах Sber

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

В феврале 2023 года на части устройств SberDevices мы анонсировали поддержку двух новых режимов работы — Мультирум и Стереопара.

Мультирум позволяет прослушивать музыку на нескольких устройствах различного типа одновременно. Например, колонка SberBoom может находиться в спальне, а SberPortal — в гостиной, и в таком режиме музыка на этих устройствах будет играть синхронно. Стереопара отличается от Мультирума тем, что в Cтереопаре могут участвовать только две одинаковые колонки, при этом устройства, воспроизводя звук так же синхронно, делят его на каналы — левый и правый (каждое устройство проигрывает свой канал), в зависимости от выбранных пользователем настроек.

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

В этой статье мы с коллегами @kpvf2dи @Alergenхотим поделиться и, возможно, обсудить некоторые проблемы и их решения.

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии3

Отопление в ИЖС с помощью сплит-кондиционера «на тепло». Так ли это выгодно на самом деле?

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

Отопление тепловыми насосами

Продолжим обсуждение способов экономичного отопления в ИЖС без использования трубного газа.

Ранее были рассмотрены варианты отопления электричеством и отопления с применением СУГ.

Экономика загородного дома. Как утеплить дом и не разориться?

По желанию читателей решил рассмотреть и вариант отопления с помощью «кондиционеров на тепло».

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

Изначально предполагается использовать именно самую дешёвую версию сплит‑кондиционера, у которого компрессорно‑конденсаторный блок (далее ККБ) установлен на улице.

Идея сама по себе увлекательная, но содержит в себе ряд подводных камней, не очень афишируемых в рекламных проспектах.

Рассмотрением этих незаметных или преднамеренно скрываемых препятствий мы и займёмся в этой статье.

Читать далее
Всего голосов 53: ↑50 и ↓3+47
Комментарии139

Структура драйвера Linux для одноплатного компьютера

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров13K

Здраствуйте меня зовут Дмитрий. Недавно я написал статью как собрать прошивку для одноплатного компьютера Orange PI i96 с нуля. Если вы не читали то очень советую. И там я упоминал что для того чтобы собрать прошивку на новом ядре Linux, мне пришлось переписать драйверы с учетом архитектуры Device Tree, которую использует современное ядро. В этой статье я опишу как я это сделал.

Читать далее
Всего голосов 37: ↑36 и ↓1+35
Комментарии4

Как я сделал синтез своего голоса

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров29K

Всем привет! Меня зовут Гриша Стерлинг, я занимаюсь синтезом речи в SberDevices. Недавно прошла конференция AI Journey, где я рассказал, как сделал синтез своего голоса. За 15 минут выступления я не успел рассказать все, поэтому решил написать большой пост с деталями. Он будет интересен датасаентистам, людям из бизнеса и ai‑энтузиастам. Приглашаю всех под кат.

Читать дальше
Всего голосов 29: ↑27 и ↓2+25
Комментарии8

Миссия выполнима: УКВ ЧМ супергетеродин на дискретных компонентах

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


Давным-давно, когда деревья были зелеными и высокими, радиоприёмники собирали не на интегральных микросхемах, а на дискретных, то есть отдельных транзисторах. Такие решения занимают больше места и потребляют больше энергии, зато очень наглядны для понимания принципов работы.

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

Такой УКВ супергетеродин я сегодня соберу. Без микросхем, на 12 транзисторах, 6 из которых задействованы в радиотракте, и ещё 6 в усилителе звуковой частоты. А ещё поговорим о структуре сигнала ЧМ радиостанции и способах его детектирования.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии18

Создаем I2C Master Controller на Verilog. Идея и физический уровень

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров7.5K
В рамках изучения Verilog я выбрал для себя интересную и полезную задачу, которую изначально планировал решить в рамках цикла статей по Xilinx Zynq. На отладочной плате, на которую я делал обзор в предыдущих статьях, есть OLED дисплей SSD1306 который управляется по I2C. Я решил, что было бы круто вывести на него какую-нибудь информацию из Linux, например температуру или загрузку CPU. Но чтобы это сделать — полезной информации нужно пройти путь от Userspace до I2C Master Controller который управляет SSD1306. И вот реализацию этого самого контроллера из этой связки я хотел бы описать в этом цикле статей.

И немного поразмыслив — я подумал, что на этапе разработки этого модуля быстрее было бы его реализовать плате с ПЛИС Altera. Уж очень долго собирается bitstream-файл под Zynq. А в качестве тестового подчиненного устройства — буду использовать EEPROM и по мере готовности задачи — потом просто перенесу модуль в Vivado.

В как раз о том, что такое I2C, как я реализовывал Master Controller для работы с подчиненным устройством, чем руководствовался и что получилось — я опишу для вас в этой и последующих статьях.

Традиционно, кому интересно — добро пожаловать под кат! =)

image
Читать дальше →
Всего голосов 64: ↑64 и ↓0+64
Комментарии10

Мы вложились в создание ненужного клиентам девайса и случайно повысили эффективность промышленных производств

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

Здравствуйте! Я Владимир Зайцев, основатель и генеральный директор компании Encost (Энкост). С 2013 г. мы помогаем клиентам-производственникам экономить на электроэнергии, но это отдельная история: мы пытались заработать, создав онлайн-калькулятор цен на электричество, а по факту стали сами корпеть над расчётами и переводить клиентов на более выгодные тарифы. В 2021 г. мы опять хотели заработать, помогая клиентам экономить электроэнергию, но сокрушительно промахнулись с запросом и чуть было не остались с любовно созданным и никому не нужным девайсом на руках. Но в итоге, после сбора обратной связи и допилов, мы превратили этот ненужный девайс в систему мониторинга для промышленных производств – Энкост Мониторинг. Вот эту историю с неожиданным поворотом я и хочу сегодня рассказать.

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

«Заработаем на онлайн-калькуляторе расчета электроэнергии! Что может пойти не так?»

 В начале этого пути мы толком ничего о производствах не знали и узнавать не планировали – просто с 2013 г. помогали юрлицам снижать затраты на электроэнергию. Сначала сделали онлайн-сервис – калькулятор, который показывал, из чего складывается ценообразование (для юрлиц это довольно замороченный процесс, у многих компаний был запрос плана: «Хотим убедиться, что не переплачиваем за электричество»). Собственник брал информацию со счетчика электроэнергии (это массив значений о почасовом потреблении за месяц), загружал эти данные на сайт, указывал параметры: регион, поставщик электроэнергии и прочее. Система на выходе выдавала все возможные варианты тарифа, доступные потребителю, и собственник мог понять: использует он сейчас самый выгодный для себя тариф или переплачивает.

Читать далее
Всего голосов 36: ↑35 и ↓1+34
Комментарии9

Как мы верифицированный полетный контроллер для квадрокоптера написали. На Ada

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

Однажды на новогодних каникулах, лениво листая интернет, бракоделы в нашем* R&D офисе заметили видео с испытаний прототипа роботакси. Комментатор отзывался восторженным тоном – революция, как-никак. Но тренированное ухо расслышало в шуме с испытательной площадки еще кое-что. Контроллер скорости (штука для управления тягой винтов) сыграл мелодию при старте, как это любят делать пилоты дронов, которые часто используют полётный контроллер Betaflight. Неужели там бета-флайт? Ну, или какая-то из ее немногих разновидностей.

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

После просмотра исходного кода Betaflight на гитхабе стало еще страшнее, и чем дальше, тем хуже. Это – управляющая программа для тяжелого устройства с острыми винтами, которое летает высоко, быстро. Становится страшно: игрушки это одно, но я бы не хотел летать, на таком такси. Но ведь можно иначе? Можно, решили мы! И решили это доказать. На Avito был куплен акробатический FPV-“квадрик” на базе STM32F405, для отладки – Discovery-платы для этого же контроллера, а дальше все как в тумане..

Читать далее
Всего голосов 92: ↑90 и ↓2+88
Комментарии58

SQL миграции в Postgres. Часть 2

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

В первой части мы рассмотрели базовые операции, такие как добавление новых атрибутов, создание индексов и ограничений и т.д.

Эта статья посвящена двум более сложным миграциям:

- обновление большой таблицы
- разделение таблицы на две

Рассмотрим подходы, которые позволяют провести миграции с минимальным простоем для приложения.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии2

SQL миграции в Postgres. Часть 1

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

Как обновить значение атрибута для всех записей таблицы? Как добавить первичный или уникальный ключ в таблицу? Как разбить таблицу на две? Как ... 

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

На эти и другие вопросы, возникающие при проведении миграций схемы и данных в PostgreSQL, постараемся дать ответы в виде практических советов.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии17

Как одним движением сжечь 10000$ и получить удар током

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

Представим себе в сущности довольно-таки заурядную ситуацию: у вас сломался сетевой источник питания. Вы берете в руки мультиметр и измеряете напряжение на входе и выходе источника. На входе у вас честные 230 В переменного тока из розетки, а на выходе по нулям. Вы знаете, что ваш источник питания – импульсный, и вы в курсе про то, что транзисторами источника управляет ШИМ-контроллер, который очень легко идентифицируется на плате.
На столе у вас стоит новенький осциллограф Tektronix DPO 7254 или какой-нибудь LeCroy WavePro 7300A ценою более 10000$, и вы решаете посмотреть с его помощью сигналы ШИМ-контроллера, чтобы диагностировать его исправность или неисправность. На щупе осциллографа написано, что его максимально допустимое напряжение равно 1000 В, это с хорошим запасом больше напряжения в розетке. Непосредственно на самом осциллографе рядом с разъемами для подключения щупов написана цифра 400 V, кроме того, у вас щуп с делителем 1:100, что тоже вселяет уверенность, что все будет в порядке. Вы включаете осциллограф и пробуете подключить его щуп к плате источника питания, однако, как только вы касаетесь щупом осциллографа платы источника питания, проскакивает искра и раздается громкий ба-бах. Экран вашего новенького осциллографа безжизненно потухает, сам осциллограф не реагирует ни на какие кнопки, а комнату заполняет характерный запах сгоревшей электроники. Что же произошло? Почему сгорел осциллограф и как такого избежать? Обо всем этом читайте под катом.
Читать дальше →
Всего голосов 143: ↑140 и ↓3+137
Комментарии218

BLE под микроскопом (ATTы GATTы...) Продолжение

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров4.4K

BLE под микроскопом (ATTы GATTы...)

Продолжение

Начал писать статью про использование китайского BLE чипа CH582. Но оказалось, что без теории, сложно объяснить некоторые моменты его работы. Поэтому решил сначала объяснить структуру таблицы атрибутов, а потом уже вернутся к китайскому чипу. Тем более ранее я уже пытался осветить эту тему.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии7

Edge AI чипы от Kneron. Собираем оригинальный девайс

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

Custom Device

Привет, я Антон Маслов, ведущий разработчик в MTS AI.


В предыдущих статьях я рассказывал о том, как работает распознавание изображений на чипе KL520 с помощью нейросети Tiny YOLOv3, а так же о том, как устроена, из чего состоит и как собирается прошивка чипов KL520. И вот теперь, когда мы познакомились с технологией Edge AI в общих чертах, мы можем отправиться в самое увлекательное путешествие и создать на базе KL520 собственный оригинальный девайс!


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

Ваш гений — полный идиот, или Что есть ИИ и грозит ли он кому-либо

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

Дискуссиями о том, насколько прекрасен (опасен, полезен, подчеркните нужное) ChatGPT в частности и искусственный интеллект вообще, полон интернет — на эту тему высказались все, от «песочницы» Хабра до Генри Киссинджера.

В принципе, такая громкость хайпа демотивирует говорить что-то своё — всё равно оно потонет в шуме. Однако на этой неделе меня довольно неожиданно попросили прочитать лекцию для студентов-гуманитариев из РГСУ — «Искусственный интеллект нового поколения: изменят ли ChatGPT и Midjourney экономику, политику и социальную сферу», и было бы не меньшим грехом дать подготовленному материалу пропасть, не зафиксировав его письменно.

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

О чём же мы будем говорить?

Разумеется, о королях и капусте. А также о том, какой бывает искусственный интеллект, можно ли считать его разумным, в чём его главная проблема, спасут ли нас три закона робототехники, на какие профессии ИИ повлияет, а какие — породит (и даже уже породил).

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

Поехали!

Читать далее
Всего голосов 124: ↑111 и ↓13+98
Комментарии229

Как добиться эталонного качества передачи голоса через интернет

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

Голосовая связь с нами давно: первые телефоны изобрели ещё в конце 19-го века, а мобильные — в середине 20-го. В начале 2000-х начал набирать популярность ещё один способ связи — интернет-звонки. Идея по сути та же — общаться на расстоянии, только ещё проще и дешевле. Плюс онлайн-звонки дают много дополнительных функций: от возможности видеть собеседников по видеосвязи до формата, когда вы вместе смотрите кино, находясь в разных точках планеты. Технологии идут вперёд, и тем не менее мы снова и снова переспрашиваем: «Слышно меня?».

Разберёмся в статье с вопросами качества передачи голоса в звонках. Например, почему может быть плохо слышно того, кто звонит из автомобиля? В чём особенность использования динамиков вместо наушников? Что происходит со звуком участника звонка, если у него плохой интернет? Можно ли измерить качество звука в цифрах? Ответы под катом.

Читать далее
Всего голосов 42: ↑40 и ↓2+38
Комментарии7

Достаточно одной К155ЛА3

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

Продолжая тему легендарных микросхем, нельзя обойти вниманием замечательнейшую микросхему 7400, также известную на постсоветском пространстве, как К155ЛА3.

Давным-давно, когда деревья были большими, а я ещё учился в старших классах, на меня снизошло откровение от старших товарищей, что практически любое цифровое устройство можно собрать только на микросхемах К155ЛА3. Утверждение может показаться спорным, но ничто не мешает нам его проверить.

И поможет нам в этой проверке другое откровение: «Инверсия конъюнкции есть дизъюнкция инверсий». Заодно и разберёмся, что есть «конъюнкция», что есть «дизъюнкция», и причём здесь «инверсия».
И это совсем несложно
Всего голосов 201: ↑196 и ↓5+191
Комментарии156

Как разработать плату, пригодную для массового производства? Подход Design for Manufacturing

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров18K

Качество печатной платы зависит не только от оборудования, уровня технологов и процессов на фабрике. Не меньший вклад в него вносят конструкторские решения разработчика платы — тополога. От них зависит технологичность: то, насколько просто будет произвести и ремонтировать изделие. Наиболее технологичной плата получится, если тополог сразу учтёт технологические нормы и особенности производства, внеся их в параметры своего CAD‑проекта. Такой подход называется Design for Manufacturing (DFM) — дизайн, оптимизированный под производство. Давайте разбираться, что это такое.

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

Читать далее
Всего голосов 84: ↑84 и ↓0+84
Комментарии101

Руководство по Кросс-Платформенному Системному Программированию для UNIX и Windows: Уровень 1

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

С помощью этого учебного материала мы научимся писать кросс-платформенный код на Си, используя системные функции популярных ОС (Windows, Linux/Android, macOS и FreeBSD): управление файлами и файловый I/O, консольный I/O, пайпы (неименованные), запуск новых процессов. Мы напишем свои небольшие вспомогательные функции поверх низкоуровневого системного АПИ (API), для того чтобы наш основной код, используя эти функции, мог работать на любой ОС без изменений. Этот учебный материал — начального уровня. Я делю сложные вещи на части, чтобы примеры кода здесь не были слишком заумными для тех, кто только что начал программировать на Си. Мы обсудим различия между системными АПИ и разберёмся, как создать кросс-платформенный программный интерфейс, который скрывает все эти различия от пользователя этого интерфейса.

Читать далее
Всего голосов 26: ↑25 и ↓1+24
Комментарии27
1

Информация

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

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

Специалист
Lead