Как стать автором
Обновить
15
0
Артем Смирнов @urpylka

Робототехник, ИТ разработчик

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

Умные часы своими руками за 1500 рублей. Часть 2 – плата и компоненты

Время на прочтение3 мин
Количество просмотров84K
По многочисленным просьбам, выкладываю исходники схемы часов с описанием компонентов.

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

Готовим IndexedDB

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


На Хабре уже рассказывали про IndexedDB — стандарт хранения больших структурированных данных на клиенте. Но это было давно и API сильно изменился. Несмотря на это в поиске статья всплывает одной из первых и вводит в заблуждение многих, кто начинает пытатся работать с этой технологией. Поэтому я решил написать новую статью с информацией об актуальном API.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии8

bcat: просмотр вывода консольных программ в браузере

Время на прочтение2 мин
Количество просмотров8.5K
С удивлением обнаружил, что никто на Хабрахабре не писал про bcat. Это маленькая удобная утилита для просмотра вывода консольных программ в браузере. У вас есть скрипт, возвращающий HTML? Bcat! Нужен простой предпросмотр для README-файла с Markdown-форматированием, который вы только что дописали? Bcat! Пишете парсер веб-сайта, и хотите посмотреть, что за ошибку возвращает сайт? Bcat! Есть большой лог, и вы хотите, чтобы он отобразился чёрным по белому, и его было удобно читать? Ну, вы поняли, да? :)

Программа работает на Linux, Mac OS X и FreeBSD (и, теоретически, на любой UNIX-подобной платформе с интеграцией freedesktop.org).

Для установки bcat можно воспользоваться gem:

gem install bcat

Вместе с bcat устанавливается rack (если, конечно, он не был уже установлен до этого).

Для проверки можно попробовать открыть календарь на 2014 год:

python -c "import calendar ; print calendar.HTMLCalendar().formatyear(2014)" | bcat

Если в браузере открылась новая вкладка, и в ней отобразился календарь — значит, всё работает правильно.
Примеры
Всего голосов 33: ↑30 и ↓3+27
Комментарии21

Умные часы своими руками за 1500 рублей

Время на прочтение4 мин
Количество просмотров249K
Началась эта история с того, что начитавшись постов с тегом DIY я решил обзавестись набором МК + отладочная плата. Погуглив, узнал что самая дешевая в городе плата это LaunchPad от TI. Не долго думая, отправился за ней в магазин, и понеслась… как и у всех сначала были мигания светодиодами, потом подключение дисплея от Siemens CX75, и т.д.
Вскоре мне надоело делать что-то просто так, без цели, ради того что бы сделать. Так и возникла мысль создать себе гаджет, которым бы я пользовался постоянно.
За подробностями прошу под кат.
Читать дальше →
Всего голосов 276: ↑272 и ↓4+268
Комментарии121

LPC1102 и тёплый ламповый индикатор

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


Написать этот текст меня заставила статья – «Freescale уменьшила размеры самого маленького в мире микроконтроллера на архитектуре ARM». За три дня до публикации этой статьи я закончил свой маленький проект, в котором был использован контроллер NXP LPC1102, — это прямой конкурент описанного в статье Freescale KL02 и возможно нового KL03. Далее будет сравнение двух микроконтроллеров от NXP (Филипс) и Freescale (Моторола), и мой проект на LPC1102.
Читать дальше →
Всего голосов 90: ↑90 и ↓0+90
Комментарии29

CSS Font-Size: em vs. px vs. pt vs. percent

Время на прочтение3 мин
Количество просмотров276K
Одним из наиболее запутанных аспектов CSS является применение font-size атрибута для масштабирования текста. Используя CSS, вы можете изменить размер текста в браузере с помощью четырех разных единиц измерения. Какая из этих четырех единиц лучше всего подходит для веб? Это вопрос, который породил разнообразные дискуссии и критику. Поиск окончательного ответа затруднен, поскольку вопрос сам по себе сложный.
Читать дальше →
Всего голосов 87: ↑75 и ↓12+63
Комментарии136

Как написать «скорочиталку» для iOS за полчаса

Время на прочтение7 мин
Количество просмотров20K
Прочитав на хабре посты про скорочтение QuisyReader и 500 слов в минуту без подготовки, захотелось реализовать данную идею для смартфонов Apple своими силами. Для этого я разработал API, исходные коды, которого опубликованы на github.



О принципе функционирования API и о том, как создать программу для скорочтения на его основе, я расскажу под катом

Читать дальше →
Всего голосов 34: ↑29 и ↓5+24
Комментарии32

ZNC боунсер на RPi

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


Так получилось, что в последнее время одним из каналов общения для меня стали IRC чаты. Практически сразу стало понятно, что «голый» IRC лишен некоторых удобств, к которым я так привык в скайпе, например:
  • История сообщений, доступная непосредственно из окна чата
  • Возможность подключаться из нескольких точек


Для решения этих проблем через некоторое время у нас в компании появилась виртуалка с IRC боунсером, и все стало гораздо лучше и удобнее. Понятно, что для компании держать виртуалку под такие цели совершенно не проблема, но как быть, если захочется завести такого зверька для личных нужд (а мне в какой-то момент захотелось)? Отбросив варианты с хостингом (не стоит это лишних денег), отдельным компом (ибо нет), и виртуалкой на существующем (100 Вт потребляемые круглосуточно тоже денег стоят) я остановился на RaspberryPi, которая на тот момент выполняла роль как-бы NAS, но по факту большую часть времени бездействовала.

Краткое описание того, на чем все собрано и о чем будет упомяунуто в статье:
  • Платформа — RaspberryPi Model B (512 Mb / Ethernet).
  • ОС — Raspbian.
  • Особенности установки ОС — корневой раздел полностью перенесен на USB 2.0 жесткий диск, на SD карте оставлен только загрузочный раздел. Об этом, к сожалению, ни слова, но могу написать, если будет интересно.
  • Боунсер — ZNC, версия 1.2.
  • Особенности установки боунсера — сборка из тарбола, установка в chroot, сборка модуля modpython (modperl, modtcl по желанию).

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

Квадрокоптер на базе AeroQuad Open Source project

Время на прочтение3 мин
Количество просмотров74K
image

Добрый день!
Хотелось бы немного рассказать о проекте AeroQuad Open Source и о своем опыте сборки квадрокоптера.

Проект AeroQuad поддерживает:
1. В перспективе возможность подключения gps, полета по путевым точкам, которые можно загрузить через AeroQuad Configurator.
2. Стабилизация камеры. Для компенсации движений квадрокоптера можно использовать 3 сервопривода.
3. On-Screen-Display. Наложение графики на видеопоток.
4. Помимо подключения гироскопа акселерометра и магнитометра есть возможность подключения других датчиков, таких как ультразвуковой дальномер и барометр.

Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии18

STM32 и USB-HID — это просто

Время на прочтение14 мин
Количество просмотров375K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать
Всего голосов 103: ↑101 и ↓2+99
Комментарии105

Установка ST-LINK V2 в MAC OS X для разработки под STM32

Время на прочтение5 мин
Количество просмотров28K
Недавно наткнулся на замечательную статью, о том, как собрать все инструменты для разработки в среде linux под контроллеры stm32 и я решил вновь вернуться к задаче, которую уже пытался решить, а именно заставить работать все тоже самое по Mac OS X (В моем случае версии 10.9.1 Mavericks), так как работать в CooCox (а он основан именно на Eclipse) в виртуальной машине уже изрядно надоело. В данной статье я опишу пошаговый алгоритм как все тоже самое заставить работать в OS X.



Итак, вы хотите разрабатывать на STM32 в среде Mac OS X, у вас есть ST-LINK V2 отдельно или на макетной плате, тогда добро пожаловать под кат.
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии9

FreeRTOS + STM32F4 на С++ под Linux

Время на прочтение5 мин
Количество просмотров52K
Доброго дня! Прошло много времени с тех пор как я последний раз программировал под AVR и вот, решил восстановить в памяти такую, без сомнения интересную и увлекательную область разработки — разработку под микроконтроллеры. В качестве платформы был выбран ARM STM32, и, чтобы не мелочиться, сразу Cortex-M4. Отладочная плата STM32F4DISCOVERY с STM32F407 на борту. Мегабайт флеша и 128 кб памяти дает возможность не сильно заморачиваться экономией ресурсов и писать на C++.

Итак, задача: научиться с нуля моргать светодиодами под STM32 во FreeRTOS, но делать это модно — на C++, а не на чистом C.
И что из этого вышло?
Всего голосов 17: ↑16 и ↓1+15
Комментарии7

STM32CubeMX — продвинутый генератор проектов для STM32

Время на прочтение3 мин
Количество просмотров104K
Пару недель назад STMicroelectronics выкатили обновление своей программы MicroXplorer, которая позволяла графически настроить инициализацию портов в конкретном STM32 для своих нужд, в том числе и делать ремап портов и визуально видеть что занято\свободно на текущий момент.
Выглядела эта программа следующим образом:
image
И позволяла на выходе получить *.c, *.h файлы в которых содержались функции по инициализации портов в соотвествии с заданными требованиями с использованием Standard Peripheral Library.
Что же решили изменить на этот раз?
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии8

Начинаем изучать Cortex-M на примере STM32

Время на прочтение15 мин
Количество просмотров377K
Данная статья является первой в планируемом цикле статей по изучению программирования микроконтроллеров. Изучая различные материалы я отметил, что практически все они начинаются с того, что новичку предлагается скачать (или использовать идущую со средой разработки) библиотеку для работы с периферийными устройствами и использовать ее для написания своей первой программы (обычно мигание светодиодом).

Меня это сильно удивило. Если верить данным статьям, для программирования не обязательно даже читать документацию к программируемому контроллеру. Меня же учили премудростям «железного программирования» совершенно иначе.

В этой статье, путь от фразы «Да, я хочу попробовать!» до радостного подмигивания светодиода, будет значительно длиннее чем у других авторов. Я постараюсь раскрыть аспекты программирования микроконтроллеров, которые прячутся за использованием библиотечных функций и готовых примеров.
Если вы намерены серьезно изучать программирование микроконтроллеров данная статья для вас. Возможно, она может заинтересовать и тех, кто вдоволь наигрался с Arduino и хочет получить в свои руки все аппаратные возможности железа.
Если вас не пугает написанное выше - прошу под кат
Всего голосов 38: ↑31 и ↓7+24
Комментарии40

STM32 на MAC OS

Время на прочтение5 мин
Количество просмотров27K
Как то раз я понял, что для реализации моей идеи мне не обойтись одними транзисторами и самодельными RS тригерами, и пора начинать работать с микроконтроллерами.

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

Из-за простоты необходимых мне возможностей я остановился на PIC, но коллега вовремя наставил меня на путь праведный и сказал копать в сторону STM и AVR, так как себестоимость не на много больше а возможности на порядок выше.

И вскоре я приобрел отладочную плату STM32F4 Discovery kit for STM32F407

В первый день носился с ней по дому и радовался как мигают LEDы и работает гироскоп. Но пора бы начать и самому писать программы. После 30 минут гугления я понял что 95% решений описанных в интернете работают под Windows, а счастливые обладатели Linux и Mac OS гуляют лесом. Я провел 3 дня по вечерам в поисках решений и в итоге имеем полный мануал как начать программировать под STM32 под Mac OS.

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

Приложение, которое помогает избегать нежелательных лиц

Время на прочтение2 мин
Количество просмотров26K
image


Один из разработчиков данного приложения — Брайан Мур, переехал жить в Нью-Йорк и несколько раз встречался со своей бывшей подругой, если говорить точнее, то 4 раза за полгода.

И тогда ему в голову пришла идея: А что если используя тот же мобильный инструментарий, который используется для доступа к местоположению во многих социальных приложениях для встречи с друзьями, использовать в подобном приложении, но чтобы избегать людей.
Читать дальше →
Всего голосов 43: ↑34 и ↓9+25
Комментарии25

Grocery CRUD, или как я облегчил себе жизнь на неделю

Время на прочтение2 мин
Количество просмотров16K
Добрый день, ХабраСообщество!
Уже почти месяц веду разработку проекта на CodeIgniter 2.0 и к середине написания столкнулся с проблемой при написании администраторской части. Так сложилось что с «CI» знаком уже более 2-х лет, и еще не разу CodeIgniter меня не подвел в своих возможностях.
Сам проект у меня исчисляется 35 таблицами и писать администраторскую панель мне необходимо для «хомячков». Подсчитав приблизительные человеко-часы необходимые на разработку интерфейса + программной части, я пришел в дикий ужас. Энтузиазм немного поутих (проект мой личный). Вспоминая добрым словом хоть какой-то CRUD в старых версиях, я рискнул «спросить Гугл», авось повезет… И повезло!
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии9

Как я покупал, «допиливал» и настраивал китайский 3D принтер Wanhao Duplicator 4

Время на прочтение6 мин
Количество просмотров212K
После недавней душераздирающей истории покупки 3D принтера и прохождения таможни — хочу рассказать и свою, не менее драматичную историю покупки и допиливания китайского принтера Wanhao Duplicator 4.

Поскольку принтер мне нужен скорее для удовлетворения интереса, а не работы — отдавать ~3k$ за Makerbot Replicator 2 не давала жаба (+он не умеет печатать ABS-ом). Оставались DIY KIT варианты (вроде PrintrBot Junior KIT, но тут нужно много свободного времени и есть вопросы по механической прочности конструкции), многочисленные варианты с Kickstarter — не дорого, но медленно, известный Ultimaker 1/2 — хорошо, но как и Replicator дороговато, особенно в собранном виде (существенно выше беспошлинного лимита).

Наконец, поискав на aliexpress — нашел интересную модель — Wanhao Duplicator 4: два экструдера (можно делать как двухцветную печать, так и сразу печатать 2 маленьких одинаковых детали), на первый взгляд конструкция похожа на Replicator 2, есть вариант из оргстекла (фанере доверия нет — от влаги может перекосить), горячий столик для печати ABS, 2 катушки пластика на выбор в комплекте, есть отзывы в интернет. Цена вопроса — 1142$ за собранный с учетом доставки. У другого продавца также заказал 3 мотка ABS пластика по 29$ (с доставкой), в том числе и «светящийся в темноте зеленый» (о результатах в конце).

Но конечно, если бы все закончилось так просто «выбрал-купил-получил-напечатал» — эта статья вряд ли появилась бы на свет.
Читать дальше →
Всего голосов 115: ↑112 и ↓3+109
Комментарии28

Как мы делали домашнего робота

Время на прочтение4 мин
Количество просмотров54K
Человечество давно мечтает о домашних роботах. За последние сто лет образ домашнего робота сформирован в фантастических фильмах и книгах: чаще всего это антропоморфное устройство с головой, руками и ногами. Такой робот всегда готов приготовить и принести хозяину чашечку кофе, подмести пол, протереть окно и выполнить другую домашнюю работу. А еще домашние роботы из фантастики всегда могут поговорить с хозяином. Не просто выполнять команды, а быть секретарем, помощником, партнером или даже другом!

image

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

И тогда пришло понимание, что домашнему роботу на первых порах совсем не обязательно ходить по дому. Вдохновением для нас стал Jarvis (Джарвис) — герой фильма «Железный человек». Это дворецкий, искусственный интеллект, не имеющий тела, но способный управлять различными устройствами в доме главного героя. В результате у нас получился Cubic — домашний робот, который живет дома и может полноценно (более или менее) разговаривать с его обитателями, а также управлять различными системами типа «умный дом».

Читать дальше →
Всего голосов 96: ↑93 и ↓3+90
Комментарии123

Простой мониторинг нагрузки на сервер в реальном времени с веб-интерфейсом

Время на прочтение2 мин
Количество просмотров80K
Сегодня существует довольно много профессиональных инструментов для мониторинга состояния серверов с обилием настроек, плагинов, поддержкой сразу множества машин и т.д., это известные Nagios, Zabbix, Munin, Cacti и многие другие.


Но в этом посте речь пойдет об очень маленьком и простом, но от этого не менее полезном инструменте: инструменте для мониторинга Scout Realtime. Этот написанный на Ruby open source проект позиционируется разработчиками как современная замена консольной утилите top с выводом статистики использования диска, памяти, сети, CPU и запущенных процессов. Все это отображается в реальном времени с плавными графиками. Во время диагностики работы сервера, иногда полезно пару минут понаблюдать за показателями, и проследить их изменение во времени (в отличие от гирлянды мерцающих чисел в терминале, отображающих данные исключительно на текущий момент).
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии34

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность