Pull to refresh
27
2.2

болтун

Send message

Управляем умным домом Home Assitant через Алису и без интернета. Часть 1

Level of difficultyMedium
Reading time5 min
Views38K

В этой статье я бы хотел рассказать о том, как можно управлять умным домом и всеми устройствами (не только Zigbee) в Home Assistant даже без подключения к интернету.

Читать далее
Total votes 38: ↑37 and ↓1+38
Comments47

Создаём свое собственное ZigBee устройство на чипах от Espressif ( ESP32-C6/H2)

Level of difficultyMedium
Reading time9 min
Views32K
Первые упоминания про новые чипы от Espressif были еще два года назад. Но тогда про них мало что было известно, и они были не доступны в свободной продаже, и SDK был на самом начальном этапе. И вот наконец их анонсировали, и можно купить, так давайте же сделаем на них что нибудь хорошее.

Я давно хотел себе домой СО2 сенсор, но то денег не хватает, то жаба квакает… А тут мне пришла заказанная плата на базе ESP32-C6 и я решил попробовать собрать сам, благо различных Ардуино модулей был целый ящик. Если Вам интересно что у меня получилось добро пожаловать под кат. (длинная портянка и много картинок)
Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments22

Почему может не работать отладка на плате XIAO BLE

Level of difficultyMedium
Reading time9 min
Views1.2K
Как обычно, ничто не предвещало веселья. Шла рутинная работа. Надо было освоить работу с ОС Zephyr в контроллере NRF52 на примере забавной платы из семейства «Сяо» (а именно XIAO BLE). Вообще, с этой платой принято работать из среды Arduino, но задача была использовать именно Zephyr, а значит — среду VS Code плагином NRF Connect Plugin. Заказанная плата приехала, к точкам для доступа по SWD был припаян разъём программатора… Потом я немножко похулиганил… В итоге, содержимое флэшки в контроллере было стёрто.

Но что нам стоит восстановить загрузчик? С сайта производителя был скачан актуальный HEX-файл, он был залит в плату… Дальше был собран типовой демо проект Blinky… И вечер перестал быть томным, так как проект не запустился на отладку.

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


Читать дальше →
Total votes 16: ↑15 and ↓1+18
Comments11

Ручная установка и настройка Arch Linux — шпаргалка шаг за шагом

Level of difficultyMedium
Reading time8 min
Views12K

ARCH


Подготовка к установке


Скачиваем образ дистрибутива Arch Linux


Утилиты для записи образа на флеш-накопитель:


  • Linux — balenaEtcher
  • Windows — Rufus
  • Кроссплатформенный Ventoy (рекомендовано)

Руководство на Habr как записать образ на флеш-накопитель с помощью Ventoy
Видео на YouTube по использованию Ventoy

Читать дальше →
Total votes 20: ↑17 and ↓3+18
Comments63

Превращаем Android-смартфон в USB-клавиатуру, мышь и флешку

Level of difficultyHard
Reading time29 min
Views22K

Android-смартфон при подключении к компьютеру через USB может выглядеть как медиаустройство, модем или хранилище файлов. В этой статье мы научимся делать из него USB-клавиатуру, мышь и флешку.
Читать дальше →
Total votes 58: ↑58 and ↓0+80
Comments48

Расшифровка startup файла Arm Cortex-M

Level of difficultyHard
Reading time7 min
Views3.1K

В статье предпринята попытка разобраться в содержимое startup файла микроконтроллера STM32F4, построенного на базе ядра Arm Cortex M4. Для запуска ядра используется ассемблерный код, который и предстоит изучить. Для лучшего понимания материала необходимо иметь представление об архитектуре ядра Cortex M4. Сразу отмечу, что замечания и уточнения приветствуются, т. к. они позволят дополнить представленную информацию.

Читать далее
Total votes 9: ↑6 and ↓3+6
Comments19

Второе рождение DSP или запуск нейросетей на процессорах К1967ВН044 от «Миландр»

Level of difficultyMedium
Reading time7 min
Views5.3K
Нейросети постепенно и незаметно проникают во все уголки нашей жизни. От огромных сеток, которые могут обыгрывать в шахматы чемпионов мира или вести беседу на уровне интеллигентного человека, до совсем маленьких, реагирующих на голосовые команды или выделяющих лица на фотографии.

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

В этой статье поделюсь нашим опытом запуска нейросетей на DSP процессоре фирмы «Миландр» К1967ВН044, тем более что в новой ревизии появился Ethernet и можно организовать быстрый обмен данными, например, с ПК.


Читать дальше →
Total votes 25: ↑23 and ↓2+30
Comments37

Настройка связки VScode, OpenOCD, WCH-LinkE, Cortex-M

Level of difficultyMedium
Reading time6 min
Views3.4K

Wch-link является программатором для ARM, RISC-V микроконтроллеров. По возможностям это аналог St-link, JLink и прочих. По сравнению с st-link он поддерживает контроллеры не только фирмы STM. А по сравнению с JLink стоит намного дешевле и не имеет проблем с лицензиями, которые могут встречаться у дешевых клонов JLink. Также плюсом идет поддержка набирающих популярность контроллеров от китайской компании WCH.

Есть несколько вариантов этого отладчика, я буду говорить о версии Wch-linkE rev 1.3.

Читать далее
Total votes 11: ↑11 and ↓0+13
Comments26

Переходник PS/2 – USB

Level of difficultyEasy
Reading time4 min
Views13K

Введение


Все мы знакомы с ситуацией, когда у нас на руках есть мышка PS/2, а подключить её некуда. Покупать переходник – идея так себе. Но мы рискнули и купили:


Читать дальше →
Total votes 35: ↑33 and ↓2+53
Comments64

VGranite — Софт для преобразователя интерфейсов serial<->ethernet

Level of difficultyMedium
Reading time9 min
Views3K

Мы занимаемся сбором данных с ИПУ в многоквартирных домах. Наше предпочтение - проводное подключение. Обычно мы подключаем одинаковые типы счетчиков в один канал - Вода, Газ, Электричество.

Однажды к нам перешел дом, на котором в качестве счетчиков электричества стояли "Меркурий 203.2ТL". Особенность этих счетчиков в том, что они используют в качестве интерфейса опроса - CAN шину. И тут важно уточнить, что именно только CAN шину, ничего более от CAN там нет. То есть, если вы купите преобразователь Ethernet<->CAN по типу USR-CANET200 - работать у вас ничего не будет. Причина в том, что подобные преобразователи используют кадры CAN для общения между устройствами, но разработчики счетчиков "Меркурий 203.2ТL" вертели на своем вертеле все это и просто поставили внутри драйвер CAN<->UART.

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

Скажу честно, мы не любим зависимости, поэтому пошли своим путем. Была приобретена Orangepi Zero, USB<>SerialTTL, TTL<>CAN. Все это было слеплено вместе в один преобразователь Ethernet<>CAN. Сразу скажу, что мы пробовали несколько разных драйверов CAN и на практике они оказались довольно капризными, мы пришли к выводу, что лучше использовать драйвер VD230 с UsbSerialTTL-CH340G.

Читать далее
Total votes 9: ↑9 and ↓0+10
Comments8

Подключаем модуль TM1638 к Arduino без библиотеки SPI

Level of difficultyEasy
Reading time5 min
Views4.7K

Изначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino Nano. Хотелось быстро отделаться проверить работу самой платы при помощи ардуиновской библиотеки SPI.h – не получилось. В результате проделанный объём работы вылился в эту заметку.

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments17

Как превратить игрушечного робота-доставщика в ровер с беспроводным управлением через мобильное приложение

Level of difficultyEasy
Reading time8 min
Views5.1K

Привет, Хабр!

Вам часто бывает скучно? Ну так, что просто уже не знаешь, чем себя занять. Я в такие моменты люблю бесцельно скроллить ленту, залипать на разных видео, а еще листать маркетплейсы в надежде увидеть что-то, за что можно было бы зацепиться.

В один из таких моментов во время очередного просмотра содержимого Яндекс Маркета я наткнулся на игрушечного робота-курьера. Он показался мне достаточно милым, так что я решил его купить.

В общем ровер милый, выполнен неплохо и тут можно было бы остановиться, но в моей голове промелькнула одна мысль:

«А может сделать его управляемым?»

В этой статье я расскажу, как модифицировал игрушечного робота-доставщика Яндекса и реализовал управление им по BLE с помощью мобильного приложения на Flutter.

Читать далее
Total votes 57: ↑57 and ↓0+62
Comments12

Радиоэфир без регистрации и СМС

Level of difficultyEasy
Reading time23 min
Views30K

Пост для тех, кто любит радиосвязь, но не радиолюбитель с позывным

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

В старшем возрасте я понял, что могу позволить завалить себя радейками и время от времени покупал различные недорогие модели, которые выбирал лишь по цене и внешнему виду. Но на удивление связать серенькие радиостанции с фиолетовыми или чёрными не получалось, даже если выбрать один и тот же номер канала. Пришлось разбираться, и всё оказалось куда сложнее, чем просто выбрать переключателем номер канала и нажать кнопку PTT (Push-To-Talk). Ну и осложнилось всё задачей не получить по шапке за эфир на частотах, где не следует этого делать. Для прояснения ситуации для начинающих и создан этот пост.
Читать дальше →
Total votes 93: ↑91 and ↓2+120
Comments106

Опыт использования свободного ПО OSS-CAD-SUITE для программирования FPGA Gowin

Level of difficultyMedium
Reading time9 min
Views1.5K

Для программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет разместить Verilog HDL / VHDL проект по логическим блокам и развести связи между ними используя заданные временные ограничения.

Возможно ли использование open source инструментов для FPGA проектирования?

Я расскажу о своем опыте использования Yosys oss-cad-suite для платы Марсоход3GW-2 на базе ПЛИС китайской компании Gowin GW1NR-LV9QN88PC6/I5. Фото платы показано выше в начале статьи.

Читать далее
Total votes 16: ↑16 and ↓0+20
Comments5

Домашняя нейронка. Какое «железо» выбрать для Stable Diffusion?

Level of difficultyEasy
Reading time7 min
Views14K


Нейросетями теперь пользуются почти все мои знакомые. Чат-боты с искусственным интеллектом в плане сбора информации намного удобнее поисковых систем, а нейросети, генерирующие картинки по запросу, нашли свое применение в рекламе и иллюстрировании контента. Однако как раз с ними не все столь гладко, как хотелось бы. Доступ к одним без плясок с бубном и нервотрепки невозможно оплатить из России, другие не радуют качеством изображений, путаясь в количестве пальцев, изгибая конечности персонажей невообразимым образом или выдавая в ответ на запрос совсем не то, что требовалось. Тут у меня и возникла идея развернуть Stable Diffusion на локальной машине, чтобы не мучиться с оплатой и токенами. А для этого сначала следует разобраться, какое железо потребуется для реализации подобной задумки.
Читать дальше →
Total votes 17: ↑16 and ↓1+20
Comments42

Нейросетевой чип с интерфейсом, привычным Embedded программисту

Level of difficultyMedium
Reading time11 min
Views5.6K
Обычно я пишу циклы статей по двум причинам. Либо я участвую в какой-то разработке и, с одной стороны, хочу рассказать о ней, но с другой – описать что-то интересное про применённые там технологии, так как овладел ими в достаточной мере. Самый большой цикл был про комплекс Redd, который перерос в разработку USB-анализатора на его базе. Другая причина засесть за клавиатуру – я нашёл какую-то интересную поделку

В сегодняшней статье (которая, надеюсь, разрастётся до цикла) всё несколько иначе. Поделка сама нашла меня. Её разрабатывают в другом отделе нашей же компании. Но именно в соседнем отделе, не в моём. Как она устроена внутри, мне знать не положено. Зато я могу, вдобавок к чтению документации, не просто расспрашивать авторов про пользовательский интерфейс, а ещё и давать им советы, как его изменить.

Речь пойдёт про чип, который по задумке разработчиков должен помочь Embedded-программистам начать работу с Искусственным Интеллектом, не погружаясь в его недра, а оперируя только привычными им сущностями. Давайте разбираться более детально.


Читать дальше →
Total votes 6: ↑4 and ↓2+2
Comments22

Энциклопедия контроллеров и обучающий проект (на Хабре)

Level of difficultyEasy
Reading time7 min
Views15K


Я давно занимаюсь микроконтроллерной тематикой и делюсь своими изысканиями (частью изысканий) в блоге на Хабре. Делаю я это довольно давно и количество статей уже перевалило за сотню, и, в полном соответствии с воззрениями (старины) Гегеля, количество явно переросло в качество.

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

Настало время как-то систематизировать эту информацию, прокомментировать и поделиться своими мыслями на эту тему. А в практическом плане этот каталог (мини-энциклопедию) можно использовать для выбора DIY контроллеров для своих проектов или, учитывая опубликованные примеры кода и переводы туториалов, как обучающее пособие по их программированию.

Итак…
Читать дальше →
Total votes 60: ↑60 and ↓0+61
Comments11

Разработка системы управления электроприводом постоянного тока. Часть 1 — математическая модель

Level of difficultyHard
Reading time17 min
Views5.6K

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

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments14

Активация discard (TRIM) на Linux для SSD

Reading time6 min
Views82K

Современные накопители данных такие как SSD нуждаются в команде TRIM интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем:


  • discard — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправлять команду TRIM на устройство, как только об этом сообщит файловая система.
  • fstrim — утилита которая запускается вручную или по расписанию как сервис ОС, отправляет список удаленных блоков с ФС для зачистки их на устройстве.

Для включения fstrim достаточно активировать сервис fstrim.service в systemd, но лучше вместо сервиса, который будет висеть в памяти, использовать таймер fstrim.timer который будет запускать еженедельный TRIM.


Пример включения сервиса:


# Включение, старт и вывод статуса сервиса:
systemctl enable fstrim.service && \
systemctl start fstrim.service && \
systemctl status fstrim.service

Но этих мер недостаточно, если у вас файловые системы располагаются на томах LVM, а LVM в LUKS игла в яйце, яйцо в утке, утка в зайце:



Читать дальше →
Total votes 23: ↑22 and ↓1+27
Comments16

Взламываем головное устройство автомобиля Nissan

Reading time22 min
Views17K

В комплекте с моим Nissan Xterra поставлялось современное (на то время) головное устройство с сенсорным экраном, встроенной навигацией, дисплеем камеры заднего вида, мультимедийными функциями и возможностью подключения смартфона. Некоторые из самых продвинутых функций доступны только через приложение NissanConnect, требующее регистрации и подписки. Я никогда не пользовался им и даже не уверен, поддерживается ли оно сейчас.

Разве не здорово было бы добиться выполнения кода на устройстве и даже разрабатывать собственные расширения и приложения?

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

В статье также представлен код, позволяющий воспроизвести эти действия на вашем автомобиле, а также пример приложения, выполняющего задачу логирования GPS-данных. Однако здесь вы не найдёте абсолютно никакой информации по обходу механизмов DRM/защиты от копирования, особенно связанных с навигационными картами и онлайн-сервисами. Весь представленный в статье код и инструкции не дают никаких гарантий, воспроизводите их на собственный риск.
Читать дальше →
Total votes 86: ↑84 and ↓2+110
Comments26

Information

Rating
1,095-th
Registered
Activity