Мне всегда нравились портативные вычислительные устройства, которые имели при себе полноценную qwerty-клавиатуру, а не какой-либо обрубок в виде телефонных клавиш. Это была настоящая мечта — заиметь в своё распоряжение какой-нибудь КПК или хотя бы мобильник с qwerty. Годы шли и индустрия пересела на сенсорные экраны, удобные в производстве девайсы заполонили прилавки. Теперь делать физические клавиатуры немодно и дорого. В какой-то момент мне на глаза попалась очередная поделка от китайцев на базе ESP32 и с маленькой прищелкивающейся клавиатурой. Она позиционировалась как MicroPython доска, обучать, программировать, хороший, молодец. И тут в голове моей щелкнуло — я ж могу и сам такую штуку сделать! Идея пошла дальше и зачем мне ESP32? Возьму сразу SBC, будет полноценный ПК. Форм-фактор «старенький тетрис» мне пришелся по вкусу и решено было на нём и остановиться. Держать двумя руками удобно и пользоваться стоя — только в путь! Итак, мысль сделать своё устройство есть, теперь перейдём к реализации. Осторожно, внутри много картинок.
User
Настройка VSCode для программирования AVR в Linux
Всем, кто занимается электроникой, так или иначе знакомы контроллеры AVR. Начинающим они знакомы, по большей части, за счёт экосистемы Arduino. В данной статье я попытаюсь рассказать начинающим программистам, как можно в Linux просто настроить VSCode для работы с контроллерари AVR и получить удобную навигацию по коду, приятную подсветку синтаксиса и прочие рабости, которые даёт VSCode. Это даст желающим возможность перейти от экосистемы Arduino к прямой работе с процессорами.
DIY датчик влажности почвы с E-Ink экраном
Хронология:
- Беспроводной модуль для ёмкостного датчика влажности почвы на nRF52832
- Беспроводной DIY монитор влажности почвы
Байесовская нейронная сеть — потому что а почему бы и нет, черт возьми (часть 1)
Если вы что-то знали о нейронных сетях до этого — забудьте это и не вспоминайте, как страшный сон.
Если вы не знали ничего — вам же легче, полпути уже пройдено.
Если вы на «ты» с байесовской статистикой, читали вот эту и вот эту статьи из Deepmind — не обращайте внимания на предыдущие две строчки
Итак, магия:
Слева — обычная и всем знакомая нейронная сеть, у которой каждая связь между парой нейронов задана каким-то числом (весом). Справа — нейронная сеть, веса которой представлены не числами, а демоническими облаками вероятности, колеблющимися всякий раз, когда дьявол играет в кости со вселенной. Именно ее мы в итоге и хотим получить. И если вы, как и я, озадаченно трясете головой и спрашиваете «а нафига все это нужно» — добро пожаловать под кат.
Делаем сервер из Android-телефона
Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.
На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.
Ну и в-четвёртых, мне просто было жаль их выбрасывать. Консьюмеризм в наше время предписывает каждый год-два покупать новые смартфоны, производители блокируют возможности железа, которые им невыгодны, прекращают поддержку старых моделей, оставляя людей беспомощными. Миллионы смартфонов отправляются на свалку истории каждый год, хотя каждый из них это мощный компьютер.
TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.
Краткий обзор возможностей — для построения осциллографа
Многие любители электроники периодически сталкиваются с необходимостью отслеживания различных процессов, с помощью такого прибора, как осциллограф. Не секрет, что стоимость профессиональной системы является весьма «кусачей» и поэтому постоянно предпринимаются попытки сделать данную систему своими руками.
С появлением ардуино, увлекающиеся получили новый шанс по созданию данного аппарата «дешево и сердито». В этой статье мы сделали попытку провести краткий обзор возможностей ардуино в этом направлении.
Собираем и устанавливаем свою Linux-систему на микроконтроллер STM32MP1
Примечание переводчика: эта статья уже выходила в блоге, но из-за мисклика вышла как оригинальная статья. Выпускаю ее снова, указав автора оригинала и ссылку на него
В этой статье мы автоматизируем процесс сборки и установки Linux-системы на микроконтроллер STM32MP157-DK2. ОС будет обладать минимальной функциональностью, но зато мы соберём из исходников собственную систему. А поможет нам в этом Buildroot — система сборки Linux-дистрибутивов.
Что такое Buildroot?
Сначала вспомним, что Linux-система состоит из достаточно большого количества разных компонентов. Так как мы здесь говорим про embedded-платформы, выделим следующие компоненты:
Печатные платы с помощью фотополимерного 3D-принтера
3D-принтерами сейчас уже никого не удивишь. А в последние год-два благодаря сильному снижению стоимости бурно расцветает и их фотополимерный подвид. Сейчас такой принтер доступен уже практически каждому и число их моделей на рынке множится каждый месяц.
Еще когда я несколько лет назад только узнал о появлении нового типа фотополимерных принтеров - у которых изображение слоя для засветки формируется ЖК-дисплеем, у меня уже тогда мелькнула мысль "Хм, а если им подставить фоторезист на текстолите?". Но тогда это был чисто теоретический вопрос - цены на них были немалыми, а разрешение и площадь дисплея оставляли желать лучшего. Однако на сегодня эти принтеры уже могут похвастаться и приличным разрешением - от 30 мкм пиксель, и вполне нормальной площадью дисплея.
И как оказалось, с помощью недорогого современного фотополимерного принтера вполне можно делать платы с дорожками/промежутками от 0.15 мм :)
Разработчики встраиваемых систем не умеют программировать
Заслуженно распространена точка зрения, что типичный разработчик высокоуровневого прикладного ПО настолько свыкся с доступностью системных ресурсов и мягкостью требований реального времени, что ожидать от него оптимизации кода в угоду снижения ресурсоёмкости приложения можно лишь в крайних случаях, когда этого прямо требуют интересы бизнеса. Это и логично, ведь в задачах прикладной автоматизации самым дорогим ресурсом остаётся ресурс человеческий. Более того, снижение когнитивных затрат на возню с байтами оставляет внимание разработчика свободным для задач первоочередной важности, таких как обеспечение функциональной корректности программы.
Редко когда речь заходит об обратной проблеме, имеющей место в куда более узких кругах разработчиков встраиваемых систем, включая системы повышенной отказоустойчивости. Есть основания полагать, что ранний опыт использования MCS51/AVR/PIC оказывается настолько психически травмирующим, что многие страдальцы затем продолжают считать байты на протяжении всей карьеры, даже когда объективных причин для этого не осталось. Это, конечно, не относится к случаям, где жёсткие ценовые ограничения задают потолок ресурсов вычислительной платформы (микроконтроллера). Но это справедливо в случаях, где цена вычислительной платформы в серии незначительна по сравнению со стоимостью изделия в целом и стоимостью разработки и верификации его нетривиального ПО, как это бывает на транспорте и сложной промышленной автоматизации. Именно о последней категории систем этот пост.
Электронная книга своими руками на STM32H750 от А до Э
В этой статье я хочу поделиться опытом разработки электронной книги с использованием недорогого контроллера STM32H750VB, распространенных дискретных компонентов и относительно недорогого дисплея E-Ink. Статья будет большой, так как приведены будут все процессы от постановки задачи до получения первой версии устройства, способного выполнять поставленную задачу. Все будет снабжено схемами, трассировками, кодом и комментариями. Почему в названии от «от А до Э»? Потому что нельзя просто так взять и сделать конечный продукт без ошибок и недоделок.
It`s a Sony! Again. Впечатления от ультрапортативного флагмана 10 лет спустя
Выезжая вечером из дома, на этот раз, я точно знал куда и зачем я еду. А вот чего я не знал, так это масштаба разочарования, которое меня будет плавно одолевать последующие пару недель. В прошлой статье я описал ощущения от Sony Vaio C, и было бы странно не попробовать его прямого наследника – Sony Vaio P.
Аэродинамика из STL
Для построения траекторий КА и их носителей нужны данные. В первую очередь - аэродинамические. Они нужны при определении сил и моментов, действующих на космический аппарат (или его ступень), а также для оценки теплового состояния конструкции. Характеристики зависят от внешнего вида КА и параметров полета и обычно выглядят как обширные простыни с зависимостями соответствующих коэффициентов от углов атаки, чисел Маха, высот и много еще чего.
Есть несколько способов получить эти цифры:
Виртуальные личности, анонимность, одноразовые симки — суровая реальность в мире тотальной слежки
Кадр из игры Digital Resistance
В публичных чатах Telegram редко встретишь человека под настоящим именем. Показывать личные фотографии и номер телефона в профиле теперь не принято. И это совершенно нормально — похоже, раскрывать свою личность становится опасно. Даже если вам «нечего скрывать».
Виртуальные личности, анонимные аккаунты, запасные симки — раньше эти понятия ассоциировались с даркнетом и киберпреступностью. Но сейчас ситуация полностью изменилась. Анонимность стала базовым правилом информационной гигиены, когда все находятся под наблюдением.
УЗИ для НКИ: неинвазивное считывание активности мозга
С каждым годом грань между человеком и машиной становится тоньше. Конечно, до уровня «Deus Ex» еще далеко, но уже сейчас имеются разного рода протезы, аугментации и другие устройства, работающие в тесной связи с нервной системой пользователя. Одним из ярчайших примеров подобного футуризма является НКИ (нейрокомпьютерный интерфейс), обеспечивающий обмен информацией между мозгом и компьютером. Проблема в том, что для полноценной работы НКИ требуется незначительный апгрейд со стороны пользователя — вживление в мозг электродов. Звучит это гораздо зловещее, чем есть на самом деле, однако не все считают подобный метод самым эффективным. Ученые из Калифорнийского технологического института (США) разработали систему, которая позволяет считывать активность мозга с помощью неинвазивного метода на основе ультразвука. Как именно работает созданное устройство, что ученым удалось увидеть в мозгах подопытных, и насколько точна данная разработка? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Как саботировать данные, которые технологические гиганты используют для слежки за вами
Алгоритмы не работают без качественных данных. Общественность может использовать их, чтобы требовать перемен.
Каждый день вы оставляет за собой след из цифровых «хлебных крошек», по которому крупные технологические компании следят за каждым вашим шагом. Вы отправляете электронное письмо, заказываете еду, смотрите шоу на стриминговом сервисе. А обратно отдаете ценные пакеты данных, которые компании используют, чтобы лучше понять ваши предпочтения. Этими данными «кормят» алгоритмы машинного обучения, и затем показывают вам рекламу и рекомендации. Один только Google выручает за личную информацию 120 миллиардов долларов рекламных доходов в год.
Операционные усилители: 10 схем на (почти) все случаи жизни
В последнее время я по большей части ушел в цифровую и, отчасти, в силовую электронику и схемы на операционных усилителях использую нечасто. В связи с этим, повинуясь неуклонному закону полураспада памяти, мои знания об операционных усилителях стали постепенно тускнеть, и каждый раз, когда все-таки надо было использовать ту или иную схему с их участием, мне приходилось гуглить ее расчет или искать его в книгах. Это оказалось не очень удобно, поэтому я решил написать своего рода шпаргалку, в которой отразил наиболее часто используемые схемы на операционных усилителях, приведя их расчет, а также результаты моделирования в LTSpice.
Как подключить содержимое любых файлов для использования в коде C / C++
Задача состояла в подключении файлов: HTML, JS, CSS; без специальной подготовки. Так же неудобно подключать бинарные файлы (например картинки) конвертируя их в HEX. Так как не хотелось конвертировать в HEX или разделять на строки, искал способ подключения файла в адресное пространство программы.
Составное устройство USB на STM32. Часть 1: Предпосылки
История эта началась три года назад, когда я осознал, что мне скоро исполнится 50 лет, что я погряз в бумажной работе, и что мне хочется чего-то нового. Работу поменять в моём возрасте уже проблематично, поэтому я решил начать pet-проект.
Первое, что приходит в таких случаях на ум старому радиолюбителю: новая радиостанция. Стопроцентно аппаратные решения остались в далёком прошлом. Сейчас гораздо более актуальны SDR-трансиверы: решение это программно-аппаратное, есть опубликованные примеры реализации, к некоторым из них даже выложены исходные коды прошивок.
Основная проблема в разработке заключалась в том, что несложные SDR-радиостанции, работающие в связке со звуковой картой, требуют наличия у компьютера, к которому они подключены, двухканальных линейных входа и выхода для работы приёмо-передающего тракта, а также COM-порта для работы CAT-интерфейса. В современных же ноутбуках аудиовход обычно предназначен для подключения микрофона гарнитуры и бывает только монофоническим.
Решением проблемы стала реализация составного устройства USB, состоящего из виртуального COM-порта и дуплексной звуковой карты. Кому интересно, как я с этим справился, не имея опыта программирования, милости прошу под cut.
Кунг-фу стиля Linux: разбираемся с последовательными портами
Черная магия голубой таблетки (делаем программатор Black Magic Probe из модуля на базе STM32F103)
Зачем?
В эпоху Arduino UNO и Atmega328 я вполне обходился без программатора, прошивая микроконтроллер сначала загрузчиком Arduino через другую Arduino (Arduino as ISP), а потом через обычный последовательный порт, и лишь после появления поддержки Arduino для модулей на основе Nordic Semiconductor nrf51822 и nrf52832 для меня впервые стало актуальным наличие swd-программатора, ибо никаким другим способом прошивку в голый китайский модуль не зальешь.
Стандартом де-факто в данной области являются программаторы Jlink немецкой компании Segger Microcontroller System, известные не только своими прекрасными ТТХ, но и заоблачной ценой (около $500-600). Надо отдать должное компании Segger, для некоммерческого использования выпускается EDU версия, полностью идентичная Jlink Base, но даже она стоит в России в районе 3000 руб. Любимый Aliexpress полон китайских клонов, однако и они относительно недешевы, не говоря уж о прочем.
Есть еще ST-LINK/V2 от ST Microelectronics, правда, под вопросом их совместимость с микроконтроллерами производства не самой STMicro.
В итоге, мой взгляд неминуемо пал на JTAG/SWD программатор Black Magic Probe (BMP), собравший на Kickstarter более $47,000 при заявленной цели в $10,000.
Information
- Rating
- 2,813-th
- Registered
- Activity