PDA

View Full Version : طرفندهایی با python در S60



rezaTavak
شنبه 06 بهمن 1386, 13:32 عصر
سلام

شما باید ابتدا py60 یا python for sybian 60 را از آدرس زیر دانلود کنید:

http://sourceforge.net/project/showf...roup_id=154155 (http://sourceforge.net/project/showfiles.php?group_id=154155)

بسته به مدل Symbian نگارش مناسب را دانلود کنید.

مثال گوشی من N73 است مشخصات آن:

http://www.gsmarena.com/nokia_n73-1550.php

است پس سیستم عامل آن:

Symbian OS 9.1, S60 3rd edition
حال دو فایل : PythonForS60_1_4_2_3rdEd.SIS (http://downloads.sourceforge.net/pys60/PythonForS60_1_4_2_3rdEd.SIS?modtime=1200899135&big_mirror=0) و PythonScriptShell_1_4_2_3rdEd.SIS (http://downloads.sourceforge.net/pys60/PythonScriptShell_1_4_2_3rdEd.SIS?modtime=12008991 45&big_mirror=0) را دانلود میکنم و ابتدا فایل اول را در گوشی نصب میکنم و سپس فایل دوم را .
ـــــــــــــــــــــــــ ـــــــــــــــ
v3 FP1
----- (http://ncsp.forum.nokia.com/download/?asset_id=http%3A%2F%2Fsw.nokia.com%2Fid%2F178ab2d 1-b59d-4236-96e6-215ae212c223%2FS60-SDK-200634-3.1-Cpp-f.1090b.zip)Nokia N76, N95, 6290, LG JoY, Samsung SGH-i520
v3 MR ----
Nokia E50, E60, E61, E62, E70, N71, N73, N75, N80, N91, N92, N93, N93i, 3250, 5500...
DP v2 FP3 ----
(http://ncsp.forum.nokia.com/download/?asset_id=12622&ref=newlc)Nokia N70, N72, N90
DP v2 FP2
---
Nokia 6630, Nokia 6680, 6681, 6682
DP v2 FP1
---
Nokia 7610, 6670, 6260, 3230, Lenovo P930, Samsung D720, Samsung D730, Panasonic X700, Panasonic X800
v2.0
---

Nokia 6600

ـــــــــــــــــــــــــ ــــــــــــ

باید این دو فایل را نصب کنید در لیست برنامه ها یک شکل مانند لوگوی پیتون اضافه خواهد شد:

http://www.python.org/images/python-logo.gif

هر کسی نصب کرد سپس در Stick memory یک شاخه با نام python ایجاد کنید کسانی که Stick memory ندارند هم در phone memory یک شاخه به اسم python با نصب این برنامه ساخته می شود. بعدا طرفند لازم را خواهم گفت.



پس از اجرای برنامه دکمه option وجود دارد. :

run script هر اسکریپتی که در مسیرهای c:\python,e:\python باشد را نمایش می دهد و هر کدام را انتخاب کنید اجرا می کند.


interactive console هم مانند پنجره دستورات پیتون در ویندوز و لینوکس است که دستورات حین تایپ را بلافصل اجرا می کند. کسانی که stick momory ندارند این دستورات را در کنسول تایپ کنند و کلید وسط joystick بعنوان اینتر است را بزنند. دقت کنید python به بزرگی و کوچکی حروف حساس است.



import e32
e32.file_copy(u'c:\data\python\*.*', u'c:\python\*.*')
چون عملا شما به درایو C از طریق file manger دسترسی ندارید.
این تکه کد هر فایلی داخل شاخه python باشد که شما در phone memory با file manger ساخته اید را به درون c:\pyhton کپی می کند. (دقت کنیدفقط شاخه c:\data\ در file manger به صورت phone memory نمایش داده می شود.)
درایو d همان رم است (رم واقعی مانند کامپیوتر که بصورت رم درایو است.)

درایو z هم جایی است که در آن سیستم عامل قرار دارد.



خب حال یک اسکریپت نمونه:

یک فایل در کامپیوتر بسازید که پسوند آن py باشد محتویات آن هم عبارات زیر آنرا به شاخه c:\python یا e:\python کپی کنید و اجرا کنید:



import sysinfo
print sysinfo.battery()
print sysinfo.free_ram()
print sysinfo.free_drivespace()
این کد میزان باطری مقدا حافظه رم و میزان حاظه درایوها را نشان میدهد.

rezaTavak
شنبه 06 بهمن 1386, 17:04 عصر
ریختن کل sms ها در یک فایل:




from time import ctime

import codecs
import inbox

box = inbox.Inbox()
msg = box.sms_messages()

f = codecs.open('E:/Others/listSMS.txt', 'w', 'utf8') # Apre il file in codifica UTF8
for i in msg:
f.write(box.address(i))
f.write('\n')
f.write(ctime(box.time(i))) # Converte i secondi in una stringa rappresentante il tempo
f.write('\n')
f.write(box.content(i))
f.write('\n')
f.close()

print 'Fine'

f = codecs.open('E:/Others/listSMS.txt', 'r', 'utf8')
print f.read()
f.close()

rezaTavak
یک شنبه 07 بهمن 1386, 10:30 صبح
برای نمایش عناصر رابط کاربری UI از کلاس : appuifw استفاده می شود مثلا برای نمایش یک text box :



import appuifw
data = appuifw.query(u"Type a word:", "text")



و برای نمایش چیزی مانند MessageBox در موبایل:




import appuifw

appuifw.note(u"Hello World!", "info")

rezaTavak
یک شنبه 07 بهمن 1386, 11:41 صبح
برای ارسال SMS از کلاس messaging استفاده می شود:



import messaging
messaging.sms_send(telNumber, txtMessage)

rezaTavak
دوشنبه 08 بهمن 1386, 09:49 صبح
دیده اید که موبایل نام کسی که تماس گرفته را می گوید؟

دوست دارید هر مطلبی را تایپ میکنید موبایل بخواند؟

یعنی Text to speech

خب برای اینکار



import audio
audio.say(u'Hello')


هر چیزی هم به جای Hello باشد خوانده می شود.

rezaTavak
چهارشنبه 10 بهمن 1386, 09:52 صبح
کلاس os در پیتون استاندارد برای کار با فایلها و سیستم عامل طراحی شده است.:
http://docs.python.org/lib/module-os.html

مثال اول:



import os
print os.listdir("c:/")

rezaTavak
پنج شنبه 11 بهمن 1386, 08:18 صبح
از کلاس فوق برای ساختن یک شاخه:



import os
os.mkdir("c:/Myfolder")


تذکر:

import کلمه کلیدی است که ماژول را بار گذاری می کند و فقط هر ماژول یکبار بار گذاری شود کافی است.

rezaTavak
یک شنبه 14 بهمن 1386, 11:00 صبح
فرستادن یک فایل از طریق BlueTooth
ابتدا دستگاههای اطراف سرچ شود:


device=socket.bt_obex_discover()

سپس حالا کل دستگاهها در device است که یک آرایه است. برای در آوردن آدرس اولین دستگاه


address=device[0]


خب حالا برای ارسال :



channel=device[1][u'OBEX Object Push']
socket.bt_obex_send_file(address,channel,file)



باید file از نوع file باشد و مثلا می توانید اینطور تعریف کنید:



file=(u'e:\\Images\\picture1.jpg')


خب حتما متوجه شده اید که باید ماژول
socket
هم بارگذاری شود.

برنامه کامل که از دوربین عکس گرفته ارسال میکند:




# Copyright (c) 2007 Jurgen Scheible

import camera,e32,socket,appuifw

def start():
image= camera.take_photo()
appuifw.app.body=c=appuifw.Canvas()
c.blit(image,scale=1)
file=(u'e:\\Images\\picture1.jpg')
image.save(file)
device=socket.bt_obex_discover()
address=device[0]
channel=device[1][u'OBEX Object Push']
socket.bt_obex_send_file(address,channel,file)
appuifw.note(u"Picture sent","info")

def quit():
app_lock.signal()
appuifw.app.set_exit()

app_lock = e32.Ao_lock()
appuifw.app.title = u"Bluetooth photo"
appuifw.app.menu = [(u"Start", start),(u"Exit",quit)]
app_lock.wait()

saeedIRHA
دوشنبه 15 بهمن 1386, 04:16 صبح
سلام
واقعاً عالی بود فقط در دکمه تشکر نمیگنجید !
ممنون میشم اگر بفرمایین منبع Tutorial ها تون از کجاست

با تشکر

rezaTavak
دوشنبه 15 بهمن 1386, 07:09 صبح
در سایت دانلود:
http://sourceforge.net/project/showfiles.php?group_id=154155
یک PDF دارد.

و از اینجا:
http://www.mobilenin.com/pys60/menu.htm

http://wiki.opensource.nokia.com/projects/Python_for_S60

rezaTavak
سه شنبه 06 فروردین 1387, 09:43 صبح
چگونه کل شماره های ذخیره شده را نمایش دهیم؟


import contacts
db=contacts.open()
for id in db:
print 'Contact:%s'%db[id]
print 'number of entries:%i'%len(db)

ARA
چهارشنبه 09 مرداد 1387, 00:51 صبح
مرسی بسیار عالی بود

من هنوز امتحان نکرده بودم فکر کنم با همین ها پایتون رو شروع کنم

این هم برای انتخاب مدل گوشی و سیستم عامل آن
http://www.forum.nokia.com/devices/matrix_s60_2ed_fp3_1.html

mc_laren
سه شنبه 29 مرداد 1387, 23:39 عصر
به نام خدا
با سلام
ضمن تشکر از شما اگه میشه لطف کنید بگید برای اینکه بوسیله پایتون در کامپیوتر برنامه رو نوشته
بعد در موبایل اجرا کنم فایل محیط برنامه نویسی اون رو از کجا گیر بیارم در ضمن آیا پایتون محیط ویژوال برای
برنامه نویسی داره؟

ARA
چهارشنبه 30 مرداد 1387, 00:31 صبح
منظورتون اگه همین مثالها بود که تو Notpade هم میتونستین بنویسین و انتقال به موبایل و اجرا کنین

f.ebrahimnejad
سه شنبه 26 شهریور 1387, 13:52 عصر
میشه برای UIQ هم بگذارید. اگر کتابی را هم می شناسید، لطفا معرفی کنید