Pull to refresh
3
0
Send message

Смажь колеса времени не для первой премии © Высоцкий. Топ-10 самых необычных часов

Reading time4 min
Views24K
Доброго дня!

Сегодня предлагаю посмотреть на необычные модели часов как серийного производства, так и модели «Сделай сам». Ниже вспоминаем Tix, собираем часы из деталей Lego, «залипаем» на девайс бывшего инженера NASA и параллельно смотрим на дизайнерские циферблаты.


Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments17

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

Reading time9 min
Views97K
image

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

Functional C#: Primitive obsession (одержимость примитивами)

Reading time6 min
Views28K
Это вторая статья из миницикла статей про функциональный C#.

Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments49

Незадокументированные возможности Mastertronics. Часть 1

Reading time3 min
Views5.3K
Как известно, наша плата Mastertronics это расширенная и специализированная репликация платы MEGA2560. Она поставляется в стандартной комплектации наших наборов для сборки 3D принтеров MC2 и MC5 D.R.O.V.A..



Часто внимательные пользователи указывают на неустановленные элементы. Причем в инструкции есть таблица с номиналами этих элементов. Зачем они?

В этой статье мы расскажем о доработках платы Mastertronics, которые можно легко выполнить в домашних условиях. В результате ваш принтер получит дисплей (4 строки по 20 символов) и возможность автономной работы с SD-картой.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments0

LAMP на Raspberry Pi 2 — на что способен ARM CPU + USB

Reading time8 min
Views32K
Оговорюсь сразу, поставленная цель — не узнать максимум возможностей системы, а выяснить принципиальную работоспособность современных микрокомпьютеров в качестве полноценных веб-серверов и помочь оценить конкурентноспособность относительно виртуальных хостингов. Поэтому, в данной статье не рассматриваются вопросы оптимизации и изучения предельно допустимой нагрузки. Вместо этого эксперимент проводится на действующих сайтах с реальными посетителями.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments17

Беспроводная настройка ESP8266 в прошивке DeviceHive v 0.3

Reading time3 min
Views19K


Good news, everyone! Вышла новая версия прошивки DeviceHive для ESP8266. Мы реализовали поддержку самых популярных интерфейсов для подключения устройств: GPIO, ADC, PWM, UART, I2C, SPI, 1-wire. Теперь можно легко подключить устройства с этими интерфейсами к нашему облачному сервису. А самое главное — появилась возможность беспроводного конфигурирования прошивки (см. скриншот ниже). Об этом мы сегодня и поговорим.



Тройной RESET, или «Поехали!»


При создании IoT-устройств с беспроводным подключением часто можно столкнуться с неприятной проблемой: настроить устройство конечному пользователю не так легко, как кажется. Такие устройства обычно не оснащены экраном и клавиатурой, поэтому задать начальные настройки (данные Wi-Fi-сети, например) не выйдет без подходящего кабеля и специализированного ПО. Эту проблему мы и попытались решить в новой версии прошивки.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments6

Технокнига, часть 1: литература по веб-технологиям, алгоритмам и структурам данных, углубленному программированию на С++

Reading time18 min
Views105K


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

Первый семестр призван «выровнять» знания студентов. Он содержит такие дисциплины, как алгоритмы и структуры данных, программирование на C++, а также обзорный курс по веб-технологиям. С книг по этим предметам и начнется обзор. Большая часть представленных книг относится к нестареющей «классике», являющейся собранием основополагающих концепций.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments10

Аудио мультирум своими руками. Многокомнатная музыкальная система на основе бесплатного Logitech Media Server

Reading time4 min
Views60K
По специфике работы мне часто приходится давать советы профессиональным инсталляторам, каким образом решить ту или иную задачу при создании системы домашней автоматизации.


Проект Tobias на основе HiFiBerry

Один из вопросов, удивляющих своим постоянством — как организировать музыкальную систему на объекте таким образом, чтобы было легко включить её в единый интерфейс управления домом, наравне с освещением, климатом и другими системами. Вспоминая, что сам в первый раз делал это с большими сложностями и ошибками, я решил описать этот процесс подробнее для всех интересующихся.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments17

STM32, C++ и FreeRTOS. Разработка с нуля. Часть 1

Reading time14 min
Views125K

Введение


Не так давно мой отдел столкнулся с трудностями поиска новых инженеров программистов для разработки встроенного ПО. Опытным и умным не нравился уровень зарплаты, а молодых просто нет в нашем городе. Поэтому под патронажем нашей доблестной глобальной компании со штаб квартирой где-то в Сент Луисе, мы начали сначала набирать студентов в интернатуру, а потом, решили пойти другим путем и сделать целых два курса по разработке ПО, а уже там самим выбирать самых “толковых” если понадобятся вдруг новые сотрудники. Это намного дешевле и позволяет охватить максимальное количество претендентов.
Немного отступлю от темы, сам я программировал последний раз очень давно, и вообще больше на С#, а последний глобальный проект на микроконтроллере (PIC16 на зыке Си) был сделан в далеком 2007 году.
Поэтому мне предстояло разобраться с современными микроконроллерами, языком С++ и операционной системой реального времени.
Конечно все наши проекты уже сейчас используют ОСРВ и пишутся на С++, но как разработчик я в них не учувствую, а занимаюсь тунеядством управлением проектами разработки такого ПО.

Выбор


Времени у меня на все про все было дано 1 месяц. С начала июня 2015 до начала июля 2015, потому что потом я собирался в отпуск, а после отпуска обычно полно работы. Надо было делать все быстро и четко.
Немного проконсультировавшись с коллегами, выяснил, что модное направление ARM Cortex различные ядра и из доступных отладочных плат можно заказать Olimex STM32P152 которые стоили 25 долларов. Они пришли очень быстро — 6 плат по цене примерно 2000 рублей. Стоит заметить, что эти платы были закуплены нами для университета, где собственно и будет проходить этот курс.
image
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments13

Обработка строк в Java. Часть I: String, StringBuffer, StringBuilder

Reading time8 min
Views455K

Вступление


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

  1. String, StringBuffer, StringBuilder (реализация строк)
  2. Pattern, Matcher (регулярные выражения)

Реализация строк на Java представлена тремя основными классами: String, StringBuffer, StringBuilder. Давайте поговорим о них.
Читать дальше →
Total votes 30: ↑21 and ↓9+12
Comments68

Дебаггинг в реальном времени через JTAG/SWJ-DP для микроконтроллеров на ядре ARM Cortex-M

Reading time4 min
Views39K

С некоторых пор фирма Segger предлагает технологию Real Time Terminal (RTT) для своих JTAG адаптеров J-Link. Суть ее в том, что программа на микроконтроллере может выводить и принимать отладочную информацию из JTAG/SWJ-DP порта, как это обычно делается через UART. И тогда нам больше не нужен реальный отладочный UART. Далее чуть подробнее о возможностях этой технологии.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments1

Сказ об одной ошибке, так и не попавшей в релиз ядра Linux

Reading time3 min
Views28K
Совсем недавно вышло исправление, устраняющее полное зависание 32-битного ядра Linux при загрузке на процессорах Intel. Здесь небольшая история о том, откуда появилась ошибка и какие проводились исследования по поиску причин её возникновения.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments46

консоль в микроконтроллере с micro readline

Reading time9 min
Views33K
Представляю вашему вниманию библиотеку microrl (on github), предназначенную для организации консольного интерфейса в разного рода встраиваемых железках на микроконтроллерах.

Зачем нам консоль в МК?


Текстовый консольный интерфейс обладает рядом преимуществ для встраиваемых систем, при всей своей мощи и простоте (ведь текст, в отличие от светодиода, говорит сам за себя!):
  • Требует относительно мало ресурсов МК, и минимум аппаратных затрат — последовательный интерфейс типа UART или любой другой имеющийся в МК, это может быть встроенный USB или внешний USB-Com адаптер или даже TCP если ваше микроконтроллер достаточно серьезный.
  • Удобно подключаться — достаточно терминала поддерживающего Com-port (putty для Windows или minicom для linux).
  • Удобно использовать — цветной вывод в терминал, поддержка авто-дополнений, горячих клавиш и истории ввода.
Читать дальше →
Total votes 89: ↑89 and ↓0+89
Comments31

Железячники vs. Программисты

Reading time9 min
Views45K
imageВсем привет!

Я — один из основателей открытого проекта Embox, и по совместительству являюсь генеральным директором компании ООО “Ембокс”. Как не трудно догадаться, её основная цель — это оказание коммерческих услуг на базе нашего проекта.

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

Эта статья первая в нашем блоге, и мне кажется, что будет уместно рассказать не столько о технических решениях и находках, которые мы применяем в нашем проекте, это, безусловно, будет в последующих статьях, а сделать своего рода статью-приветствие. И поскольку Embox — операционная система для встраиваемых решений, речь в статье пойдет прежде всего о сфере embedded systems. По сути дела, в статье я хочу поделиться своим представлением о возможном направлении развития встраиваемого ПО, конечно, подкреплять всё это я буду реальными ситуациями, с которыми мы сталкивались в процессе работы над проектом. Поэтому те, кто интересуется встраиваемыми системами и кому не лень прочитать пару страниц жалоб на трудное детство рассуждений, прошу под кат.
Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments65

Использование цветовых пространств в ATTiny13a для WS2811

Reading time6 min
Views18K
image

И вновь приветствую, Хабр!


Моя новая идея посвящена использованию цветовых пространств в микроконтроллерах.
То что моя новость кому-то таковой не покажется, я нисколько не удивлюсь.
Однако я предлагаю метод и его реализацию, подобных которому я не встречал.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments8

Искусственный рассвет

Reading time9 min
Views233K
Началось всё год назад. Перед Новым 2014 годом несколько пришел в упадок жизненный тонус. Процесс самокопания привел к следующей мысли:



— А, что ж так темно-то, Господи? © День радио.

Впрочем, для человека, живущего зимой по летнему времени — мысль вполне естественная.
Что же делать?
Total votes 187: ↑185 and ↓2+183
Comments87

Создание консоли управления MMC

Reading time7 min
Views223K
Вы видели кабину пилота? Всё под рукой, никаких лишних телодвижений. Для того, чтобы взлететь, пилот не идёт в другой конец самолёта включать двигатель.



Так и в ситуации с консолями MMC. Вы создаёте для себя «пульт управления» и при определённых ситуациях нажимаете на нужные «кнопки».
Публикация рассчитана на системных администраторов, желающих познакомиться с методом создания консолей управления Windows, путём использования mmc.exe.
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments4

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

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

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

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

Заставим ее работать
Total votes 103: ↑101 and ↓2+99
Comments105

Онлайн, оффлайн и мобильные планетарии

Reading time3 min
Views32K


Технологии не стоят на месте — появляются новые проекты, выходят новые версии существующих программ. А с развитием веб-технологий появилось множество онлайн-планетариев и карт Солнечной системы и ближних окрестностей. Предлагаю вашему вниманию небольшой обзор онлайн-ресурсов и программ, которые нужно устанавливать на локальную машину. И пара слов про мобильные планетарии для Android.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments27

Встраивание в ядро Linux: перехват системных вызовов

Reading time17 min
Views26K
Под термином «системный вызов» в программировании и вычислительной технике понимается обращение прикладной программы к ядру операционной системы (ОС) для выполнения какой-либо операции. Ввиду того что такое взаимодействие является основным, перехват системных вызовов представляется важнейшим этапом встраивания, т.к. позволяет осуществлять контроль ключевого компонента ядра ОС — интерфейса системных вызовов, что, в свою очередь, даёт возможность инспектировать запросы прикладного ПО к сервисам ядра.

Данная статья является продолжением анонсированного ранее цикла, посвящённого частным вопросам реализации наложенных средств защиты, и, в частности, встраиванию в программные системы.

Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments8

Information

Rating
Does not participate
Registered
Activity