Понедельник, 23.12.2024, 09:21
HUKER.ucoz.com
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Категории раздела
Assembler [1]
Perl [0]
Pascal [0]
Object Pascal [0]
BASIC [0]
Delphi [0]
C/C++/C# [0]
ActionScript [0]
Java [0]
JavaScript [0]
Objective-C [0]
Parser [0]
PowerBASIC [0]
PureBASIC [0]
Python [1]
Scheme [0]
SQL [0]
Visual BASIC [0]
Visual Basic .NET(VB.NET) [0]
О программировании [2]
Форма входа
Опрос
Как часто вы посещаете наш сайт?
Всего ответов: 353
Статистика


Рейтинг@Mail.ru


Онлайн всего: 7
Гостей: 7
Пользователей: 0
 Каталог статей
Главная » Статьи » Программирование.Языки программирования » Python

Программирование под N900 на Python

Вступление

В данной статье предполагается знание синтаксиса языка Python, а также основной семантики. Для написания приложения под Maemo 5 необходимы следующие инструменты:
  • OpenSSH server на N900
  • IDE PluThon
  • Пакеты PyQt4 и PyMaemo для N900
  • Wi-Fi точка доступа

OpenSSH

Устанавливаем OpenSSH-server из репозитория Extras-Devel. В процессе установки нужно будет ввести логин и пароль: логин должен быть root,
пароль устанавливаем по своему усмотрению (я бы не советовал использовать кирилицу в пароле).

PluThon

Всем известно, что Maemo содержит интерпретатор Python «из коробки». Простенький скрипт можно написать на самом устройстве. Но, согласитесь, гораздо удобнее программировать в IDE с подчеркиванием синтаксиса, отладкой и прочими плюшками. Одним из лучших вариантов является использование IDE PluThon: она основана на Eclipse и позволяет разрабатывать приложение на компьютере, а затем передает его по SSH на N900 и выполняет там. Для установки PluThon нужно скачать два архива с pluthon.garage.maemo.org/2nd_edition/installation.html для своей ОС.
После скачивания распаковываем оба архива в одну и ту же папку и запускаем:

  • ./pluthon.sh (Linux)
  • .\pluthon.exe (Windows)
  • ./pluthon.app/Contents/MacOS/esbox (MacOS X)

Примечание: если вы используете Ubuntu 9.10+, Fedora 11 или другую систему, основанную на GTK+ 2.18, то возможны проблемы с запуском PluThon: запустится только пустое окно, которое будет невозможно закрыть. Для устранения этого найдите файл pluthon.ini в каталоге pluton'a и добавьте в конец файла строку:

-Dorg.eclipse.swt.browser.XULRunnerPath=/dev/null

Теперь PluThon готов к работе!

PyMaemo + PyQt4

Из коробки Python поставляется только со стандартными модулями, поэтому необходимо установить дополнительные библиотеки. Также для создания графического интерфейса необходимо установить библиотеку Qt для Python. Для этого выполяем следующие операции в терминале N900 (rootsh должен быть установлен):

sudo gainroot
apt-get install python2.5-runtime
apt-get install python2.5-qt4-core python2.5-qt4-gui


Соглашаемся на предложение установить и ждем конца установки. Теперь все готово для разработки!

Разработка

Как и полагается по старой доброй традиции первое наше приложение будет называться Hello World. Для этого запускаем OpenSSH сервер на N900:

sudo gainroot
/etc/init.d/ssh start


Далее запускаем PluThon и создаем новый проект (меню File -> Pluthon Project -> Empty Python Project), далее жмем Next и выбираем способ удаленного подключения к N900. Способ подключения: WLAN ad-hoc, также не поленитесь зайти в настройки. Здесь необходимо правильно указать IP-адрес девайса (его можно узнать командой ifconfig из-под рута), а также имя пользователя(root) для работы в системе. Во избежание проблем с правами доступа я обычно отлаживаю программы под рутом, хотя это и может быть небезопасно. Далее нажимаем кнопку Next и в появившемся окне можно выбрать версию Python. Лучше всего оставить 2.5, для лучшей совместимости с N900 (интерпретатор Python там версии 2.5.4. Далее нажатием на кнопку Finish мы создаем проект. В папку src добавляем новый модуль: ПКМ -> New -> Pydev Module. Указываем любое имя и нажимаем Finish.





#Первым делом импортируем модули:
import sys                    #Модуль будет использоваться для получения аргументов командной строки, которые необходимы Qt-приложению
from PyQt4.QtCore import *    #Стандартные Qt-библиотеки ядра и графического интерфейса
from PyQt4.QtGui import *

#Далее необходимо инициализировать окно нашего приложения. Делается это способом создания дочернего класса к QMainWindow.

class MainWindow(QMainWindow):
    def __init__(self*args):      
        apply(QMainWindow.__init__, (self,) + args)  #Вызываем конструктор родительского класса с полученными аргументами
        self.setWindowTitle('N900 Buttons!')         #Заголовок приложения
        self.bn1=QPushButton("Hello World"self)    #Создаем кнопку с надписью 'Hello world' и в качестве 
                                                     #родительского виджета (окно в понятии Qt) указываем экземпляр класса (окно)
        self.bn1.setFlat(1)                          #Наша кнопка будет плоской
        self.setCentralWidget(self.bn1)              #Указываем что кнопка является центральным виджетом приложения, 
                                                     #то есть она растянется на все окно
        self.bn1.clicked.connect(exit)               #Указываем что должна делать при нажатии - 
                                                     #в данном случае выходить из приложения

#После того, как окно инициализированно, остается лишь создать экземпляр приложения и экземпляр окна

app=QApplication(sys.argv)   #Создаем экземпляр приложения
win=MainWindow()             #И окно
win.show()                   #Отображаем его на экране
sys.exit(app.exec_())        #И собственно запускаем приложение 


Теперь запускаем приложение Run -> Run As -> PluThon Application. Теперь глядим в наш N900 и там должно появиться чтото примерно такое:

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

root
/etc/init.d/ssh stop


Категория: Python | Добавил: Huker-Admin (09.01.2011)
Просмотров: 925 | Рейтинг: 5.0/1
Copyright HUKER.ucoz.com © 2024-2012
Облако тегов
измерение скорости

Я.Интернет. Измерьте вашу скорость.