http://joxi.ru/UyCyUhjKTJCuGKi1HDA
четверг, 19 декабря 2013 г.
вторник, 10 декабря 2013 г.
Последовательная закачка в rtorrent
Сегодня вычеркнул еще один пункт из TODO-листа, а именно - пересобрал libtorrent чтобы rtorrent качал файлы последовательно (sequential download).
Это оказалось не так сложно, благо найденную когда то ссылку на патчи я себе сразу сохранил, только ссылка оказалась мертвой, но тут мне помог web.archive.org
В общем качаем исходник libtorrent, правим файлик, собираем, ставим
Это оказалось не так сложно, благо найденную когда то ссылку на патчи я себе сразу сохранил, только ссылка оказалась мертвой, но тут мне помог web.archive.org
http://web.archive.org/web/20100917225805/http://libtorrent.rakshasa.no/ticket/2307
У меня как раз текущая версия libtorrent 0.12.6, какая удача!
У меня как раз текущая версия libtorrent 0.12.6, какая удача!
Файлик надо поправить всего один и всего в 2 местах.
$ cd /usr/local/src
$ aptitude update
$ aptitude build-dep libtorrent
$ apt-get source libtorrent
$ cd libtorrent-0.12.6/
$ tar -xvzf libtorrent-0.12.6.tar.gz
# далее правка исходника src/download/chunk_selector.cc (наложение патча руками)
# затем сборка
$ dpkg-buildpackage -rfakeroot -uc -b
# сгенерилось 2 файла
# libtorrent11_0.12.6-2_amd64.deb
# libtorrent-dev_0.12.6-2_amd64.deb
# ставим
$ dpkg -i libtorrent11_0.12.6-2_amd64.debперезапустил rtorrent, скачал пробный файл
Данное изображение показывает, что торрент-клиент теперь качает файл последовательно.
SOLVED
среда, 14 августа 2013 г.
Мониторинг событий XBMC
Я люблю на выходных посмотреть кино с пивом и раками. Кино, как водится, смотрят в темноте. А чтобы пойти и добавить себе пива, хорошо бы видеть дорогу, да еще и кино на паузу поставить.
И меня посетила мысль, ништяк было бы по событию постановки кина на паузу зажигать приглушенный свет в комнате, а при продолжении просмотра - гасить его.
XBMC штука прекрасная, а под Raspberry Pi вообще неописуемо восхитительная. И обновляется само, и пульта от ТВ по HDMI умеет слушаться, и потребляет всего 3.5Вт, и FullHD 35-гиговые тянет.
Сам медиацентр имеет на борту EventServer, под него даже написано немало клиентов, вот некоторые:
http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk/tools/EventClients/
Но есть непроверенное подозрение, возникшее при поверхностном знакомстве, что этот EventServer не будет уведомлять EventClient-а о каком то событии в XBMC, вызванном со стороны (например постановка на паузу с клавы или пульта телевизора).
Ну и раз PHP-клиент-демон нам не светит, значит будем писать плагин, плюющийся событиями в веб-дырку умного дома.
Быстрый старт по написанию плагинов есть на хабре
http://habrahabr.ru/post/166097/
Немного порыскав поисках чего-то готового, нашел аддон, который уже умеет все что надо: ISY Event Handler. Он был взят за основу, из него были выпилены модули log, event_actions и isy*, а вместо них написан свой event listener в виде простой функции отправки пост-запросом типа события по заданному в настройках урлу.
На иллюстрации показан момент старта XBMC и логи nginx+php тестовой страницы, куда постятся данные. Виден код события onStart и POST запрос.
Поддерживаются события:
- старт и выход из XBMC
- запуск, пауза, продолжение, остановка видео
- то же для аудио
Скачать плагин ZIP с Google.Disk
ну а управление светом это уже этап пройденный, из веб сразу отправляется команда нужному выключателю на включение или выключение. примерно так
SOLVED
UPD: а вот как это выглядит в натуре
И меня посетила мысль, ништяк было бы по событию постановки кина на паузу зажигать приглушенный свет в комнате, а при продолжении просмотра - гасить его.
XBMC штука прекрасная, а под Raspberry Pi вообще неописуемо восхитительная. И обновляется само, и пульта от ТВ по HDMI умеет слушаться, и потребляет всего 3.5Вт, и FullHD 35-гиговые тянет.
Сам медиацентр имеет на борту EventServer, под него даже написано немало клиентов, вот некоторые:
http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk/tools/EventClients/
Но есть непроверенное подозрение, возникшее при поверхностном знакомстве, что этот EventServer не будет уведомлять EventClient-а о каком то событии в XBMC, вызванном со стороны (например постановка на паузу с клавы или пульта телевизора).
Ну и раз PHP-клиент-демон нам не светит, значит будем писать плагин, плюющийся событиями в веб-дырку умного дома.
Быстрый старт по написанию плагинов есть на хабре
http://habrahabr.ru/post/166097/
Немного порыскав поисках чего-то готового, нашел аддон, который уже умеет все что надо: ISY Event Handler. Он был взят за основу, из него были выпилены модули log, event_actions и isy*, а вместо них написан свой event listener в виде простой функции отправки пост-запросом типа события по заданному в настройках урлу.
На иллюстрации показан момент старта XBMC и логи nginx+php тестовой страницы, куда постятся данные. Виден код события onStart и POST запрос.
Что в итоге
Плагин с минимумом настроек, а именно УРЛ, куда постятся коды событий, юзер и пароль для Basic-авторизации.Поддерживаются события:
- старт и выход из XBMC
- запуск, пауза, продолжение, остановка видео
- то же для аудио
Скачать плагин ZIP с Google.Disk
ну а управление светом это уже этап пройденный, из веб сразу отправляется команда нужному выключателю на включение или выключение. примерно так
SOLVED
UPD: а вот как это выглядит в натуре
пятница, 9 августа 2013 г.
Как добавить принтер CUPS из консоли
мой рабочий комп - 172.30.0.111 Win8, принтер на доступе Samsung ML-1660
это драйвер
http://www.samsung.com/ru/support/model/ML-1660/XEV-downloads
прямая ссылка
http://downloadcenter.samsung.com/content/DR/201001/20100121132724343/UnifiedLinuxDriver_0.86.tar.gz
консольные команды cups (Ctrl+F CUPS)
http://www.k-max.name/linux/osnovnye-komandy-linux-ili-shpargalka-nachinayushhego-linuksojda/#cups
lpadmin -x sams1660 ;удалить к ефениматери
lpc status ; смотреть статус
lpinfo -h localhost -m ; список поддерживаемых моделей принтеров
lpadmin -p sams1660 -v "smb://172.30.0.111/Samsung ML-1660 Series" ; добавить принтер с удаленного IP открытый на доступ под заданным именем
lpoptions -d sams1660 ; установить принтер по умолчанию sams1660
чтобы работало lpadmin -v "smb://..." должен быть установлен пакет smbclient
если не найдена команда lpc - установить cups-bsd
добавление принтера расшаренного по smb. Имя sams1660 придумывается самостоятельно
lpadmin -E -p sams1660 -v "smb://172.30.0.111/Samsung ML-1660 Series"
lpstat -a sams1660
отправляем чего-то на печать
lp /etc/fstab
не печатает, смотрим очередь, в очереди док есть
lpstat -o sams1660
смотрим логи
tail /var/log/cups/error_log
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Unable to connect to CIFS host, will retry in 60 seconds...
root@mxismb:/etc/cups# smbclient //172.30.0.111/Samsung%20ML-1660%20Series
Enter root's password: # тут ничего не вводил
Domain=[DELTA.NET] OS=[Unix] Server=[Samba 3.5.6]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
smbclient "//172.30.0.111/Samsung ML-1660 Series"
это драйвер
http://www.samsung.com/ru/support/model/ML-1660/XEV-downloads
прямая ссылка
http://downloadcenter.samsung.com/content/DR/201001/20100121132724343/UnifiedLinuxDriver_0.86.tar.gz
консольные команды cups (Ctrl+F CUPS)
http://www.k-max.name/linux/osnovnye-komandy-linux-ili-shpargalka-nachinayushhego-linuksojda/#cups
lpadmin -x sams1660 ;удалить к ефениматери
lpc status ; смотреть статус
lpinfo -h localhost -m ; список поддерживаемых моделей принтеров
lpadmin -p sams1660 -v "smb://172.30.0.111/Samsung ML-1660 Series" ; добавить принтер с удаленного IP открытый на доступ под заданным именем
lpoptions -d sams1660 ; установить принтер по умолчанию sams1660
чтобы работало lpadmin -v "smb://..." должен быть установлен пакет smbclient
если не найдена команда lpc - установить cups-bsd
добавление принтера расшаренного по smb. Имя sams1660 придумывается самостоятельно
lpadmin -E -p sams1660 -v "smb://172.30.0.111/Samsung ML-1660 Series"
cupsenable sams1660
cupsaccept sams1660lpstat -a sams1660
отправляем чего-то на печать
lp /etc/fstab
не печатает, смотрим очередь, в очереди док есть
lpstat -o sams1660
смотрим логи
tail /var/log/cups/error_log
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Unable to connect to CIFS host, will retry in 60 seconds...
Enter root's password: # тут ничего не вводил
Domain=[DELTA.NET] OS=[Unix] Server=[Samba 3.5.6]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
чето да..
smbclient "//172.30.0.111/Samsung ML-1660 Series"
а вот так работает, только в /etc/cups/printers.conf не прокатывает
пришлось переименовать принтер на 172.30.0.111 в Samsung1660
поправил /etc/cups/printers.conf
DeviceURI smb://172.30.0.111/Samsung1660
печать пошла
некоторые вопросы-ответы по проблемам samba между linux и windows
понедельник, 24 июня 2013 г.
Работа с беспроводным трансивером nRF24L01
Когда то много недель назад получил я заказанные много месяцев назад по сходной цене из китая беспроводные трансиверы (приемопередатчики) на 2.4ГГц nRF24L01. Только спустя много времени наконец дошли руки их поковырять, а заодно задокументировать процесс в статье а-ля "пример работы с nRF24L01".
Начали всплывать проблемы:
- на этот раз в Proteus не оказалось такой микрухи, так что лафа кончилась, паять и отлаживать придется в железе, но благо чип уже сам на плате и со всеми нужными выведенными контактами
- отлаживать придется 2 шт одновременно, одна передает, другая принимает, вероятность неработоспособности связки равна произведению вероятностей неработоспособности каждой из двух микросхем
- на 2 передатчика понадобится и 2 контроллера
- питается передатчик напряжением до 3.3В, придется мутить стабилизатор и конфигурировать фьюзы МК, чтоб работали на пониженном напряжении, впрочем не такая уж это большая проблема
Начали всплывать проблемы:
- на этот раз в Proteus не оказалось такой микрухи, так что лафа кончилась, паять и отлаживать придется в железе, но благо чип уже сам на плате и со всеми нужными выведенными контактами
- отлаживать придется 2 шт одновременно, одна передает, другая принимает, вероятность неработоспособности связки равна произведению вероятностей неработоспособности каждой из двух микросхем
- на 2 передатчика понадобится и 2 контроллера
- питается передатчик напряжением до 3.3В, придется мутить стабилизатор и конфигурировать фьюзы МК, чтоб работали на пониженном напряжении, впрочем не такая уж это большая проблема
среда, 12 июня 2013 г.
Альтернативная энергетика в действии
Долгое время я приглядывался к разным методам автономного энергообеспечения. Прикидывал, приценивался, теоретизировал, и вот, наконец, пришло время практики.
Подопытный Объект - дача, а точнее пока только баня.
Расчеты просты:
- использование бани - раз в неделю
- из потребителей - ЭЛТ ТВ, ресивер триколор, 3 лампы накаливания (да-да, знаем, но пока молчим, перечисляю как есть)
- значит общее потребление около 200Вт, при емкости аккумулятора 60А*ч (720Вт*ч) этого хватит на 3 с лишним часа попариться
- в течение недели аккум зарядит даже самая убогая батарея, так что на нее тратиться нет особого смысла, пусть будет 150Вт, даже если реально она даст 30Вт (пасмурно например будет), то в течение 5 дней по 6 часов она выдаст как раз 900Вт*ч
- потребители 220В, без инвертора не обойтись
Итого выходит:
- батарея ФСМ-140 - 7700р
- контроллер заряда - 1500р
- аккумулятор 60А*ч - 3300р
- инвертор на 300Вт - 3000р
Подопытный Объект - дача, а точнее пока только баня.
Расчеты просты:
- использование бани - раз в неделю
- из потребителей - ЭЛТ ТВ, ресивер триколор, 3 лампы накаливания (да-да, знаем, но пока молчим, перечисляю как есть)
- значит общее потребление около 200Вт, при емкости аккумулятора 60А*ч (720Вт*ч) этого хватит на 3 с лишним часа попариться
- в течение недели аккум зарядит даже самая убогая батарея, так что на нее тратиться нет особого смысла, пусть будет 150Вт, даже если реально она даст 30Вт (пасмурно например будет), то в течение 5 дней по 6 часов она выдаст как раз 900Вт*ч
- потребители 220В, без инвертора не обойтись
Итого выходит:
- батарея ФСМ-140 - 7700р
- контроллер заряда - 1500р
- аккумулятор 60А*ч - 3300р
- инвертор на 300Вт - 3000р
вторник, 4 июня 2013 г.
Расчет времени работы от ионистора и заряд аккумулятора от солнца
Решил наконец взяться за создание автономных девайсов, для чего провел эксперимент по потреблению энергии одним МК ATTiny13A от ионистора 5.5V 4F.
Формула C*U=I*t известна, предварительный расчет по ней - 127 часов, но напруга то постоянно просаживается, да и саморазряд у них заметно сильнее, чем у конденсаторов, потому решено провести эксперимент в натуре.
Прошивку залил простейшую. Она собственно ничего не делает, кроме миллисекундной вспышки сверхъярким светодиодом раз в 9 сек.
Камень настроил на тактирование от внутреннего RC на 128кГц и погрузил в power-down режим. Brown-Out-Detection настроил на 1.8В. Степ-апа у меня нет, чтоб еще и питание кошерное подавать, так что схема без излишеств.
Вспышка делается в прерывании от Watchdog, настроенного на максимум выдержки (1М циклов).
Установившийся ток - порядка 30 микроампер.
Формула C*U=I*t известна, предварительный расчет по ней - 127 часов, но напруга то постоянно просаживается, да и саморазряд у них заметно сильнее, чем у конденсаторов, потому решено провести эксперимент в натуре.
Прошивку залил простейшую. Она собственно ничего не делает, кроме миллисекундной вспышки сверхъярким светодиодом раз в 9 сек.
Камень настроил на тактирование от внутреннего RC на 128кГц и погрузил в power-down режим. Brown-Out-Detection настроил на 1.8В. Степ-апа у меня нет, чтоб еще и питание кошерное подавать, так что схема без излишеств.
Вспышка делается в прерывании от Watchdog, настроенного на максимум выдержки (1М циклов).
Установившийся ток - порядка 30 микроампер.
четверг, 11 апреля 2013 г.
Кошерная настройка rtorrent и пояснения к конфигу .rtorrent.rc
Сегодня мы будем настраивать консольный rTorrent (файл конфига ~/.rtorrent.rc), вот некоторые цели:
1. мониторить папку с новыми .torrent-файлами, сразу переносить их в другое место, чтоб было ясно, что файл подхватился и пошла загрузка
2. по завершении загрузки переносить контент в общую папку-файлопомойку
3. по достижении закачкой ratio=1.5 закрывать ее и удалять .torrent-файл
4. при закрытии закачки дергать bash-скриптик, передавая ему путь к торренту, дабы тот мог сделать с ним что угодно
5. ограничивать скорость отдачи и скачивания по расписанию
6. если скачан фильм - переносить его в отдельную папку и называть нормально и по-русски, например "Дом с паранормальными явлениями (2013).avi" вместо Dom.s.paranormalnymy.yavleniyamy.2013.Dc.DVDRip.avi
Итак, поехали
1. мониторить папку с новыми .torrent-файлами, сразу переносить их в другое место, чтоб было ясно, что файл подхватился и пошла загрузка
2. по завершении загрузки переносить контент в общую папку-файлопомойку
3. по достижении закачкой ratio=1.5 закрывать ее и удалять .torrent-файл
4. при закрытии закачки дергать bash-скриптик, передавая ему путь к торренту, дабы тот мог сделать с ним что угодно
5. ограничивать скорость отдачи и скачивания по расписанию
6. если скачан фильм - переносить его в отдельную папку и называть нормально и по-русски, например "Дом с паранормальными явлениями (2013).avi" вместо Dom.s.paranormalnymy.yavleniyamy.2013.Dc.DVDRip.avi
Итак, поехали
пятница, 5 апреля 2013 г.
Зависание (DoS) Samba при открытии в Netbeans большого проекта
Здравствуйте, меня зовут Валерий и я веб-разработчик..
У меня дома есть сервер-роутер, на нем 2 виртуалки, одна - хостит проекты (веб-разработка), другая самба (сетевые медиаресурсы).
На самбе примонтирована шара с проектами для доступа по сети и программировании из windows.
В случае работы над большим (3Гб например) проектом, нетбинс при запуске сканирует его, сам при это адски тупит, и в итоге вообще вешает самбу так, что та не показывает содержимое папок и не дает открыть файлы. Трафик постоянный и бесконечный..
Программирование превратилось в АД. При нажатии Ctrl, Нетбинс начинает (превентивно, у себя пока в голове видимо) искать то, что под курсором, интерфейс замирает на время от 0.1 до 10 сек, и это при том, что я нажимал Ctrl не для того, чтоб перейти к определению функции или посмотреть phpdoc, я просто хотел перейти к началу строки Ctrl+Home!!
Я готов был выкинуть комп с 9 этажа и крыл матом всех, кто вспоминался: разрабов нетбинса, яву, того кто придумал яву, винду, билла гейста, ЖКХ, путина.. В итоге решил выделить час времени и попробовать докопаться до проблемы.
У меня дома есть сервер-роутер, на нем 2 виртуалки, одна - хостит проекты (веб-разработка), другая самба (сетевые медиаресурсы).
На самбе примонтирована шара с проектами для доступа по сети и программировании из windows.
Проблема следующая

Программирование превратилось в АД. При нажатии Ctrl, Нетбинс начинает (превентивно, у себя пока в голове видимо) искать то, что под курсором, интерфейс замирает на время от 0.1 до 10 сек, и это при том, что я нажимал Ctrl не для того, чтоб перейти к определению функции или посмотреть phpdoc, я просто хотел перейти к началу строки Ctrl+Home!!
Я готов был выкинуть комп с 9 этажа и крыл матом всех, кто вспоминался: разрабов нетбинса, яву, того кто придумал яву, винду, билла гейста, ЖКХ, путина.. В итоге решил выделить час времени и попробовать докопаться до проблемы.
Подписаться на:
Сообщения (Atom)