Как стать автором
Обновить
16
0
Евгений Мурашко @JekaKey

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

Отправить сообщение

Почти DIY 3d сканер для дома

Время на прочтение11 мин
Количество просмотров101K


Пару лет назад попалась мне на глаза статья на хабре о 3D-сканере за 30$, и очень меня эта тема заинтересовала, хотя быстро пришло понимание того, что ни о каких 30$ для качественного сканирования не может быть и речи.

Но основной плюс, который я вынес из статьи – программа для сканирования David-3D, к которой действительно есть хорошее руководство на русском языке и, что немаловажно, покупка лицензии — это последнее, что требуется, так как ограничение у бесплатной версии только на сохранение результата сканирования. Все остальное работает в полной мере, а значит вполне можно тестировать программу, настройки и свое железо сколько угодно. А если вам и результат не требуется с высокой точностью – то и вовсе без покупки лицензии можно обойтись.
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии10

Декодирование типа данных JSON MySQL

Время на прочтение3 мин
Количество просмотров41K
В этом посте мы собираемся исследовать тип данных JSON в MySQL 5.7 и во время погружения будем использовать фреймворк Laravel для построения запросов.

image
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии22

Альтернативы Raspberry Pi

Время на прочтение4 мин
Количество просмотров55K
Когда речь заходит об одноплатных компьютерах (single-board computer), вероятно, первым на ум приходит именно Raspberry Pi. Тем более, что недавно вышла третья «малина», которая шустрее и мощнее предыдущих версий. Крохотные компьютеры этой линейки, изначально предназначавшиеся под обучение информатике, способны делать много чего интересного. Эта «машинка» может стать метеостанцией на солнечной энергии, управляющим центром «умного дома», игровой приставкой для любителей 8-битной классики и даже сердцем радиоуправляемых моделей. Тут все зависит от фантазии, желания и прямоты рук.



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

Читать дальше →
Всего голосов 45: ↑30 и ↓15+15
Комментарии122

Простой расчет контрольной суммы

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



Чтобы упростить алгоритм, без потери качества, нужно немного «битовой магии», что интересная тема сама по себе.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии26

Использование mbed кода в собственном проекте на STM32 — опыт разгона китайского LCD

Время на прочтение6 мин
Количество просмотров14K
Иногда чужой код очень помогает в деле подключения к микроконтроллеру периферийного железа. К сожалению, адаптировать чужой код к своему проекту бывает сложнее, чем переписать его самому, особенно если речь идет о мега фреймворках вроде arduino или mbed. Желая подключить китайский LCD на базе ILI9341 к плате STM32L476G DISCOVERY, автор задался целью воспользоваться в демо-проекте от ST драйвером, написанным для mbed, не изменив ни строчки в его коде. В результате удалось заодно разогнать экран до невиданных скоростей обновления в 27 fps.



Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии12

Радиоприёмник из DVB стика за $8 — изучаем SDR с GNURadio

Время на прочтение11 мин
Количество просмотров58K
Каждый день мы пользуемся множеством радио устройств. Однако редко понимаем, как они работают. Эпоха радиолюбителей фактически прошла, оставив в прошлом любителей спаять приёмник ДВ или СВ своими руками. Да и в методах кодирования техника ушла далеко вперёд. Мы часто слышим рассуждения о взломе умных домов на радио протоколах, о ненадёжности радио связи и т.д. Но многие ли из вас пробовали, например, подслушать Z-Wave сеть умного дома соседа и тем более поуправлять ей? Насколько велика эта угроза для вас?

К счастью в наши дни стали доступны очень удобные средства для работы с радио, а именно SDR.

SDR (Software Defined Radio) позволяет программно перестраивать приёмник и передатчик для работы на различных частотах от 20 до 2000 МГц, после чего произвести обработку сигнала на компьютере с помощью цифровых методов. Это существенно отличает SDR от аналоговых схем радиопрёмников и передатчиков, позволяя легко менять алгоритм обработки полученного сигнала.




Существует множество разных программ для обработки радио сигналов. Я изучил наиболее популярную из них GNURadio. Этот пакет позволяет строить процесс обработки из различных блоков, стыкуя их друг с другом в формате потоковой обработки (pipe). Каждый следующий блок принимает данный от одного или нескольких предыдущих, а вывод передаётся другим блокам.

Под катом я расскажу об основах SDR и GNURadio и о том, как за 8 баксов сделать приёмник AM/FM, китайской управляемой розетки, телеметрии со спутника и всего, что вздумается.

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии47

Щелкаем реле правильно: коммутация мощных нагрузок

Время на прочтение3 мин
Количество просмотров243K
Привет, Geektimes!

Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

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

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



Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

  • Гальваническая развязка входа и нагрузки
  • Коммутация индуктивных нагрузок без выбросов тока и напряжения
  • Отсутствие значимого тепловыделения даже на максимальной мощности


Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

Читать дальше →
Всего голосов 72: ↑72 и ↓0+72
Комментарии156

Как я делал игру под AVR

Время на прочтение8 мин
Количество просмотров19K
Уже давно было желание написать статью по какой-нибудь поделке. Но изо дня в день, читая очередную статью про очередной «умный дом» или «умную метеостанцию на Ar...» все меньше хотелось написать точно то же самое, но с другого ракурса, а тем у меня было не много. И вот однажды…



Внимание! Под катом кривой код, пара изображений и много воды.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии13

Управление шторой по интерфейсу RS-485. Часть 2: добавляем WiFi

Время на прочтение5 мин
Количество просмотров17K
Задачу минимум мы выполнили – протестировали, как работает мотор AKKO AM72E по интерфейсу RS485. Теперь мы можем повелевать солнечным светом, посылая электроны по проводам. Очевидный следующий шаг – это переход от управления при помощи элементарных частиц к управлению при помощи вибраций, т.е. радиоволн. Заклинания, которые мы будем при этом использовать, зависят от магии, которую мы выберем.
Любая беспроводная технология подошла бы для наших целей, но мне захотелось управлять шторами со смартфона. При этом желательно не устанавливать никаких дополнительных программ. Буду подключаться к домашней сети WiFi и управлять электрокарнизом при помощи браузера. Привод, через переходник RS485-UART подключу к ESP8266. Вы вполне можете пойти своим путём и использовать, например, WiFi роутер.

ESP-01 на сегодня, является самым бюджетным модулем с WiFi. Стоит он настолько мало, что, если понадобится управлять несколькими моторами, мы можем не тянуть провода от одного мотора к другому, а просто подключить каждый к своему модулю. При этом нам не нужно будет задавать каждому AM72E свой адрес – можно обращаться по адресу ESP-01. Нам ESP8266 интересен не только своей низкой ценой и небольшим размером, но и тем, что ресурсов на нём очень мало и придётся приложить немало усилий, чтобы впихнуть в него что-то, что будет работать.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии11

Node.js на службе разработчика электроники: создаём библиотеки микросхем

Время на прочтение8 мин
Количество просмотров13K
Всем привет! Сегодня мы поговорим о схемотехнике. А чтобы было интереснее, приплетем сюда Node.js. Внимательный читатель тут же спросит, какая же между ними связь? А такая, что мы попытаемся, используя современные технологии, немного облегчить жизнь тем, кто дружит с паяльником, любит программировать всякие там Arduino/BeagleBoard ну и вообще увлекается электроникой чуть больше, чем на потребительском уровне. Если кратко, то мы попытаемся немного автоматизировать процесс создания библиотеки электронных элементов.

Если стало интересно, то добро пожаловать под кат.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии6

Автоматическая генерация программного кода микроконтроллера на основе событийно-ориентированной модели

Время на прочтение4 мин
Количество просмотров16K
Постановка задачи:
Создание сложной автоматизированной системы на основе контроллера для управления различной периферией (электронные замки, двигатели, светодиодные ленты и прочая электроника).

Создание данной системы потребовалась для квест комнаты, подобной этой, но в городе Хабаровск.
Наш квест в ином сеттинге, но в целом имеет примерно тот же набор исполнительных механизмов: реле, замки, ленты, герконы и т.д.

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

image
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии10

И решили мы подружить Baresip и Nodejs

Время на прочтение3 мин
Количество просмотров19K
Что же такое Baresip? Как сказано на сайте проекта это кроссплатформенный, модульный SIP агент с поддержкой аудио и видео.

А причем тут nodejs? Да так вышло что в большом проекте написанном на nodejs и использующем Freeswitch и его модуль portaudio в связи с некорректной работой последнего потребовалось внедрить другой sip клиент для аудио звонков.

Выбор в ходе технического совещания одного из наших разработчиков с гуглом пал на Baresip.

Подробности
Всего голосов 13: ↑12 и ↓1+11
Комментарии9

19 советов по повседневной работе с Git

Время на прочтение14 мин
Количество просмотров287K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →
Всего голосов 152: ↑149 и ↓3+146
Комментарии62

Работа WiFi-модулей «Мастер Кит» в системе управления домашней автоматизацией OpenHAB. Часть 1: Подключение и настройка

Время на прочтение8 мин
Количество просмотров20K


В ассортименте компании «Мастер Кит» появилось заметное количество беспроводных устройств для домашней автоматизации, но вот собрать их в какую-то оптимальную систему управления домом часто бывает трудно из-за отсутствия необходимого, а главное удобного программного обеспечения. Для решения этой проблемы попробуем воспользоваться уже существующими популярными системами домашней автоматизации. Это реально! Например, система домашней автоматизации OpenHAB – это открытый проект, про который написано уже достаточно много даже в русскоязычной части Интернета.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

Сетевой аудио-плеер: HiFi недорого

Время на прочтение4 мин
Количество просмотров54K

Меня уже давно мучила идея использовать что-то из продукции Hardkernel для создания сетевого аудио-плеера. Типа такого, только подешевле. Останавливало отсутствие вменяемого аудио-интерфейса, а связываться с USB-DAC не хотелось. И вот на Geektimes появилась новость выпуске нового одноплатного компьютера с интерфейсом I2S и платы с аудиофильским DAC для него. Мечта начала сбываться!
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии23

Правильное использование Exception’ов в PHP

Время на прочтение16 мин
Количество просмотров123K
Я рад бы написать что “эта статья предназначена для новичков”, но это не так. Большинство php-разработчиков, имея опыт 3, 5 и даже 7 лет, абсолютно не понимают как правильно использовать эксепшены. Нет, они прекрасно знают о их существовании, о том что их можно создавать, обрабатывать, и т.п., но они не осознают их удобность, логичность, и не воспринимают их как абсолютно нормальный элемент разработки.

В этой статье не будет мануала по эксепшенам — это все отлично описано в документации php. Здесь я я расскажу о преимуществах использования эксепшенов, и о том, где их, собственно говоря, надо использовать. Все примеры будут для Yii, но это не особо важно.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии70

Изготовление матриц для литья силикона

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

image

Краткая предыстория. Стала перед нами задача: изготовить энное количество резиновых кнопок от ключей автомобиля по образцу. Пробовали мы их печатать на 3D принтере из резинового филамента, но качество не устроило. Тогда-то и пришла мысль реверсировать технологию литья в силикон. Что из этого вышло, читайте под катом.
Много фото
Всего голосов 71: ↑69 и ↓2+67
Комментарии16

Литье пластмасс в силикон — доступное мелкосерийное производство в домашних условиях

Время на прочтение8 мин
Количество просмотров347K
Многие из тех, кто печатает на 3D-принтере сталкиваются или с необходимостью получить партию моделей в короткие сроки, или скопировать удачно получившуюся деталь, или получить изделия с прочностными характеристиками, превосходящими таковые у пластиков для домашней 3d-печати.

3D-принтер далеко не всегда способен выполнить такие задачи, но отлично подойдет для создания единственного образца, или мастер-модели. А дальше на помощь нам приходят материалы производства компании Smooth-On, наверное, самого популярного производителя материалов холодного отверждения.

image

В этом обзоре мы сравним самые основные и популярные силиконы, полиуретаны и добавки к ним, кратко посмотрим на основные способы создания форм и изделий, подумаем, где это может найти применение и, наконец, создадим свою силиконовую форму и модель.
Перед написанием этого поста мы прошли трехдневный тренинг у официального дилера Smooth-On в России, чтобы разобраться во всех тонкостях литья в силикон.
Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии26

Голосовое управление компьютером и Python

Время на прочтение4 мин
Количество просмотров42K
Начитавшись разных постов о Google Voice и его использовании, решил написать что-то свое. А именно — голосовое управление компьютером. Сразу оговорюсь, что ОС — Windows.

Нам понадобится:

— Python 2.7
— библиотеки:
pyaudio
pycurl
pywin32
+ набор стандартных библиотек
— какой-либо аудиоконвертер поддерживающий flac и wav, а также работу из командной строки, я использовал этот.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии9

Разработка веб-приложения на Golang

Время на прочтение8 мин
Количество просмотров60K
В этой статье я рассмотрю разработку веб-приложения на Go. Материал не содержит принципиально новых знаний и рассчитан скорее для таких же новоиспеченных исследователей языка как и я. Хотя, надеюсь, какие-то свежие идеи вы все-таки для себя найдете.

У некоторых читателей могут возникнуть вопросы о «велосипедостроении» — это всё плоды любопытства и живого интереса при ознакомлении с языком Golang.
Читать дальше →
Всего голосов 39: ↑33 и ↓6+27
Комментарии28

Информация

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