IAP 2006 Class
From MoDe
| Table of contents |
Administration
- Jan 2006, MIT. A two day workshop for all MIT students organized by [Larry Rudolph (http://people.csail.mit.edu/rudolph)] was the reason for adding this branch to the wiki. It will stay around for the use of the general world.
- You must create an account in order to edit this wiki
- Please DO edit this wiki. Go to the editting help if you want, or just try to edit this page to see what raw text looks like.
Day 1: Python for Symbian Series 60 Phones
Jurgen's Website with the tutorial. This is the material covered during the first day of the IAP class. It is a great introduction with lots of code and explainations. here is Jurgen Scheible's tutorial (http://www.mobilenin.com/pys60/menu.htm)
The examples assume that one has a Symbian Series 60 phone. It is also useful to have a computer with a bluetooth connection.
There is no discussion as to why Python and why not Java or C++. Just look through the examples, and the answer will become obvious.
Day 2: Extensions for Python
The information here has been provided by Paul Wisner (http://research.nokia.com/people/paul_wisner/index.html)
- Local copy of distributed software: SDK's and C extension example [http://csg.csail.mit.edu/IAP06/software.html here.
- Here are Paul Wisner's slides of the installation process: pdf of slides (http://people.csail.mit.edu/rudolph/PythonExtension.pdf) and go here for the individual slides
[List of all slides (http://org.csail.mit.edu/mode/index.php/Special:Imagelist)].
- Class SDK library and C++ extension programming example code pyext for vibra and music is here (http://csg.csail.mit.edu/IAP06/software.html). Install ActivePerl 5.6.1 (http://activeperl.com/) first!! And here are some comments and hints
Pictures and Photos of the class
Comments
If you have any ideas, questions, comments, concerns or just what to talk about cell or mobile phone programming, I (Larry Rudolph) would love to hear from you; [send me email (mailto:rudolph@csail.mit.edu)]
Random Notes
Some hints as I remmeber them. Later on, they may get organized.
- After installing Python on phone, move the icon to top and have it next to the messages icon
- On the series 60 phones, if you hold down the menu-like button, you can switch between any of the running applications (similar to control-tab in windows)
- Blouetooth cache. Bluetooth usually caches its connections so if one does a scan and finds a device, that does not necessarily mean that the device is still in range. It was in range but may no longer be there. Similarly, when a pc gets a failure during a connection to a bluetooth phone, future connections will also fail until that entry gets tossed out o f the cache.
- converting to unicode strings is easy, unicode(s) but I always forget how to go the other way. Given a unicode string s use the encode method, s.encode('ascii')
- scanning for bluetooth devices: if one does not properly exit this scanning process, then each time python starts up again, it crashes. The only way out is via a reboot of the phone!
Links
Open Source for Symbian Python
[Yes. They really did it! (http://sourceforge.net/project/showfiles.php?group_id=154155)] This is the sourceforge link to the pys60 project which is now open source.
Our Code Examples
some half-baked code from Larry
Other sites that have python symbian code examples
Other Series 60 resources Links to other sites
