По многочисленным просьбам, выкладываю исходники схемы часов с описанием компонентов.
Артем Смирнов @urpylka
Робототехник, ИТ разработчик
Готовим IndexedDB
7 мин
79KНа Хабре уже рассказывали про IndexedDB — стандарт хранения больших структурированных данных на клиенте. Но это было давно и API сильно изменился. Несмотря на это в поиске статья всплывает одной из первых и вводит в заблуждение многих, кто начинает пытатся работать с этой технологией. Поэтому я решил написать новую статью с информацией об актуальном API.
+26
bcat: просмотр вывода консольных программ в браузере
2 мин
8.5KТуториал
С удивлением обнаружил, что никто на Хабрахабре не писал про bcat. Это маленькая удобная утилита для просмотра вывода консольных программ в браузере. У вас есть скрипт, возвращающий HTML? Bcat! Нужен простой предпросмотр для README-файла с Markdown-форматированием, который вы только что дописали? Bcat! Пишете парсер веб-сайта, и хотите посмотреть, что за ошибку возвращает сайт? Bcat! Есть большой лог, и вы хотите, чтобы он отобразился чёрным по белому, и его было удобно читать? Ну, вы поняли, да? :)
Программа работает на Linux, Mac OS X и FreeBSD (и, теоретически, на любой UNIX-подобной платформе с интеграцией freedesktop.org).
Для установки bcat можно воспользоваться gem:
Вместе с bcat устанавливается rack (если, конечно, он не был уже установлен до этого).
Для проверки можно попробовать открыть календарь на 2014 год:
Если в браузере открылась новая вкладка, и в ней отобразился календарь — значит, всё работает правильно.
Программа работает на 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
Если в браузере открылась новая вкладка, и в ней отобразился календарь — значит, всё работает правильно.
+27
Умные часы своими руками за 1500 рублей
4 мин
249K Началась эта история с того, что начитавшись постов с тегом DIY я решил обзавестись набором МК + отладочная плата. Погуглив, узнал что самая дешевая в городе плата это LaunchPad от TI. Не долго думая, отправился за ней в магазин, и понеслась… как и у всех сначала были мигания светодиодами, потом подключение дисплея от Siemens CX75, и т.д.
Вскоре мне надоело делать что-то просто так, без цели, ради того что бы сделать. Так и возникла мысль создать себе гаджет, которым бы я пользовался постоянно.
За подробностями прошу под кат.
Вскоре мне надоело делать что-то просто так, без цели, ради того что бы сделать. Так и возникла мысль создать себе гаджет, которым бы я пользовался постоянно.
За подробностями прошу под кат.
+268
LPC1102 и тёплый ламповый индикатор
6 мин
75KНаписать этот текст меня заставила статья – «Freescale уменьшила размеры самого маленького в мире микроконтроллера на архитектуре ARM». За три дня до публикации этой статьи я закончил свой маленький проект, в котором был использован контроллер NXP LPC1102, — это прямой конкурент описанного в статье Freescale KL02 и возможно нового KL03. Далее будет сравнение двух микроконтроллеров от NXP (Филипс) и Freescale (Моторола), и мой проект на LPC1102.
+90
CSS Font-Size: em vs. px vs. pt vs. percent
3 мин
276KПеревод
Одним из наиболее запутанных аспектов CSS является применение font-size атрибута для масштабирования текста. Используя CSS, вы можете изменить размер текста в браузере с помощью четырех разных единиц измерения. Какая из этих четырех единиц лучше всего подходит для веб? Это вопрос, который породил разнообразные дискуссии и критику. Поиск окончательного ответа затруднен, поскольку вопрос сам по себе сложный.
+63
Как написать «скорочиталку» для iOS за полчаса
7 мин
20KПрочитав на хабре посты про скорочтение QuisyReader и 500 слов в минуту без подготовки, захотелось реализовать данную идею для смартфонов Apple своими силами. Для этого я разработал API, исходные коды, которого опубликованы на github.
О принципе функционирования API и о том, как создать программу для скорочтения на его основе, я расскажу под катом
О принципе функционирования API и о том, как создать программу для скорочтения на его основе, я расскажу под катом
+24
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 по желанию).
+12
Квадрокоптер на базе AeroQuad Open Source project
3 мин
74KДобрый день!
Хотелось бы немного рассказать о проекте AeroQuad Open Source и о своем опыте сборки квадрокоптера.
Проект AeroQuad поддерживает:
1. В перспективе возможность подключения gps, полета по путевым точкам, которые можно загрузить через AeroQuad Configurator.
2. Стабилизация камеры. Для компенсации движений квадрокоптера можно использовать 3 сервопривода.
3. On-Screen-Display. Наложение графики на видеопоток.
4. Помимо подключения гироскопа акселерометра и магнитометра есть возможность подключения других датчиков, таких как ультразвуковой дальномер и барометр.
+26
STM32 и USB-HID — это просто
14 мин
375KТуториал
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?
Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.
У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?
Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.
У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее
+99
Установка 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 отдельно или на макетной плате, тогда добро пожаловать под кат.
Итак, вы хотите разрабатывать на STM32 в среде Mac OS X, у вас есть ST-LINK V2 отдельно или на макетной плате, тогда добро пожаловать под кат.
+9
FreeRTOS + STM32F4 на С++ под Linux
5 мин
52KТуториал
Доброго дня! Прошло много времени с тех пор как я последний раз программировал под AVR и вот, решил восстановить в памяти такую, без сомнения интересную и увлекательную область разработки — разработку под микроконтроллеры. В качестве платформы был выбран ARM STM32, и, чтобы не мелочиться, сразу Cortex-M4. Отладочная плата STM32F4DISCOVERY с STM32F407 на борту. Мегабайт флеша и 128 кб памяти дает возможность не сильно заморачиваться экономией ресурсов и писать на C++.
Итак, задача: научиться с нуля моргать светодиодами под STM32 во FreeRTOS, но делать это модно — на C++, а не на чистом C.
Итак, задача: научиться с нуля моргать светодиодами под STM32 во FreeRTOS, но делать это модно — на C++, а не на чистом C.
+15
STM32CubeMX — продвинутый генератор проектов для STM32
3 мин
104KПару недель назад STMicroelectronics выкатили обновление своей программы MicroXplorer, которая позволяла графически настроить инициализацию портов в конкретном STM32 для своих нужд, в том числе и делать ремап портов и визуально видеть что занято\свободно на текущий момент.
Выглядела эта программа следующим образом:
И позволяла на выходе получить *.c, *.h файлы в которых содержались функции по инициализации портов в соотвествии с заданными требованиями с использованием Standard Peripheral Library.
Что же решили изменить на этот раз?
Выглядела эта программа следующим образом:
И позволяла на выходе получить *.c, *.h файлы в которых содержались функции по инициализации портов в соотвествии с заданными требованиями с использованием Standard Peripheral Library.
Что же решили изменить на этот раз?
+33
Начинаем изучать Cortex-M на примере STM32
15 мин
377KТуториал
Данная статья является первой в планируемом цикле статей по изучению программирования микроконтроллеров. Изучая различные материалы я отметил, что практически все они начинаются с того, что новичку предлагается скачать (или использовать идущую со средой разработки) библиотеку для работы с периферийными устройствами и использовать ее для написания своей первой программы (обычно мигание светодиодом).
Меня это сильно удивило. Если верить данным статьям, для программирования не обязательно даже читать документацию к программируемому контроллеру. Меня же учили премудростям «железного программирования» совершенно иначе.
В этой статье, путь от фразы «Да, я хочу попробовать!» до радостного подмигивания светодиода, будет значительно длиннее чем у других авторов. Я постараюсь раскрыть аспекты программирования микроконтроллеров, которые прячутся за использованием библиотечных функций и готовых примеров.
Если вы намерены серьезно изучать программирование микроконтроллеров данная статья для вас. Возможно, она может заинтересовать и тех, кто вдоволь наигрался с Arduino и хочет получить в свои руки все аппаратные возможности железа.
Меня это сильно удивило. Если верить данным статьям, для программирования не обязательно даже читать документацию к программируемому контроллеру. Меня же учили премудростям «железного программирования» совершенно иначе.
В этой статье, путь от фразы «Да, я хочу попробовать!» до радостного подмигивания светодиода, будет значительно длиннее чем у других авторов. Я постараюсь раскрыть аспекты программирования микроконтроллеров, которые прячутся за использованием библиотечных функций и готовых примеров.
Если вы намерены серьезно изучать программирование микроконтроллеров данная статья для вас. Возможно, она может заинтересовать и тех, кто вдоволь наигрался с Arduino и хочет получить в свои руки все аппаратные возможности железа.
+24
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.
В микроконтроллерах я к сожалению абсолютный ноль, и мне пришлось начать гуглить и читать кучу статей. Спустя некоторое время, когда стала ясна разница между архитектурой Фон Неймана и Гарвардской, и другими базовыми вещами, нужно было выбрать микроконтроллер с которым я буду работать.
Из-за простоты необходимых мне возможностей я остановился на PIC, но коллега вовремя наставил меня на путь праведный и сказал копать в сторону STM и AVR, так как себестоимость не на много больше а возможности на порядок выше.
И вскоре я приобрел отладочную плату STM32F4 Discovery kit for STM32F407
В первый день носился с ней по дому и радовался как мигают LEDы и работает гироскоп. Но пора бы начать и самому писать программы. После 30 минут гугления я понял что 95% решений описанных в интернете работают под Windows, а счастливые обладатели Linux и Mac OS гуляют лесом. Я провел 3 дня по вечерам в поисках решений и в итоге имеем полный мануал как начать программировать под STM32 под Mac OS.
+6
Приложение, которое помогает избегать нежелательных лиц
2 мин
26KОдин из разработчиков данного приложения — Брайан Мур, переехал жить в Нью-Йорк и несколько раз встречался со своей бывшей подругой, если говорить точнее, то 4 раза за полгода.
И тогда ему в голову пришла идея: А что если используя тот же мобильный инструментарий, который используется для доступа к местоположению во многих социальных приложениях для встречи с друзьями, использовать в подобном приложении, но чтобы избегать людей.
+25
Grocery CRUD, или как я облегчил себе жизнь на неделю
2 мин
16KДобрый день, ХабраСообщество!
Уже почти месяц веду разработку проекта на CodeIgniter 2.0 и к середине написания столкнулся с проблемой при написании администраторской части. Так сложилось что с «CI» знаком уже более 2-х лет, и еще не разу CodeIgniter меня не подвел в своих возможностях.
Сам проект у меня исчисляется 35 таблицами и писать администраторскую панель мне необходимо для «хомячков». Подсчитав приблизительные человеко-часы необходимые на разработку интерфейса + программной части, я пришел в дикий ужас. Энтузиазм немного поутих (проект мой личный). Вспоминая добрым словом хоть какой-то CRUD в старых версиях, я рискнул «спросить Гугл», авось повезет… И повезло!
Уже почти месяц веду разработку проекта на CodeIgniter 2.0 и к середине написания столкнулся с проблемой при написании администраторской части. Так сложилось что с «CI» знаком уже более 2-х лет, и еще не разу CodeIgniter меня не подвел в своих возможностях.
Сам проект у меня исчисляется 35 таблицами и писать администраторскую панель мне необходимо для «хомячков». Подсчитав приблизительные человеко-часы необходимые на разработку интерфейса + программной части, я пришел в дикий ужас. Энтузиазм немного поутих (проект мой личный). Вспоминая добрым словом хоть какой-то CRUD в старых версиях, я рискнул «спросить Гугл», авось повезет… И повезло!
+11
Как я покупал, «допиливал» и настраивал китайский 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$ (с доставкой), в том числе и «светящийся в темноте зеленый» (о результатах в конце).
Но конечно, если бы все закончилось так просто «выбрал-купил-получил-напечатал» — эта статья вряд ли появилась бы на свет.
Поскольку принтер мне нужен скорее для удовлетворения интереса, а не работы — отдавать ~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$ (с доставкой), в том числе и «светящийся в темноте зеленый» (о результатах в конце).
Но конечно, если бы все закончилось так просто «выбрал-купил-получил-напечатал» — эта статья вряд ли появилась бы на свет.
+109
Как мы делали домашнего робота
4 мин
54KЧеловечество давно мечтает о домашних роботах. За последние сто лет образ домашнего робота сформирован в фантастических фильмах и книгах: чаще всего это антропоморфное устройство с головой, руками и ногами. Такой робот всегда готов приготовить и принести хозяину чашечку кофе, подмести пол, протереть окно и выполнить другую домашнюю работу. А еще домашние роботы из фантастики всегда могут поговорить с хозяином. Не просто выполнять команды, а быть секретарем, помощником, партнером или даже другом!
Когда мы с друзьями решили сделать своего домашнего робота, то тоже сначала смотрели на андроидов. Хотелось построить этакого дворецкого, чтобы и завтрак мог приготовить, и ковер пропылесосить, и гостей встретить. К сожалению, изучив рынок, мы поняли, что сегодня такого робота сделать нельзя. Вернее сделать-то можно, но он будет стоить как новая иномарка и требовать регулярного сервисного обслуживания, при этом адаптация такого робота под каждую конкретную кухню будет не проще, чем пересобрать Ubuntu на Z80. Понятно, что желающих купить такого робота будет не очень много.
И тогда пришло понимание, что домашнему роботу на первых порах совсем не обязательно ходить по дому. Вдохновением для нас стал Jarvis (Джарвис) — герой фильма «Железный человек». Это дворецкий, искусственный интеллект, не имеющий тела, но способный управлять различными устройствами в доме главного героя. В результате у нас получился Cubic — домашний робот, который живет дома и может полноценно (более или менее) разговаривать с его обитателями, а также управлять различными системами типа «умный дом».
Когда мы с друзьями решили сделать своего домашнего робота, то тоже сначала смотрели на андроидов. Хотелось построить этакого дворецкого, чтобы и завтрак мог приготовить, и ковер пропылесосить, и гостей встретить. К сожалению, изучив рынок, мы поняли, что сегодня такого робота сделать нельзя. Вернее сделать-то можно, но он будет стоить как новая иномарка и требовать регулярного сервисного обслуживания, при этом адаптация такого робота под каждую конкретную кухню будет не проще, чем пересобрать Ubuntu на Z80. Понятно, что желающих купить такого робота будет не очень много.
И тогда пришло понимание, что домашнему роботу на первых порах совсем не обязательно ходить по дому. Вдохновением для нас стал Jarvis (Джарвис) — герой фильма «Железный человек». Это дворецкий, искусственный интеллект, не имеющий тела, но способный управлять различными устройствами в доме главного героя. В результате у нас получился Cubic — домашний робот, который живет дома и может полноценно (более или менее) разговаривать с его обитателями, а также управлять различными системами типа «умный дом».
+90
Простой мониторинг нагрузки на сервер в реальном времени с веб-интерфейсом
2 мин
80KСегодня существует довольно много профессиональных инструментов для мониторинга состояния серверов с обилием настроек, плагинов, поддержкой сразу множества машин и т.д., это известные Nagios, Zabbix, Munin, Cacti и многие другие.
Но в этом посте речь пойдет об очень маленьком и простом, но от этого не менее полезном инструменте: инструменте для мониторинга Scout Realtime. Этот написанный на Ruby open source проект позиционируется разработчиками как современная замена консольной утилите top с выводом статистики использования диска, памяти, сети, CPU и запущенных процессов. Все это отображается в реальном времени с плавными графиками. Во время диагностики работы сервера, иногда полезно пару минут понаблюдать за показателями, и проследить их изменение во времени (в отличие от гирлянды мерцающих чисел в терминале, отображающих данные исключительно на текущий момент).
Но в этом посте речь пойдет об очень маленьком и простом, но от этого не менее полезном инструменте: инструменте для мониторинга Scout Realtime. Этот написанный на Ruby open source проект позиционируется разработчиками как современная замена консольной утилите top с выводом статистики использования диска, памяти, сети, CPU и запущенных процессов. Все это отображается в реальном времени с плавными графиками. Во время диагностики работы сервера, иногда полезно пару минут понаблюдать за показателями, и проследить их изменение во времени (в отличие от гирлянды мерцающих чисел в терминале, отображающих данные исключительно на текущий момент).
+34
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность