Pull to refresh
0
0
Алексей Петрушин @apetrushin

User

Send message

Z-Wave LED контроллер с энкодером. Z-Uno + MOSFET + Encoder

Reading time4 min
Views12K


В комнате где играет ребенок я установил дополнительную подсветку в виде LED ленты. Изначально я планировал, что буду управлять яркостью ленты, это удобно для настройки ночной подсветки. У меня уже был Z-Wave диммер на 220В, поэтому дешевле было докупить диммируемый трансформатор на 12В за 1000р, чем специальный RGBW контроллер от Fibaro за 5500р.

Это решение работает, но есть минусы:

  • Задержка при диммировании
  • Нельзя установить очень маленький уровень яркости

Спустя год использования, я решил изготовить свой Z-Wave LED контроллер, но с энкодером и в корпусе от диммера, для установки в подрозетник.

Принципиальная схема устройства элементарна, к Z-Uno напрямую подключается энкодер 3-мя пинами: пин A, пин B и кнопка. Мосфет подключается к PWM пину.


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments64

Начинающим на Arduino: Упаковываем конечный автомат в отдельный класс и библиотеку

Reading time9 min
Views33K

В прошлой статье про написание конечных автоматов я обещал упаковать наш гениальный код в виде класса на C++ для повторного удобного использования. Делать буду так же на примере своей старой разработки SmartButton. Итак, влезаем в непонятный мир ардуининых библиотек и ООП.


Папки с библиотеками

Читать дальше →
Total votes 15: ↑9 and ↓6+3
Comments59

Обзор Фрезерного станка ЧПУ Advercut 1212

Reading time4 min
Views7.8K
Сегодня в нашем обзоре мы расскажем и покажем фрезерный станок с ЧПУ Advercut K30MT/1212.

Кто не хочет читать текстовый обзор, просим посмотреть видео обзор с большим количеством дополнительной визуальной информации о станке:



Advercut K30MT/1212 это фрезерный станок с ЧПУ. Станки Advercut это более 30 моделей под различные задачи бизнеса и производства. Завод располагается в Китае, производство сертифицировано стандартами ISO, что говорит о высоком уровне сборки и контроля производства на международном уровне.
Total votes 16: ↑10 and ↓6+4
Comments16

Замена механического реле давления на цифровое (обладателям скважин)

Reading time6 min
Views47K
Когда я первый раз столкнулся с тем, чтобы отрегулировать механическое реле давления с пружинками, я понял, что мне нужен звонок другу, а точнее — отцу, так как механизм хоть и хорошо продуманный и отказоустойчивость на высоком уровне, но недостаток даже разовой регулировки на лицо.

image

image

Прошу под кат, там интересней ;)
Total votes 44: ↑38 and ↓6+32
Comments207

Opensource контроллер умного дома на базе Arduino Mega 2560 с поддержкой MQTT, DMX-512, 1-Wire, Modbus и Openhab

Reading time12 min
Views43K
Сегодня я решился вынести на суд общественности проект, работу над которым вел на протяжении последней пары лет: «LightHub». То, что получилось в итоге, можно назвать, пожалуй, самым дешевым решением для создания Умного дома, которое, тем не менее, умеет:

  • Управлять освещением и силовыми устройствами(Реле, диммеры DMX-512 и Modbus RTU)
  • Управлять теплыми полами (в качестве термодатчиков используются полтора десятка дешевых DS18B20, разведенных по квартире)
  • Управлять задвижками вентиляции/кондиционера
  • Управлять самодельной системой приточной вентиляции.
  • Многое такого, о чем я изначально не задумывался, просто в силу того, что контроллер получился абсолютно открытым, гибко конфигурируемым, и прекрасно дополняющим Опенсорсные решения Openhab+Mosquitto+NodeRed

На вход контроллера подключаются обычные выключатели, кнопки, контактные датчики, датчики протечки и пр. которые могут управлять как локальными нагрузками так и устройствами, подключенными к другим таким же контроллерам или ко всему, что понимает протокол MQTT. У меня, например, подключен геркон, установленный в коробке входной двери. Когда закрываю замок на три оборота — выключаются свет, теплые полы, бойлеры, AV ресивер. Когда возвращаюсь — состояние этих приборов восстанавливается как было до ухода.

На выход — например, такие вот релейные модули, DMX, Modbus переферия.

Контроллеры конфигурируются при помощи JSON файлов, которые при старте контроллера загружаются по http (далее, конфиг можно сохранить в NVRAM через Serial CLI). Ну и, конечно, все это управляется системой Openhab 2, через штатное мобильное приложение.
Задачи «малой автоматизации» решены как при помощи штатных openhab rules (не очень удобных), так и при помощи NodeRed. (По поводу NodeRed вот статья, которая прекрасно описывает пример автоматизации.)

Исходники, вместе с примерами конфигов, выложены на GIThub, описание понемногу выкладываю на сайте проекта. Соответственно, более полная история под катом.
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments84

Руководство по материалам электротехники для всех. Часть 10

Reading time4 min
Views23K
Продолжение руководства по материалам электротехники. В этой части заканчиваем с диэлектриками: полиимидами, полиамидами, полиметилметакрилатом, поликарбонатом. Еще в этой части картинка на которую я убил кучу времени.
image

Добро пожаловать под кат (ТРАФИК)
узнать о материалах
Total votes 50: ↑49 and ↓1+48
Comments21

Использование Graphviz для построения блок-схем

Reading time3 min
Views28K
Мы создаем ПО для разработки и поддержки баз данных Oracle, и статический анализатор PL/SQL является одной из основных фич наших приложений. Кто знаком с Oracle, тот хорошо знает что такое PL/SQL.

Известная поговорка гласит: «Лучше один раз увидеть, чем сто раз услышать». Поэтому мы решили заимпрувить статический анализатор таким образом, чтобы он визуализировал код в виде блок-схем (Flowcharts) и диаграмм вызовов (Call Trees). Хоть и нарисовать блоки и их связи несложно, оптимизировать их расположение на «листе» представлялось задачей, требующей значительных усилий. Чтобы стрелки минимально пересекались и обтекали блоки, блоки объединялись в группы, и диаграмма при этом не превращалась в «кашу», нужно было потратить много сил и времени.

И тогда мы решили поискать готовое решение, дабы не изобретать велосипед. Наше внимание сразу привлек Graphviz – open source решение по визуализации диаграмм. Первые его версии были разработаны компанией AT&T, а теперь он доступен как набор утилит и библиотек, а также в исходниках под лицензией Eclipse Public License (EPL).

Его движок диаграмм использует язык описания графов DOT, который представляет собой текстовое описание структуры графа: вершины, их связи, группы и атрибуты для их визуального оформления.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments17

Оптимизация процесса поиска нарушителей земельного законодательства

Reading time4 min
Views8.1K
Добрый день, Хабр! Давно мечтал внести свою лепту в этот замечательный проект, который читаю уже несколько лет.

Но так как я не программист по образованию, мои проекты были не столь изящные, как представленные здесь. Поэтому очень долго думал, что же можно разместить тут и что не закидают минусами. В итоге в рамках работы появилась идея оптимизации работы сотрудников, позволяющая существенно (на мой взгляд) упростить жизнь.
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments28

Настраиваем интернет шлюз с прозрачным обходом блокировок (а рекламу таки будем блокировать)

Reading time9 min
Views104K


У вас есть старенький (или не очень) компьютер с двумя сетевыми картами? Вам надоела реклама и лишние телодвижения для обхода блокировок? Вы не хотите с этим мириться? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 71: ↑68 and ↓3+65
Comments97

[в закладки] PDF-версия статей про Bash-скрипты

Reading time1 min
Views48K
Привет Хабр! Летом мы переводили цикл статей про Bash-скрипты — судя по отклику, статьи оказались для вас полезными. И, по многочисленным просьбам, мы решили сделать PDF-версию перевода.



Подробности под катом.
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments20

Как программно разметить спутниковую фотографию? Решение задачи Dstl Satellite Imagery Feature Detection

Reading time9 min
Views11K


Привет, Хабр! Меня зовут Евгений Некрасов, я программист-исследователь в Mail.Ru Group. Сегодня я расскажу о своем решении соревнования по анализу данных Dstl Satellite Imagery Feature Detection, которое было посвящено сегментации спутниковых изображений. В этом соревновании я использовал относительно простой поход к моделированию и занял 7 место из 419 команд. Под катом — рассказ, как мне это удалось.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments3

Экономия на спичках или восстановление данных из скрежещущего HDD Seagate ST3000NC002-1DY166

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

Так случилось в одной из больниц, где рентгеновский кабинет оснащен современным оборудованием, и стоимость одного только рентгеновского аппарата превышала 100 000$. Важный момент, что при реконструкции кабинета в расчет бралась только закупка непосредственно самого оборудования. Всякие «излишества» в виде ПК врача-рентгенолога и реализации системы хранения данных пациентов в этот расчет не вошли, и больнице было предложено за собственные средства приобретать все остальное, что необходимо для работы кабинета.


рис. 1

Собственных средств больницы хватило лишь на приобретение ПК для врача-рентгенолога с единственным жестким диском Seagate Constellation CS ST3000NC002-1DY166 емкостью 3 Тб. Первоначально планировалось это использовать как временное решение, а далее, когда появятся «свободные деньги», реализовать планы по созданию системы резервного копирования.

Но планам не суждено было сбыться. Денег больнице по-прежнему катастрофически не хватало, и была масса более приоритетных задач. В итоге, временное решение стало постоянным. Шли дни, на жестком диске накапливались данные пациентов, причем в некоторых случаях от этих данных могла зависеть человеческая жизнь.
Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments95

Типичные распределения вероятности: шпаргалка data scientist-а

Reading time11 min
Views129K

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →
Total votes 86: ↑85 and ↓1+84
Comments28

ГИС и распределенные вычисления

Reading time6 min
Views9.3K
Всем привет! Я снова буду рассказывать о геоинформационных технологиях. Этой статьей я начинаю серию о технологиях на стыке миров классических ГИС и все еще модного направления BigData. Я расскажу о ключевых особенностях применения распределенных вычислений к работе с геоданными, а также сделаю краткий обзор существующих инструментов.

Сегодня нас окружает огромное количество неструктурированных данных, которые до недавнего времени было немыслимо обработать. Примером таких данных могут служить, например, данные метеодатчиков, используемые для точного прогноза погоды. Более структурированные, но не менее массивные датасеты – это, например, спутниковые снимки (алгоритмам обработки снимков c помощью машинного обучения даже посвящен ряд статей у сообщества OpenDataScience). Набор снимков высокого разрешения, допустим, на всю Россию занимает несколько петабайт данных. Или история правок OpenStreetMap — это терабайт xml. Или данные лазерного сканирования. Наконец, данные с огромного количество датчиков, которыми обвешано множество техники – от дронов до тракторов (да, я про IoT). Более того, в цифровую эпоху мы сами создаем данные, многие из которых содержат в себе информацию о местоположении. Мобильная связь, приложения на смартфонах, кредитные карты – все это создает наш цифровой портрет в пространстве. Множества этих портретов создают поистине монструозные наборы неструктурированных данных.


На рисунке — визуализация треков OpenStreetMap с помощью GeoWave

Где стык ГИС и распределенных вычислений? Что такое «большие геоданные»? Какие инструменты помогут нам?
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments10

Решение задач линейного программирования с использованием Python

Reading time9 min
Views76K

Зачем решать экстремальные задачи


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

К сожалению, не всегда можно положиться на интуицию. Допустим Вы сотрудник коммерческой фирмы и отвечаете за рекламу. Затраты на рекламу в месяц не должны превышать 10 000 денежных единиц (д.е). Минута радиорекламы стоит 5 д.е., а телерекламы 90 д.е. Фирма намерена использовать радиорекламу в три раза чаще чем телерекламу. Практика показывает, что 1 минута телерекламы обеспечивает объём продаж в 30 раз больший чем 1 минута радиорекламы.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments8

Создаём окружение для PyQt5 в Linux MInt (Ubuntu)

Reading time7 min
Views63K
image image image
Давно уже до пятой версии обновился Qt и вместе с ним PyQt, но найти информацию по ним в русскоязычном сегменте — задача не из простых. Под катом подробный туториал для тех, кто только начинает знакомиться со связкой Qt + python3.

Цель: собрать и настроить окружение, пройти путь от установки PyQt5 и создания формы в Qt Designer до запуска переносимого бинарника под Windows (да, всё верно, разрабатываем под Mint, собираем для linux и windows).

Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments7

Bash-скрипты, часть 10: практические примеры

Reading time9 min
Views185K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

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



Главная ценность этих примеров для тех, кто изучает bash, заключается в методике разработки. Когда перед программистом встаёт задача по автоматизации чего бы то ни было, его путь редко бывает прямым и быстрым. Задачу надо разбить на части, найти средства решения каждой из подзадач, а потом собрать из частей готовое решение.
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments5

Открытый курс машинного обучения. Тема 9. Анализ временных рядов с помощью Python

Reading time27 min
Views350K

Доброго дня! Мы продолжаем наш цикл статей открытого курса по машинному обучению и сегодня поговорим о временных рядах.


Посмотрим на то, как с ними работать в Python, какие возможные методы и модели можно использовать для прогнозирования; что такое двойное и тройное экспоненциальное взвешивание; что делать, если стационарность — это не про вас; как построить SARIMA и не умереть; и как прогнозировать xgboost-ом. И всё это будем применять к примеру из суровой реальности.


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.


Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).

Читать дальше →
Total votes 55: ↑53 and ↓2+51
Comments19

Второе почетное. Заметки участника конкурса Dstl Satellite Imagery Feature Detection

Reading time9 min
Views15K


Недавно закончилось соревнование по машинному обучению Dstl Satellite Imagery Feature Detection в котором приняло участие аж трое сотрудников Avito. Я хочу поделиться опытом участия от своего лица и рассказать о решении.
Total votes 64: ↑61 and ↓3+58
Comments8

Запускаем датчик скорости потока жидкости

Reading time4 min
Views18K
Пост посвящен датчику скорости потока Out Of Liquid — термоанемометру для измерения расхода жидких сред. Под катом читатель найдет описание принципа работы датчика, а также видео, на котором этот принцип наглядно демонстрируется.



Элемент представляет собой небольшую трубку из нержавеющей стали и подходит как для воды, так и для агрессивных жидкостей и газов.
Total votes 25: ↑23 and ↓2+21
Comments33

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity