All streams
Search
Write a publication
Pull to refresh
-4
0
Send message

Прокачиваем Meshtastic — увеличение дальности своими руками. Направленные антенны

Level of difficultyMedium
Reading time7 min
Views1.1K

Несколько лет назад автором был представлен цикл статей, посвящённый теме организации текстового радио-чата без применения сотовой связи, на основе модулей Lora и ESP32. Ознакомиться с ними вы можете тут:

Часть 1 >>> Часть 2 >>> Часть 3 >>> Часть 4

А так же, начат цикл статей на тему лёгкой теории и рассмотрены конструкции простых антенн в приложении к теме Meshtastic и ISM-конструкций.

Статья 1 >>> Статья 2

Третья статья посвящена прототипу универсальной конструкции направленной антенны, где можно сделать основу в виде базы из 3х направленных элементов с правильным питанием и при необходимости поднять усиление антенны, увеличив количество элементов простой надстройкой (без необходимости делать новые модели). Всё, как всегда, из..."того что есть под ругой и палок" для технически творческих коллег. :)

Направленная антенна для Meshtastic

Корпоративные стандарты автоматизации технологических процессов

Reading time20 min
Views2.5K

Если посмотреть на ведущие промышленные компании — от машиностроения до нефтегаза, — становится ясно: многие из них давно и плотно занимаются разработкой собственных, внутренних стандартов по АСУТП. Это не просто свод общих правил. Речь идет о детальных регламентах, которые покрывают все: от проектирования архитектуры и выбора ПО до конкретных требований к интерфейсам операторов, промышленной безопасности и дальнейшему сопровождению систем.

Главная особенность этих документов в том, что они — не сухая адаптация норм вроде ГОСТ или МЭК. Это, скорее, живые и практические руководства, которые инженеры компаний буквально «выстрадали» на собственном опыте. Они рождаются из реальных проектов, учебы на ошибках и направлены на решение конкретных задач, а не на соответствие абстрактным нормативам.

Что это дает на практике? Эффект от внедрения таких стандартов — вполне измерим. Это не просто «для галочки». Компании получают реальные результаты:

Читать далее

Kubernetes на пальцах: самое простое объяснение, что это такое

Reading time7 min
Views21K

Вы наверняка знаете, Kubernetes просто повсюду. От разработчиков, тестировщиков, DevOps-инженеров и системных аналитиков ожидают умения работать с этим инструментом. Даже продакт-менеджеры иногда интересуются, что это такое.

Если вы только начинаете знакомство с Kubernetes и хотите понять, с чего начать, эта статья для вас. Разберем, какие задачи он решает, какие у него основные объекты и как можно управлять кластером без сложных команд в терминале. Подробнее читайте внутри.

Читать далее

Как весь день быть продуктивным: не выгореть и покончить с прокрастинацией. Часть 1

Level of difficultyEasy
Reading time11 min
Views18K

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

Читать далее

QEMU: как организовать прозрачное взаимодействие с I2C-устройствами

Level of difficultyMedium
Reading time11 min
Views3.7K

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

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

Читать далее

Парадокс импортозамещения: почему корпус из русского алюминия в Китае вдвое дешевле, чем в России?

Level of difficultyEasy
Reading time6 min
Views101K

И снова здравствуй, Хабр. Как вы уже знаете, я работаю в компании, которая разрабатывает и производит системы видеонаблюдения в Краснодаре. Моя задача — сделать так, чтобы наша каждая камера не сгорела от перегрева летом и не развалилась от мороза зимой. А значит, нужен хороший герметичный и теплоотводящий корпус. Из алюминия или сплава алюминия.

Наши корпуса проектируются полностью внутри компании — 3D-модели, чертежи, инженерные расчеты, спецификации. Производство в Китае ведется строго по нашим разработкам и технической документации. Мы контролируем каждую ревизию чертежей, а китайские подрядчики фактически выступают как «удлиненный цех»: у них есть парк станков, анодирование, логистика и быстрая коммуникация.

Логика проста: свой продукт — свои корпуса. Запускаем расчет. Отправляем техзадание (ТЗ) с 3D-моделью по десяткам проверенным российским заводам. Ждём. 

Практика показывает, что 95% из них вообще даже не отвечают, а те, кто отвечают, дают цены в 2 или 3 раза выше аналогичных из Китая. На всякий случай, кидаем тот же самый STEP-файл и ТЗ нашему старому партнеру из Китая. Цена: 50 у.е., включая доставку до Краснодара. 

Возникает резонный вопрос: «Какого чёрта? Как может быть выгоднее дважды проехать полмира с нашим же металлом, чем сделать всё здесь?». Давайте разбираться, где в этой цепочке мы теряем эти самые 50%.

Читать далее

Как не сойти с ума? IT рынок переполнен

Level of difficultyEasy
Reading time3 min
Views72K

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

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

Итак, я обычный парень без каких-либо связей. После 9-го класса пошёл в техникум, закончил его на «отлично», затем отдал год службы в армии. После армии, как и у многих, у меня не было возможности учиться очно, поэтому я поступил на заочное отделение в институт. Пошёл работать: перепробовал множество профессий — фильтровал пиво, работал на складах Wildberries, в горячем цеху сети «Сицилия». Всё это время, на протяжении 2–3 лет после армии, я стремился стать разработчиком.

Как и многие ребята, которые не знают, с чего начать, я изучал всё подряд, неструктурированно: то Python, то JS. Потом взял перерыв, потому что потерял веру.

В конце 2023 года я вернулся в IT в попытках найти возможность стать разработчиком. Тогда я прошёл курсы на SQL Academy (понял, что без SQL в бэкенде никуда), кое-как одолел их за 1–2 недели. Потом мне выпал шанс пройти стажировку в ЦФТ. Я успешно прошёл все этапы, и меня взяли на позицию инженера по сопровождению. Там я плотнее познакомился с SQL, начал делать запросы разной сложности в PL/SQL Developer. Затем я понял, что эта позиция мне не симпатизирует и это не тот опыт, который я хотел получить.

В начале мая 2024 года я решил, что надо плотно начать изучать какой-нибудь язык программирования, и остановился на Java. Купил себе книги.

Читать далее

С Puppet на Ansible за 4 года: 5 инсайтов и письмо себе в прошлое

Level of difficultyMedium
Reading time12 min
Views2.6K

Сегодня расскажу историю о том, как мы еще в 2017 году решили поменять инфраструктурную платформу. Мы расшифровали мой доклад с DevOpsConf21, много всего уточнили, переписали и дополнили с учетом опыта следующих четырех лет, прошедших после того выступления. 

8 лет назад у нас было 40 сред, 15 разработчиков, 2 монолита, 10 сервисов и свое железо в трех серверных стойках. С такими исходными данными мы решили перейти с Puppet на Ansible. Окружений много, потому что с 2010-го мы поставляли разработчикам и тестировщикам маленькие копии нашего приложения — это делало задачу еще интереснее.

Путь был непростой. О нем расскажу в хронологическом порядке, не забывая о косяках и ошибках. По ходу повествования я выделил инсайты, которые могли бы сильно помочь мне в прошлом. В конце оформил их в виде письма для себя образца 2017-го 🙂.  А если вы решитесь проделать нечто столь же безумное (ну там, не знаю, переехать с микросервисов на монолит, с linux на windows и так далее), надеюсь, мои заметки уберегут вас от сложностей, с которыми мы столкнулись.

Читать далее

Ещё пара слов о пользе чтения

Reading time4 min
Views15K
image

Табличка из Киша (около 3500 г. до н. э.)

То, что читать полезно, не подвергается сомнению. Но ответы на вопросы “Чем именно полезно чтение художественной литературы?” и “Чтение каких книг предпочтительнее?" различаются в зависимости от источников. Следующий ниже текст — это моя версия ответа на эти вопросы.
Читать дальше →

Минимальный каркас самописного Bootloader'a на STM32F103C8T6. Пошаговый пример

Level of difficultyMedium
Reading time12 min
Views4.4K

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

Загрузчики до этого не писал, статьи на хабре не нашел, а хотелось. Вернее нашел, но только вводный ликбез, без практики)

Поэтому было решено разбить задачу на мелкие и начать с минимального примера. Подопытным будет BluePill на stm32f103c8t6.

В соответствии с декомпозицией задачи, у меня получилось так:

Читать далее

ESP32: Базовые алгоритмы машинного обучения

Level of difficultyMedium
Reading time4 min
Views19K

ESP32 давно зарекомендовал себя как универсальный микроконтроллер для IoT: он умеет работать с Wi-Fi и Bluetooth, управлять сенсорами и исполнительными устройствами. Но за последние годы стало ясно, что даже на таких простых устройствах можно запускать алгоритмы машинного обучения.

В этой статье рассмотрим, как на ESP32 можно реализовать три базовых алгоритма классификациидерево решений, метод К-ближайших соседей (KNN) и полносвязную нейросеть на TensorFlow Lite.

Для эксперимента использовался датчик цвета GY-31 (TCS230). Он преобразует отражённый от поверхности на которую направлен свет в три значения — красный, зелёный и синий (R, G, B). Задача: по этим трём числам определить, какой цвет «видит» сенсор: красный, оранжевый, жёлтый, зелёный, синий, фиолетовый, белый или чёрный.

Ознакомиться

Компьютерное зрение + ARKit = AR-навигация внутри зданий

Reading time11 min
Views4K

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

Мы решили сделать навигацию нагляднее — с помощью AR прямо через камеру смартфона. Сейчас технология доступна в столичных торговых центрах «Авиапарк», «Афимолл», «Европейский» и в «Галерее» в Петербурге.

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

Следовать за синей стрелкой...

Цифровая радиотехника, первые шаги. Repka Pi + SDR = Сканируем Радиоэфир

Level of difficultyMedium
Reading time14 min
Views11K

Появление приёмников SDR открыло перед радиолюбителями и профессионалами широкие возможности в области радиосвязи. Такие приёмники содержат в себе скоростной аналогово-цифровой преобразователь (АЦП), способный оцифровывать радиосигнал для последующей цифровой обработки.

Конечно, в приёмниках SDR есть и аналоговая часть, например, для смещения частоты входного сигнала, поступающего с антенны, на АЦП. К таким приёмникам обычно подключают еще фильтры и антенные усилители. Фильтры убирают помехи, спектр которых лежит за пределами рабочего диапазона частот. Антенные усилители включают после фильтров, если принимаемый сигнал слабый. Что же касается демодуляции, то она выполняется уже после оцифровки. Поэтому SDR-приёмники, в отличии от аналоговых, могут работать практически с любыми видами модуляции без изменения аппаратной части.

Низкочастотный сигнал в недорогих приёмниках SDR, наподобие RTL-SDR Blog 4, превращается в звук с помощью внешних компьютеров или микрокомпьютеров. Для этого на них устанавливается драйвер RTL-SDR и специальное программное обеспечение. В этой статье для обработки сигнала от RTL-SDR Blog 4 используется одноплатный компьютер Repka Pi 4.

Начать сканировать эфир :-)

ESP32-CAM: Алгоритмы компьютерного зрения

Level of difficultyMedium
Reading time13 min
Views11K

Модуль ESP32-CAM - это доступное и компактное решение, которое сочетает в себе микроконтроллер ESP32 и камеру OV2640. Благодаря своей низкой цене и широким возможностям он стал популярным выбором среди разработчиков проектов в области IoT, компьютерного зрения и робототехники.

В данной статье я собрал серию из 15 практических уроков, каждый из которых сопровождается видео и исходным кодом. Вместе мы пройдём путь от базового примера захвата изображения до реализации алгоритмов компьютерного зрения и даже интеграции TensorFlow Lite для классификации объектов прямо на ESP32-CAM.

Материалы организованы по нарастающей сложности: начиная с простого веб-интерфейса и работы с памятью устройства, и заканчивая фильтрацией изображений, преобразованием Хафа и нейронными сетями. Для каждого урока вы найдёте:

Ознакомиться

Что программисту нужно знать про зрение: гайд офтальмолога и инженера

Level of difficultyMedium
Reading time3 min
Views44K

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

Читать далее

Цифровая энтропия: почему ваш сервер с аптаймом в 1000 дней — это ходячий мертвец, и как с этим жить

Level of difficultyMedium
Reading time10 min
Views34K

Привет, коллеги! Хочу рассказать одну историю. Был у нас в стойке один сервер. Назовем его «Феникс». Работал как часы, аптайм — 986 дней. Мы им гордились, ставили в пример новичкам, мол, вот как надо настраивать железо и софт. А потом пришло время планового техобслуживания в дата-центре. Простое выключение-включение. «Феникс» больше не взлетел. RAID-контроллер решил, что с него хватит, а заодно прихватил с собой пару дисков из массива. Вот тогда я впервые по-настояшему задумался о том, что цифровой мир подчиняется тем же жестоким законам, что и физический.

В теории, код и данные — это нечто вечное. Биты не ржавеют, скрипты не изнашиваются. Но на практике любая сложная система со временем деградирует. Это не просто отказ железа ; это медленный, неумолимый «постепенный скат в беспорядок» , который затрагивает всё: софт, конфигурации, данные. Это явление, которое я для себя называю  цифровой энтропией, — наш с вами постоянный и невидимый враг. Наша работа — не просто строить системы, а вести непрерывную войну с их неизбежным распадом.  

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

Читать далее

Лестница абстракций и где на ней стоять: изучать ли программирование сложным способом?

Level of difficultyEasy
Reading time4 min
Views4.2K

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

Читать далее

JsonX — JSON на микроконтроллерах по-человечески

Level of difficultyEasy
Reading time3 min
Views4.9K

JSON сейчас встречается буквально везде - от веб-сервисов до IoT, но есть нюанс: почти все популярные JSON-библиотеки писались с расчётом на десктопы и серверы, где оперативку никто не считает по килобайтам. А вот на микроконтроллерах, особенно Cortex-M, каждый байт на счету. Да, конечно, можно гонять сырые структуры и их же писать в конфиг-файл, это как говорится "не запрещено конституцией". Но отладка в таком случае превращается в отдельный квест. В какой-то момент я понял, что мне надоело вручную возиться с JSON на микроконтроллерах: писать километры кода для обхода дерева cJSON, ловить утечки и гадать, где malloc снова подставит. Из всех этих соображений и родился JsonX — лёгкая и минималистичная надстройка над cJSON, которую я делал в первую очередь под микроконтроллеры.

Преимущество JsonX:

Читать далее

Асинхронность в микроконтроллерах

Level of difficultyEasy
Reading time5 min
Views6.3K

Статья посвящена созданию асинхронных алгоритмов на микроконтроллерах с использованием средств языка С и без RTOS.

Созерцаем электропривод

Мой путь в изучении языка C: какие книги реально помогли

Level of difficultyEasy
Reading time2 min
Views15K

Когда я начинал изучать C, я сразу взялся за «библию» — «Язык программирования С» Брайана Кернигана и Денниса Ритчи.

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

Читать далее
1
23 ...

Information

Rating
Does not participate
Registered
Activity