Как стать автором
Обновить
3
Карма
0
Рейтинг

Пользователь

  • Подписчики 1
  • Подписки
  • Публикации
  • Комментарии

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

Умный дом Интернет вещей DIY или Сделай сам
Из песочницы
Сегодня я решился вынести на суд общественности проект, работу над которым вел на протяжении последней пары лет: «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, описание понемногу выкладываю на сайте проекта. Соответственно, более полная история под катом.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Просмотры 39K
Комментарии 84

Как я стал паяльником

Компьютерное железо DIY или Сделай сам Лайфхаки для гиков Электроника для начинающих
Работал один товарищ техническим специалистом у областного интернет-провайдера под Питером. Днём на телефоне у себя дома (техподдержка), вечером – выезды к клиентам. Будучи человеком любознательным, подкованным в электронике и вообще гиком, он, настраивая интернет у клиентов, иногда брался и починить клиентский ноутбук. Знакомо? Думаю, многим здесь. Постепенно он научился чинить не только компьютеры, но и смартфоны, и прочее железо. И стало понятно, что может появиться ещё одна профессия, приносящая даже больший доход, чем основная работа.



В статье палятся профессиональные фишки от сервисного инженера или в народе «паяльника», который работает дома в тапочках на своём аппарате, выбирает клиентов на свой вкус и забирает всю выручку себе.
Читать дальше →
Всего голосов 47: ↑33 и ↓14 +19
Просмотры 56K
Комментарии 145

Собеседование на программиста в Amazon

Занимательные задачки Программирование *
Перевод

Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.


Amazon - We Pioneer


Не так давно со мной связался технический рекрутер из Amazon. Компания организовывала трехдневное онсайт собеседование по найму программистов в их берлинский офис.


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


Если я не упомянул чего-то важного в статье, спрашивайте в комментариях. Постараюсь ответить максимально подробно.

Читать дальше →
Всего голосов 71: ↑62 и ↓9 +53
Просмотры 123K
Комментарии 259

Нейронные сети на Javascript

JavaScript *Node.JS *Canvas *Big Data *Машинное обучение *
image
Идея для написания этой статьи возникла прошлым летом, когда я слушал доклад на конференции BigData по нейронным сетям. Лектор «посыпал» слушателей непривычными словечками «нейрон», «обучающая выборка», «тренировать модель»… «Ничего не понял — пора в менеджеры», — подумал я. Но недавно тема нейронных сетей все же коснулась моей работы и я решил на простом примере показать, как использовать этот инструмент на языке JavaScript.

Мы создадим нейронную сеть, с помощью которой будем распознавать ручное написание цифры от 0 до 9. Рабочий пример займет несколько строк. Код будет понятен даже тем программистам, которые не имели дело с нейронными сетями ранее. Как это все работает, можно будет посмотреть прямо в браузере.
Читать дальше →
Всего голосов 58: ↑54 и ↓4 +50
Просмотры 139K
Комментарии 79

Об относительной яркости, или насколько живучим бывает легаси

Обработка изображений *IT-стандарты *
Я уверен, что многим программистам знакома формула:

Y = 0.299 R + 0.587 G + 0.114 B

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

Вычисляет она относительную яркость цвета (relative luminance или в некоторых контекстах luma; не путать с lightness и brightness) и широко применяется для преобразования цветного RGB-изображения в Grayscale и связанных с этим задач.

Формула растиражирована и процитирована в тысячах статей, форумных обсуждений и ответов на StackOverflow… Но дело в том, что единственно-правильное её место — на свалке истории. Использовать её нельзя. Однако же используют.

Но почему нельзя? И откуда же взялись именно такие коэффициенты?
Мини-экскурс в историю
Всего голосов 87: ↑87 и ↓0 +87
Просмотры 34K
Комментарии 128

Тёплый ламповый «кликер»

DIY или Сделай сам


Предисловие


Путешествуя по просторам интернета я набрел на одну малоинтересную категорию игрушек — «кликеры». Особенно меня «порадовал» Office Clicker. Глупость конечно несусветная, но что-то в этом есть. Можно написать какой-нибудь скрипт, который будет играть вместо меня, но это слишком банально. Я решил сделать хардвэрный «кликер», но не просто хардверный, а теплый-ламповый «кликер»! Интересно? Прошу под кат!
Читать дальше →
Всего голосов 23: ↑15 и ↓8 +7
Просмотры 26K
Комментарии 42

Делаем трехосевой фрезерный станок с числовым программным управлением

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


Читать дальше →
Всего голосов 44: ↑44 и ↓0 +44
Просмотры 33K
Комментарии 71

Особенности распределения фонда оплаты труда в больших предприятиях РФ

Управление персоналом *Законодательство в IT Карьера в IT-индустрии Бизнес-модели
Оказывается, в свободном доступе есть интересная информация от HeadHunter о повышении фонда оплаты труда (ФОТ) в 2015 году. Со страницы проекта "Банк данных заработных плат" идет ссылка "Сравнивайте зарплаты вашей компании с рынком".

Прямая ссылка на pdf: Зарплаты в России. Итоги 2015 года.


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

И вообще, многим придут на ум уже затертые шаблоны:
  • Надо не завидовать, а больше работать, и станешь таким же высокооплачиваемым топ-менеджером.
  • Не нравится – уходи и работай на себя / аутсорсь за валюту на западные компании / переезжай в другие страны.


Но эти выводы и советы слишком уж лежат на поверхности.
We need to go deeper.
Давайте посмотрим, насколько же глубока эта не кроличья нора…
Читать дальше →
Всего голосов 100: ↑89 и ↓11 +78
Просмотры 83K
Комментарии 156

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

Научно-популярное Мозг Будущее здесь
Из песочницы
Технология tDCS – транскраниальная стимуляция постоянным током – изучается уже более 20 лет и успешно применяется в клинике для восстановления после инсульта, лечения депрессии и хронической боли. Однако исследования последних 6-7 лет показывают, что она может быть полезна и для здоровых людей. Статья Дугласа Фокса, опубликованная в 2011 году в ведущем научном журнале «Nature», впервые рассказала широкой публике о том, что tDCS может улучшать обучаемость, память и снижать склонность здоровых людей к риску. С тех пор количество исследований tDCS неуклонно растет, открывая все новые области применения этой технологии.

image
Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 46K
Комментарии 62

ESP8266 с чего начать или первый опыт

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

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

image

Итак, приступим!
Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 286K
Комментарии 51

Smart плинтус 1.0

DIY или Сделай сам


Озаботила меня одна проблема – темный коридор по пути из спальни на кухню. Ну, знаете, люблю ночью на кухню ходить, но в потемках некомфортно, а т.к. коридор относительно ширины достаточно длинный, то велика вероятность отклонения от маршрута при ориентировании по встроенным в голову гироскопам. Ошибка накапливается, да еще ноги разной длины, ходил с вытянутыми руками и попадал в дверной проем не с первого раза.
Да, конечно есть всякие ночники, датчики движения, умные дома, но у меня есть лучше, у меня есть пластиковый плинтус с кабельным каналом.
Поэтому возникла идея запихать туда светодиодную ленту и посмотреть, как она там себя будет чувствовать и получилось, знаете ли, довольно круто, такая подсветочка, как в космических кораблях.
Читать дальше →
Всего голосов 107: ↑104 и ↓3 +101
Просмотры 72K
Комментарии 177

Самодельный сканирующий лазерный дальномер

Программирование микроконтроллеров *Робототехника DIY или Сделай сам Электроника для начинающих

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

Читать дальше →
Всего голосов 48: ↑48 и ↓0 +48
Просмотры 62K
Комментарии 43

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Блог компании Wunder Fund Программирование *Алгоритмы *Разработка под Linux *
Перевод
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Всего голосов 158: ↑149 и ↓9 +140
Просмотры 82K
Комментарии 15

Создание веб-сайта. Курс молодого бойца

Разработка веб-сайтов *CSS *JavaScript *HTML *
Из песочницы
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →
Всего голосов 86: ↑77 и ↓9 +68
Просмотры 527K
Комментарии 46

Прошиваем AVR вручную

Ненормальное программирование *Программирование микроконтроллеров *
Tutorial

Картинка для привлечения внимания — xkcd

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

Радуясь, что еще не забыли курс ассемблера, вы кое-как написали программу палочкой на песке. Среди уцелевших вещей каким-то чудом оказалась распечатка документации на контроллер (хорошо, что вы еще не успели пустить её на растопку!), и программу удалось перевести в машинные коды. Осталась самая ерунда — прошить её в контроллер. Но в радиусе 500 километров нет ни одного программатора, не говоря уже о компьютерах. У вас только источник питания (батарея из картошки кокосов) и пара кусков провода.

Как же прошить МК фактически голыми руками?
Читать дальше →
Всего голосов 171: ↑170 и ↓1 +169
Просмотры 192K
Комментарии 66

Создание робота балансера на arduino

Математика *Matlab *
Мне давно не давало покоя желание рассчитать какой-нибудь достаточно сложный механизм и воплотить его жизнь.
Выбор пал на задачу об обратном маятнике. Итог на видео:


Читать дальше →
Всего голосов 88: ↑86 и ↓2 +84
Просмотры 75K
Комментарии 19

Nixie clock на одном порте — ATmega8

Компьютерное железо DIY или Сделай сам
Из песочницы
Речь пойдёт о такой вещи, как часы на газоразрядных индикаторах. Многие такие видели, или даже читали про них.

Для тех, кто не знает, объясняю: газоразрядный индикатор это колба, заполненная разреженным газом, в нашем случае неоном. Катоды выполнены в форме символов, а анод в виде сетки, которая их окружает. Если подавать на индикатор высокое напряжение, то есть порядка 200 вольт, то вокруг выбранного катода образуется светящаяся область тлеющего разряда.

image

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

Для самой индикации мне досталась планка из целых десяти газоразрядных индикаторов ИН-12 и ИН-15, так что о статической индикации не может идти и речи.

image

Разберёмся с устройством управляющего модуля:
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Просмотры 20K
Комментарии 43

Компактный сервер для Django приложений

Разработка на Raspberry Pi *
Tutorial

Введение


Многие начинающие веб разработчики размышляют о том, где бы разместить свое творение. Обычно для этих целей применяются машины под управлением *NIX подобных систем. Мой выбор остановился на Raspberry PI, поскольку малинка:
  • работает под управлением полноценного Linux,
  • долгое время лежит на столе и пылится.

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

image
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 21K
Комментарии 17

«Почти умный» тёплый пол на Arduino

DIY или Сделай сам
Из песочницы
Мой обычный вечер — это посиделки за компьютером. Холодными вечерами частенько появлялось желание сделать моё место отдыха комфортнее. Точнее, периодически было просто холодно ногам. Идеи были различные, вплоть до покупки USB тапочек с подогревом. Однако, все они казались мне нелепыми и отметались. И вот однажды, просматривая YouTube канал одного из любителей Arduino, я наткнулся на видео, где рассказывалось про инфракрасную плёнку. Увидев эту плёнку, я сразу понял: «Вот то, что мне надо!»

Данный проект можно кратко описать так: я положил кусок инфракрасной плёнки под дополнительный слой паркета, добавив к нему систему автоматического управления с помощью Arduino, нескольких датчиков и VB.NET. Теперь по порядку, что и как получилось.


Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 31K
Комментарии 17

Как мы робота «WayBot» собирали или цикл статей «Как стать инженером». Часть 1

DIY или Сделай сам
Из песочницы
В 2013 году на научной выставке в Москве я увидел интерактивного промо-робота. Идея показалась мне интересной, но опыта для построения копии у меня не было. В то время я заканчивал 4 курс университета и работал на себя в сфере систем безопасности. Ходил в детстве на радиокружок, хорошо понимал зачем нужны те или иные радиоэлементы, но вот с программированием микроконтроллеров и настройке unix-like систем опыта не было. Для получения опыта в этой сфере я решил собрать копию этого робота, улучшив некоторые моменты. Конечно сразу стартовать с такого проекта было бы глупо, и в качестве теста был собран 3д-куб 5х5х5, потом увлёкшись идеей был собран 3д-куб посерьёзней разрешающей способностью 10х10х10 пикселей:

image

Набравшись ещё опыта на несложных проектах, было решено приступить к давней идее, а именно собрать промо-робота. В лучших традициях жанра на кухне вечером обсудили функционал и заложили основные принципы построения. Если с платформой и технической реализацией было в принципе понятно, то как сделать корпус, голову, и вообще красивый внешний вид, понятия мы не имели.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 8.2K
Комментарии 3
1

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность