воскресенье, 28 июня 2015 г.

Ace Stream прокси своими руками, просмотр Torrent TV на XBMC

У меня на хате уже 4 XBMC точки (и 5-я на подходе), у всех общая мультимедиа база (общее mysql-подключение), и на всех я хотел бы смотреть ТВ с сайта torrent-tv.ru (есть аддон для XBMC), но пока что приходится настраивать (и обновлять при случае) руками на каждой точке отдельно. Это установка Ace Stream, втыкание плагина torrent-tv в XBMC, в принципе на этом всё, но все же лениво. Не всегда получается с первого раза, сейчас вот на одной точке вылезла проблема обновления плагина с резолюцией "Dependencies not met", а аналогичный плагин (официальный) вообще помечен как Broken. Ace Stream на тот момент в репозиториях не было, приходилось руками ставить. К тому же системы разные, где виндов$, где линух, а где то вообще андроид. На телефон, к примеру, AceStream сервер не поставишь, и порт по ssh не пробросишь. Потому захотелось поднять на домашнем сервере единую точку раздачи торрент-тв, а в общей папке мультимедиа разместить плейлист со ссылками на каналы.

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

четверг, 4 июня 2015 г.

Ветра нет, а чаю хочется

Что если электричество отключили, ветер стих, солнца нет, и аккумуляторы сели?
В условиях автономного дома самый простой способ сгенерировать энергию - покрутить "динаму" или педали.
Не напрягаясь, средний дядя может выдавать 100Вт на велотренажере. Посчитаем, сколько нужно крутить педали, чтобы обеспечить себе привычный уровень комфорта!

понедельник, 24 ноября 2014 г.

Работа с фискальными принтерами АТОЛ и Штрих-М из PHP

В процессе работы над парой проектов интернет-магазинов мне довелось подключать фискальные принтеры к PHP-приложениям. 1С не было и не планировалось. Значит подключать надо было напрямую к PHP безо всяких системных драйверов.
Значит надо было реализовать протокол обмена с фискальным принтером на PHP, благо для этого имелся качественный официальный мануал.
В статье выкладываю получившийся PHP драйвер для моделей сразу двух производителей: АТОЛ (FPrint-5200K) и Штрих-М (Штрих-Light 100).
Код расширяемый, и не составит труда допилить при необходимости до другой схожей модели того же производителя.

среда, 12 ноября 2014 г.

Баннерорезалка масштаба сети на BIND и nginx

Давно у меня зрело желание порезать рекламу в едином месте - на шлюзе домашней сети.
Задача эта так и висела бы, наверное, в TODO листе, если бы не мобильное приложение Real Racing 3. Какое-то время я рубился в эти гоночки, и все было отлично, но в один прекрасный день я узрел на экране гигантский баннер, а потом охапку баннеров поменьше в разных местах. Этого я стерпеть не мог..
Но мне не хотелось ставить squid ради этого дела, я особо не исследовал, но там же, наверное, придется всем клиентам сети прокси настроить? Явно не мой путь.

Итак, дано: шлюз (роутер) под debian (с поднятым DNS bind9), XEN-виртуалка для веб-разработки (debian, с поднятым nginx).
Требуется: порезать рекламу на всем, что подключается к серверу дома, хоть по WiFi, хоть по проводу.

Достигнутый итог: нет рекламы в skype на десктопе и в телефоне, мобильных приложениях, браузере (AdBlock отключен).
А подробнее - далее.

среда, 15 октября 2014 г.

nRF24L01. Энергосбережение 2: Путь самурая

В первой части мы научились работать с nRF вообще, во второй разобрались с тем, как запитать его так, чтобы не разориться на батарейках. Уже после ее публикации она была дополнена интересным, но пока мной не опробованным, вариантом №5 (бонусным), обещающим наиэффективнейший режим энергосбережения!

Напомню, суть его сводится к тому, что экономное устройство (в моем случае сенсорный выключатель) само периодически (раз в 64-128мс) обращается к роутеру за данными, а роутер отвечает либо пустым пакетом из нулей (например), либо пакетом данных, если таковой ожидает востребования. Сам роутер занимается тем, что передает пакеты от ПК в радиоэфир и обратно.
Причем ответный пакет передается через фичу W_ACK_PAYLOAD, что здорово упрощает работу и код прошивки приемника и передатчика (в частности переключение TX-RX-TX происходит в модуле само).

Более того, на ответный ACK-пакет, пришедший по этой фиче, на передававшей стороне (выключателе) помимо TX_DS генерируется отдельное прерывание RX_DR! Мне код выключателя вообще менять не пришлось, только регистры модуля при старте подтюнить! А, ну и добавить периодический пинг роутера спец.пакетом, в ответ на который тот должен W_ACK_PAYLOAD мне в ответ заряжать.
Короче подробности и Success Story - далее.

пятница, 29 августа 2014 г.

Ремонт кнопки блокировки HTC One V

Если у вашего HTC One V стала заедать кнопка блокировки, когда приходится нажимать ее с силой и срабатывает она далеко не с первого раза - ниже инструкция, как все починить с использованием любимых подручных средств: клея, скотча, бумажки и жвачки.

среда, 30 июля 2014 г.

Альтернативноэнергетический светильник в дачный туалет

За что я люблю программирование: написал код, и он работает всегда. Мне нравится этот принцип "сделал и забыл". Поэтому все больше увлекаюсь солнечнозапитанными устройствами. Солнечный элемент + аккумулятор - и какая-нибудь поделка будет работать чуть ли не вечно. Например тот же выносной датчик погодной станции, или телеметрия какая-то в саде-огороде. Как показал натурный эксперимент даже небольшая солнечная батарея на 6В может зарядить аккумулятор в 3.7 вольта не будучи облучаемой прямым солнечным светом. А при правильном подходе к энергосбережению, той небольшой энергии хватит, чтобы дожить до следующего утра.