Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 19, 2006 23:18:13

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

Мини HOWTO на русском. :)

Для начало необходимо скачать последнюю версию питона под свою платформу.
Для этого идём по этой ссылке, находим свой телефон и смотрим какой питон нам нужен.
Затем идём на офф страничку, качаем файлик PythonForS60_версия_ваша_платформа.SIS
Скачали? Ставим! Поздравляю, теперь вы уже можете запускать скрипты на телефоне. Как свои так и чужие. Но для этого они, во-первых, должны быть обёрнуты в app приложение, во-вторых, без ошибок исполняться. Нам это не совсем подходит, ведь нужна же и консоль, да и как сделать эту обёртку ещё разобраться надо. Поэтому качаем оттуда же, но на этот раз файлик PythonScriptShell_версия_ваша_платформа.SIS. Ставим. Заходим в меню и видим симпотичную змейку. :) Она даёт возможность ипользовать интерактивную консоль, bluetooth консоль и сразу запускать ваши скрипты. (они должны лежать в !:/System/Apps/Python/my/ - для 7-8 симбиана) Помимо этого, что не мало важно, с ней идёт несколько не сложных примеров, демонстрирующих возможности мобильного питона.

Фуф! Наконец-то питон у нас стоит.
Теперь вы наверно захотите что-нибудь написать. Да ещё и GUI интерфейсом, не так ли? Спешу обрадовать, практически всё что было в десктопном питоне перенесли и в мобильный, а гуй делается довольно просто. Обязательно скачиваем API Reference for Python. Всё что вы хотели знать о мобильных особенностях питона именно там. Тяжко? Хочется какой-нибудь туториальчик, где всё просто и понятно показано на примерах? Говорим спасибо Jurgen Scheible. Специально для вас он сделал кучу примеров и всё снабдил развёрнутыми комментариями. Его страничка.

Вобщем-то этого должно хватить на первое время, но вот вам до кучи ещё полезных ссылок:
Python fo S60 Wiki - самая большая база знаний по мобильному питону. Документация, дополнительные модули, приложения, ссылки на другие ресурсы - всё собранно там.
Code Snippets - большое собрание готовых решений некоторых задач на pys60.
Discussion forum Python on S60 - самая большая дискуссия (раздел) о s60 питоне. На форуме нокии. Если вам не помогли там, то уже врят ли где-нибудь помогут. :)

Можно написать ещё несколько десятков ссылок, но, я думаю, вы их самостоятельно найдёте на выше перечисленных ресурсах.



Отредактировано slav0nic (Июль 25, 2012 17:26:51)

Офлайн

#2 Дек. 20, 2006 10:46:20

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

У меня на КПК стоит питон.
Делал небольшие апплетики пару раз. Приходилось использовать Tkinter в качестве GUI.
В целом отлично работает.



Офлайн

#3 Дек. 20, 2006 11:18:45

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

Ну на s60, он работает не очень отлично. :) Но работает. При должном усердии можно писать вполне серьёзные приложения.
Будет время напишу о его ограничениях.



Офлайн

#4 Дек. 20, 2006 11:35:26

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2249
Репутация: +  40  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

а я в линуксе сижу, поэтому процесс девелопинга не осили=\ софта нет, сдк виндовое, для залива и запуска скрипта на трубе юзается БТ, а БТ нет

Офлайн

#5 Дек. 20, 2006 13:26:00

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

Хм. У меня конечно тоже всё не в шоколаде, но писать можно.

Mini-HOWTO: Linux и pys60
Попытаюсь рассказать как писать скриптики для смартфона на линуксе.
Для начала нужно установить связь с телефоном. Для этого нам потребуется замечательная штука под название openobex (офф сайт: openobex.triq.net). Подробное описание установки есть тут, а я постараюсь кратко это всё изложить.
Скачиваем последний openobex (сейчас это openobex-1.3.tar.gz) отсюда, либо из cvs.
$ cd openobex
$ ./configure –enable-apps
$ make install
(не забываем предварительно поставить необходимые библиотеки)

Для usb:
Подключаем телефон через кабель к компу и пробуем сделать:
$ obex_test -u

Если всё нормально, то вы увидите нечто вроде этого:
Using USB transport, querying available interfaces
Interface 0: Nokia Nokia 6670 SYNCML-SYNC
Interface 1: Nokia Nokia 6670 PC Suite Services
Use ‘~/usbobex/bin/obex_test -u interface_number’ to run interactive OBEX test client

Вобщем-то вы уже можете получать, передавать файлы, но это жутко неудобно (подробнее написанно на офф сайте)

Поэтому ставим следующую тулзу: obexftp.
Последняя более или менее стабильная версия обычно лежит тут: http://triq.net/obexftp/ (на данный момент obexftp-0.22-pre4.tar.bz2)
Ставится она тоже довольно просто.
$ ./configure
Если необходисо то с параметрами с параметром PKG_CONFIG_PATH=/usr/lib/pkgconfig/ (у меня на генту и убунте и без него поставилось)
Если нужно, выключаем поддержку различных скриптовых языков: –disable-perl –disable-python –disable-tcl
$ make install

Проверяем работоспособность:
$ ~/usbobex/bin/obexftp -U 1 -с C: -l

Если всё ок, то получаем нечто похожее на:
Connecting…done
Sending C:… Sending C:… done
Receiving (null)… <?xml version=“1.0”?>
<!DOCTYPE folder-listing SYSTEM “obex-folder-listing.dtd”
[ <!ATTLIST folder mem-type CDATA #IMPLIED>
<!ATTLIST folder label CDATA #IMPLIED> ]>
<folder-listing version=“1.0”>
<parent-folder />
<folder name=“cache” modified=“20050302T092834Z” user-perm=“RWD” mem-type=“DEV”/>
<folder name=“Nokia” modified=“20040101T201008Z” user-perm=“RWD” mem-type=“DEV”/>
</folder-listing>done
Disconnecting…done

Вобщем то вот так я сейчас и живу. :)
ключи:
-C каталог - переход в каталог
-l - список файлов
-g имя_файла - скачивает файл
-p имя_файла - соответственно закачивает

Он частично поддерживает русский язык. А именно, список файлов возвращается в utf8 и там отлично видно русские имена, но вот получать русский текст он не умеет. Так что перейти в дирикторию с русским именем не получится. Файл закачать получится, но имя у него будет абракадаброй. Вроде был патч использующий iconv для перекодировки, но ссылка где он лежал умерла. Больше ничего подобного не нашёл.

Именно поэтому я не использую плагин к mc (скрипт тупо не может перейти в директорию с русским именем и зацикливается), а так же различные графические фронтенды.

Так же есть приблуда под названием obexfs, позволяет монтировать файловую систему телефона (использует fuse). Соответственно Вы можете видеть файловую систему телефона в любом файловом менеджере. И будут работать все его фичи (например уменьшенные изображения в Nautilus). Но она так же основана на obexftp, поэтому с русским не дружит и при наличии русских директорий появляются довольно серьёзные глюки, которые лечатся только перемонтированием фс.

Ну наконец мы получили хоть какой-нибудь коннект к телефону. Начинаем писать. Открываем любимый текстовый редактор и пишем. :)
Если приложение не сложное и в системе стоит wxPython можно попробовать поставить s60-compat, эмулирует несколько стандартных модулей (ссылка на офф вики), так что можно отлаживать прямо на компе. Но работает глючно. Ну плюс под вайном вроде эмуль от сдк можно запустить.

Вот наконец мы написали наше супер-пупер приложение и хотим им поделится. Да не просто так, а в sis пакете.
Качаем py2sis (тоже в вики есть), собираем genaif и makesis, скармливаем ей необходимые параметры - получаем на выходе отличный sis пакет. Так же есть модификация (сейчас времени нет ссылку\название искать), позволяет ещё и сертификаты прикручивать.

Вобщем-то почти всё что надо хоть как-то, но представлено и в линуксе. Так что разработка под pys60 в Linux не фантастика.



Офлайн

#6 Дек. 20, 2006 14:24:28

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2249
Репутация: +  40  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

отлично, я уже за"№; пытаться заюзать по юсб мобилу=)
а для автоматизации запуска скриптов с мобилы нет? а то после коннекта, трубу надо дисконнектить и запускать руками - долго
хотя если через obex можно стартовать, то думаю легко реализвоать

Офлайн

#7 Дек. 20, 2006 16:16:37

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

Дисконнектить не надо. Но запускать руками и правда долго. Ведь папка System недоступна. (хотя я не особо искал) Помимо просто запуска нужно перетащить файл. Скрипта не видел, но вобщем-то это реализуемо… Хотя бы средствами самого питона. Слушать порт и запускать приложение… Наду будет почитать на эту тему…

P.S лично я стараюсь использовать по-минимому специфичные pys60 модули, поэтому отлаживаю на компе с помощью s60-compat. Даже если он и глючит, не отрисовывая то что надо основные ошибки (тот же синтаксис, типы и тд) ловятся.



Офлайн

#8 Дек. 20, 2006 17:54:46

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

Угумс. Запускать можно без труда. Покрайней мере приложения. Теперь надо думать как запускать py файлы и как получить доступ к System.



Офлайн

#9 Дек. 20, 2006 18:58:53

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  3  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

А у меня требует пакет openobex, хотя я его установил. Не подскажите, в чем дело?



Офлайн

#10 Дек. 20, 2006 19:08:38

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Мини HOWTO по pys60

2alafin дистрибутив? Версии? Флаги? Требует obexftp?
А вобще по этим вопросам лучше к ним на форум. У меня вот obexfs тоже не собирается. :)
И obexftp с поддержкой python. Как бороться не знаю.

Как вариант поискать бинарники…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version