Spotify на Kodi

Правильная инструкция по установке spotlight для kodi@rpi2.
spotlight позволяет слушать музыку со Spotify на своем kodi.
Нужно иметь Premium Spotify аккаунт. В противном случае Spotify не позволяет подключаться сторонним клиентам.

Про Single-board компьютеры

Уже несколько лет не стихает волна одноплатных компьютеров поднятая raspberry pi.
Трудно поверить, но первый настоящий одноплатный компьютер появился в далеком 1976 году.
Нынешняя волна по всей видимости связана с несколькими вещами – небольшой размер, мощность достаточная для большинства обычных задач и чрезвычайно низкая стоимость и энергопотребление.

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

Raspberry pi

Мощным маркетингом этого компьютера двинули весь рынок. Самым важным моментом была низкая стоимость (от $25) и наличие так называемых GPIO. GPIO – порты ввода-вывода, позволяющие несложно подключать внешние устройства – диоды, кнопки, датчики и т.п. В обычных PC такие подключения затруднительны.
С момента зпуска вышли 2 модели raspberry pi, raspberry pi 2, а также совсем недавно raspberry pi zero.

На raspberry pi можно поставить один из дистрибутивов Linux, коих существует множество.
Также есть RTOS (Real time operating system) дистрибутивы, для решения задач, критичных по времени.
Большим преимуществом является поддержка технологии HDMI CEC, об этом чуть позже.

Компьютер справляется с Full HD видео, поэтому для него собрано несколько дистрибутивов с медиацентроами.
Из существенных минусов – отсутствие SATA. Из-за этого к raspberry pi нельзя подключить жесткие диски большого объема на большой скорости. Их, конечно, можно подключить через USB, но это не позволит качать данные на максимально возможной скорости.

Cubieboard

Производится китайской компанией. Существует несколько разных компьютеров. Я себе приобретал Cubieboard2. В основном из-за SATA разъема, для того, чтобы собрать на этом компьютере сетевое хранилище.
Ничего особо нового по сравнению с raspberry pi сказать не могу. Точно также есть ряд дистрибутивов Linux, на которых можно запустить хоть сервер, хоть десктоп. Есть также дистрибутивы Android.
Также заявляется возможность играть Full HD и даже больше.
Сетевое хранилище на этом компьютере у меня работает уже несколько лет и качает торенты.

Banana Pi

Также китайская компания. Несмотря на это, компьютер относится к категории open source hardware. Что позволяет собирать на базе этого компьютера более сложные или заточенные под задачу устройства.
Также есть несколько разных моделей. Радует наличие Wifi на борту некоторых устройств (Banana pi pro), вместе с SATA. Прямо на борту есть микрофон.
Естественно, также есть GPIO (совместимые по раскладке с raspberry pi).
можно устанавливать Linux и Android
Я брал Banana pi Pro для очередного сетевого хранилища.

Beaglebone black

В некотором роде выделяющийся компьютер. Open source hardware. Как и все предыдущие модели, позволяет поставить разнообразные Linux дистрибутивы. Конечно, можно сделать на базе этого компьютера как десктоп, так сервер.

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

Области применения одноплатных компьютеров

Медиацентр

На базе бывшего XBMC теперь называющегося Kodi созданы дистрибутивы для raspberry pi, превращающие этот небольшой компьютер в полноценный медиацентр. Прелесть raspberry pi в поддержке HDMI CEC. Эта технология позволяет управлять по HDMI внешними устройствами с одного пульта. Таким образом подключенная к телевизору малинка успешно управляется с пульта телевизора (практически любой модели). Производители телевизоров склонны называть HDMI CEC своими названиями непонятно зачем.
Я пробовал 2 дистрибутива Kodi для raspberry pi – openelec и osmc
Openelec позиционирует свою заточенность на скорость, поэтому производители ограничили доступ к системе и выпилили часть системных программ и утилит. Для обычного пользователя это не очень критично.
Я же остановился на OSMC – полноценный линукс с Kodi.

Сетевое хранилище / сервер

Благодаря низкому энергопотреблению, а также отсутствию шума (вентиляторов нигде нет) одноплатные компьютеры отлично подходят для домашнего сервера. На сервере можно поднять качалку торентов, хранилище файлов, даже собственное облако
Если позволяют знания, можно просто настроить Linux под себя, установив transmission, smb и т.п.
Если хочется настраивать мышкой – тоже есть варианты. Недавно я установил сервер на базе OpenMediaVault – После установки дистрибутива на компьютер, можно заходить на него из браузера и все настраивать, очень удобно.

Хочу отметить, что для сервера (особенно для торентов) важен большой объем данных, поэтому тут предпочтение падает на компьютеры с SATA. Я использовал Cubieboard2 и Banana pi pro.

Умный дом

По тем же свойствам, что и выше, одноплатные компьютеры хорошо подходят для автоматизации дома. Это может быть что угодно – видеонаблюдение, управление замками, сигнализацией, кондиционерами, аудио-видеотехникой.
наличие GPIO позволяют подключить практически любые периферийные устройства – камеры, датчики, радио и IR трансмиттеры. Остается только все это интегрировать, что конечно непросто. Я знаю, что уже появились некоторые решения для умных домов, но пока не пробовал ни одного из них.
Пробовал делать видеонаблюдение на базе motion & Cubieboard2 – работает.

роботы

В большинстве случаев любой из одноплатных компьютеров справится с задачами управления роботом. Это может быть и управление движением и что-то более сложное типа обработки видео и решения задач позиционирования. Как пример

игровая консоль

Интересный вариант использования одноплатных компьютеров – создание игровой консоли-эмулятора для ретроигр.
мощности вполне хватает для эмуляции (но лучше брать raspberry pi 2, а не 1)
Разного софта достаточно много, GPIO позволяют подключить любые внешние устройства ввода – джойстики, геймпады, коврики и т.п.
Я пробовал пару дистрибутивов –
retropie – Дистриб для raspberyy pi. работает из коробки, поддерживает кучу джойстиков. Будет немного гемороя для некоторых консолей (надо будет искать их BIOS)
BeagleSNES – дистриб для Beaglebone Black. Эмулирует SNES. Немного тормозит
recalbox – Выглядит симпатично, но толком еще не пробовал

Вообще есть желание собрать аркадный кабинет на базе raspberry pi2 – но пока не дошли руки и не все необходимое железо еще собрал

Программирование как жонглирование

Недавно осознал, что программировать просто. Также просто, как жонглировать.
ведь для программы любой сложности достаточно возможности выполнять оператор, делать ветвление и циклы. А если Разрешить GOTO, то хватит операторов и ветвления! Шальная мысль пошла дальше, родились ассоциации про жонглирование:

Структурное программирование – жонглирование 3 шарами

ООП – жонглирование пирамидами, шарами, кубами и т.п., внутри которых лежат шары. Опытный ООП программист может одновременно жонглировать 3-7 фигурами произвольной формы. Что включает в себя от 0 до 1000000 шаров

Программирование на фреймворке – подбрасывание вверх конструкции из шаров, подкручивание ее по часовой стрелке или против

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

метапрограммирование – жонглирование жонглерами

программирование на С++ – жонглирование бусинками из разорванных перламутровых бус. Нужно быстро-быстро перебирать руками. Получается красиво. Учиться долго. Тот кто умеет жонглировать бусинками считает, что может жонглировать всем, чем угодно. Но не жонглирует.

программирование на ассемблере – жонглер выходит в зрительный зал и начинает быстро перебирать руками. Говорят, что он жонглирует атомами. Люди, конечно, не верят. Те кто начинают разбираться, выясняют что это возможно и правда, потом сходят с ума. В каждом цирке свой жонглер не похожий на других.

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

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

инфраструктура – цирк, в котором выступают жонглеры

Добавляйте свои ассоциации!

14520787703_77fa4179ab

Arduino toolchain in OS X

Давно уже не возился с Arduino. Настолько давно, что обнаружил на обоих маках отсутствие тулчейна Ардуино :(

Я предпочитаю программировать Arduino непосредственно на С/C++ без всяких там IDE (если не считать vim за IDE). Как все это установить на мак написано ниже:

brew tap osx-cross/avr
brew install avr-libc
brew install avrdude --with-usb

Более подробно можете почитать тут.

avr-libc собирается довольно долго, не пугайтесь. Более того, оно может падать примерно так:

configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
make: *** [all] Error 2

Это тоже не беда. Просто вы не установили системные хедеры. Это делается так –


xcode-select --install

Подробнее про это

Happy coding!

arduino loves servo

arduino loves servo

Да, собираю я все проекты при помощи Make файла, позаимствованного отсюда и немного доработанного.

Автосалоны в Минске

Привез машину на ТО. В салон хёндэ. Суббота, на рабочих местах один из десяти сотрудников, девушек на ресепшн нет. Банально, спросить некого. Разительные отличия по сравнению с Москвой. Никому ничего не надо, никто ничего не хочет продать.