Pull to refresh
-26
0
Send message

Как я строил Умный Дом. Часть 1

Reading time3 min
Views33K

Всем привет! Вот и я решил написать тут, да не просто статью, а серию статей в лайв формате. Тема - строительство своего дома, Умного дома.

Собственно, строительства будет минимум, а инженерки и её автоматизации поболее.

Строим Умный дом вместе ;)

Читать далее
Total votes 57: ↑40 and ↓17+23
Comments330

Согласование импедансов: как сломать и как починить

Reading time8 min
Views33K

Рано или поздно в руки любителей, начинавших с Ардуино, попадают куда более быстрые устройства. Накинув щупы осциллографа на навесные провода, они обнаруживают, что сигнал, который задумывался, как голубая линия на заглавной картинке на деле выглядит, как жёлтая. В поисках решения проблемы они приходят к весьма многогранной области знаний под названием «Целостность сигналов». И если такие её аспекты, как питание и возвратные токи относительно просты для понимания, то согласование импедансов содержит ряд контринтуитивных положений. В процессе освоения данной темы мне показалось, что материалы по ней разделены на три не слишком хорошо связанных блока:
1) теория с формулами и отсылками к 2 курсу ВУЗа
2) гипертрофированные примеры на симуляторах
3) применение на практике (с эмпирическими суевериями)

Данная статья является попыткой начать с конца. Я возьму работающую схему, выполненную в текстолите. Затем постараюсь ухудшить её характеристики так, чтобы рассогласование линий стало причиной сбоев в работе или хотя бы стало заметно на осциллографе. А затем постараюсь устранить возникшие проблемы.

Согласовать импедансы
Total votes 90: ↑89 and ↓1+88
Comments40

Простой шутер от третьего лица на Unreal Engine. Часть 1

Reading time7 min
Views21K

Эта статья писалась для новичков Unreal Engine, если вы профи, то вам будет скучно. Для нормального прочтения, осмысления и понимания происходящего ниже необходимо знать что такое переменная и их основные типы, что такое метод, булеву логику и самые базовые принципы программирования. Спасибо. Приступим.

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

Junior — приговор или возможность? Что надо знать новичкам о своей первой работе

Reading time7 min
Views26K

Знаете, меня вряд ли можно назвать сеньором. У меня всего 3 года опыта разработки и повидал я сравнительно мало. Но я помню те тяжелые дни, когда я оказался на своей первой работе и мне пришлось буквально заставлять себя делать хорошо. Когда не понимал зачем нужен git и закрывал задачи без проверки. Если бы я посоветовал себе несколько вещей, то, возможно, мой карьерный путь был бы менее тернист. Потому спешу поделиться этими советами, пока память свежа, и подискутировать над тем, что считаю хорошими рекомендациями начинающему специалисту!

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments22

Как подключить АЦП HX711 к NRF52832

Reading time4 min
Views4.6K

1. Введение


На повестке дня стояла задача разработать протокол общения микроконтролера nrf52832 с двумя полумостовыми китайскими тензодатчиками.

Задача оказалась не простой, так как столкнулся с отсутствием какой — либо внятной информации. Вероятнее, что «корень зла» находится в самом SDK от Nordic Semiconductor — это постоянное обновления версий, некоторая избыточность и запутанность функционала. Пришлось писать все с нуля.


Я думаю эта тема довольно актуальна исходя из того, что данный чип обладает BLE стеком и целым набором “вкусняшек” режима энергосбережения. Но в техническую часть я сильно углубляться не буду, так как на эту тему написано немало статей.


2. Описание проекта


image

Железо:


  • Adafruit Feather nRF52 Bluefruit LE (то что оказалось под рукой)
  • АЦП HX711
  • Китайские тензодатчики 2 шт. (50х2 кг)
  • Программатор ST-LINK V2

Софт:


  • IDE VSCODE
  • NRF SDK 16
  • OpenOCD
  • Программатор ST-LINK V2

Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments15

Как процессор 8086 работает с питанием и сигналами тактовой частоты

Reading time11 min
Views6.2K
Одна из недооценённых характеристик ранних микропроцессоров – сложность в распределении питания внутри интегральной схемы. У современного процессора может быть 15 слоёв металла с проводниками, но у чипов из 1970-х, например, у 8086, был всего один металлический слой, из-за чего разводка проводников представляла собой проблему. Сигналы тактовой частоты (синхросигналы) тоже нужно доводить до всех частей чипа, чтобы все они работали синхронно.

На фото ниже показан кристалл 8086 под микроскопом. Виден металлический слой сверху чипа, под которым прячутся кремниевая подложка и поликремниевый слой с проводниками. По периметру кристалла снаружи крохотная проволочная разварка соединяет площадки кристалла с внешними ногами. У 8086 площадка питания расположена сверху, а площадки земли – сверху и снизу. У каждой из них есть два проводка проволочной разварки, что удваивает величину поддерживаемого тока. Видны широкие металлические дорожки, идущие от площадок питания и земли. Они распределяют питание по чипу.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments4

Почему тестировщиков «джун», «мидл» и «сеньор» не существует. Или как мы уже 10 лет работаем без грейдов

Reading time7 min
Views27K


Привет, Хабр! Меня зовут Женя. Десять лет назад я стартанул агентство аутсорс-тестирования «Кавычки». У нас в компании нет и никогда не было деления тестировщиков на джунов, мидлов и сеньоров. Хотя были попытки. Расскажу, почему так получилось и как можно жить без грейдов.
Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments39

Новое применение Captive Portal для проведения MiTM атак

Reading time3 min
Views7.1K

Тема проведения Man in the Middle атаки в контексте Captive Portal стара как мир. Как правило ведется речь о поднятии фейковой беспроводной точки доступа с собственным Captive порталом. Сегодня я покажу совершенно другой вектор атаки, выходящий за грани WiFi и применимый в том числе и в проводных Ethernet сетях.
Total votes 15: ↑15 and ↓0+15
Comments6

Руководство Google по стилю в C++. Часть 2

Reading time7 min
Views32K
Часть 1. Вступление
Часть 2. Заголовочные файлы
Часть 3. Область видимости



Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь руководство на последнем.
Эта статья является переводом части руководства Google по стилю в C++ на русский язык.
Исходная статья (fork на github), обновляемый перевод.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments21

Электростатический очиститель воздуха своими руками. Часть 1 — принципы работы

Reading time23 min
Views96K
В какой-то момент времени во мне воспылал энтузиазм к постройке бытового электростатического очистителя воздуха (электрофильтра). Удивительно, но мне не удалось в сети найти годных материалов по этой области что и подтолкнуло меня к написанию данной статьи.

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


На фото коронный разряд, используемый в электростатических очистителях воздуха
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments103

Функциональное программирование — то, что вам (наверно) рассказывали. Если вы слушали

Reading time16 min
Views30K
Мне нравятся разговоры на тему «мне раньше в школе/институте/родители говорили, а теперь я узнал». Если по счастливой случайности я оказываюсь хоть немного компетентен в обсуждаемом вопросе, то такие разговоры обычно сводятся к одному из трех вариантов: «где вообще ты раньше слышал такую чушь?» (если собеседник прав), «а с чего ты взял, что это так?» (если он не прав) и «ты прав, только это не противоречит тому, что тебе говорили раньше» (в подавляющем большинстве случаев). Нравятся такие разговоры мне по следующей причине: обычно их инициатор не обременен излишним предварительным знанием вопроса, что в некоторых случаях позволяет ему указать на некоторые моменты, которые принимались как очевидные, на самом деле таковыми не являясь. И одной из тем для подобных бесед оказалось функциональное программирование.

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

Насколько это соответствует истине?
Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments299

Это норма — 3: типы карт нормалей

Reading time5 min
Views25K
Часть 1: что такое карты нормалей и как они работают

Часть 2: как запекаются карты нормалей

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

Карта нормалей касательного пространства (Tangent space normal map): самый распространённый сегодня тип карт нормалей; именно о нём мы говорили в предыдущих статьях. Он модифицирует направление нормалей модели на основании направления нормалей её вершин (то есть нам нужно контролировать нормали вершин lowpoly-модели).

image
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments4

Увлажнитель воздуха: купить или сделать? Сложности выбора

Reading time5 min
Views265K
Пришла зима, отопительный сезон и вновь актуален вопрос увлажнения воздуха («Если наружный воздух значительно холоднее комфортного, его обогревают, что приводит к снижению относительной влажности воздуха. Это происходит потому, что обогрев повышает температуру, но не увеличивает количество влаги в воздухе»).
Еще и педиатр сказал, что ребенок будет болеть меньше, если поддерживать влажность в норме («Пересушивание воздуха вызывает усиленное испарение влаги отовсюду: с кожи и из организма человека и домашних животных, комнатных растений, из покрытия стен, мебели, музыкальных инструментов, паркета, книг, картин и других предметов, сделанных из гигроскопичных материалов, что вредит здоровью обитателей и сохранности предметов.»).
Вот и рекламный видеоролик, подтверждает сказанное
спойлер

Проблема лишь в том, что не существует оптимального способа увлажнения – у всех есть и серьезные недостатки и очевидные преимущества. А установка дома аквариума в планы не входит.
Обзор существующих подходов, а также конструкций «сделай сам» под катом. Надеюсь, кому-то поможет сделать свой выбор, а кто уже сделал – поделится впечатлениями с сообществом.
Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments183

Мои поиски физической панели управления умным домом

Reading time5 min
Views51K

Довольно давно у меня появилась мысль установить управляющую панель, расположенную рядом с входной дверью внутри квартиры/дома.


Существует несколько вариантов реализации этой задумки:


  • сенсорная панель оператора ПЛК;
  • планшет;
  • сенсорный дисплей, подключенный к микрокомпьютеру.


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

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

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Reading time19 min
Views622K

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


Читать дальше →
Total votes 375: ↑370 and ↓5+365
Comments595

Как работает рендеринг 3D-игр: растеризация и трассировка лучей

Reading time18 min
Views29K
image

Часть 1: обработка вершин

В этой статье мы подробнее рассмотрим то, что происходит с 3D-миром после завершения обработки всех его вершин. Нам снова придётся стряхнуть пыль с учебников по математике, освоиться в геометрии пирамид усечения и решить загадку перспектив. Также мы ненадолго погрузимся в физику трассировки лучей, освещения и материалов.

Главная тема этой статьи — важный этап рендеринга, на котором трёхмерный мир точек, отрезков и треугольников становится двухмерной сеткой разноцветных блоков. Очень часто этот процесс кажется незаметным, потому что преобразование из 3D в 2D оказывается невидимым, в отличие от процесса, описанного в предыдущей статье, где мы сразу же могли увидеть влияние вершинных шейдеров и тесселяции. Если вы пока не готовы к этому, то можете начать с нашей статьи 3D Game Rendering 101.

Подготовка к двум измерениям


Подавляющее большинство читателей читают этот веб-сайт на совершенно плоском мониторе или экране смартфона; но даже если у вас есть современная техника — изогнутый монитор, то отображаемая им картинка тоже состоит из плоской сетки разноцветных пикселей. Тем не менее, когда вы играете в новую Call of Mario: Deathduty Battleyard, изображения кажутся трёхмерными. Объекты движутся по сцене, становятся больше или меньше, приближаясь и отдаляясь от камеры.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments5

Руководство Google по стилю в C++. Часть 1

Reading time4 min
Views55K
Часть 1. Вступление
Часть 2. Заголовочные файлы
Часть 3. Область видимости
Часть 4. Классы
Часть 5. Функции
Часть 6. Специфика Google
Часть 7. Ещё возможности C++
Часть 8. Именование
Часть 9. Комментарии
Часть 10. Форматирование
Часть 11. Исключения из правил


Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь руководство на последнем.
Эта статья является переводом части руководства Google по стилю в C++ на русский язык.
Исходная статья (fork на github), обновляемый перевод.
Это вступительная часть руководства, в которой рассматриваются общие вопросы «Зачем?»
Также после перевода будет несколько ответов на возможные вопросы.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Почему, а главное, куда люди уходят из IT?

Reading time8 min
Views64K
Здравствуйте, уважаемое хабросообщество. Вчера (будучи в нетрезвом состоянии), прочитав пост от @arslan4ik «Почему люди уходят из IT?», я задумался, ведь действительно хороший вопрос: «Почему..?»

Ввиду моего места жительства в солнечном городе Los Angeles, я решил узнать, есть ли в моем любимом городе люди, по тем или иным причинам ушедшие (на темную сторону силы) из IT. Нагуглив статистику безработных/потерявших работу/сменивших карьеру (выберите понравившееся) людей, любезно предоставляемой (обществом анонимных алкоголиков) Бюро статистики труда, понял, что к нам это мало относится, поэтому решил пойти по другому пути и связаться с людьми, которые варятся (в аду) в котле IT.

Полистав свой альбом с визитками (да, представьте себе, у нас такое еще в моде), я быстро нашел контакты г-на Айджимена, Cisco инженера, который разрабатывал схему и устанавливал систему умного дома и сигнализации в моей избушке. Оказалось, что текучка в IT — проблема более серьезная, чем я себе представлял. Во время беседы г-н Айджимен предложил познакомить меня с его «гуру», который помог ему открыть ворота в мир IT индустрии, но который по стечению обстоятельств уже не работает в этой сфере.

Итак знакомьтесь: RJ, человек, отдавший 13 лет IT и его история развода с любимым делом…
Читать дальше →
Total votes 82: ↑65 and ↓17+48
Comments118

MicroPyServer простой HTTP сервер для ESP8266 и ESP32

Reading time3 min
Views46K

Промо


Всем привет!


Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера.


Что такое MicroPyServer?


MicroPyServer это простой HTTP сервер предназначенный для проектов написанных на Micropython.


Основная концепция работы с библиотекой — это перехватывание запросов к устройству при помощи создания роутов (route) и функций обработчиков (handler).

Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments19

Включаем свет силой мысли, ну почти

Reading time3 min
Views4.6K
KDPV

Написание алгоритмов наверное самая для меня интересная часть в домашней автоматизации. Но даже вся масса сенсоров и сценариев не справляется с буйной фантазией жизни и приходится добавлять способ непосредственного контроля. В качестве органов ручного управления можно поставить и обычный дверной звонок, но что делать если хочется большего? Встречаем героя этой статьи — датчик жестов на основе SI1143 от Silicon Labs.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments3

Information

Rating
Does not participate
Registered
Activity