Search
Write a publication
Pull to refresh
-1
@Valentin_Koread⁠-⁠only

User

Send message

Разработка IoT устройства с нуля от чайника для чайников

Level of difficultyMedium
Reading time58 min
Views8.2K

Всем привет!

Меня зовут Егор - я бэкенд разработчик и работаю в бигтехе. Но я не буду рассказывать о перекладывании jsonчиков (или буду). Данная статья (надеюсь, вы оценили каламбур в названии) рассчитана на разработчиков, которые ранее слышали об Arduino или пробовали программировать под эту платформу. В ней мы рассмотрим опыт новичка в плане проектирования и разработки IoT устройства мониторинга уровня CO2 в помещении. Наша цель - сделать устройство, которым просто пользоваться и оно приносит пользу.

Читать далее

Луч — мультитул разработчика электроники, версия 2

Reading time8 min
Views9.7K

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

У этого подхода были очевидные минусы — стенд был ненадежным, проводочки могли вылететь, код для стенда, как и для прототипа, тоже надо было написать и проверить, и стенд превращался в еще одну разработку. В какой‑то момент я решил, что хочу упростить этап создания тестового стенда. Так появилась идея устройства «Луч» — компактного прибора с поддержкой популярных интерфейсов, цифровыми входами и выходами, который мог бы заменить собой тестовый стенд. Он позволял бы быстро запустить последовательность действий без написания кода с нуля, и мог бы работать как терминал для многих интерфейсов, этакий швейцарский нож. Именно об этом устройстве я хочу рассказать в этой статье.

Читать далее

Как уместить ИИ на edge-устройствах

Level of difficultyMedium
Reading time22 min
Views2.2K

От AlphaGo до ChatGPT — прогресс в области искусственного интеллекта впечатляет своими масштабами. Однако за красивым фасадом скрывается серьезный разрыв между возможностями современных моделей и реальными условиями их применения. Возьмем, к примеру, GPT-3 с его (уже не такими впечатляющими) 175 миллиардами параметров, требующими 800 ГБ памяти. Такие модели существуют только в лабораториях вроде OpenAI. Что уж говорить о запуске подобных систем на устройствах с ограниченными ресурсами.

При этом именно edge-устройства генерируют львиную долю данных — по прогнозам Gartner, к концу этого года около 75% корпоративной информации будет поступать не из традиционных дата-центров или облака, а с периферийных устройств. Обработка такого объема данных в облаке создает серьезную нагрузку на каналы передачи и увеличивает задержки. 

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

Но как уместить современные AI-модели в устройства с ограниченными ресурсами? Об этом и поговорим в статье.

Читать далее

Тактовая кнопка v2.0 для управления питанием Raspberry Pi

Level of difficultyMedium
Reading time2 min
Views3.4K

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

Power On-Off

HackRF One. Доступный SDR трансивер для каждого

Level of difficultyMedium
Reading time15 min
Views21K

В очередной раз перебирая залежи своей электроники мне на глаза попался старый добрый товарищ - SDR-трансивер HackRF от Great Scott Gadgets. И я вспомнил, что у меня когда-то давно были планы написать несколько статей о том, как им пользоваться, что он может, да и зачем он вообще нужен. По всему Интернету я нагуглил огромное количество самого разнообразного разрозненного материала насчёт HackRF, утилит, прошивок, дополнительных модулей и прочего. И я решил подсобрать все это в своём материале сделав хороший вводный обзор.

Для всех, кому интересна тема радио и SDR — добро пожаловать под кат!

Читать далее

Программирование ESP32 с ESP-IDF в среде platformio #1

Level of difficultyMedium
Reading time8 min
Views4.7K

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

Это вторая статья из цикла по программированию ESP32 на ESP‑IDF. В первой части мы познакомились с базовой терминологией RTOS и реализовали несколько простых задач (tasks). Сегодня же мы перейдём к работе с GPIO и прерываниями (ISR), а заодно обсудим особенности настройки стека задач в ESP‑IDF (спасибо за совет @0x6b73ca).

Читать далее

Radio Data System, SI4735 и Flipper Zero

Level of difficultyMedium
Reading time19 min
Views5K

Названия музыкальных произведений, которые проигрываются на радиостанциях, можно получать прямо из радиоэфира с помощью radio data system (англ. Radio Data System, RDS). Представим ситуацию, когда из радиоприёмника играет музыка, которая очень понравилась, и стало интересно кто её автор. Конечно, можно "зашазамить", но ведь это не наш метод. Интереснее будет взять микросхему si4735 и подключить её к Arduino. Почему бы и нет. Есть хорошая библиотека SI4735. При таком подходе самым сложным будет качественно оформить устройство в корпусе с кнопками для изменения частоты и громкости, а ещё дисплеем и батареей, чтобы устройство было автономным. Далее будет описан способ с использованием Flipper Zero и созданием простого шилда для него. Тогда не надо терять время на кнопки и дисплей, но нужно немного потрудиться и перенести программную часть на Flipper Zero.

Работа с микросхемами SI473x очень хорошо описана в статье журнала Хакер. Всё, что там написано, проверено и работает. Но там нет работы с RDS. Так что эту статью можно считать просто продолжением той статьи в части работы с RDS.

Читать далее

Как принимать метеорологические спутники, не привлекая внимание санитаров

Level of difficultyEasy
Reading time13 min
Views16K

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

Читать далее

Простой способ управления IoT-устройствами через телеграм-бот, используя esp32

Level of difficultyMedium
Reading time10 min
Views10K
Картинка Benzoix, Freepik

Многие знают и даже пробовали, что микроконтроллер esp32 позволяет управлять собой удалённо через интернет, используя протокол mqtt — что позволяет избавиться от необходимости выяснять IP адрес у esp32 и не заботиться о его постоянных изменениях, например, в случае перезагрузки микроконтроллера.

Однако в наше время было бы обидно пройти мимо гораздо более удобного способа, который, на мой взгляд, частенько многократно более удобен, и к тому же находится всегда под рукой — управление с помощью телеграм-бота…
Читать дальше →

Термочувствительные кварцевые резонаторы: must have или must die?

Level of difficultyMedium
Reading time18 min
Views6K


Парадоксально, но факт: у термочувствительного кварцевого резонатора РКТ-206 зарубежных аналогов можно считать, что не существует (даже буквы в наименовании кириллические). Западными (точнее восточными, так как речь идет про Seiko-Epson), как их модно стало называть, «партнерами» выпускались аналогичные термочувствительные кварцы, даже с похожим названием HTS-206. Но сейчас, как можете сами убедиться по этой ссылке, их выпуск прекращен «из-за уменьшения объема продаж». Изобилие, представленное на картинке (встреченной в английской Википедии), давно уже сошло на нет. Вроде бы кто-то из европейцев все еще выпускает термокварцы на частоты около 5 МГц, но на данный момент мне их разыскать не удалось.

В статье мы попробуем сначала разобраться, в чем достоинства и недостатки кварцевых датчиков температуры сравнительно с другими способами, а затем предпримем попытку построить датчик на основе термочувствительного кварца. Это все еще может быть практически целесообразным занятием, так как РКТ-206 легко приобрести и это не слишком дорого. По результатам сами можете прикинуть, насколько это целесообразно. Статья получилась неожиданно объемная, но без досконального копания в мелочах тему рассмотреть не получается.
Читать дальше →

Machine learning на ESP32

Level of difficultyMedium
Reading time34 min
Views14K

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

В этом примере используются измерения акселерометра MPU 6050 и машинное обучение (ML) для распознавания трех жестов рукой с помощью ESP32. Данные из сенсора распознаются на микроконтроллере и результат выводится в консоль в виде названия жеста и вероятности результата. Модель ML использует TensorFlow и Keras и обучается на выборке данных, представляющей три различных жеста: "circle" (окружность), "cross" (пересечение) и "pad" (поступательное движение).

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

В следующей части рассмотрим как настроить Bluetooth LE (BLE) на ESP32 и Android устройстве. Передадим квантированный набор ускорений сенсора по BLE. Настроим Модель ML для распознания жестов на Android.

Читать далее

MicroPython на STM32F4xx на собственной печатной плате. Ч.1. Погружение в MicroPython и его возможности

Level of difficultyEasy
Reading time3 min
Views11K

Добрый день, друзья!

Это моя первая статья на Хабр да и вообще где-либо поэтому жду от вас полезных комментариев для заполнения пробелов в своих навыках и знаниях. В этой статье попытаюсь подробно указать/рассказать, как я запустил MicroPython на микроконтроллере STM32F411RET6.

Читать далее

Teensy 4: Arduino на скорости 600 МГц (почувствуй себя властелином вселенной)

Level of difficultyEasy
Reading time10 min
Views37K


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

Оказывается, последняя версия Teensy 4 сделана на основе Cortex M7 и работает на частоте 600 МГц, причём ядро там довольно продвинутое и позволяет исполнять две инструкции за такт, использует предсказание ветвлений и аппаратную обработку 64-битных чисел с плавающей точкой, а также много чего ещё, в том числе имеет на борту много RAM, Flash и PSRAM памяти и т. д.

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

В результате я пришёл к выводу, что с этим стоит познакомиться поближе и на Али был заказан комплект Teensy 4.1 с Audio и Ethernet расширениями, а затем я с большим удовольствием поэкспериментировал с этим железом. Ну а далее я предлагаю свой отчёт о проведённых экспериментах, а также поделюсь своими впечатлениями о Teensy 4.1.
Читать дальше →

Заряжаем ноутбук Dell XPS от любого адаптера питания

Reading time8 min
Views127K
image

Не так давно я решил произвести обновление своего ноутбука и приобрёл на Ebay Dell XPS 13 9350. Цена вышла очень приятная (в 2 раза дешевле, чем в отечественных магазинах, отлично проходило в лимит 1000 евро, при этом комплектация максимальная, а состояние «New»). Ноутбук мне очень понравился (стоит ли говорить — туда отлично встал Linux без каких-либо танцев с бубном кроме перевода SSD из режима RAID в режим AHCI одной галкой в UEFI). И я даже отлично попользовался им 2 недели, а потом… а потом блок питания ноутбука перестал работать.

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

Однако всё было не так просто…
Читать дальше →

Создаём своё первое USB-устройство

Level of difficultyMedium
Reading time14 min
Views22K

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

Сначала небольшое предупреждение: я не считаю себя экспертом в USB. Не рассматривайте пост как авторитетное руководство; скорее, это документация к моему небольшому проекту по созданию простейшего USB-устройства E2E. Также в нём приведены ссылки на хорошие материалы, в которых тема рассмотрена более подробно.
Читать дальше →

Защита схемы от переполюсовки, что может быть проще?

Level of difficultyMedium
Reading time15 min
Views50K
image
«Я не такая», «со мной этого точно не может случиться» — говорили они, но упорно продолжали пихать батарейки в пульт для телевизора не той стороной…

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

Содержание:



Всех неравнодушных к электронике прошу под кат!
Читать дальше →

Контроллер студийных мониторов с коррекцией АЧХ

Level of difficultyMedium
Reading time12 min
Views2.9K

История создания данного девайса началась с того, что я задумал прикупить пару студийных мониторов для работы с музыкой дома, однако, в отличии от обычных мультимедийных колонок, мониторы чаще представляют собой два независимых устройства. Т.е. регулировать громкость можно только на компьютере либо отдельно на каждом мониторе. Помимо этого, при работе в специализированном ПО (DAW) часто не используются стандартные драйвера и, соответственно, системный аудиомикшер и регулятор громкости просто не работают. Все это делает простую регулировку громкости совсем не тривиальной задачей. Регулировать звук можно фактически только изменяя уровень мастер-канала в DAW, что совсем неудобно. Конечно, в профессиональных внешних звуковых картах внешняя регулировка тоже предусмотрена, но не все ими пользуются. Для решения этой проблемы существуют мониторные контроллеры, бывают пассивные и активные. В самом простом пассивном варианте это просто потенциометр с ручкой в корпусе с разъемами на вход и выход. Возможности активных ограничены только фантазией разработчика и бюджетом покупателя. Вот как раз такой активный регулятор с дополнительными функциями мы и будем конструировать.

Читать далее

STM32 — грамотно включаемся от кнопки

Level of difficultyEasy
Reading time7 min
Views20K

Наличие у контроллеров STM32, да и практически любых других, режима энергосбережения STANDBY, который фактически представляет собой полное отключение (работает только RTC и сторожевой таймер, потребление составляет первые микроамперы, а состояние не сохраняется), дает возможность простейшим способом сделать включение и выключение устройства на таком МК нажатием кнопки, в том числе и задействованной под другие функции, без каких-либо дополнительных элементов. Есть, однако, несколько подводных камней, и в этой статье я расскажу, как на них не попасть.

Читать далее

Стабилизируем положение потенциометра, считанное с АЦП

Level of difficultyMedium
Reading time14 min
Views8.6K
Считать показания потенциометра для удобного аналогового управления системой, что может быть проще? Сеть завалена примерами работы с АЦП. Считали значение, вот мы и знаем положение… Но не всё так просто – эти значения всё время будут разными. Близкими, но разными. То есть, программа будет считать, что положение головки регулятора всё время дрожит.



В статье будет показано несколько методов борьбы с этими дрожаниями, начиная от самых простых (которые в подавляющем большинстве случаев достаточны), через более сложные и вплоть до алгоритма, придуманного специально для недавнего проекта. Наверняка, я уже 100500-й, кто такой алгоритм придумал, но после опроса знакомых, оказалось, что в списке тех, кто его собирается опубликовать, мой номер значительно меньше. Среди типовых он не находится. Возможно, кому-то он тоже окажется полезным.
Читать дальше →

Программируем полётный контроллер на основе DIY проекта Flix

Level of difficultyMedium
Reading time19 min
Views29K

У нас в МАИ, в 8-м институте, учатся будущие разработчики IT‑продуктов и софта для авиационных систем, аэропортов, логистики и много чего ещё интересного. Один из курсов с 2023 года мы решили посвятить разработке программного обеспечения для автопилота. В курсе всё как положено, с красивыми диаграммами регуляторов, кватернионами и кодами таких проектов как Ardupilot, PX4, Betaflight, iNav и другими.

Однако, довольно сложно сразу вкатиться в тему полетных прошивок — они переполнены всякими фичами и функционалом, так что неподготовленному разработчику сложно понять как же это всё работает. Поэтому долгое время я искал такой проект, который позволяет «на пальцах» объяснить как работает прошивка полётника. Таким проектом для меня стал Flix от Олега Калачева. Про опыт сборки проекта и изучения на его основе полетной прошивки со студентами и пойдет разговор в этой статье.

Полетели !
1
23 ...

Information

Rating
Does not participate
Registered
Activity