вторник, 26 ноября 2013 г.

Android устройства и OpenSuse 12.3

Добрый день.
Похоже настало время заняться разработкой под Android. А это значит, что на компьютер с установленным OpenSuSe 12.3 необходимо установить средства разработки и отладки. Виртуальная машина, которая поставляется со стандартным SDK не тянет OpenGL, а значит отладку придется выполнять либо на виртуальном устройстве от http://www.genymotion.com/ , либо на физическом устройстве, коих у меня лично уже 2 (смартфон Lenovo A800 и планшет ASUS 302 FHD10).


Несколько слов о красиво допиленной виртуальной машине на базе VirtualBox, который лежит в основе решения Genimotion - ДА это работает. Но по моему очень медленно. Для того, чтобы дождаться загрузки виртуального устройства мне приходилось ждать минут по 15-20, кроме того, пришлось разбираться с ошибкой INSTALL_FAILED_CPU_ABI_INCOMPATIBLE.Возможно кому то еще пригодится пройденный мной путь лечения, он достаточно подробно описан здесь: http://forum.xda-developers.com/showthread.php?t=2528952. Суть лечения заключается в том, что через DRAG-N-DROP в окно машины загружаются недостающие компоненты Android (сначала ARM Translation Installer, а после приложение Google Apps), после чего виртуальная машина становится "новым устройством Android", позволяющим зарегистрироваться в Google и скачать обновления, без которых ошибка и возникала. 
Теперь несколько слов об использовании физических устройств для запуска и отладки программ. В Linux компонент Google USB Driver имеет статус "Not compatible with Linux". При этом, в Android SDK подключенные устройства отображаются как ????????? и ничего запустить на них невозможно. Проблема в одном - доступе к устройству. Исправляется созданием файла /usr/lib/udev/rules.d/51-android.rules c правами доступа 644 (требуются права root).

Содержимое файла:
# Android devices - UDEV Rule                                                                                                                                         
# For Lenovo A800                                                                                                                     
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7435", SYMLINK+="libmtp-%k", MODE="0666", GROUP="users"
# For ASUS A302 FHD idVendor=0b05, idProduct=521f
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="521f", SYMLINK+="libmtp-%k", MODE="0666", GROUP="users"


Несколько слов откуда взять атрибуты idVendor и idProduct - их покажет команда dmesg, запущенная из консоли с подключенным устройством android в режиме отладки под USB.
В моем случае ценная информация содержалась в следующем участке вывода:

[ 6495.233026] usb 1-1: new high-speed USB device number 5 using ehci_hcd
[ 6495.350394] usb 1-1: New USB device found, idVendor=0b05, idProduct=521f
[ 6495.350399] usb 1-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 6495.350402] usb 1-1: Product: Android
[ 6495.350405] usb 1-1: Manufacturer: Android

Вот отсюда нужно взять idVendor=0b05, idProduct=521f и корректно внести в файл 51-android.rules. Все - теперь устройство видится и на нем можно запускать отладку из SDK. 
На этом пока все. 




среда, 13 июня 2012 г.

И снова возвращаюсь к нашему проекту "Платон"

Всем привет.
Давно я не касался темы нашего проекта, а именно с 2010 года, когда я в последний раз выкладывал информацию в свой блог. http://vladisgol.blogspot.com/2010/02/blog-post.html
На всякий случай, вдруг кому то будет интересно, то собственно сам проект расположен вот тут: http://code.google.com/p/platon-accs/
Если кто то заинтересуется проектом, то имейте ввиду - лицензируется программа под GPL2, а значит может быть использована совершенно бесплатно.
Ну несколько слов о проекте: сегодня узнал, что оказывается проект функционально подобен, в терминологии HP, базе данных CMDB. Но есть несколько моментов, которые у нас реализованы, как мне показалось, интереснее.

Итак, вновь предлагаю краткое знакомство с нашим проектом Платон.

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

Свое наименование программа получила от имени великого философа древней греции, который сформулировал 3-х уровневую метафизическую модель устройства мира. Боюсь ошибиться, но все таки рискну дать свою интерпретацию гения: Уровень Eidos - надфизический объект, обуславливающий свойства предметов реального мира, отражаясь в них и передавая им свои свойства. Но непосредственно Eidos не воплощается в объекты чувственного мира , именуемые Pragma, Eidos преломляется через разум творца, и входит в мир в виде множества вариантов воплощений, называемых Hypotesis.
Красиво и даже, я бы сказал, с легким налетом мистицизма. Но давайте теперь рассмотрим на  примере конкретных объектов, например легковых автомашин  - есть класс, который определят объект и его свойства, но насколько мы знаем, существует множество всевозможных легковых автомобилей, как минимум, именитых производителей - Форд, ВАЗ, Ситроен, Рено. И у каждого производителя есть целая гамма легковых автомобилей. Так вот, каждая такая марка и будет являться определенным типом машины, еще можно сказать, что тип автомобиля - это набор проектно конструкторской документации на него. Ну и третье, последнее - это сам экземпляр. Экземпляр всегда принадлежит к определенному типу автомобиля и обязательно имеет дату своего создания. Именно экземпляр автомобиля может увезти нас на дачу или сломаться по пути к ней. И если вдуматься, то по этой 3-х уровневой модели возможно описать не только объекты реального мира, но и действия, проводимые с ними и ресурсы, затраченные на выполнение этих действий.

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


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

Теперь давайте перейдем в окно определения свойств объекта или форму с поэтичным названием "Eidos студия".
Как видно из рисунка, на каждом уровне иерархии классов объектов можно добавлять свой набор дополнительных атрибутов. При этом атрибуты родительских классов наследуются классами потомков.
Атрибут может быть:

  • строкой
  • целым 
  • логическим
  • вещественным
  • датой временем
  • ссылкой на объект "тип"
  • ссылкой на объект "экземпляр"
  • функцией из динамической библиотеки


При этом любой из перечисленных видов атрибута может быть определен, как временной ряд и быть помечен обязательным к заполнению. Кроме того, на любом уровне класса у атрибута можно изменить заголовок, например в целях учета персонала, атрибут "дата создания" будет благоразумнее переименовать в "дата рождения".
Хочется отметить, что в системе можно на лету добавлять необходимые атрибуты, поскольку при этой операции метаданные таблиц не изменяются, а возможность редактирования того или иного атрибута определяется сразу, в зависимости от его фактического использования.

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

Ссылки на другие объекты. Это пожалуй самая интересная тема. Ссылки используются для формирования списков значений при выборе из классификатора (как например это сделано в поле "ответственное лицо"), но также используются для связи объектов с действиями и ресурсами. Для их просмотра в системе используется специальная форма для просмотра связей. Самый простой пример - давайте посмотрим, где в базе есть ссылки на запись сотрудника Головырина В.В.
Как видно, на меня назначен принтер и компьютер. Найденные объекты подкрашивают значения тех классов, в которых встречается ссылка на искомый объект. И совершенно не важно ищем мы ссылку на запись из справочника НСИ или на объекты, все они входят в единое дерево классов учета.

Всем удачи.



суббота, 2 июня 2012 г.

Samsung D5100 и MINIDLNA под OpenSuse 12.1

Всем доброго дня.
Хочу немного похвастать своим новым приобретением - BlueRay плеер Samsung D5100
Был очень приятно удивлен его функциональностью. Фактически из коробки я получил аппарат, который воспроизводит мою коллекцию на DVD, работает с накопителями USB, показывает файлы по сети с компьютера и наконец, совершенно самостоятельно крутит ролики прямо с YouTube.
Отображает требуемые форматы (проверял AVI MPEG MKV mp3). Ну и самое приятное - мне наконец то удалось избавиться от HDMI кабеля от компьютера к телевизору, который проходил под ковром из-за чего ковер топорщился.
Теперь несколько слов о том, как мне удалось сдружить плеер с компьютером под управлением OpenSuse 12.1:
1. Запускаем Yast и устанавливаем пакет minidlna
2. Так как для сервера DLNA нет соответствующего модуля Yast, придется выполнять настройку вручную. Заходим под суперпользователем в терминал и редактируем файл /etc/minidlna.conf
Я поменял в файле 2 параметра: Указал media_dir на каталог, в котором разместил файлы, кстати, в этот каталог я назначил симулинк на каталог загрузки торрентов и плеер спокойно воспроизводит оттуда файлы. 
Кроме того, я разблокировал параметр friendly_name, указав в имени сервера свой компьютер.

3. Далее возвращаемся в Yast и запускаем сервер DLNA через "Системные службы (Уровень запуска)". Находим в списке строку с minidlna и нажимаем кнопку "Включить".
4. И последнее - если Вы используете на компьютере FireWall, то ван нужно открыть 2 порта:
8200 TCP и 1900 UDP
Вот и вся премудрость.
Вообщем постараюсь держать в курсе эксплуатации аппарата, но пока я очень доволен.

четверг, 1 сентября 2011 г.

Asus EeePC 1015b и Mandriva 2011

   Всем доброго календарного дня!
   Для 2-го курса колледжа моему старшему потребовался инженерный калькулятор. В качестве такового было принято решение использовать ASUS EeePC 1015b, купленный по приемлемой цене в евросети. 

На борту Win7 home starer (нужен, поскольку в колледже вся программа построена под виндоуз) ну а сам сын решил, что в качестве основной операционки ему нужна  система,способная постоять за себя (а не вечно требующее проверки антивирусами, падающее при входе на зараженные сайты программное недоразумение). К чести ASUS, жесткий диск был поделен на 2 (C и D), поэтому не составило особого труда удалить диск D и освободить необходимое для ОС пространство.
    При выборе дистрибутива я не стал навязывать свои предпочтения (OpenSuse), в конце концов это нетбук сына. Вначале его выбор пал на Ubuntu 11.04. Скачали, установили, проверили - все работает нормально, установили FGLRX - UNITY просто заблестел, все вроде как замечательно, но после установки обновлений перестал работать режим сна, то есть закрываешь крышку, открываешь и ... черный экран. Вообщем проблема кажется с GRUB2. Восстановить работоспособность устройства можно с LiveCD следующим образом:
1. Монтируем раздел на котором root в папку mnt
mount /dev/sda6 /mnt
2. Восстанавливаем GRUB
grub-install --boot-directory=/mnt/boot
3. Перезагрузка
Далее наслаждаемся работой до следующего закрывания крышки нетбука... Вообщем не ладится в нашей семье с этим дистрибутивом...
   И тут я натыкаюсь на новость - вышла 2011 версия Mandriva linux - говорю сыну: давай попробуем? Он отвечает - давай. Скачиваем Live образ (он теперь один и большой, а не 5 как раньше) и командой dd if=Mandriva.2011.i586.1.iso of=/dev/sdb bs=8M записываем на флеш карту (после записи, до того, как будете вынимать флешку, нужно дать еще команду sync), ставим флешку в нетбук и устанавливаем новый дистрибутив. 

Из впечатлений - мне все понравилось. KDE 4.6 работает без тормозов на 700Мб памяти (1Гб памяти минус память под видео), с энергосбережением тоже все в порядке. 
Вообщем если будет что необычного в работе дистрибутива напишу, пока сын всем доволен. 


понедельник, 22 августа 2011 г.

Накрылся DLINK 2540U, но я его починил !

Добрый день. Последние недели две аппарат стал плохо "заводиться", т.е. он начинал работать после 2-й или 3-й перезагрузки. Но позавчера он просто перестал работать - Power горел красным, Internet зеленым и link изредка мигал. При этом аппарат терял до 80 % ping -ов и не открывался через WEB.
На просторах интернета я прочитал, что подобные проблемы были у многих и решали их перепайкой высохших конденсаторов, кроме того, были предложения по замене конденсаторов на 100 микрофарад более емкими. Ну, собственно терять уже было нечего, решил и я вскрыть аппарат и заменить конденсаторы. Но обнаружил, что именно моя модель не имеет ни конденсаторов на 100 микрофарад, ни конденсаторов фирмы Jakec, да и рисунок монтажной платы не совпадает с теми, что выложены на форумах. Взял плату и поехал в магазин радиоэлектроники, в котором просто купил 9 конденсаторов, аналогичных тем, что имелись на плате.
Далее меня ждал очередной сюрприз - паяльник не мог расплавить припой, которым были припаяны старые конденсаторы. Пришлось выкусывать детали, оставляя ножки и уже к ним припаивать новые детали. И кроме того, конденсаторы на 680 микрофарад 25 вольт не было в продаже, поэтому их заменили аналогичные, но на 36 вольт, которые стоя не умещались в корпусе, пришлось положить их на бок и приклеить на двухсторонний скотч. И вот что получилось:
И собственно, вот детали, которые пришлось заменить (2 конденсатора, у которых не было вздутия корпуса трогать не стал).
Итог - работающее устройство.



суббота, 18 июня 2011 г.

Черный экран на карте ATI под OpenSuSe 11.4

Добрый день.
Вчера стал устанавливать официальные дрова для карты ATI Radeon HD4670
и получил  погасший экран. Немного погуглив нашел ссылку на неофициальный репозиторий - вот адрес (разумеется официальный предварительно снес)
http://linux.ioda.net/mirror/ati/openSUSE_11.4/
Ставится долго, в процессе компилирует модуль ядра но все прекрасно работает.

суббота, 4 июня 2011 г.

iRU 115 Просмотр видео FULL HD под smplayer - Просто великолепно

Вопрос с низкой производительностью приобретенного аппарата, а именно слабым воспроизведением видео высокой четкости 1080i, все это время меня не переставал беспокоить.  Я стал изучать вопрос и наткнулся на обзор неттопа Zotac ZBOX HD-ID11, также созданного на платформе NVIDIA ION2. В обзоре было продемонстрировано, что загрузка процессора при воспроизведении FULL HD видео, составлет 12%
Вообщем по умолчанию в большинстве плееров не включено аппаратное ускорение (настройка на максимальную совместимость с любым оборудованием) и именно в этом оказалась проблема.
Для того, чтобы включить аппаратное ускорение в плеере smplayer следует выбрать драйвер VDPAU.
Ну и осталось продемонстрировать результаты столь несложного переключения:
в правом нижнем углу показан монитор загрузки системы во время воспроизведения фильма высокой четкости. И менее зрелищный, но более информативный вывод консольного приложения htop полученный через SSH с другого компьютера во время полноэкранного воспроизведения этого же мультфильма.

Вторая сверху строка показывает загрузку ядром плеера mplayer одного потока одного из ядер и колеблется от 9 до 14% (при длительном наблюдении). Плюс 1% на фронтэнд smplayer.
Одним словом - цель приобретения устройства в качестве медиацентра достигнута.