Как стать автором
Обновить
9
0
Руслан @solarplexus

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

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

Программируем квадрокоптер на Arduino (часть 1)

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


Здравствуйте, хаброжители!
В этой серии статей мы с вами приоткроем крышку квадрокоптера чуть больше, чем этого требует хобби, а также напишем, настроим и запустим в воздух собственную программу для полетного контроллера, которым будет являться обычная плата Arduino Mega 2560.

У нас впереди:
  1. Базовые понятия (для начинающих коптероводов).
  2. PID-регуляторы с интерактивной web-демонстрацией работы на виртуальном квадрокоптере.
  3. Собственно программа для Arduino и настроечная программа на Qt.
  4. Опасные тесты квадрокоптера на веревке. Первые полёты.
  5. Крушение и потеря в поле. Автоматический поиск с воздуха средствами Qt и OpenCV.
  6. Окончательные успешные тесты. Подведение итогов. Куда дальше?

Материал объемный, но постараюсь уложиться в 2-3 статьи.
Сегодня нас ожидает: спойлер с видео, как наш квадрокоптер полетел; базовые понятия; PID-регуляторы и практика подбора их коэффициентов.
Читать дальше →

CAELinux: дистрибутив Linux для инженеров

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

На Хабре о дистрибутиве CAELinux практически не писали (упоминали лишь раз), и совершенно напрасно. Это — специализированный дистрибутив для инженеров, с большим количеством предустановленного ПО для разного рода технических задач.

При этом CAELinux долгое время не обновлялся, более двух лет, и, наконец, вышла версия CAELinux 2013 (видимо, разработчики планировали выпустить обновленный дистрибутив немного раньше). Теперь новый стабильный релиз ОС Computer Aided Engineering (или САЕ) доступен для скачивания.

Стоит отметить, что CAELinux основан на 64-битной версии Xubuntu 12.04 LTS (которая, в свою очередь, является производной Ubuntu). Среди ПО, представляемого вместе с дистрибутивом, есть CAD-программы, различные 3D-инструменты анализа гидродинамики, 3D-инструменты работы с сигналами и их анализом. Есть инструментарий математического моделирования, работы с 3D анимацией и все прочее.

Читать дальше →

СС1101 под управлением PIC-контроллера или построение одноранговой сети для радиоинженера

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

Как-то некоторое время назад я участвовал в проектировании одной сети сбора данных. Сеть использовала диапазон 869 МГц и протокол SimpliciTI. По своей структуре сеть была по сути одноранговой с центральным узлом накопления данных. Однако в сети был предусмотрен и вариант ретрансляции данных, хотя он был, скорее, вспомогательным.

Дальше прототипов дело не пошло, хотя дело поставлено было очень серьёзно, вплоть до сертификации по ЭМС.
Одной из причин неудачи было то, что штатный программист не сумел полностью овладеть управлением CC1101.

Штука в том, что пакет SimpliciTI, взятый с сайта Texas Instruments, уже имеет какие-то настройки по-умолчанию. Эти настройки далеко не оптимальны для задачи редкого сбора данных (раз в месяц) в сети, которая располагается в доме с железобетонными стенами, да ещё испытывает воздействие помех различного происхождения.

С самого начала было понятно, что параметры должны быть, скажем, вот такими, а не такими. Для установки параметров в CC1101 имеется целый ряд регистров. Это всё описано, несколько путано, но, в конце концов, после некоторых усилий осваивается.

И вот берётся программа SmartRF Studio, устанавливаются в ней нужные параметры, проверяются. После успешной проверки нужно бы эти параметры перенести в реальную аппаратуру. Для этого в приложении, использующем SimpliciTI, делаются установки в начале программы.

Но не тут-то было! После успешного старта где-то на какой-то функции из пакета SimpliciTI происходит откат к параметрам, которые устанавливались разработчиками пакета. И программист так и не нашёл, где это происходит. В частности, ему так и не удалось запустить пакеты с фиксированной длиной и FEC. А без последнего работа системы в условиях замирания сигнала и помех практически невозможна.
Читать дальше →

MIPS модуль Newton – конкурент Edison от Intel для использования в носимых компьютерах

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

Ingenic представила крошечный, основанный на MIPS, Newton COM для носимых компьютеров и IoT-устройств, работающих на Android или Linux под Xburst SoC, и с встроенными модулем WiFi и другими сенсорами.

О платформе «компьютер на модуле» от Newton сообщили как китайская полупроводниковая компания Ingenic Semiconductor, так и Imagination Technologies, которая лицензирует интеллектуальную собственность MIPS для Ingenic. Сообщение Imagination относилось только к носимым компьютерам, а Ingenic упомянула их только как первые в ряду приложений Internet of Things (IoT).

Кроме того, Newton может применяться в здравоохранении, бытовой технике, сфере безопасности, биометрии, промышленного контроля и потребительской электроники. Imagination также рассчитывает на применение Newton в качестве платформы для нового Android Wear от Google, хотя Ingenic об этом не упомянула.
Читать дальше →

Cobbler+puppet или сетевая установка Ubuntu 12.04

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

Введение


Рано или поздно каждой серьезной компании приходится задумываться о легализации своей IT инфраструктуры. Возьмем среднюю по масштабам компанию N. Центральный офис, 30 небольших филиалов. Везде стоят рабочие станции под Windows, в основном XP. На более свежих машинах, ноутбуках, встречаются windows 7 и 8, на серверах 2k3, 2k8, ubuntu-server.
Расширяется компания не слишком большими темпами, и немногочисленный отдел IT успевает новые машины накатывать из заранее созданных образов Acronis'ом. Но в целях уменьшения затрат/легализации инфраструктуры/очистки совести принимается решение перейти на opensource. Тут уже другой масштаб трагедии, переустанавливать руками множество рабочих станций — процесс долгий и неблагодарный. Под катом — один из вариантов решения данной проблемы.
Читать дальше →

Кому доверить свой бизнес? Часть 1 — бухгалтерия

Время на прочтение11 мин
Количество просмотров74K
Московский рынок бизнес-услуг крайне пышен и богат. Приходится внимательно изучать его флору и фауну, ведь наша сервисная компания — не единственный способ получить хорошее обслуживание. Недавно мы провели небольшое исследование, нагуглили популярные варианты бухгалтерского и юридического сопровождения, изучили предложения секретарей и бизнес-ассистентов. Обычно маркетологи хранят результаты изысканий в секрете, но мы решили о них рассказать. Хочется верить, что это сэкономит предпринимателям пару часов времени на поисках варианта обслуживания, подходящего для их компании. Начнем с бухгалтерии.



Мы исследовали варианты бухгалтерского обслуживания, которые подойдут бизнесам от малого до среднего. Получилось всего 7 категорий, каждой из которых мы постарались дать объективную характеристику, определить ценовую вилку и выделить наиболее заметные (читай, разрекламированные) предложения.
Читать дальше →

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

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

Читать дальше →

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

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

[видео] Как поставить человека на место: 10 реальных вопросов про давление в переговорах

Время на прочтение2 мин
Количество просмотров229K
Видео про 8 способов противостояния формуле нужды оказалось неожиданно популярным, набрав 8,000 просмотров за два дня. Мы решили продолжить тему.

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

Мы отобрали 10 самых любопытных, на наш взгляд, вопросов в этой теме и снова заперли в студии Дмитрия Коткина, руководителя Санкт-Петербургской школы переговорщиков ШиП и нашего хорошего друга, чтобы он рассказал, что конкретно делать:



10 реальных ситуаций, которые удалось осветить — под катом:

Читать дальше →

Автономный квадрокоптер с нуля: PID и грабли

Время на прочтение12 мин
Количество просмотров87K
Большинство проектов, использующих коптеры, опираются на ручное дистанционное управление, полностью автономных систем пока нет. Но для индустриального использования это необходимо; человеческий фактор — причина большинства аварий. Ниже рассказ пойдёт про то, как мы делали свою систему стабилизации с помощью ПИД, позволяющую свести к минимуму участие человека в процессе работы дрона.

Один из тестовых полётов нашего коптера
Читать дальше →

Контролируем переполнение ячейки таблицы с помощью max-width

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


Допустим, мы хотим сделать двухколоночную раскладку с помощью свойства table-cell. Левая колонка будет занимать всю доступную ширину, правая же может иметь два варианта в нашем случае:

  • мы зададим этой колонке фиксированную ширину;
  • она будет равняться минимальной ширине контента → minimum content width (MCW).

Едем дальше

Почему компании отказываются от лучших сотрудников?

Время на прочтение7 мин
Количество просмотров202K
Весной 2006 года Кевин Систром стоял за кофемашиной в кафе Caffé del Doge в Пало-Альто, когда к стойке подошел основатель Facebook Марк Цукерберг. Годом ранее Цукерберг уже ужинал с Систромом — он предложил ему уйти с последнего курса Стэнфорда, чтобы разработать фотосервис для Facebook. Кевин тогда отказался. Оставшись в Стэнфорде, Систром разработал приложение Instagram, которое Цукерберг недавно приобрел за $1 млрд. (Сумма поражает, особенно если знать, что у стартапа нет не только выручки, но и модели ее получения. В компании Instagram, возраст которой еще не достиг двух лет, по-прежнему лишь 14 сотрудников.) В итоге Цукерберг все же захватил Кевина в ряды армии Facebook, с чем его и поздравляем.

Если в истории с Систромом Цукерберг сделал ставки и не прогадал, то с сооснователем WhatsApp Брайаном Актоном все сложилось иначе. В 2009 году его не взяли на работу в Facebook, а в 2014 компания покупает WhatsApp за $16 млрд. Как же так получается, что большие и инновационные компании отказываются от перспективных сотрудников (будем называть их гуру или «звездами»), за которых в будущем будут гоняться с утроенной скоростью, предлагая просто сумасшедшие деньги? Ориентация на метрики, а не на результат.
Читать дальше →

Самодельный фазовый лазерный дальномер

Время на прочтение9 мин
Количество просмотров296K
image
В статье я расскажу о том, как я делал лазерный дальномер и о принципе его работы. Сразу отмечу, что конструкция представляет собой макет, и ее нельзя использовать для практического применения. Делалась она только для того, чтобы убедится в том, что фазовый дальномер реально собрать самому.
Читать дальше →

Гонки радиоуправляемых тарантасов за 4 недели

Время на прочтение9 мин
Количество просмотров11K
Всем привет! Я один из создателей гонок радиоуправляемых тарантасов.

www.redbullsoapboxrace.ru — это онлайн проект, посвященный мероприятию Red Bull Soapbox Race и является гонками тарантасов в миниатюре.

Про наш проект написали пост, и это — ответ на приглашение рассказать о проекте.

Идея родилась на кухне за чашкой кофе, а как все произошло и как нам удалось реализовать проект за 4 недели, читайте дальше.
Читать дальше →

Написание драйвера для LCD дисплея под embedded linux

Время на прочтение10 мин
Количество просмотров39K
В данной статье хочу поделиться своим опытом написания linux драйвера для цветного дисплея 320х240 от производителя Newhavendisplays, а именно NHD-5.7-320240WFB-CTXI-T1 под embedded linux. Идея написать статью созрела именно по причине того, что ресурсов по написанию framebufer(FB) драйверов не так уж и много, тем более, на русском языке. Модуль был написан далеко не под самое новое ядро(2.6.30), поэтому допускаю, что в интерфейсах FB много чего поменялось с тех пор. Но, тем не менее, надеюсь, статья будет интересна интересующимся разработкой уровня ядра linux. Не исключаю, что реализацию можно было бы сделать проще и изящней, поэтому комментарии и замечания приветствуются.



Читать дальше →

Роботы-термиты реализуют проект без централизованной координации

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


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

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


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

Читать дальше →

Запуск Linux на медиапроцессоре Realtek RTL-1185

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


Попалась нам сегодня в руки отладочная плата на базе SoC RTD1185 — RTK300 Rev. C1 — для разработки мультимедийных устройств. В рамках этой статьи мы познакомимся с техническими параметрами этой SDK, cоберем и запустим на ней базовое ядро Linux и rootfs, успешно решив в процессе несколько проблем.

Disclaimer: данная статья рассчитана на опытных линуксоидов, по крайней мере, мы не останавливались на второстепенных подробностях. Если возникнут вопросы, добро пожаловать в комментарии.
Читать дальше →

Рабочее место Попкорн: Как стать Супер-продуктивным работая на себя

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

Коллеги, представляю вам перевод статьи про Супер-продуктивность, которая меня сильно зацепила. Надеюсь, что перевод будет вам полезен для организации своего рабочего времени.

Я познакомился с этой идеей где-то на Hacker News несколько недель назад и адаптировал концепцию для моего собственного образа жизни, и это изменило мой подход к работе.

Супер-продуктивность — как начать работать больше, чем когда-либо
Читать дальше →

Просто о make

Время на прочтение6 мин
Количество просмотров496K
Меня всегда привлекал минимализм. Идея о том, что одна вещь должна выполнять одну функцию, но при этом выполнять ее как можно лучше, вылилась в создание UNIX. И хотя UNIX давно уже нельзя назвать простой системой, да и минимализм в ней узреть не так то просто, ее можно считать наглядным примером количество- качественной трансформации множества простых и понятных вещей в одну весьма непростую и не прозрачную. В своем развитии make прошел примерно такой же путь: простота и ясность, с ростом масштабов, превратилась в жуткого монстра (вспомните свои ощущения, когда впервые открыли мэйкфайл).

Мое упорное игнорирование make в течении долгого времени, было обусловлено удобством используемых IDE, и нежеланием разбираться в этом 'пережитке прошлого' (по сути — ленью). Однако, все эти надоедливые кнопочки, менюшки ит.п. атрибуты всевозможных студий, заставили меня искать альтернативу тому методу работы, который я практиковал до сих пор. Нет, я не стал гуру make, но полученных мною знаний вполне достаточно для моих небольших проектов. Данная статья предназначена для тех, кто так же как и я еще совсем недавно, желают вырваться из уютного оконного рабства в аскетичный, но свободный мир шелла.
Читать дальше →

Сетевое программирование для разработчиков игр. Часть 2: прием и передача пакетов данных

Время на прочтение9 мин
Количество просмотров108K
От переводчика: Это перевод второй статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.
Первая статья — http://habrahabr.ru/post/209144/



Прием и передача пакетов данных


Введение

Привет, меня зовут Гленн Фидлер и я приветствую вас в своей второй статье из цикла “Сетевое программирование для разработчиков игр”.


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

А сейчас я собираюсь рассказать вам, как на практике использовать UDP для отправки и приема пакетов.

BSD сокеты

В большинстве современных ОС имеется какая-нибудь реализация сокетов, основанная на BSD сокетах (сокетах Беркли).

Сокеты BSD оперируют простыми функциями, такими, как “socket”, “bind”, “sendto” и “recvfrom”. Конечно, вы можете обращаться к этим функциями напрямую, но в таком случае ваш код будет зависим от платформы, так как их реализации в разных ОС могут немного отличаться.

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

Информация

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